	.file	"252757.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 32
	.type	usage_message, @object
	.size	usage_message, 264
usage_message:
	.ascii	"Usage: "
	.string	"%s [-hv] [-b <build-dir>] [-s <source-dir>] <test> ...\n       %s [-hv] [-b <build-dir>] [-s <source-dir>] -l <test-list>\n       %s -o [-h] [-b <build-dir>] [-s <source-dir>] <test>\n\nOptions:\n    -b <build-dir>      Set the build directory to <build-dir>\n%s"
	.align 32
	.type	usage_extra, @object
	.size	usage_extra, 475
usage_extra:
	.ascii	"    -l <list>           Take the list of tests to run from <"
	.ascii	"test-list>\n    -o                  Run a single test rather"
	.ascii	" than a list of tests\n    -s <source-dir>     Set the sourc"
	.ascii	"e directory to <source-dir>\n    -v      "
	.string	"            Show the full output of each test\n\nruntests normally runs each test listed on the command line.  With the -l\noption, it instead runs every test listed in a file.  With the -o option,\nit instead runs a single test and shows its complete output.\n"
	.align 32
	.type	banner, @object
	.size	banner, 122
banner:
	.string	"\nRunning all tests listed in %s.  If any tests fail, run the failing\ntest program with runtests -o to see more details.\n\n"
	.align 32
	.type	header, @object
	.size	header, 146
header:
	.string	"\nFailed Set                 Fail/Total (%) Skip Stat  Failing Tests\n-------------------------- -------------- ---- ----  ------------------------"
.LC0:
	.string	"runtests: "
.LC1:
	.string	": %s\n"
	.text
	.type	sysdie, @function
