	.file	"14070.c"
	.intel_syntax noprefix
	.text
	.globl	globfoo
	.bss
	.align 4
	.type	globfoo, @object
	.size	globfoo, 4
globfoo:
	.zero	4
	.globl	globfoo2
	.align 4
	.type	globfoo2, @object
	.size	globfoo2, 4
globfoo2:
	.zero	4
	.globl	globfoo3
	.align 4
	.type	globfoo3, @object
	.size	globfoo3, 4
globfoo3:
	.zero	4
	.globl	globarr
	.align 32
	.type	globarr, @object
	.size	globarr, 160000
globarr:
	.zero	160000
	.globl	init_iters
	.data
	.align 4
	.type	init_iters, @object
	.size	init_iters, 4
init_iters:
	.long	10000
	.globl	iters
	.bss
	.align 4
	.type	iters, @object
	.size	iters, 4
iters:
	.zero	4
	.globl	max_iters
	.data
	.align 4
	.type	max_iters, @object
	.size	max_iters, 4
max_iters:
	.long	1000000000
	.globl	numtps
	.align 4
	.type	numtps, @object
	.size	numtps, 4
numtps:
	.long	1
	.globl	now2
	.bss
	.align 8
	.type	now2, @object
	.size	now2, 8
now2:
	.zero	8
	.globl	now3
	.align 8
	.type	now3, @object
	.size	now3, 8
now3:
	.zero	8
	.globl	now4
	.align 8
	.type	now4, @object
	.size	now4, 8
now4:
	.zero	8
	.globl	now5
	.align 8
	.type	now5, @object
	.size	now5, 8
now5:
	.zero	8
	.globl	total1
	.align 4
	.type	total1, @object
	.size	total1, 4
total1:
	.zero	4
	.globl	total2
	.align 4
	.type	total2, @object
	.size	total2, 4
total2:
	.zero	4
	.globl	idelta
	.align 4
	.type	idelta, @object
	.size	idelta, 4
idelta:
	.zero	4
	.globl	mindelta
	.align 4
	.type	mindelta, @object
	.size	mindelta, 4
mindelta:
	.zero	4
	.globl	nsdelta
	.align 4
	.type	nsdelta, @object
	.size	nsdelta, 4
nsdelta:
	.zero	4
	.globl	nspertp
	.align 4
	.type	nspertp, @object
	.size	nspertp, 4
nspertp:
	.zero	4
	.text
	.globl	myclock
	.type	myclock, @function
myclock:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -160[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	getrusage@PLT
	mov	rax, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -176[rbp]
	add	rax, rdx
	imul	rdx, rax, 1000000
	mov	rax, QWORD PTR -184[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3
	call	__stack_chk_fail@PLT
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	myclock, .-myclock
	.section	.rodata
	.align 8
.LC0:
	.string	"Gone over %d iterations, giving up\n"
.LC1:
	.string	"Negative times, giving up\n"
.LC2:
	.string	"Doubled iterations to %d\n"
.LC3:
	.string	"Tracepoint time is %d ns\n"
.LC4:
	.string	"%s keeping busy, clock=%llu\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, DWORD PTR init_iters[rip]
	mov	DWORD PTR iters[rip], eax
.L10:
	mov	DWORD PTR numtps[rip], 1
	jmp	.L5
.L9:
	mov	edx, DWORD PTR iters[rip]
	mov	eax, DWORD PTR max_iters[rip]
	cmp	edx, eax
	jle	.L6
	mov	eax, DWORD PTR max_iters[rip]
	mov	esi, eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L7
.L6:
	cmp	DWORD PTR -4[rbp], 0
	jns	.L8
	mov	eax, DWORD PTR max_iters[rip]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L7
.L8:
	mov	eax, DWORD PTR iters[rip]
	add	eax, eax
	mov	DWORD PTR iters[rip], eax
	mov	eax, DWORD PTR iters[rip]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
.L5:
	call	trace_speed_test
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L9
.L7:
	mov	eax, DWORD PTR nspertp[rip]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	mov	eax, 0
	call	sleep@PLT
	mov	eax, 0
	call	myclock
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L10
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC5:
	.string	"Loops took %d usec and %d usec, delta is %d usec, %d iterations\n"
	.align 8
.LC6:
	.string	"Second loop took %d ns longer per iter than first\n"
.LC7:
	.string	"%d ns per tracepoint\n"
.LC8:
	.string	"Base iteration time %d ns\n"
.LC9:
	.string	"Total test time %d secs\n"
	.text
	.globl	trace_speed_test
	.type	trace_speed_test, @function
trace_speed_test:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR mindelta[rip], 1000
	mov	eax, 0
	call	myclock
	mov	QWORD PTR now2[rip], rax
	mov	DWORD PTR globfoo2[rip], 1
	mov	DWORD PTR -4[rbp], 0
	jmp	.L12
.L13:
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, eax, 45
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	add	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	movzx	eax, WORD PTR globarr[rip+8]
	movsx	edx, ax
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	sub	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	add	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	add	DWORD PTR -4[rbp], 1
.L12:
	mov	eax, DWORD PTR iters[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L13
	mov	eax, 0
	call	myclock
	mov	QWORD PTR now3[rip], rax
	mov	rax, QWORD PTR now3[rip]
	mov	edx, eax
	mov	rax, QWORD PTR now2[rip]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR total1[rip], eax
	mov	eax, 0
	call	myclock
	mov	QWORD PTR now4[rip], rax
	mov	DWORD PTR globfoo2[rip], 1
	mov	DWORD PTR -4[rbp], 0
	jmp	.L14
.L15:
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, eax, 45
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	add	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	movzx	eax, WORD PTR globarr[rip+8]
	movsx	edx, ax
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	sub	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	imul	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	mov	edx, DWORD PTR globfoo[rip]
	mov	eax, DWORD PTR globfoo3[rip]
	add	edx, eax
	mov	eax, DWORD PTR globfoo2[rip]
	add	eax, edx
	mov	DWORD PTR globfoo2[rip], eax
	add	DWORD PTR -4[rbp], 1
.L14:
	mov	eax, DWORD PTR iters[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L15
	mov	eax, 0
	call	myclock
	mov	QWORD PTR now5[rip], rax
	mov	rax, QWORD PTR now5[rip]
	mov	edx, eax
	mov	rax, QWORD PTR now4[rip]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR total2[rip], eax
	mov	DWORD PTR nspertp[rip], 0
	mov	eax, DWORD PTR total2[rip]
	mov	edx, DWORD PTR total1[rip]
	sub	eax, edx
	mov	DWORD PTR idelta[rip], eax
	mov	esi, DWORD PTR iters[rip]
	mov	ecx, DWORD PTR idelta[rip]
	mov	edx, DWORD PTR total2[rip]
	mov	eax, DWORD PTR total1[rip]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR idelta[rip]
	test	eax, eax
	jns	.L16
	mov	eax, -1
	jmp	.L17
.L16:
	mov	edx, DWORD PTR idelta[rip]
	mov	eax, DWORD PTR mindelta[rip]
	cmp	edx, eax
	jle	.L18
	mov	edx, DWORD PTR total1[rip]
	mov	eax, DWORD PTR total2[rip]
	add	eax, edx
	cmp	eax, 2000000
	jle	.L18
	mov	edx, DWORD PTR total1[rip]
	mov	eax, DWORD PTR total2[rip]
	add	eax, edx
	cmp	eax, 4999999
	jg	.L18
	mov	eax, DWORD PTR idelta[rip]
	cdqe
	imul	rax, rax, 1000
	mov	edx, DWORD PTR iters[rip]
	movsx	rdi, edx
	mov	edx, 0
	div	rdi
	mov	DWORD PTR nsdelta[rip], eax
	mov	eax, DWORD PTR nsdelta[rip]
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR nsdelta[rip]
	mov	ecx, DWORD PTR numtps[rip]
	cdq
	idiv	ecx
	mov	DWORD PTR nspertp[rip], eax
	mov	eax, DWORD PTR nspertp[rip]
	mov	esi, eax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR total1[rip]
	cdqe
	imul	eax, eax, 1000
	mov	esi, DWORD PTR iters[rip]
	cdq
	idiv	esi
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR now5[rip]
	mov	rdx, QWORD PTR now2[rip]
	sub	rax, rdx
	movabs	rdx, 4835703278458516699
	mul	rdx
	mov	rax, rdx
	shr	rax, 18
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L17
.L18:
	mov	eax, 1
.L17:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	trace_speed_test, .-trace_speed_test
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"14070.c"
	.text
	.comm	globfoo,4,4
	.comm	globfoo2,4,4
	.comm	globfoo3,4,4
	.comm	globarr,160000,4
	.global	init_iters
	.data
	.align	2
	.type	init_iters, %object
	.size	init_iters, 4
init_iters:
	.word	10000
	.comm	iters,4,4
	.global	max_iters
	.align	2
	.type	max_iters, %object
	.size	max_iters, 4
max_iters:
	.word	1000000000
	.global	numtps
	.align	2
	.type	numtps, %object
	.size	numtps, 4
numtps:
	.word	1
	.comm	now2,8,8
	.comm	now3,8,8
	.comm	now4,8,8
	.comm	now5,8,8
	.comm	total1,4,4
	.comm	total2,4,4
	.comm	idelta,4,4
	.comm	mindelta,4,4
	.comm	nsdelta,4,4
	.global	nspertp
	.bss
	.align	2
	.type	nspertp, %object
	.size	nspertp, 4
nspertp:
	.space	4
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	myclock
	.syntax unified
	.arm
	.fpu softvfp
	.type	myclock, %function
myclock:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #104
	ldr	r3, .L4
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #104
	mov	r1, r3
	mov	r0, #0
	bl	getrusage
	sub	r3, fp, #120
	sub	r2, fp, #104
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	sub	r3, fp, #112
	sub	r2, fp, #96
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-120]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, [fp, #-112]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r4, r0, r2
	adc	r5, r1, r3
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #5
	orr	r1, r1, r2, lsr #27
	lsl	r0, r2, #5
	mov	r2, r0
	mov	r3, r1
	subs	r2, r2, r4
	sbc	r3, r3, r5
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #9
	orr	r1, r1, r2, lsr #23
	lsl	r0, r2, #9
	mov	r2, r0
	mov	r3, r1
	adds	r2, r2, r4
	adc	r3, r3, r5
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #6
	orr	r1, r1, r2, lsr #26
	lsl	r0, r2, #6
	subs	r0, r0, r2
	sbc	r1, r1, r3
	adds	r8, r0, r4
	adc	r9, r1, r5
	ldr	r3, [fp, #-116]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r6, r8, r2
	adc	r7, r9, r3
	ldr	r3, [fp, #-108]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r1, r6, r2
	str	r1, [fp, #-132]
	adc	r3, r7, r3
	str	r3, [fp, #-128]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r1, .L4
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3
	bl	__stack_chk_fail
.L3:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L5:
	.align	2
.L4:
	.word	.LC0
	.size	myclock, .-myclock
	.section	.rodata
	.align	2
.LC1:
	.ascii	"Gone over %d iterations, giving up\012\000"
	.align	2
.LC2:
	.ascii	"Negative times, giving up\012\000"
	.align	2
.LC3:
	.ascii	"Doubled iterations to %d\012\000"
	.align	2
.LC4:
	.ascii	"Tracepoint time is %d ns\012\000"
	.align	2
.LC5:
	.ascii	"%s keeping busy, clock=%llu\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L13
	ldr	r3, [r3]
	ldr	r2, .L13+4
	str	r3, [r2]
.L12:
	ldr	r3, .L13+8
	mov	r2, #1
	str	r2, [r3]
	b	.L7
.L11:
	ldr	r3, .L13+4
	ldr	r2, [r3]
	ldr	r3, .L13+12
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L8
	ldr	r3, .L13+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L13+16
	bl	printf
	b	.L9
.L8:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L10
	ldr	r3, .L13+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L13+20
	bl	printf
	b	.L9
.L10:
	ldr	r3, .L13+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, .L13+4
	str	r3, [r2]
	ldr	r3, .L13+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L13+24
	bl	printf
.L7:
	bl	trace_speed_test
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L11
.L9:
	ldr	r3, .L13+28
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L13+32
	bl	printf
	mov	r0, #1
	bl	sleep
	ldr	r3, [fp, #-28]
	ldr	r4, [r3]
	bl	myclock
	mov	r2, r0
	mov	r3, r1
	mov	r1, r4
	ldr	r0, .L13+36
	bl	printf
	b	.L12
.L14:
	.align	2
.L13:
	.word	init_iters
	.word	iters
	.word	numtps
	.word	max_iters
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	nspertp
	.word	.LC4
	.word	.LC5
	.size	main, .-main
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Loops took %d usec and %d usec, delta is %d usec, %"
	.ascii	"d iterations\012\000"
	.global	__aeabi_uldivmod
	.align	2
.LC7:
	.ascii	"Second loop took %d ns longer per iter than first\012"
	.ascii	"\000"
	.global	__aeabi_idiv
	.align	2
.LC8:
	.ascii	"%d ns per tracepoint\012\000"
	.align	2
.LC9:
	.ascii	"Base iteration time %d ns\012\000"
	.align	2
.LC10:
	.ascii	"Total test time %d secs\012\000"
	.text
	.align	2
	.global	trace_speed_test
	.syntax unified
	.arm
	.fpu softvfp
	.type	trace_speed_test, %function
trace_speed_test:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #16
	ldr	r3, .L23
	mov	r2, #1000
	str	r2, [r3]
	bl	myclock
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L23+4
	stm	r1, {r2-r3}
	ldr	r3, .L23+8
	mov	r2, #1
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L16
.L17:
	ldr	r3, .L23+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, .L23+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+20
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	sub	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, .L23+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L16:
	ldr	r3, .L23+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L17
	bl	myclock
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L23+28
	stm	r1, {r2-r3}
	ldr	r3, .L23+28
	ldmia	r3, {r2-r3}
	mov	r1, r2
	ldr	r3, .L23+4
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r3, r1, r3
	mov	r2, r3
	ldr	r3, .L23+32
	str	r2, [r3]
	bl	myclock
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L23+36
	stm	r1, {r2-r3}
	ldr	r3, .L23+8
	mov	r2, #1
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L18
.L19:
	ldr	r3, .L23+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, .L23+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+20
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	sub	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, .L23+12
	ldr	r2, [r3]
	ldr	r3, .L23+16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, .L23+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+8
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L18:
	ldr	r3, .L23+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L19
	bl	myclock
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L23+40
	stm	r1, {r2-r3}
	ldr	r3, .L23+40
	ldmia	r3, {r2-r3}
	mov	r1, r2
	ldr	r3, .L23+36
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r3, r1, r3
	mov	r2, r3
	ldr	r3, .L23+44
	str	r2, [r3]
	ldr	r3, .L23+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L23+44
	ldr	r2, [r3]
	ldr	r3, .L23+32
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L23+52
	str	r3, [r2]
	ldr	r3, .L23+32
	ldr	r1, [r3]
	ldr	r3, .L23+44
	ldr	r2, [r3]
	ldr	r3, .L23+52
	ldr	r0, [r3]
	ldr	r3, .L23+24
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L23+56
	bl	printf
	ldr	r3, .L23+52
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L20
	mvn	r3, #0
	b	.L21
.L20:
	ldr	r3, .L23+52
	ldr	r2, [r3]
	ldr	r3, .L23
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L22
	ldr	r3, .L23+32
	ldr	r2, [r3]
	ldr	r3, .L23+44
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+60
	cmp	r3, r2
	ble	.L22
	ldr	r3, .L23+32
	ldr	r2, [r3]
	ldr	r3, .L23+44
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L23+64
	cmp	r3, r2
	bgt	.L22
	ldr	r3, .L23+52
	ldr	r3, [r3]
	mov	r0, r3
	asr	r1, r0, #31
	mov	r2, r0
	mov	r3, r1
	mov	r4, #0
	mov	r5, #0
	lsl	r5, r3, #5
	orr	r5, r5, r2, lsr #27
	lsl	r4, r2, #5
	mov	r2, r4
	mov	r3, r5
	subs	r2, r2, r0
	sbc	r3, r3, r1
	mov	r4, #0
	mov	r5, #0
	lsl	r5, r3, #2
	orr	r5, r5, r2, lsr #30
	lsl	r4, r2, #2
	mov	r2, r4
	mov	r3, r5
	adds	r2, r2, r0
	adc	r3, r3, r1
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #3
	orr	r1, r1, r2, lsr #29
	lsl	r0, r2, #3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, .L23+24
	ldr	r3, [r3]
	mov	r2, r3
	asr	r3, r2, #31
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	ldr	r3, .L23+68
	str	r2, [r3]
	ldr	r3, .L23+68
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L23+72
	bl	printf
	ldr	r3, .L23+68
	ldr	r3, [r3]
	ldr	r2, .L23+76
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L23+48
	str	r2, [r3]
	ldr	r3, .L23+48
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L23+80
	bl	printf
	ldr	r3, .L23+32
	ldr	r3, [r3]
	mov	r2, r3
	asr	r3, r2, #31
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, .L23+24
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L23+84
	bl	printf
	ldr	r3, .L23+40
	ldmia	r3, {r0-r1}
	ldr	r3, .L23+4
	ldmia	r3, {r2-r3}
	subs	r6, r0, r2
	sbc	r7, r1, r3
	ldr	r2, .L23+88
	mov	r3, #0
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r1, r3
	ldr	r0, .L23+92
	bl	printf
	mov	r3, #0
	b	.L21
.L22:
	mov	r3, #1
.L21:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L24:
	.align	2
.L23:
	.word	mindelta
	.word	now2
	.word	globfoo2
	.word	globfoo
	.word	globfoo3
	.word	globarr
	.word	iters
	.word	now3
	.word	total1
	.word	now4
	.word	now5
	.word	total2
	.word	nspertp
	.word	idelta
	.word	.LC6
	.word	2000000
	.word	4999999
	.word	nsdelta
	.word	.LC7
	.word	numtps
	.word	.LC8
	.word	.LC9
	.word	1000000
	.word	.LC10
	.size	trace_speed_test, .-trace_speed_test
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