sysdie:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L2
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L2:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -212[rbp], eax
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -232[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	mov	eax, DWORD PTR -212[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	sysdie, .-sysdie
	.section	.rodata
	.align 8
.LC2:
	.string	"failed to calloc %lu bytes at %s line %d"
	.text
	.type	x_calloc, @function
x_calloc:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	cmp	QWORD PTR -24[rbp], 0
	je	.L5
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L6
.L5:
	mov	eax, 1
.L6:
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L7
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L8
.L7:
	mov	eax, 1
.L8:
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L9
	mov	ecx, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	sysdie
.L9:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	x_calloc, .-x_calloc
	.section	.rodata
	.align 8
.LC3:
	.string	"failed to malloc %lu bytes at %s line %d"
	.text
	.type	x_malloc, @function
x_malloc:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L12
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	sysdie
.L12:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	x_malloc, .-x_malloc
	.section	.rodata
	.align 8
.LC4:
	.string	"realloc too large at %s line %d"
	.align 8
.LC5:
	.string	"failed to realloc %lu bytes at %s line %d"
	.text
	.type	x_reallocarray, @function
x_reallocarray:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	DWORD PTR -36[rbp], r8d
	cmp	QWORD PTR -16[rbp], 0
	je	.L15
	mov	eax, 4294967295
	mov	edx, 0
	div	QWORD PTR -16[rbp]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L15
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	sysdie
.L15:
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L16
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	sysdie
.L16:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	x_reallocarray, .-x_reallocarray
	.section	.rodata
	.align 8
.LC6:
	.string	"failed to strdup %lu bytes at %s line %d"
	.text
	.type	x_strdup, @function
x_strdup:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L19
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	sysdie
.L19:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	x_strdup, .-x_strdup
	.section	.rodata
.LC7:
	.string	"strings too long in concat"
.LC8:
	.string	"the_stack_data/252757.c"
	.text
	.type	concat, @function
concat:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L22
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L22:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -224[rbp], 0
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -240[rbp], rax
	jmp	.L23
.L27:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	eax, 4294967295
	sub	rax, rdx
	cmp	QWORD PTR -224[rbp], rax
	jb	.L24
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 22
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	sysdie
.L24:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	QWORD PTR -224[rbp], rax
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 47
	ja	.L25
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, DWORD PTR -208[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -208[rbp]
	add	edx, 8
	mov	DWORD PTR -208[rbp], edx
	jmp	.L26
.L25:
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -200[rbp], rdx
.L26:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
.L23:
	cmp	QWORD PTR -240[rbp], 0
	jne	.L27
	add	QWORD PTR -224[rbp], 1
	mov	rax, QWORD PTR -224[rbp]
	mov	edx, 430
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	x_malloc
	mov	QWORD PTR -216[rbp], rax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	QWORD PTR -232[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -240[rbp], rax
	jmp	.L28
.L31:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rcx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -232[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -240[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	QWORD PTR -232[rbp], rax
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 47
	ja	.L29
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, DWORD PTR -208[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -208[rbp]
	add	edx, 8
	mov	DWORD PTR -208[rbp], edx
	jmp	.L30
.L29:
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -200[rbp], rdx
.L30:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -240[rbp], rax
.L28:
	cmp	QWORD PTR -240[rbp], 0
	jne	.L31
	mov	rdx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L33
	call	__stack_chk_fail@PLT
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	concat, .-concat
	.type	tv_seconds, @function
tv_seconds:
.LFB12:
	.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 0
	mov	rdi, rax
	call	difftime@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, rax
	movsd	xmm1, QWORD PTR .LC9[rip]
	mulsd	xmm1, xmm2
	addsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	tv_seconds, .-tv_seconds
	.type	tv_diff, @function
tv_diff:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	tv_seconds
	movq	rbx, xmm0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	tv_seconds
	movq	xmm1, rbx
	subsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	tv_diff, .-tv_diff
	.type	tv_sum, @function
tv_sum:
.LFB14:
	.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tv_seconds
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	tv_seconds
	addsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	tv_sum, .-tv_sum
	.type	skip_whitespace, @function
skip_whitespace:
.LFB15:
	.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	QWORD PTR -8[rbp], rdi
	jmp	.L41
.L42:
	add	QWORD PTR -8[rbp], 1
.L41:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L42
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	skip_whitespace, .-skip_whitespace
	.section	.rodata
.LC10:
	.string	"ABORTED"
.LC11:
	.string	"can't create pipe"
.LC12:
	.string	"can't fork"
.LC13:
	.string	"/dev/null"
	.text
	.type	test_start, @function
test_start:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	cmp	eax, -1
	jne	.L45
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	sysdie
.L45:
	call	fork@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], -1
	je	.L46
	cmp	DWORD PTR -28[rbp], 0
	je	.L47
	jmp	.L48
.L46:
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	sysdie
.L47:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
	mov	edi, 1
	call	close@PLT
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, 1
	mov	edi, eax
	call	dup2@PLT
	test	eax, eax
	jns	.L49
	mov	edi, 100
	call	_exit@PLT
.L49:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	mov	edi, 0
	call	close@PLT
	mov	esi, 0
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L50
	mov	edi, 102
	call	_exit@PLT
.L50:
	cmp	DWORD PTR -24[rbp], 0
	je	.L51
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 0
	mov	edi, eax
	call	dup2@PLT
	test	eax, eax
	jns	.L52
	mov	edi, 100
	call	_exit@PLT
.L52:
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	close@PLT
.L51:
	mov	edi, 2
	call	close@PLT
	mov	esi, 1
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L53
	mov	edi, 103
	call	_exit@PLT
.L53:
	cmp	DWORD PTR -20[rbp], 2
	je	.L54
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 2
	mov	edi, eax
	call	dup2@PLT
	test	eax, eax
	jns	.L55
	mov	edi, 100
	call	_exit@PLT
.L55:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	close@PLT
.L54:
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	execl@PLT
	cmp	eax, -1
	jne	.L48
	mov	edi, 101
	call	_exit@PLT
.L48:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
	nop
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L57
	call	__stack_chk_fail@PLT
.L57:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	test_start, .-test_start
	.type	test_backspace, @function
test_backspace:
.LFB17:
	.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	QWORD PTR -24[rbp], rdi
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	je	.L67
	mov	DWORD PTR -4[rbp], 0
	jmp	.L61
.L62:
	mov	edi, 8
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L61:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -4[rbp], eax
	jb	.L62
	mov	DWORD PTR -4[rbp], 0
	jmp	.L63
.L64:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L63:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -4[rbp], eax
	jb	.L64
	mov	DWORD PTR -4[rbp], 0
	jmp	.L65
.L66:
	mov	edi, 8
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L65:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -4[rbp], eax
	jb	.L66
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], 0
	jmp	.L58
.L67:
	nop
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	test_backspace, .-test_backspace
	.type	resize_results, @function
resize_results:
.LFB18:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	QWORD PTR -32[rbp], rax
	jbe	.L75
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L71
	mov	eax, 32
	cmp	QWORD PTR -32[rbp], 32
	cmovnb	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 598
	lea	rdx, .LC8[rip]
	mov	esi, 4
	mov	rdi, rax
	call	x_calloc
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 80[rax], rdx
	jmp	.L72
.L71:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	add	rax, 1024
	cmp	QWORD PTR -32[rbp], rax
	cmovnb	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	r8d, 601
	lea	rcx, .LC8[rip]
	mov	edx, 4
	mov	rdi, rax
	call	x_reallocarray
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 80[rax], rdx
.L72:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L73
.L74:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 3
	add	QWORD PTR -16[rbp], 1
.L73:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L74
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L68
.L75:
	nop
.L68:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	resize_results, .-resize_results
	.section	.rodata
	.align 8
.LC14:
	.string	"ABORTED (invalid test number %ld)\n"
	.text
	.type	invalid_test_number, @function
invalid_test_number:
.LFB19:
	.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	cmp	DWORD PTR -20[rbp], 0
	jne	.L77
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	test_backspace
.L77:
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 92[rax], 1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	invalid_test_number, .-invalid_test_number
	.section	.rodata
.LC15:
	.string	"1.."
.LC16:
	.string	"skip"
.LC17:
	.string	"ABORTED (invalid test count)"
	.text
	.type	test_plan, @function
test_plan:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 3
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L79
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 3
	mov	QWORD PTR -40[rbp], rax
.L79:
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, -40[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L80
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L80
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strncasecmp@PLT
	test	eax, eax
	jne	.L80
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 4
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L81
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 664
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	x_strdup
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 104[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 1
	add	rax, rbx
	mov	BYTE PTR [rax], 0
.L81:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 100[rax], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	eax, 0
	jmp	.L82
.L80:
	cmp	QWORD PTR -24[rbp], 0
	jg	.L83
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 92[rax], 1
	mov	eax, 0
	jmp	.L82
.L83:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 2
	jne	.L84
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	cmp	rdx, rax
	jbe	.L84
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rcx, rax
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	invalid_test_number
	mov	eax, 0
	jmp	.L82
.L84:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	resize_results
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L85
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], 1
	jmp	.L86
.L85:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 2
	jne	.L86
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], 3
.L86:
	mov	eax, 1
.L82:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	test_plan, .-test_plan
	.section	.rodata
.LC18:
	.string	"Bail out!"
.LC19:
	.string	"ABORTED (%.*s)\n"
.LC20:
	.string	"ABORTED (multiple plans)"
.LC21:
	.string	"not "
.LC22:
	.string	"ok"
.LC23:
	.string	"todo"
	.align 8
.LC24:
	.string	"ABORTED (duplicate test number %lu)\n"
.LC25:
	.string	"%lu/?"
.LC26:
	.string	"%lu/%lu"
	.text
	.type	test_checkline, @function
test_checkline:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	strstr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L88
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 9
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L89
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L90
	sub	QWORD PTR -32[rbp], 1
.L90:
	cmp	DWORD PTR -84[rbp], 0
	jne	.L91
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	test_backspace
.L91:
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 92[rax], 1
.L89:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 88[rax], 1
	jmp	.L87
.L88:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L126
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L127
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L95
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L95
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	test_plan
	test	eax, eax
	jne	.L97
	jmp	.L87
.L95:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 3
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L97
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 2
	jne	.L98
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	test_plan
	test	eax, eax
	jne	.L97
	jmp	.L87
.L98:
	cmp	DWORD PTR -84[rbp], 0
	jne	.L99
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	test_backspace
.L99:
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 92[rax], 1
	jmp	.L87
.L97:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 4
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L100
	mov	DWORD PTR -56[rbp], 0
	add	QWORD PTR -72[rbp], 4
.L100:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 2
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L128
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 2
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -72[rbp], rax
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 0
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	QWORD PTR -16[rbp], rax
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L102
	mov	rax, QWORD PTR -48[rbp]
	cmp	QWORD PTR -72[rbp], rax
	jne	.L103
.L102:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	jmp	.L104
.L103:
	cmp	QWORD PTR -16[rbp], 0
	jg	.L105
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	invalid_test_number
	jmp	.L87
.L105:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -40[rbp], rax
.L104:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jbe	.L106
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L106
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	invalid_test_number
	jmp	.L87
.L106:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L107
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 2
	jne	.L109
.L107:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 16[rax], 2
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	resize_results
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jbe	.L109
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L109
.L110:
	add	QWORD PTR -72[rbp], 1
.L109:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L110
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L111
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 1
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 4
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strncasecmp@PLT
	test	eax, eax
	jne	.L112
	mov	DWORD PTR -56[rbp], 2
.L112:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 4
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strncasecmp@PLT
	test	eax, eax
	jne	.L111
	cmp	DWORD PTR -56[rbp], 0
	jne	.L113
	mov	eax, 2
	jmp	.L114
.L113:
	mov	eax, 0
.L114:
	mov	DWORD PTR -56[rbp], eax
.L111:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 2
	sub	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L115
	cmp	DWORD PTR -84[rbp], 0
	jne	.L116
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	test_backspace
.L116:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 92[rax], 1
	jmp	.L87
.L115:
	cmp	DWORD PTR -56[rbp], 3
	je	.L129
	cmp	DWORD PTR -56[rbp], 3
	ja	.L118
	cmp	DWORD PTR -56[rbp], 2
	je	.L119
	cmp	DWORD PTR -56[rbp], 2
	ja	.L118
	cmp	DWORD PTR -56[rbp], 0
	je	.L120
	cmp	DWORD PTR -56[rbp], 1
	jne	.L118
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 48[rax], rdx
	jmp	.L118
.L120:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L118
.L119:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 64[rax], rdx
	jmp	.L118
.L129:
	nop
.L118:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 2
	sub	rax, 4
	add	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], eax
	cmp	DWORD PTR -84[rbp], 0
	jne	.L87
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	je	.L87
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	test_backspace
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 2
	jne	.L122
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -52[rbp], eax
	jmp	.L123
.L122:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -52[rbp], eax
.L123:
	mov	eax, 0
	cmp	DWORD PTR -52[rbp], 0
	cmovns	eax, DWORD PTR -52[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	jmp	.L87
.L126:
	nop
	jmp	.L87
.L127:
	nop
	jmp	.L87
.L128:
	nop
.L87:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L125
	call	__stack_chk_fail@PLT
.L125:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	test_checkline, .-test_checkline
	.section	.rodata
.LC27:
	.string	", "
.LC28:
	.string	"..."
.LC29:
	.string	"%lu-"
.LC30:
	.string	"%lu"
	.text
	.type	test_print_range, @function
test_print_range:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L131
.L132:
	add	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movabs	rdx, -3689348814741910323
	mul	rdx
	mov	rax, rdx
	shr	rax, 3
	mov	QWORD PTR -8[rbp], rax
.L131:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L132
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L133
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L134
.L135:
	add	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movabs	rdx, -3689348814741910323
	mul	rdx
	mov	rax, rdx
	shr	rax, 3
	mov	QWORD PTR -8[rbp], rax
.L134:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L135
	add	DWORD PTR -12[rbp], 1
.L133:
	cmp	QWORD PTR -40[rbp], 0
	je	.L136
	add	DWORD PTR -12[rbp], 2
.L136:
	cmp	DWORD PTR -44[rbp], 0
	je	.L137
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	cmp	rdx, rax
	jbe	.L137
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	cmp	QWORD PTR -40[rbp], rax
	ja	.L140
	cmp	QWORD PTR -40[rbp], 0
	je	.L139
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -12[rbp], 2
.L139:
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -12[rbp], 3
	jmp	.L140
.L137:
	cmp	QWORD PTR -40[rbp], 0
	je	.L141
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
.L141:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L142
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
.L142:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
.L140:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	test_print_range, .-test_print_range
	.section	.rodata
.LC31:
	.string	" (passed %lu/%lu)"
.LC32:
	.string	"MISSED "
.LC33:
	.string	"; "
.LC34:
	.string	"FAILED "
.LC35:
	.string	"dubious"
.LC36:
	.string	" (skipped %lu test)"
.LC37:
	.string	" (skipped %lu tests)"
.LC38:
	.string	" (exit status %d)"
.LC39:
	.string	", core dumped"
.LC40:
	.string	""
.LC41:
	.string	" (killed by signal %d%s)"
	.text
	.type	test_summarize, @function
test_summarize:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	je	.L145
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L146
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L146
.L145:
	mov	QWORD PTR -40[rbp], 0
	jmp	.L147
.L152:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L148
	cmp	QWORD PTR -32[rbp], 0
	jne	.L149
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC32[rip]
	call	fwrite@PLT
.L149:
	cmp	QWORD PTR -16[rbp], 0
	je	.L150
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jne	.L150
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	jmp	.L148
.L150:
	cmp	QWORD PTR -16[rbp], 0
	je	.L151
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -1[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	test_print_range
.L151:
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
.L148:
	add	QWORD PTR -40[rbp], 1
.L147:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jb	.L152
	cmp	QWORD PTR -16[rbp], 0
	je	.L153
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -1[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	test_print_range
.L153:
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	jmp	.L154
.L160:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L155
	cmp	QWORD PTR -32[rbp], 0
	je	.L156
	cmp	QWORD PTR -24[rbp], 0
	jne	.L156
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC33[rip]
	call	fwrite@PLT
.L156:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L157
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC34[rip]
	call	fwrite@PLT
.L157:
	cmp	QWORD PTR -16[rbp], 0
	je	.L158
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jne	.L158
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	jmp	.L155
.L158:
	cmp	QWORD PTR -16[rbp], 0
	je	.L159
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, -1[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	test_print_range
.L159:
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
.L155:
	add	QWORD PTR -40[rbp], 1
.L154:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jb	.L160
	cmp	QWORD PTR -16[rbp], 0
	je	.L161
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, -1[rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	test_print_range
.L161:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L146
	cmp	QWORD PTR -24[rbp], 0
	jne	.L146
	mov	rdx, QWORD PTR stdout[rip]
	cmp	DWORD PTR -60[rbp], 0
	jne	.L162
	lea	rax, .LC22[rip]
	jmp	.L163
.L162:
	lea	rax, .LC35[rip]
.L163:
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L146
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	cmp	rax, 1
	jne	.L164
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rsi, rax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L146
.L164:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
.L146:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L165
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L166
.L165:
	cmp	DWORD PTR -60[rbp], 0
	jns	.L166
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 96[rax]
	and	eax, 128
	test	eax, eax
	je	.L167
	lea	rax, .LC39[rip]
	jmp	.L168
.L167:
	lea	rax, .LC40[rip]
.L168:
	mov	edx, DWORD PTR -60[rbp]
	mov	ecx, edx
	neg	ecx
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	printf@PLT
.L166:
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	test_summarize, .-test_summarize
	.section	.rodata
.LC42:
	.string	"skipped"
.LC43:
	.string	"skipped (%s)\n"
	.align 8
.LC44:
	.string	"ABORTED (can't dup file descriptors)"
	.align 8
.LC45:
	.string	"ABORTED (execution failed -- not found?)"
	.align 8
.LC46:
	.string	"ABORTED (can't open /dev/null)"
.LC47:
	.string	"ABORTED (no valid test plan)"
	.text
	.type	test_analyze, @function
test_analyze:
.LFB24:
	.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L170
	mov	eax, 0
	jmp	.L171
.L170:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	je	.L172
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	jne	.L173
	lea	rdi, .LC42[rip]
	call	puts@PLT
	jmp	.L174
.L173:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	rsi, rax
	lea	rdi, .LC43[rip]
	mov	eax, 0
	call	printf@PLT
.L174:
	mov	eax, 1
	jmp	.L171
.L172:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	and	eax, 127
	test	eax, eax
	jne	.L175
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	sar	eax, 8
	movzx	eax, al
	test	eax, eax
	je	.L175
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	sar	eax, 8
	movzx	eax, al
	cmp	eax, 103
	jg	.L176
	cmp	eax, 102
	jge	.L177
	cmp	eax, 100
	je	.L178
	cmp	eax, 101
	je	.L179
	jmp	.L176
.L178:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	jne	.L186
	lea	rdi, .LC44[rip]
	call	puts@PLT
	jmp	.L186
.L179:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	jne	.L187
	lea	rdi, .LC45[rip]
	call	puts@PLT
	jmp	.L187
.L177:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	jne	.L188
	lea	rdi, .LC46[rip]
	call	puts@PLT
	jmp	.L188
.L176:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	sar	eax, 8
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	test_summarize
	jmp	.L181
.L186:
	nop
	jmp	.L181
.L187:
	nop
	jmp	.L181
.L188:
	nop
.L181:
	mov	eax, 0
	jmp	.L171
.L175:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	and	eax, 127
	add	eax, 1
	sar	al
	test	al, al
	jle	.L184
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	and	eax, 127
	neg	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	test_summarize
	mov	eax, 0
	jmp	.L171
.L184:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	je	.L185
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 3
	je	.L185
	lea	rdi, .LC47[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	eax, 0
	jmp	.L171
.L185:
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	test_summarize
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	sete	al
	movzx	eax, al
.L171:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	test_analyze, .-test_analyze
	.section	.rodata
.LC48:
	.string	"r"
.LC49:
	.string	"fdopen failed"
.LC50:
	.string	"%s"
.LC51:
	.string	"waitpid for %u failed"
	.text
	.type	test_run, @function
test_run:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 64
	mov	QWORD PTR -8248[rbp], rdi
	mov	DWORD PTR -8252[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -8248[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, -8240[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	test_start
	mov	DWORD PTR -8232[rbp], eax
	mov	eax, DWORD PTR -8240[rbp]
	lea	rsi, .LC48[rip]
	mov	edi, eax
	call	fdopen@PLT
	mov	QWORD PTR -8216[rbp], rax
	cmp	QWORD PTR -8216[rbp], 0
	jne	.L191
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	sysdie
.L194:
	cmp	DWORD PTR -8252[rbp], 0
	je	.L192
	lea	rax, -8208[rbp]
	mov	rsi, rax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
.L192:
	mov	edx, DWORD PTR -8252[rbp]
	mov	rcx, QWORD PTR -8248[rbp]
	lea	rax, -8208[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	test_checkline
.L191:
	mov	rax, QWORD PTR -8248[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	jne	.L193
	mov	rdx, QWORD PTR -8216[rbp]
	lea	rax, -8208[rbp]
	mov	esi, 8192
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L194
.L193:
	mov	rax, QWORD PTR -8216[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	jne	.L195
	mov	rax, QWORD PTR -8248[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L196
.L195:
	mov	rax, QWORD PTR -8248[rbp]
	mov	DWORD PTR 88[rax], 1
.L196:
	cmp	DWORD PTR -8252[rbp], 0
	jne	.L198
	mov	rax, QWORD PTR -8248[rbp]
	mov	rdi, rax
	call	test_backspace
	jmp	.L198
.L199:
	cmp	DWORD PTR -8252[rbp], 0
	je	.L198
	lea	rax, -8208[rbp]
	mov	rsi, rax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
.L198:
	mov	rdx, QWORD PTR -8216[rbp]
	lea	rax, -8208[rbp]
	mov	esi, 8192
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L199
	mov	rax, QWORD PTR -8216[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -8248[rbp]
	lea	rcx, 96[rax]
	mov	eax, DWORD PTR -8232[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	waitpid@PLT
	mov	DWORD PTR -8228[rbp], eax
	cmp	DWORD PTR -8228[rbp], -1
	jne	.L200
	mov	rax, QWORD PTR -8248[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	jne	.L201
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
.L201:
	mov	eax, DWORD PTR -8232[rbp]
	mov	esi, eax
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	sysdie
.L200:
	mov	rax, QWORD PTR -8248[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	je	.L202
	mov	rax, QWORD PTR -8248[rbp]
	mov	DWORD PTR 88[rax], 0
.L202:
	mov	rax, QWORD PTR -8248[rbp]
	mov	rdi, rax
	call	test_analyze
	mov	DWORD PTR -8236[rbp], eax
	mov	QWORD PTR -8224[rbp], 0
	jmp	.L203
.L205:
	mov	rax, QWORD PTR -8248[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -8224[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L204
	mov	rax, QWORD PTR -8248[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8248[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8248[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -8224[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	mov	DWORD PTR -8236[rbp], 0
.L204:
	add	QWORD PTR -8224[rbp], 1
.L203:
	mov	rax, QWORD PTR -8248[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -8224[rbp], rax
	jb	.L205
	mov	eax, DWORD PTR -8236[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L207
	call	__stack_chk_fail@PLT
.L207:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	test_run, .-test_run
	.section	.rodata
	.align 8
.LC54:
	.string	"%-26.26s %4lu/%-4lu %3.0f%% %4lu "
.LC55:
	.string	"%4d  "
.LC56:
	.string	"  --  "
.LC57:
	.string	"aborted"
	.text
	.type	test_fail_summary, @function
test_fail_summary:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	lea	rdi, header[rip]
	call	puts@PLT
	jmp	.L209
.L226:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, QWORD PTR 64[rax]
	cmp	QWORD PTR -8[rbp], 0
	je	.L210
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	js	.L211
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L212
.L211:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L212:
	movsd	xmm1, QWORD PTR .LC52[rip]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -8[rbp]
	test	rax, rax
	js	.L213
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L214
.L213:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L214:
	divsd	xmm1, xmm0
	movq	rax, xmm1
	jmp	.L215
.L210:
	mov	rax, QWORD PTR .LC53[rip]
.L215:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rdx]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR [rcx]
	mov	rcx, QWORD PTR -8[rbp]
	mov	r8, rdi
	movq	xmm0, rax
	lea	rdi, .LC54[rip]
	mov	eax, 1
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 96[rax]
	and	eax, 127
	test	eax, eax
	jne	.L216
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 96[rax]
	sar	eax, 8
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L217
.L216:
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	printf@PLT
.L217:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 88[rax]
	test	eax, eax
	je	.L218
	lea	rdi, .LC57[rip]
	call	puts@PLT
	jmp	.L219
.L218:
	mov	DWORD PTR -44[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	jmp	.L220
.L224:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L221
	cmp	QWORD PTR -32[rbp], 0
	je	.L222
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L222
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L221
.L222:
	cmp	QWORD PTR -32[rbp], 0
	je	.L223
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, 19
	mov	rdi, rax
	call	test_print_range
	add	DWORD PTR -44[rbp], eax
.L223:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
.L221:
	add	QWORD PTR -40[rbp], 1
.L220:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jb	.L224
	cmp	QWORD PTR -32[rbp], 0
	je	.L225
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, 19
	mov	rdi, rax
	call	test_print_range
.L225:
	mov	edi, 10
	call	putchar@PLT
.L219:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L209:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L226
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	test_fail_summary, .-test_fail_summary
	.type	is_valid_test, @function
is_valid_test:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -168[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	jns	.L228
	mov	eax, 0
	jmp	.L232
.L228:
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jns	.L230
	mov	eax, 0
	jmp	.L232
.L230:
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	je	.L231
	mov	eax, 0
	jmp	.L232
.L231:
	mov	eax, 1
.L232:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L233
	call	__stack_chk_fail@PLT
.L233:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	is_valid_test, .-is_valid_test
	.section	.rodata
.LC58:
	.string	"-t"
.LC59:
	.string	".t"
.LC60:
	.string	"."
.LC61:
	.string	"/"
	.text
	.type	find_test, @function
find_test:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -88[rbp], 0
	lea	rax, .LC58[rip]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, .LC59[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, .LC40[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, .LC60[rip]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -96[rbp], 0
	jmp	.L235
.L242:
	mov	eax, DWORD PTR -96[rbp]
	mov	rax, QWORD PTR -32[rbp+rax*8]
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -92[rbp], 0
	jmp	.L236
.L241:
	mov	eax, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -64[rbp+rax*8]
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	je	.L246
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 0
	lea	rsi, .LC61[rip]
	mov	rdi, rax
	mov	eax, 0
	call	concat
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	is_valid_test
	test	eax, eax
	je	.L239
	mov	rax, QWORD PTR -88[rbp]
	jmp	.L244
.L239:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -88[rbp], 0
	jmp	.L238
.L246:
	nop
.L238:
	add	DWORD PTR -92[rbp], 1
.L236:
	cmp	DWORD PTR -92[rbp], 2
	jbe	.L241
	add	DWORD PTR -96[rbp], 1
.L235:
	cmp	DWORD PTR -96[rbp], 2
	jbe	.L242
	cmp	QWORD PTR -88[rbp], 0
	jne	.L243
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 1200
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	x_strdup
	mov	QWORD PTR -88[rbp], rax
.L243:
	mov	rax, QWORD PTR -88[rbp]
.L244:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L245
	call	__stack_chk_fail@PLT
.L245:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	find_test, .-find_test
	.section	.rodata
.LC62:
	.string	"can't open %s"
.LC63:
	.string	"%s:%u: line too long\n"
	.text
	.type	read_test_list, @function
read_test_list:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -8280[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	ecx, 1222
	lea	rdx, .LC8[rip]
	mov	esi, 16
	mov	edi, 1
	call	x_calloc
	mov	QWORD PTR -8256[rbp], rax
	mov	QWORD PTR -8264[rbp], 0
	mov	rax, QWORD PTR -8280[rbp]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8248[rbp], rax
	cmp	QWORD PTR -8248[rbp], 0
	jne	.L248
	mov	rax, QWORD PTR -8280[rbp]
	mov	rsi, rax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	sysdie
.L248:
	mov	DWORD PTR -8268[rbp], 0
	jmp	.L249
.L255:
	add	DWORD PTR -8268[rbp], 1
	lea	rax, -8224[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 1
	mov	QWORD PTR -8240[rbp], rax
	lea	rdx, -8224[rbp]
	mov	rax, QWORD PTR -8240[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L250
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -8268[rbp]
	mov	rdx, QWORD PTR -8280[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L250:
	lea	rdx, -8224[rbp]
	mov	rax, QWORD PTR -8240[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -8224[rbp]
	mov	rdi, rax
	call	skip_whitespace
	mov	QWORD PTR -8232[rbp], rax
	mov	rax, QWORD PTR -8232[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L251
	jmp	.L249
.L251:
	mov	rax, QWORD PTR -8232[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L252
	jmp	.L249
.L252:
	cmp	QWORD PTR -8264[rbp], 0
	jne	.L253
	mov	rax, QWORD PTR -8256[rbp]
	mov	QWORD PTR -8264[rbp], rax
	jmp	.L254
.L253:
	mov	ecx, 1253
	lea	rdx, .LC8[rip]
	mov	esi, 16
	mov	edi, 1
	call	x_calloc
	mov	rdx, rax
	mov	rax, QWORD PTR -8264[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8264[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8264[rbp], rax
.L254:
	mov	ecx, 1256
	lea	rdx, .LC8[rip]
	mov	esi, 112
	mov	edi, 1
	call	x_calloc
	mov	rdx, rax
	mov	rax, QWORD PTR -8264[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8264[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8232[rbp]
	mov	edx, 1258
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	x_strdup
	mov	QWORD PTR [rbx], rax
.L249:
	mov	rdx, QWORD PTR -8248[rbp]
	lea	rax, -8224[rbp]
	mov	esi, 8192
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L255
	mov	rax, QWORD PTR -8248[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	QWORD PTR -8264[rbp], 0
	jne	.L256
	mov	rax, QWORD PTR -8256[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L258
.L256:
	mov	rax, QWORD PTR -8256[rbp]
.L258:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L259
	call	__stack_chk_fail@PLT
.L259:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	read_test_list, .-read_test_list
	.type	build_test_list, @function
build_test_list:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	ecx, 1286
	lea	rdx, .LC8[rip]
	mov	esi, 16
	mov	edi, 1
	call	x_calloc
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -32[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L261
.L264:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L262
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L263
.L262:
	mov	ecx, 1294
	lea	rdx, .LC8[rip]
	mov	esi, 16
	mov	edi, 1
	call	x_calloc
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
.L263:
	mov	ecx, 1297
	lea	rdx, .LC8[rip]
	mov	esi, 112
	mov	edi, 1
	call	x_calloc
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 16[rax], 0
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR [rdx]
	mov	edx, 1299
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	x_strdup
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -36[rbp], 1
.L261:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L264
	cmp	QWORD PTR -32[rbp], 0
	jne	.L265
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L266
.L265:
	mov	rax, QWORD PTR -24[rbp]
.L266:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	build_test_list, .-build_test_list
	.type	free_testset, @function
free_testset:
.LFB31:
	.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	free_testset, .-free_testset
	.section	.rodata
.LC64:
	.string	"\n\n"
.LC65:
	.string	"Aborted %lu test set"
.LC66:
	.string	"Aborted %lu test sets"
.LC67:
	.string	", passed %lu/%lu tests"
.LC68:
	.string	"All tests successful"
	.align 8
.LC69:
	.string	"Failed %lu/%lu tests, %.2f%% okay"
.LC70:
	.string	", %lu test skipped"
.LC71:
	.string	", %lu tests skipped"
.LC72:
	.string	"Files=%u,  Tests=%lu"
.LC73:
	.string	",  %.2f seconds"
	.align 8
.LC74:
	.string	" (%.2f usr + %.2f sys = %.2f CPU)\n"
	.text
	.type	test_batch, @function
test_batch:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 336
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -328[rbp], rdi
	mov	QWORD PTR -336[rbp], rsi
	mov	QWORD PTR -344[rbp], rdx
	mov	DWORD PTR -348[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -304[rbp], 0
	mov	DWORD PTR -320[rbp], 0
	mov	QWORD PTR -296[rbp], 0
	mov	QWORD PTR -288[rbp], 0
	mov	QWORD PTR -272[rbp], 0
	mov	QWORD PTR -264[rbp], 0
	mov	QWORD PTR -256[rbp], 0
	mov	QWORD PTR -248[rbp], 0
	mov	QWORD PTR -240[rbp], 0
	mov	rax, QWORD PTR -328[rbp]
	mov	QWORD PTR -280[rbp], rax
	jmp	.L269
.L271:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	cmp	rax, QWORD PTR -304[rbp]
	jbe	.L270
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -304[rbp], rax
.L270:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -280[rbp], rax
.L269:
	cmp	QWORD PTR -280[rbp], 0
	jne	.L271
	add	QWORD PTR -304[rbp], 2
	mov	rax, QWORD PTR -304[rbp]
	and	eax, 7
	test	rax, rax
	je	.L272
	mov	rax, QWORD PTR -304[rbp]
	and	rax, -8
	add	rax, 8
	mov	QWORD PTR -304[rbp], rax
.L272:
	lea	rax, -208[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -328[rbp]
	mov	QWORD PTR -280[rbp], rax
	jmp	.L273
.L283:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rdx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	cmp	DWORD PTR -348[rbp], 0
	je	.L274
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC64[rip]
	call	fwrite@PLT
	jmp	.L275
.L274:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -312[rbp], rax
	jmp	.L276
.L277:
	mov	edi, 46
	call	putchar@PLT
	add	QWORD PTR -312[rbp], 1
.L276:
	mov	rax, QWORD PTR -312[rbp]
	cmp	rax, QWORD PTR -304[rbp]
	jb	.L277
.L275:
	mov	edi, 1
	call	isatty@PLT
	test	eax, eax
	je	.L278
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
.L278:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR -336[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	find_test
	mov	rdx, QWORD PTR -224[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	edx, DWORD PTR -348[rbp]
	mov	rax, QWORD PTR -224[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	test_run
	mov	DWORD PTR -316[rbp], eax
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	cmp	DWORD PTR -348[rbp], 0
	je	.L279
	mov	edi, 10
	call	putchar@PLT
.L279:
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 88[rax]
	mov	eax, eax
	add	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 100[rax]
	mov	eax, eax
	add	rax, rdx
	add	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 100[rax]
	mov	eax, eax
	add	rax, rdx
	add	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 56[rax]
	add	QWORD PTR -248[rbp], rax
	add	DWORD PTR -320[rbp], 1
	cmp	DWORD PTR -316[rbp], 0
	jne	.L280
	cmp	QWORD PTR -296[rbp], 0
	jne	.L281
	mov	edx, 1402
	lea	rsi, .LC8[rip]
	mov	edi, 112
	call	x_malloc
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -288[rbp], rax
	jmp	.L282
.L281:
	mov	edx, 1405
	lea	rsi, .LC8[rip]
	mov	edi, 112
	call	x_malloc
	mov	rdx, rax
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -288[rbp], rax
.L282:
	mov	rax, QWORD PTR -288[rbp]
	mov	rdx, QWORD PTR -224[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR 8[rax], 0
.L280:
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -280[rbp], rax
.L273:
	cmp	QWORD PTR -280[rbp], 0
	jne	.L283
	mov	rax, QWORD PTR -256[rbp]
	sub	QWORD PTR -272[rbp], rax
	lea	rax, -192[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	lea	rax, -176[rbp]
	mov	rsi, rax
	mov	edi, -1
	call	getrusage@PLT
	cmp	QWORD PTR -296[rbp], 0
	je	.L287
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	test_fail_summary
	jmp	.L285
.L286:
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -296[rbp], rax
.L285:
	cmp	QWORD PTR -296[rbp], 0
	jne	.L286
	jmp	.L287
.L288:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free_testset
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -328[rbp], rax
.L287:
	cmp	QWORD PTR -328[rbp], 0
	jne	.L288
	mov	edi, 10
	call	putchar@PLT
	cmp	QWORD PTR -240[rbp], 0
	je	.L289
	cmp	QWORD PTR -240[rbp], 1
	jne	.L290
	mov	rax, QWORD PTR -240[rbp]
	mov	rsi, rax
	lea	rdi, .LC65[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L291
.L290:
	mov	rax, QWORD PTR -240[rbp]
	mov	rsi, rax
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printf@PLT
.L291:
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rax
	lea	rdi, .LC67[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L292
.L289:
	cmp	QWORD PTR -248[rbp], 0
	jne	.L293
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 20
	mov	esi, 1
	lea	rdi, .LC68[rip]
	call	fwrite@PLT
	jmp	.L292
.L293:
	mov	rax, QWORD PTR -272[rbp]
	sub	rax, QWORD PTR -248[rbp]
	test	rax, rax
	js	.L294
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L295
.L294:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L295:
	movsd	xmm1, QWORD PTR .LC52[rip]
	mulsd	xmm1, xmm0
	mov	rax, QWORD PTR -272[rbp]
	test	rax, rax
	js	.L296
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L297
.L296:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L297:
	divsd	xmm1, xmm0
	movq	rcx, xmm1
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movq	xmm0, rcx
	mov	rsi, rax
	lea	rdi, .LC69[rip]
	mov	eax, 1
	call	printf@PLT
.L292:
	cmp	QWORD PTR -256[rbp], 0
	je	.L298
	cmp	QWORD PTR -256[rbp], 1
	jne	.L299
	mov	rax, QWORD PTR -256[rbp]
	mov	rsi, rax
	lea	rdi, .LC70[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L298
.L299:
	mov	rax, QWORD PTR -256[rbp]
	mov	rsi, rax
	lea	rdi, .LC71[rip]
	mov	eax, 0
	call	printf@PLT
.L298:
	lea	rdi, .LC60[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR -320[rbp]
	mov	esi, eax
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -208[rbp]
	lea	rax, -192[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tv_diff
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC73[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rax, -176[rbp]
	lea	rdx, 16[rax]
	lea	rax, -176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tv_sum
	movq	r12, xmm0
	lea	rax, -176[rbp]
	add	rax, 16
	mov	rdi, rax
	call	tv_seconds
	movq	rbx, xmm0
	lea	rax, -176[rbp]
	mov	rdi, rax
	call	tv_seconds
	movq	rax, xmm0
	movq	xmm2, r12
	movq	xmm1, rbx
	movq	xmm0, rax
	lea	rdi, .LC74[rip]
	mov	eax, 3
	call	printf@PLT
	cmp	QWORD PTR -248[rbp], 0
	jne	.L300
	cmp	QWORD PTR -240[rbp], 0
	jne	.L300
	mov	eax, 1
	jmp	.L302
.L300:
	mov	eax, 0
.L302:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L303
	call	__stack_chk_fail@PLT
.L303:
	add	rsp, 336
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	test_batch, .-test_batch
	.section	.rodata
.LC75:
	.string	"cannot exec %s"
	.text
	.type	test_single, @function
test_single:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	find_test
	mov	QWORD PTR -8[rbp], rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	execl@PLT
	cmp	eax, -1
	jne	.L306
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	sysdie
.L306:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	test_single, .-test_single
	.section	.rodata
.LC76:
	.string	"b:hl:os:v"
.LC77:
	.string	"C_TAP_VERBOSE"
.LC78:
	.string	"SOURCE="
	.align 8
.LC79:
	.string	"cannot set SOURCE in the environment"
.LC80:
	.string	"BUILD="
	.align 8
.LC81:
	.string	"cannot set BUILD in the environment"
	.text
	.globl	main
	.type	main, @function
main:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L308
.L317:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 98
	cmp	eax, 20
	ja	.L309
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L311[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L311[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L311:
	.long	.L316-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L315-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L314-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L313-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L312-.L311
	.long	.L309-.L311
	.long	.L309-.L311
	.long	.L310-.L311
	.text
.L316:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L308
.L315:
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -16[rbp]
	lea	r8, usage_extra[rip]
	mov	rsi, rax
	lea	rdi, usage_message[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L314:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L308
.L313:
	mov	DWORD PTR -76[rbp], 1
	jmp	.L308
.L312:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L308
.L310:
	mov	DWORD PTR -72[rbp], 1
	jmp	.L308
.L309:
	mov	edi, 1
	call	exit@PLT
.L308:
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -84[rbp]
	lea	rdx, .LC76[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	getopt@PLT
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], -1
	jne	.L317
	mov	eax, DWORD PTR optind[rip]
	cdqe
	sal	rax, 3
	add	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR optind[rip]
	sub	DWORD PTR -84[rbp], eax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L318
	cmp	DWORD PTR -84[rbp], 0
	jle	.L319
.L318:
	cmp	QWORD PTR -40[rbp], 0
	je	.L320
	cmp	DWORD PTR -84[rbp], 0
	jle	.L320
.L319:
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	lea	r9, usage_extra[rip]
	mov	r8, rsi
	lea	rsi, usage_message[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L320:
	lea	rdi, .LC77[rip]
	call	getenv@PLT
	test	rax, rax
	je	.L321
	mov	DWORD PTR -72[rbp], 1
.L321:
	cmp	QWORD PTR -32[rbp], 0
	je	.L322
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC78[rip]
	mov	eax, 0
	call	concat
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	putenv@PLT
	test	eax, eax
	je	.L322
	lea	rdi, .LC79[rip]
	mov	eax, 0
	call	sysdie
.L322:
	cmp	QWORD PTR -24[rbp], 0
	je	.L323
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC80[rip]
	mov	eax, 0
	call	concat
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	putenv@PLT
	test	eax, eax
	je	.L323
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	sysdie
.L323:
	cmp	DWORD PTR -76[rbp], 0
	je	.L324
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	test_single
	jmp	.L325
.L324:
	cmp	QWORD PTR -40[rbp], 0
	je	.L326
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L327
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L328
.L327:
	add	QWORD PTR -48[rbp], 1
.L328:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, banner[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_test_list
	mov	QWORD PTR -8[rbp], rax
	mov	ecx, DWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	test_batch
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -80[rbp], eax
	jmp	.L325
.L326:
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	build_test_list
	mov	QWORD PTR -8[rbp], rax
	mov	ecx, DWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	test_batch
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -80[rbp], eax
.L325:
	cmp	QWORD PTR -64[rbp], 0
	je	.L329
	lea	rdi, .LC78[rip]
	call	putenv@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	free@PLT
.L329:
	cmp	QWORD PTR -56[rbp], 0
	je	.L330
	lea	rdi, .LC80[rip]
	call	putenv@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
.L330:
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE34:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC9:
	.long	-1598689907
	.long	1051772663
	.align 8
.LC52:
	.long	0
	.long	1079574528
	.align 8
.LC53:
	.long	0
	.long	0
	.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	"252757.c"
	.section	.rodata
	.align	2
.LC0:
	.ascii	"-t\000"
	.align	2
.LC1:
	.ascii	".t\000"
	.align	2
.LC2:
	.ascii	"\000"
	.text
	.section	.rodata
	.align	2
	.type	usage_message, %object
	.size	usage_message, 264
usage_message:
	.ascii	"Usage: %s [-hv] [-b <build-dir>] [-s <source-dir>] "
	.ascii	"<test> ...\012       %s [-hv] [-b <build-dir>] [-s "
	.ascii	"<source-dir>] -l <test-list>\012       %s -o [-h] ["
	.ascii	"-b <build-dir>] [-s <source-dir>] <test>\012\012Opt"
	.ascii	"ions:\012    -b <build-dir>      Set the build dire"
	.ascii	"ctory to <build-dir>\012%s\000"
	.align	2
	.type	usage_extra, %object
	.size	usage_extra, 475
usage_extra:
	.ascii	"    -l <list>           Take the list of tests to r"
	.ascii	"un from <test-list>\012    -o                  Run "
	.ascii	"a single test rather than a list of tests\012    -s"
	.ascii	" <source-dir>     Set the source directory to <sour"
	.ascii	"ce-dir>\012    -v                  Show the full ou"
	.ascii	"tput of each test\012\012runtests normally runs eac"
	.ascii	"h test listed on the command line.  With the -l\012"
	.ascii	"option, it instead runs every test listed in a file"
	.ascii	".  With the -o option,\012it instead runs a single "
	.ascii	"test and shows its complete output.\012\000"
	.align	2
	.type	banner, %object
	.size	banner, 122
banner:
	.ascii	"\012Running all tests listed in %s.  If any tests f"
	.ascii	"ail, run the failing\012test program with runtests "
	.ascii	"-o to see more details.\012\012\000"
	.align	2
	.type	header, %object
	.size	header, 146
header:
	.ascii	"\012Failed Set                 Fail/Total (%) Skip "
	.ascii	"Stat  Failing Tests\012-------------------------- -"
	.ascii	"------------- ---- ----  ------------------------\000"
	.align	2
.LC4:
	.ascii	"runtests: \000"
	.align	2
.LC5:
	.ascii	": %s\012\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sysdie, %function
sysdie:
	@ args = 4, pretend = 16, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, .L3+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L3+8
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L3+12
	bl	fwrite
	add	r3, fp, #8
	str	r3, [fp, #-24]
	ldr	r3, .L3+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	vfprintf
	ldr	r3, .L3+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-20]
	bl	strerror
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L3+16
	mov	r0, r4
	bl	fprintf
	mov	r0, #1
	bl	exit
.L4:
	.align	2
.L3:
	.word	.LC6
	.word	stdout
	.word	stderr
	.word	.LC4
	.word	.LC5
	.size	sysdie, .-sysdie
	.section	.rodata
	.align	2
.LC7:
	.ascii	"failed to calloc %lu bytes at %s line %d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	x_calloc, %function
x_calloc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L6
	ldr	r3, [fp, #-16]
	b	.L7
.L6:
	mov	r3, #1
.L7:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L8
	ldr	r3, [fp, #-20]
	b	.L9
.L8:
	mov	r3, #1
.L9:
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L10
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, .L12
	bl	sysdie
.L10:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L13:
	.align	2
.L12:
	.word	.LC7
	.size	x_calloc, .-x_calloc
	.section	.rodata
	.align	2
.LC8:
	.ascii	"failed to malloc %lu bytes at %s line %d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	x_malloc, %function
x_malloc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L15
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, .L17
	bl	sysdie
.L15:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L18:
	.align	2
.L17:
	.word	.LC8
	.size	x_malloc, .-x_malloc
	.global	__aeabi_uidiv
	.section	.rodata
	.align	2
.LC9:
	.ascii	"realloc too large at %s line %d\000"
	.align	2
.LC10:
	.ascii	"failed to realloc %lu bytes at %s line %d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	x_reallocarray, %function
x_reallocarray:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L20
	ldr	r1, [fp, #-12]
	mvn	r0, #0
	bl	__aeabi_uidiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bcc	.L20
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-20]
	ldr	r0, .L23
	bl	sysdie
.L20:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	mul	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	realloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L21
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	mul	r1, r2, r3
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-20]
	ldr	r0, .L23+4
	bl	sysdie
.L21:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	.LC9
	.word	.LC10
	.size	x_reallocarray, .-x_reallocarray
	.section	.rodata
	.align	2
.LC11:
	.ascii	"failed to strdup %lu bytes at %s line %d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	x_strdup, %function
x_strdup:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L26
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, .L28
	bl	sysdie
.L26:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC11
	.size	x_strdup, .-x_strdup
	.section	.rodata
	.align	2
.LC12:
	.ascii	"strings too long in concat\000"
	.align	2
.LC13:
	.ascii	"the_stack_data/252757.c\000"
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	concat, %function
concat:
	@ args = 4, pretend = 16, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	ldr	r3, [fp, #4]
	str	r3, [fp, #-40]
	ldr	r3, .L38
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	add	r3, fp, #8
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	b	.L31
.L33:
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	mvn	r3, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L32
	bl	__errno_location
	mov	r3, r0
	mov	r2, #22
	str	r2, [r3]
	ldr	r0, .L38+4
	bl	sysdie
.L32:
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	add	r2, r3, #4
	str	r2, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L31:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L33
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, .L38+8
	ldr	r1, .L38+12
	ldr	r0, [fp, #-24]
	bl	x_malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	add	r3, fp, #8
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	b	.L34
.L35:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r4, r2, r3
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-32]
	mov	r0, r4
	bl	memcpy
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	add	r2, r3, #4
	str	r2, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L34:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L35
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, .L38
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L37
	bl	__stack_chk_fail
.L37:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #16
	bx	lr
.L39:
	.align	2
.L38:
	.word	.LC14
	.word	.LC12
	.word	430
	.word	.LC13
	.size	concat, .-concat
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_seconds, %function
tv_seconds:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	difftime
	mov	r4, r0
	mov	r5, r1
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L42
	ldr	r3, .L42+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L43:
	.align	2
.L42:
	.word	-1598689907
	.word	1051772663
	.size	tv_seconds, .-tv_seconds
	.global	__aeabi_dsub
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_diff, %function
tv_diff:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tv_seconds
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-20]
	bl	tv_seconds
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	tv_diff, .-tv_diff
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tv_sum, %function
tv_sum:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	tv_seconds
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-20]
	bl	tv_seconds
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	tv_sum, .-tv_sum
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	skip_whitespace, %function
skip_whitespace:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	b	.L49
.L50:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L49:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L50
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	skip_whitespace, .-skip_whitespace
	.section	.rodata
	.align	2
.LC15:
	.ascii	"ABORTED\000"
	.align	2
.LC16:
	.ascii	"can't create pipe\000"
	.align	2
.LC17:
	.ascii	"can't fork\000"
	.align	2
.LC18:
	.ascii	"/dev/null\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_start, %function
test_start:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L66
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmn	r3, #1
	bne	.L53
	ldr	r0, .L66+4
	bl	puts
	ldr	r3, .L66+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r0, .L66+12
	bl	sysdie
.L53:
	bl	fork
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	beq	.L54
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L55
	b	.L56
.L54:
	ldr	r0, .L66+4
	bl	puts
	ldr	r3, .L66+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r0, .L66+16
	bl	sysdie
.L55:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	close
	mov	r0, #1
	bl	close
	ldr	r3, [fp, #-12]
	mov	r1, #1
	mov	r0, r3
	bl	dup2
	mov	r3, r0
	cmp	r3, #0
	bge	.L57
	mov	r0, #100
	bl	_exit
.L57:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
	mov	r0, #0
	bl	close
	mov	r1, #0
	ldr	r0, .L66+20
	bl	open
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L58
	mov	r0, #102
	bl	_exit
.L58:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L59
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	dup2
	mov	r3, r0
	cmp	r3, #0
	bge	.L60
	mov	r0, #100
	bl	_exit
.L60:
	ldr	r0, [fp, #-24]
	bl	close
.L59:
	mov	r0, #2
	bl	close
	mov	r1, #1
	ldr	r0, .L66+20
	bl	open
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L61
	mov	r0, #103
	bl	_exit
.L61:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L62
	mov	r1, #2
	ldr	r0, [fp, #-20]
	bl	dup2
	mov	r3, r0
	cmp	r3, #0
	bge	.L63
	mov	r0, #100
	bl	_exit
.L63:
	ldr	r0, [fp, #-20]
	bl	close
.L62:
	mov	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	execl
	mov	r3, r0
	cmn	r3, #1
	bne	.L56
	mov	r0, #101
	bl	_exit
.L56:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
	nop
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, .L66
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L65
	bl	__stack_chk_fail
.L65:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L67:
	.align	2
.L66:
	.word	.LC19
	.word	.LC15
	.word	stdout
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.size	test_start, .-test_start
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_backspace, %function
test_backspace:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L77
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L71
.L72:
	mov	r0, #8
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L71:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcc	.L72
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L73
.L74:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L73:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcc	.L74
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L75
.L76:
	mov	r0, #8
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L75:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcc	.L76
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #20]
	b	.L68
.L77:
	nop
.L68:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	test_backspace, .-test_backspace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	resize_results, %function
resize_results:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bls	.L85
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L81
	ldr	r3, [fp, #-20]
	cmp	r3, #32
	movcs	r3, r3
	movcc	r3, #32
	str	r3, [fp, #-8]
	ldr	r3, .L86
	ldr	r2, .L86+4
	mov	r1, #4
	ldr	r0, [fp, #-8]
	bl	x_calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #40]
	b	.L82
.L81:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	add	r3, r3, #1024
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	movcs	r3, r2
	movcc	r3, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #40]
	ldr	r3, .L86+8
	str	r3, [sp]
	ldr	r3, .L86+4
	mov	r2, #4
	ldr	r1, [fp, #-8]
	bl	x_reallocarray
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #40]
.L82:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-12]
	b	.L83
.L84:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L83:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L84
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #36]
	b	.L78
.L85:
	nop
.L78:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L87:
	.align	2
.L86:
	.word	598
	.word	.LC13
	.word	601
	.size	resize_results, .-resize_results
	.section	.rodata
	.align	2
.LC20:
	.ascii	"ABORTED (invalid test number %ld)\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	invalid_test_number, %function
invalid_test_number:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L89
	ldr	r0, [fp, #-8]
	bl	test_backspace
.L89:
	ldr	r1, [fp, #-12]
	ldr	r0, .L90
	bl	printf
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #48]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L91:
	.align	2
.L90:
	.word	.LC20
	.size	invalid_test_number, .-invalid_test_number
	.section	.rodata
	.align	2
.LC21:
	.ascii	"1..\000"
	.align	2
.LC22:
	.ascii	"skip\000"
	.align	2
.LC23:
	.ascii	"ABORTED (invalid test count)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_plan, %function
test_plan:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	skip_whitespace
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, #3
	ldr	r1, .L101
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L93
	ldr	r3, [fp, #-24]
	add	r3, r3, #3
	str	r3, [fp, #-24]
.L93:
	ldr	r3, [fp, #-24]
	sub	r1, fp, #24
	mov	r2, #10
	mov	r0, r3
	bl	strtol
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L94
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	skip_whitespace
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L94
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r0, r3
	bl	skip_whitespace
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, #4
	ldr	r1, .L101+4
	mov	r0, r3
	bl	strncasecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L94
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	mov	r0, r3
	bl	skip_whitespace
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L95
	ldr	r3, [fp, #-24]
	mov	r2, #664
	ldr	r1, .L101+8
	mov	r0, r3
	bl	x_strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-28]
	ldr	r4, [r3, #60]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #60]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	add	r3, r4, r3
	mov	r2, #0
	strb	r2, [r3]
.L95:
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #56]
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #44]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L96
.L94:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L97
	ldr	r0, .L101+12
	bl	puts
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #44]
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #48]
	mov	r3, #0
	b	.L96
.L97:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L98
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L98
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	invalid_test_number
	mov	r3, #0
	b	.L96
.L98:
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	resize_results
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L99
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #8]
	b	.L100
.L99:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L100
	ldr	r3, [fp, #-28]
	mov	r2, #3
	str	r2, [r3, #8]
.L100:
	mov	r3, #1
.L96:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L102:
	.align	2
.L101:
	.word	.LC21
	.word	.LC22
	.word	.LC13
	.word	.LC23
	.size	test_plan, .-test_plan
	.section	.rodata
	.align	2
.LC24:
	.ascii	"Bail out!\000"
	.align	2
.LC25:
	.ascii	"ABORTED (%.*s)\012\000"
	.align	2
.LC26:
	.ascii	"ABORTED (multiple plans)\000"
	.align	2
.LC27:
	.ascii	"not \000"
	.align	2
.LC28:
	.ascii	"ok\000"
	.align	2
.LC29:
	.ascii	"todo\000"
	.align	2
.LC30:
	.ascii	"ABORTED (duplicate test number %lu)\012\000"
	.align	2
.LC31:
	.ascii	"%lu/?\000"
	.align	2
.LC32:
	.ascii	"%lu/%lu\000"
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_checkline, %function
test_checkline:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L147
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r1, .L147+4
	ldr	r0, [fp, #-40]
	bl	strstr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L104
	ldr	r3, [fp, #-16]
	add	r3, r3, #9
	mov	r0, r3
	bl	skip_whitespace
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L105
	ldr	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L106
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L106:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L107
	ldr	r0, [fp, #-44]
	bl	test_backspace
.L107:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L147+8
	bl	printf
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #48]
.L105:
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #44]
	b	.L103
.L104:
	ldr	r0, [fp, #-40]
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L144
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L145
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L111
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L111
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	test_plan
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
	b	.L103
.L111:
	mov	r2, #3
	ldr	r1, .L147+12
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L114
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	test_plan
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
	b	.L103
.L114:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L115
	ldr	r0, [fp, #-44]
	bl	test_backspace
.L115:
	ldr	r0, .L147+16
	bl	puts
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #48]
	b	.L103
.L113:
	mov	r2, #4
	ldr	r1, .L147+20
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L116
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	str	r3, [fp, #-40]
.L116:
	mov	r2, #2
	ldr	r1, .L147+24
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L146
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	mov	r0, r3
	bl	skip_whitespace
	str	r0, [fp, #-40]
	bl	__errno_location
	mov	r3, r0
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #36
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	strtol
	str	r0, [fp, #-12]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L118
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L119
.L118:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L120
.L119:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L121
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-44]
	bl	invalid_test_number
	b	.L103
.L121:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
.L120:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L122
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L122
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	invalid_test_number
	b	.L103
.L122:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L123
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L125
.L123:
	ldr	r3, [fp, #-44]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-44]
	bl	resize_results
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L125
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	b	.L125
.L126:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L125:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L126
	ldr	r0, [fp, #-40]
	bl	skip_whitespace
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L127
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	mov	r0, r3
	bl	skip_whitespace
	str	r0, [fp, #-40]
	mov	r2, #4
	ldr	r1, .L147+28
	ldr	r0, [fp, #-40]
	bl	strncasecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L128
	mov	r3, #2
	str	r3, [fp, #-32]
.L128:
	mov	r2, #4
	ldr	r1, .L147+32
	ldr	r0, [fp, #-40]
	bl	strncasecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L127
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L129
	mov	r3, #2
	b	.L130
.L129:
	mov	r3, #0
.L130:
	str	r3, [fp, #-32]
.L127:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L131
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L132
	ldr	r0, [fp, #-44]
	bl	test_backspace
.L132:
	ldr	r1, [fp, #-28]
	ldr	r0, .L147+36
	bl	printf
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	mov	r2, #1
	str	r2, [r3, #48]
	b	.L103
.L131:
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L133
.L135:
	.word	.L138
	.word	.L137
	.word	.L136
	.word	.L133
.L137:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #24]
	b	.L133
.L138:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #28]
	b	.L133
.L136:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #32]
	nop
.L133:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L103
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L103
	ldr	r0, [fp, #-44]
	bl	test_backspace
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L140
	ldr	r1, [fp, #-28]
	ldr	r0, .L147+40
	bl	printf
	str	r0, [fp, #-24]
	b	.L141
.L140:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, .L147+44
	bl	printf
	str	r0, [fp, #-24]
.L141:
	ldr	r3, [fp, #-24]
	bic	r3, r3, r3, asr #31
	mov	r2, r3
	ldr	r3, [fp, #-44]
	str	r2, [r3, #20]
	ldr	r3, .L147+48
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	b	.L103
.L144:
	nop
	b	.L103
.L145:
	nop
	b	.L103
.L146:
	nop
.L103:
	ldr	r3, .L147
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L143
	bl	__stack_chk_fail
.L143:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L148:
	.align	2
.L147:
	.word	.LC33
	.word	.LC24
	.word	.LC25
	.word	.LC21
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC22
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	stdout
	.size	test_checkline, .-test_checkline
	.section	.rodata
	.align	2
.LC34:
	.ascii	", \000"
	.align	2
.LC35:
	.ascii	"...\000"
	.align	2
.LC36:
	.ascii	"%lu-\000"
	.align	2
.LC37:
	.ascii	"%lu\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_print_range, %function
test_print_range:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L150
.L151:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, .L163
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	str	r3, [fp, #-8]
.L150:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L151
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L152
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L153
.L154:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, .L163
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	str	r3, [fp, #-8]
.L153:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L154
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L152:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L155
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
.L155:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L156
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bcs	.L156
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bhi	.L159
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L158
	ldr	r0, .L163+4
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
.L158:
	ldr	r0, .L163+8
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #3
	str	r3, [fp, #-12]
	b	.L159
.L156:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L160
	ldr	r0, .L163+4
	bl	printf
.L160:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L161
	ldr	r1, [fp, #-16]
	ldr	r0, .L163+12
	bl	printf
.L161:
	ldr	r1, [fp, #-20]
	ldr	r0, .L163+16
	bl	printf
.L159:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L164:
	.align	2
.L163:
	.word	-858993459
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.size	test_print_range, .-test_print_range
	.section	.rodata
	.align	2
.LC38:
	.ascii	" (passed %lu/%lu)\000"
	.align	2
.LC39:
	.ascii	"MISSED \000"
	.align	2
.LC40:
	.ascii	"; \000"
	.align	2
.LC41:
	.ascii	"FAILED \000"
	.align	2
.LC42:
	.ascii	"dubious\000"
	.align	2
.LC43:
	.ascii	" (skipped %lu test)\000"
	.align	2
.LC44:
	.ascii	" (skipped %lu tests)\000"
	.align	2
.LC45:
	.ascii	" (exit status %d)\000"
	.align	2
.LC46:
	.ascii	", core dumped\000"
	.align	2
.LC47:
	.ascii	" (killed by signal %d%s)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_summarize, %function
test_summarize:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L166
	ldr	r3, .L190
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L190+4
	bl	fwrite
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L167
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #24]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r0, .L190+8
	bl	printf
	b	.L167
.L166:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L168
.L173:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L169
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L170
	ldr	r3, .L190
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L190+12
	bl	fwrite
.L170:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L171
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L171
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L169
.L171:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L172
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	mov	r3, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	test_print_range
.L172:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L169:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L168:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L173
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L174
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	mov	r3, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	test_print_range
.L174:
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L175
.L181:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L176
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L177
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L177
	ldr	r3, .L190
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L190+16
	bl	fwrite
.L177:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L178
	ldr	r3, .L190
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L190+20
	bl	fwrite
.L178:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L179
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L179
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L176
.L179:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L180
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	mov	r3, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	test_print_range
.L180:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L176:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L175:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L181
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L182
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	mov	r3, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	test_print_range
.L182:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L167
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L167
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L183
	ldr	r3, .L190+24
	b	.L184
.L183:
	ldr	r3, .L190+28
.L184:
	ldr	r2, .L190
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L167
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bne	.L185
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	mov	r1, r3
	ldr	r0, .L190+32
	bl	printf
	b	.L167
.L185:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	mov	r1, r3
	ldr	r0, .L190+36
	bl	printf
.L167:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	ble	.L186
	ldr	r1, [fp, #-36]
	ldr	r0, .L190+40
	bl	printf
	b	.L187
.L186:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bge	.L187
	ldr	r3, [fp, #-36]
	rsb	r1, r3, #0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L188
	ldr	r3, .L190+44
	b	.L189
.L188:
	ldr	r3, .L190+48
.L189:
	mov	r2, r3
	ldr	r0, .L190+52
	bl	printf
.L187:
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L191:
	.align	2
.L190:
	.word	stdout
	.word	.LC15
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC28
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC2
	.word	.LC47
	.size	test_summarize, .-test_summarize
	.section	.rodata
	.align	2
.LC48:
	.ascii	"skipped\000"
	.align	2
.LC49:
	.ascii	"skipped (%s)\012\000"
	.align	2
.LC50:
	.ascii	"ABORTED (can't dup file descriptors)\000"
	.align	2
.LC51:
	.ascii	"ABORTED (execution failed -- not found?)\000"
	.align	2
.LC52:
	.ascii	"ABORTED (can't open /dev/null)\000"
	.align	2
.LC53:
	.ascii	"ABORTED (no valid test plan)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_analyze, %function
test_analyze:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L193
	mov	r3, #0
	b	.L194
.L193:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L195
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	bne	.L196
	ldr	r0, .L212
	bl	puts
	b	.L197
.L196:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	mov	r1, r3
	ldr	r0, .L212+4
	bl	printf
.L197:
	mov	r3, #1
	b	.L194
.L195:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	and	r3, r3, #127
	cmp	r3, #0
	bne	.L198
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	asr	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L198
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	asr	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #103
	bgt	.L199
	cmp	r3, #102
	bge	.L200
	cmp	r3, #100
	beq	.L201
	cmp	r3, #101
	beq	.L202
	b	.L199
.L201:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L209
	ldr	r0, .L212+8
	bl	puts
	b	.L209
.L202:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L210
	ldr	r0, .L212+12
	bl	puts
	b	.L210
.L200:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L211
	ldr	r0, .L212+16
	bl	puts
	b	.L211
.L199:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	asr	r3, r3, #8
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	test_summarize
	b	.L204
.L209:
	nop
	b	.L204
.L210:
	nop
	b	.L204
.L211:
	nop
.L204:
	mov	r3, #0
	b	.L194
.L198:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	add	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	ble	.L207
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #52]
	and	r3, r3, #127
	rsb	r3, r3, #0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	test_summarize
	mov	r3, #0
	b	.L194
.L207:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	beq	.L208
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #3
	beq	.L208
	ldr	r0, .L212+20
	bl	puts
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #44]
	mov	r3, #0
	b	.L194
.L208:
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	test_summarize
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L194:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L213:
	.align	2
.L212:
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.size	test_analyze, .-test_analyze
	.section	.rodata
	.align	2
.LC54:
	.ascii	"r\000"
	.align	2
.LC55:
	.ascii	"fdopen failed\000"
	.align	2
.LC56:
	.ascii	"%s\000"
	.align	2
.LC57:
	.ascii	"waitpid for %u failed\000"
	.align	2
.LC58:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_run, %function
test_run:
	@ args = 0, pretend = 0, frame = 8232
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8192
	sub	sp, sp, #44
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r0, [r3, #-36]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r1, [r3, #-40]
	ldr	r3, .L233
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r2, [r3, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #28
	mov	r1, r3
	mov	r0, r2
	bl	test_start
	str	r0, [r4, #-16]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-28]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	ldr	r1, .L233+4
	mov	r0, r3
	bl	fdopen
	str	r0, [r4, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	cmp	r3, #0
	bne	.L216
	ldr	r0, .L233+8
	bl	puts
	ldr	r3, .L233+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r0, .L233+16
	bl	sysdie
.L219:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	beq	.L217
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L233+20
	bl	printf
.L217:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [r2, #-40]
	ldr	r1, [r1, #-36]
	mov	r0, r3
	bl	test_checkline
.L216:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L218
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [r2, #-12]
	mov	r1, #8192
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L219
.L218:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-12]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	bne	.L220
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L221
.L220:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	mov	r2, #1
	str	r2, [r3, #44]
.L221:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	bne	.L223
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-36]
	bl	test_backspace
	b	.L223
.L224:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-40]
	cmp	r3, #0
	beq	.L223
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L233+20
	bl	printf
.L223:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [r2, #-12]
	mov	r1, #8192
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L224
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-12]
	bl	fclose
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	add	r3, r3, #52
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r0, r2
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [r0, #-16]
	bl	waitpid
	str	r0, [r4, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmn	r3, #1
	bne	.L225
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L226
	ldr	r0, .L233+8
	bl	puts
	ldr	r3, .L233+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
.L226:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	mov	r1, r3
	ldr	r0, .L233+24
	bl	sysdie
.L225:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L227
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	mov	r2, #0
	str	r2, [r3, #44]
.L227:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-36]
	bl	test_analyze
	str	r0, [r4, #-24]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-20]
	b	.L228
.L230:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r2, [r3, #40]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L229
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	str	r2, [r3, #28]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r2, [r3, #40]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-24]
.L229:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	add	r3, r3, #1
	str	r3, [r2, #-20]
.L228:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #12]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-20]
	cmp	r2, r3
	bcc	.L230
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	ldr	r2, .L233
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L232
	bl	__stack_chk_fail
.L232:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L234:
	.align	2
.L233:
	.word	.LC58
	.word	.LC54
	.word	.LC15
	.word	stdout
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.size	test_run, .-test_run
	.global	__aeabi_ui2d
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC59:
	.ascii	"%-26.26s %4lu/%-4lu %3.0f%% %4lu \000"
	.align	2
.LC60:
	.ascii	"%4d  \000"
	.align	2
.LC61:
	.ascii	"  --  \000"
	.align	2
.LC62:
	.ascii	"aborted\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_fail_summary, %function
test_fail_summary:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r0, .L250
	bl	puts
	b	.L236
.L249:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #32]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r4, [r3]
	ldr	r3, [fp, #-28]
	ldr	r5, [r3, #28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L237
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #28]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, #0
	ldr	r3, .L250+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, [fp, #-24]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	b	.L238
.L237:
	mov	r2, #0
	mov	r3, #0
.L238:
	ldr	r1, [fp, #-28]
	ldr	r1, [r1, #32]
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-24]
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L250+8
	bl	printf
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #52]
	and	r3, r3, #127
	cmp	r3, #0
	bne	.L239
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #52]
	asr	r3, r3, #8
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, .L250+12
	bl	printf
	b	.L240
.L239:
	ldr	r0, .L250+16
	bl	printf
.L240:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L241
	ldr	r0, .L250+20
	bl	puts
	b	.L242
.L241:
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L243
.L247:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L244
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L245
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L245
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L244
.L245:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L246
	mov	r3, #19
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	test_print_range
	mov	r2, r0
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	str	r3, [fp, #-44]
.L246:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L244:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L243:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bcc	.L247
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L248
	mov	r3, #19
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	test_print_range
.L248:
	mov	r0, #10
	bl	putchar
.L242:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
.L236:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L249
	nop
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L251:
	.align	2
.L250:
	.word	header
	.word	1079574528
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.size	test_fail_summary, .-test_fail_summary
	.section	.rodata
	.align	2
.LC63:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_valid_test, %function
is_valid_test:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-104]
	ldr	r3, .L259
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r1, #1
	ldr	r0, [fp, #-104]
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bge	.L253
	mov	r3, #0
	b	.L257
.L253:
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bge	.L255
	mov	r3, #0
	b	.L257
.L255:
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	beq	.L256
	mov	r3, #0
	b	.L257
.L256:
	mov	r3, #1
.L257:
	ldr	r2, .L259
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L258
	bl	__stack_chk_fail
.L258:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L260:
	.align	2
.L259:
	.word	.LC63
	.size	is_valid_test, .-is_valid_test
	.section	.rodata
	.align	2
.LC65:
	.ascii	".\000"
	.align	2
.LC66:
	.ascii	"/\000"
	.align	2
.LC64:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.align	2
.LC67:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_test, %function
find_test:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L274
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r2, .L274+4
	sub	r3, fp, #20
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
	ldr	r3, .L274+8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L262
.L269:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-16]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L263
.L268:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-28]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L273
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-56]
	ldr	r1, .L274+12
	ldr	r0, [fp, #-36]
	bl	concat
	str	r0, [fp, #-52]
	ldr	r0, [fp, #-52]
	bl	is_valid_test
	mov	r3, r0
	cmp	r3, #0
	beq	.L266
	ldr	r3, [fp, #-52]
	b	.L271
.L266:
	ldr	r0, [fp, #-52]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L265
.L273:
	nop
.L265:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L263:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bls	.L268
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L262:
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bls	.L269
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L270
	mov	r2, #1200
	ldr	r1, .L274+16
	ldr	r0, [fp, #-56]
	bl	x_strdup
	mov	r3, r0
	str	r3, [fp, #-52]
.L270:
	ldr	r3, [fp, #-52]
.L271:
	ldr	r2, .L274
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L272
	bl	__stack_chk_fail
.L272:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L275:
	.align	2
.L274:
	.word	.LC67
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC13
	.size	find_test, .-find_test
	.section	.rodata
	.align	2
.LC68:
	.ascii	"can't open %s\000"
	.align	2
.LC69:
	.ascii	"%s:%u: line too long\012\000"
	.align	2
.LC70:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	read_test_list, %function
read_test_list:
	@ args = 0, pretend = 0, frame = 8232
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8192
	sub	sp, sp, #44
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r0, [r3, #-36]
	ldr	r3, .L289
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	ldr	r3, .L289+4
	ldr	r2, .L289+8
	mov	r1, #8
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	str	r3, [r4, #-20]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-24]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, .L289+12
	ldr	r0, [r3, #-36]
	bl	fopen
	str	r0, [r4, #-16]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-16]
	cmp	r3, #0
	bne	.L277
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-36]
	ldr	r0, .L289+16
	bl	sysdie
.L277:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-28]
	b	.L278
.L284:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-28]
	add	r3, r3, #1
	str	r3, [r2, #-28]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r2, fp, #8192
	sub	r2, r2, #12
	sub	r3, r3, #1
	str	r3, [r2, #-12]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	add	r3, r2, r3
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L279
	ldr	r3, .L289+20
	ldr	r0, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r3, [r3, #-28]
	ldr	r2, [r2, #-36]
	ldr	r1, .L289+24
	bl	fprintf
	mov	r0, #1
	bl	exit
.L279:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	add	r3, r2, r3
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	skip_whitespace
	str	r0, [r4, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L280
	b	.L278
.L280:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L281
	b	.L278
.L281:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	cmp	r3, #0
	bne	.L282
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	str	r3, [r2, #-24]
	b	.L283
.L282:
	ldr	r3, .L289+28
	ldr	r2, .L289+8
	mov	r1, #8
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	str	r2, [r3, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	ldr	r3, [r3, #4]
	str	r3, [r2, #-24]
.L283:
	ldr	r3, .L289+32
	ldr	r2, .L289+8
	mov	r1, #64
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	ldr	r4, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, .L289+36
	ldr	r1, .L289+8
	ldr	r0, [r3, #-8]
	bl	x_strdup
	mov	r3, r0
	str	r3, [r4]
.L278:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [r2, #-16]
	mov	r1, #8192
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L284
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-16]
	bl	fclose
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-24]
	cmp	r3, #0
	bne	.L285
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-20]
	bl	free
	mov	r3, #0
	b	.L287
.L285:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
.L287:
	ldr	r2, .L289
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L288
	bl	__stack_chk_fail
.L288:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L290:
	.align	2
.L289:
	.word	.LC70
	.word	1222
	.word	.LC13
	.word	.LC54
	.word	.LC68
	.word	stderr
	.word	.LC69
	.word	1253
	.word	1256
	.word	1258
	.size	read_test_list, .-read_test_list
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	build_test_list, %function
build_test_list:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L298
	ldr	r2, .L298+4
	mov	r1, #8
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L292
.L295:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L293
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
	b	.L294
.L293:
	ldr	r3, .L298+8
	ldr	r2, .L298+4
	mov	r1, #8
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
.L294:
	ldr	r3, .L298+12
	ldr	r2, .L298+4
	mov	r1, #64
	mov	r0, #1
	bl	x_calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	ldr	r4, [r3]
	ldr	r2, .L298+16
	ldr	r1, .L298+4
	bl	x_strdup
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L292:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L295
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L296
	ldr	r0, [fp, #-16]
	bl	free
	mov	r3, #0
	b	.L297
.L296:
	ldr	r3, [fp, #-16]
.L297:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L299:
	.align	2
.L298:
	.word	1286
	.word	.LC13
	.word	1294
	.word	1297
	.word	1299
	.size	build_test_list, .-build_test_list
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_testset, %function
free_testset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_testset, .-free_testset
	.section	.rodata
	.align	2
.LC71:
	.ascii	"\012\012\000"
	.align	2
.LC72:
	.ascii	"Aborted %lu test set\000"
	.align	2
.LC73:
	.ascii	"Aborted %lu test sets\000"
	.align	2
.LC74:
	.ascii	", passed %lu/%lu tests\000"
	.align	2
.LC75:
	.ascii	"All tests successful\000"
	.align	2
.LC76:
	.ascii	"Failed %lu/%lu tests, %.2f%% okay\000"
	.align	2
.LC77:
	.ascii	", %lu test skipped\000"
	.align	2
.LC78:
	.ascii	", %lu tests skipped\000"
	.align	2
.LC79:
	.ascii	"Files=%u,  Tests=%lu\000"
	.align	2
.LC80:
	.ascii	",  %.2f seconds\000"
	.align	2
.LC81:
	.ascii	" (%.2f usr + %.2f sys = %.2f CPU)\012\000"
	.align	2
.LC82:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_batch, %function
test_batch:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #184
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	str	r2, [fp, #-184]
	str	r3, [fp, #-188]
	ldr	r3, .L333
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-164]
	mov	r3, #0
	str	r3, [fp, #-160]
	mov	r3, #0
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-148]
	mov	r3, #0
	str	r3, [fp, #-144]
	mov	r3, #0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-136]
	mov	r3, #0
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-152]
	b	.L302
.L304:
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	str	r0, [fp, #-116]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	bls	.L303
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-168]
.L303:
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-152]
.L302:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L304
	ldr	r3, [fp, #-168]
	add	r3, r3, #2
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-168]
	and	r3, r3, #7
	cmp	r3, #0
	beq	.L305
	ldr	r3, [fp, #-168]
	bic	r3, r3, #7
	add	r3, r3, #8
	str	r3, [fp, #-168]
.L305:
	sub	r3, fp, #112
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-152]
	b	.L306
.L316:
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3]
	ldr	r2, .L333+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L307
	ldr	r3, .L333+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L333+8
	bl	fwrite
	b	.L308
.L307:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	str	r0, [fp, #-172]
	b	.L309
.L310:
	mov	r0, #46
	bl	putchar
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L309:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	bcc	.L310
.L308:
	mov	r0, #1
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	beq	.L311
	ldr	r3, .L333+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
.L311:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	ldr	r1, [fp, #-180]
	mov	r0, r3
	bl	find_test
	mov	r2, r0
	ldr	r3, [fp, #-124]
	str	r2, [r3, #4]
	ldr	r1, [fp, #-188]
	ldr	r0, [fp, #-124]
	bl	test_run
	str	r0, [fp, #-120]
	ldr	r3, .L333+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L312
	mov	r0, #10
	bl	putchar
.L312:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #44]
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-124]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #56]
	add	r3, r2, r3
	ldr	r2, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-124]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #56]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L313
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L314
	ldr	r2, .L333+12
	ldr	r1, .L333+16
	mov	r0, #64
	bl	x_malloc
	mov	r3, r0
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-156]
	b	.L315
.L314:
	ldr	r2, .L333+20
	ldr	r1, .L333+16
	mov	r0, #64
	bl	x_malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-156]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-156]
.L315:
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	ldr	r3, [fp, #-156]
	mov	r2, #0
	str	r2, [r3, #4]
.L313:
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-152]
.L306:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L316
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-140]
	sub	r3, r2, r3
	str	r3, [fp, #-148]
	sub	r3, fp, #104
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	sub	r3, fp, #96
	mov	r1, r3
	mvn	r0, #0
	bl	getrusage
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L320
	ldr	r0, [fp, #-160]
	bl	test_fail_summary
	b	.L318
.L319:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-128]
	ldr	r0, [fp, #-160]
	bl	free
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-160]
.L318:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L319
	b	.L320
.L321:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free_testset
	ldr	r0, [fp, #-176]
	bl	free
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-176]
.L320:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	bne	.L321
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L322
	ldr	r3, [fp, #-132]
	cmp	r3, #1
	bne	.L323
	ldr	r1, [fp, #-132]
	ldr	r0, .L333+24
	bl	printf
	b	.L324
.L323:
	ldr	r1, [fp, #-132]
	ldr	r0, .L333+28
	bl	printf
.L324:
	ldr	r2, [fp, #-148]
	ldr	r1, [fp, #-144]
	ldr	r0, .L333+32
	bl	printf
	b	.L325
.L322:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L326
	ldr	r3, .L333+4
	ldr	r3, [r3]
	mov	r2, #20
	mov	r1, #1
	ldr	r0, .L333+36
	bl	fwrite
	b	.L325
.L326:
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-136]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, #0
	ldr	r3, .L333+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-148]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-148]
	ldr	r1, [fp, #-136]
	ldr	r0, .L333+44
	bl	printf
.L325:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L327
	ldr	r3, [fp, #-140]
	cmp	r3, #1
	bne	.L328
	ldr	r1, [fp, #-140]
	ldr	r0, .L333+48
	bl	printf
	b	.L327
.L328:
	ldr	r1, [fp, #-140]
	ldr	r0, .L333+52
	bl	printf
.L327:
	ldr	r0, .L333+56
	bl	puts
	ldr	r2, [fp, #-148]
	ldr	r1, [fp, #-164]
	ldr	r0, .L333+60
	bl	printf
	sub	r2, fp, #112
	sub	r3, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	tv_diff
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L333+64
	bl	printf
	sub	r3, fp, #96
	mov	r0, r3
	bl	tv_seconds
	mov	r6, r0
	mov	r7, r1
	sub	r3, fp, #96
	add	r3, r3, #8
	mov	r0, r3
	bl	tv_seconds
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #96
	add	r2, r3, #8
	sub	r3, fp, #96
	mov	r1, r2
	mov	r0, r3
	bl	tv_sum
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	stm	sp, {r4-r5}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L333+68
	bl	printf
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L329
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bne	.L329
	mov	r3, #1
	b	.L331
.L329:
	mov	r3, #0
.L331:
	ldr	r2, .L333
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L332
	bl	__stack_chk_fail
.L332:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L334:
	.align	2
.L333:
	.word	.LC82
	.word	stdout
	.word	.LC71
	.word	1402
	.word	.LC13
	.word	1405
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	1079574528
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC65
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.size	test_batch, .-test_batch
	.section	.rodata
	.align	2
.LC83:
	.ascii	"cannot exec %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_single, %function
test_single:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	find_test
	str	r0, [fp, #-8]
	mov	r2, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	execl
	mov	r3, r0
	cmn	r3, #1
	bne	.L337
	ldr	r1, [fp, #-8]
	ldr	r0, .L338
	bl	sysdie
.L337:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L339:
	.align	2
.L338:
	.word	.LC83
	.size	test_single, .-test_single
	.section	.rodata
	.align	2
.LC84:
	.ascii	"b:hl:os:v\000"
	.align	2
.LC85:
	.ascii	"C_TAP_VERBOSE\000"
	.align	2
.LC86:
	.ascii	"SOURCE=\000"
	.align	2
.LC87:
	.ascii	"cannot set SOURCE in the environment\000"
	.align	2
.LC88:
	.ascii	"BUILD=\000"
	.align	2
.LC89:
	.ascii	"cannot set BUILD in the environment\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L341
.L350:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #98
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L342
.L344:
	.word	.L349
	.word	.L342
	.word	.L342
	.word	.L342
	.word	.L342
	.word	.L342
	.word	.L348
	.word	.L342
	.word	.L342
	.word	.L342
	.word	.L347
	.word	.L342
	.word	.L342
	.word	.L346
	.word	.L342
	.word	.L342
	.word	.L342
	.word	.L345
	.word	.L342
	.word	.L342
	.word	.L343
.L349:
	ldr	r3, .L364
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L341
.L348:
	ldr	r3, .L364+4
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, .L364+8
	bl	printf
	mov	r0, #0
	bl	exit
.L347:
	ldr	r3, .L364
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L341
.L346:
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L341
.L345:
	ldr	r3, .L364
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L341
.L343:
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L341
.L342:
	mov	r0, #1
	bl	exit
.L341:
	ldr	r2, .L364+12
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	getopt
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	bne	.L350
	ldr	r3, .L364+16
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, .L364+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	sub	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L351
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L352
.L351:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L353
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L353
.L352:
	ldr	r3, .L364+20
	ldr	r0, [r3]
	ldr	r3, .L364+4
	str	r3, [sp, #4]
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, .L364+8
	bl	fprintf
	mov	r0, #1
	bl	exit
.L353:
	ldr	r0, .L364+24
	bl	getenv
	mov	r3, r0
	cmp	r3, #0
	beq	.L354
	mov	r3, #1
	str	r3, [fp, #-44]
.L354:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L355
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, .L364+28
	bl	concat
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	putenv
	mov	r3, r0
	cmp	r3, #0
	beq	.L355
	ldr	r0, .L364+32
	bl	sysdie
.L355:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L356
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, .L364+36
	bl	concat
	str	r0, [fp, #-36]
	ldr	r0, [fp, #-36]
	bl	putenv
	mov	r3, r0
	cmp	r3, #0
	beq	.L356
	ldr	r0, .L364+40
	bl	sysdie
.L356:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L357
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	test_single
	b	.L358
.L357:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L359
	mov	r1, #47
	ldr	r0, [fp, #-28]
	bl	strrchr
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L360
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	b	.L361
.L360:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L361:
	ldr	r1, [fp, #-32]
	ldr	r0, .L364+44
	bl	printf
	ldr	r0, [fp, #-28]
	bl	read_test_list
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	test_batch
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-52]
	b	.L358
.L359:
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-60]
	bl	build_test_list
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	test_batch
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-52]
.L358:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L362
	ldr	r0, .L364+28
	bl	putenv
	ldr	r0, [fp, #-40]
	bl	free
.L362:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L363
	ldr	r0, .L364+36
	bl	putenv
	ldr	r0, [fp, #-36]
	bl	free
.L363:
	ldr	r0, [fp, #-52]
	bl	exit
.L365:
	.align	2
.L364:
	.word	optarg
	.word	usage_extra
	.word	usage_message
	.word	.LC84
	.word	optind
	.word	stderr
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	banner
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
