	.file	"90765699.c"
	.intel_syntax noprefix
	.text
	.globl	vars
	.bss
	.align 8
	.type	vars, @object
	.size	vars, 8
vars:
	.zero	8
	.globl	is_int
	.align 8
	.type	is_int, @object
	.size	is_int, 8
is_int:
	.zero	8
	.globl	str_types
	.align 8
	.type	str_types, @object
	.size	str_types, 8
str_types:
	.zero	8
	.globl	types
	.align 8
	.type	types, @object
	.size	types, 8
types:
	.zero	8
	.globl	storage
	.align 8
	.type	storage, @object
	.size	storage, 8
storage:
	.zero	8
	.globl	str_storage
	.align 8
	.type	str_storage, @object
	.size	str_storage, 8
str_storage:
	.zero	8
	.globl	str_values
	.align 8
	.type	str_values, @object
	.size	str_values, 8
str_values:
	.zero	8
	.globl	ld_values
	.align 8
	.type	ld_values, @object
	.size	ld_values, 8
ld_values:
	.zero	8
	.globl	asserts
	.align 8
	.type	asserts, @object
	.size	asserts, 8
asserts:
	.zero	8
	.text
	.globl	output_value
	.type	output_value, @function
output_value:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rdx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L2
	mov	rdx, QWORD PTR str_values[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	jmp	.L4
.L2:
	mov	rdx, QWORD PTR vars[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
.L4:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	output_value, .-output_value
	.section	.rodata
.LC0:
	.string	"int"
.LC1:
	.string	"i"
.LC2:
	.string	"1"
.LC4:
	.string	"float"
.LC5:
	.string	"f"
.LC6:
	.string	"2.1f"
.LC8:
	.string	"double"
.LC9:
	.string	"d"
.LC10:
	.string	"3.1"
.LC12:
	.string	"long double"
.LC13:
	.string	"ld"
.LC14:
	.string	"4.1l"
.LC16:
	.string	"gi"
.LC17:
	.string	"5"
.LC19:
	.string	"gf"
.LC20:
	.string	"6.1f"
.LC22:
	.string	"gd"
.LC23:
	.string	"7.1"
.LC25:
	.string	"gld"
.LC26:
	.string	"8.1l"
.LC28:
	.string	"9"
.LC30:
	.string	"10.1f"
.LC32:
	.string	"11.1"
.LC34:
	.string	"12.1l"
.LC36:
	.string	"assert_int"
.LC37:
	.string	"assert_float"
.LC38:
	.string	"assert_double"
.LC39:
	.string	"assert_long_double"
.LC40:
	.string	"constant"
.LC41:
	.string	"local"
.LC42:
	.string	"global"
.LC43:
	.string	"w"
.LC44:
	.string	"test-arithmetic-torture.c"
.LC45:
	.string	"#include <stdio.h>\n"
.LC46:
	.string	"#include <stdlib.h>\n"
.LC47:
	.string	"#include \"../test-lib.h\"\n"
.LC48:
	.string	"int failures;\n"
.LC49:
	.string	"int passes;\n"
.LC50:
	.string	"int verbose;\n"
.LC51:
	.string	"%s %s;\n"
.LC52:
	.string	"int main() {\n"
.LC53:
	.string	"    %s %s = %s;\n"
.LC54:
	.string	"    %s = %s;\n"
.LC55:
	.string	"    failures = 0;\n"
.LC56:
	.string	"    %s(%s + %s, "
.LC57:
	.string	" + "
.LC58:
	.string	", \"%s %s + %s %s\");\n"
.LC59:
	.string	"    if (failures) {\n"
	.align 8
.LC60:
	.string	"        printf(\"Failures: %%d\\n\", failures);\n"
.LC61:
	.string	"        exit(1);\n"
.LC62:
	.string	"    }\n"
.LC63:
	.string	"    else\n"
	.align 8
.LC64:
	.string	"        printf(\"Arithmetic torture tests passed\\n\");\n"
.LC65:
	.string	"}\n"
	.text
	.globl	main
	.type	main, @function
main:
.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	edi, 96
	call	malloc@PLT
	mov	QWORD PTR types[rip], rax
	mov	edi, 96
	call	malloc@PLT
	mov	QWORD PTR vars[rip], rax
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR is_int[rip], rax
	mov	edi, 96
	call	malloc@PLT
	mov	QWORD PTR str_types[rip], rax
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR storage[rip], rax
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR str_storage[rip], rax
	mov	edi, 96
	call	malloc@PLT
	mov	QWORD PTR str_values[rip], rax
	mov	edi, 192
	call	malloc@PLT
	mov	QWORD PTR ld_values[rip], rax
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR types[rip], rax
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR asserts[rip], rax
	mov	rax, QWORD PTR str_types[rip]
	lea	rdx, .LC0[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	lea	rdx, .LC1[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR storage[rip]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR str_values[rip]
	lea	rdx, .LC2[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	fld1
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 8
	lea	rdx, .LC4[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 8
	lea	rdx, .LC5[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 4
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR storage[rip]
	add	rax, 4
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 8
	lea	rdx, .LC6[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 16
	fld	TBYTE PTR .LC7[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 16
	lea	rdx, .LC8[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 16
	lea	rdx, .LC9[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 8
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR storage[rip]
	add	rax, 8
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 16
	lea	rdx, .LC10[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 32
	fld	TBYTE PTR .LC11[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 24
	lea	rdx, .LC12[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 24
	lea	rdx, .LC13[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 12
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR storage[rip]
	add	rax, 12
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 24
	lea	rdx, .LC14[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 48
	fld	TBYTE PTR .LC15[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 32
	lea	rdx, .LC0[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 32
	lea	rdx, .LC16[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 16
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR storage[rip]
	add	rax, 16
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 32
	lea	rdx, .LC17[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 64
	fld	TBYTE PTR .LC18[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 40
	lea	rdx, .LC4[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 40
	lea	rdx, .LC19[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 20
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR storage[rip]
	add	rax, 20
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 40
	lea	rdx, .LC20[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 80
	fld	TBYTE PTR .LC21[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 48
	lea	rdx, .LC8[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 48
	lea	rdx, .LC22[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 24
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR storage[rip]
	add	rax, 24
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 48
	lea	rdx, .LC23[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 96
	fld	TBYTE PTR .LC24[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 56
	lea	rdx, .LC12[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 56
	lea	rdx, .LC25[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR types[rip]
	add	rax, 28
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR storage[rip]
	add	rax, 28
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 56
	lea	rdx, .LC26[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 112
	fld	TBYTE PTR .LC27[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 64
	lea	rdx, .LC0[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 64
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR types[rip]
	add	rax, 32
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR storage[rip]
	add	rax, 32
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 64
	lea	rdx, .LC28[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	sub	rax, -128
	fld	TBYTE PTR .LC29[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 72
	lea	rdx, .LC4[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 72
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR types[rip]
	add	rax, 36
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR storage[rip]
	add	rax, 36
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 72
	lea	rdx, .LC30[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 144
	fld	TBYTE PTR .LC31[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 80
	lea	rdx, .LC8[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 80
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR types[rip]
	add	rax, 40
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR storage[rip]
	add	rax, 40
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 80
	lea	rdx, .LC32[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 160
	fld	TBYTE PTR .LC33[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR str_types[rip]
	add	rax, 88
	lea	rdx, .LC12[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR vars[rip]
	add	rax, 88
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR types[rip]
	add	rax, 44
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR storage[rip]
	add	rax, 44
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR str_values[rip]
	add	rax, 88
	lea	rdx, .LC34[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR ld_values[rip]
	add	rax, 176
	fld	TBYTE PTR .LC35[rip]
	fstp	TBYTE PTR [rax]
	mov	rax, QWORD PTR asserts[rip]
	lea	rdx, .LC36[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR asserts[rip]
	add	rax, 8
	lea	rdx, .LC37[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR asserts[rip]
	add	rax, 16
	lea	rdx, .LC38[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR asserts[rip]
	add	rax, 24
	lea	rdx, .LC39[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR str_storage[rip]
	add	rax, 8
	lea	rdx, .LC40[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR str_storage[rip]
	add	rax, 16
	lea	rdx, .LC41[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR str_storage[rip]
	add	rax, 24
	lea	rdx, .LC42[rip]
	mov	QWORD PTR [rax], rdx
	lea	rsi, .LC43[rip]
	lea	rdi, .LC44[rip]
	call	fopen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 19
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 20
	mov	esi, 1
	lea	rdi, .LC46[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC47[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC48[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 12
	mov	esi, 1
	lea	rdi, .LC49[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC50[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	DWORD PTR -40[rbp], 0
	jmp	.L6
.L8:
	mov	rdx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L7
	mov	rdx, QWORD PTR vars[rip]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_types[rip]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L7:
	add	DWORD PTR -40[rbp], 1
.L6:
	cmp	DWORD PTR -40[rbp], 11
	jle	.L8
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC52[rip]
	call	fwrite@PLT
	mov	DWORD PTR -36[rbp], 0
	jmp	.L9
.L11:
	mov	rdx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L10
	mov	rdx, QWORD PTR str_values[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR vars[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_types[rip]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8, rsi
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L10:
	add	DWORD PTR -36[rbp], 1
.L9:
	cmp	DWORD PTR -36[rbp], 11
	jle	.L11
	mov	DWORD PTR -32[rbp], 0
	jmp	.L12
.L14:
	mov	rdx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L13
	mov	rdx, QWORD PTR str_values[rip]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR vars[rip]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L13:
	add	DWORD PTR -32[rbp], 1
.L12:
	cmp	DWORD PTR -32[rbp], 11
	jle	.L14
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC55[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	DWORD PTR -28[rbp], 0
	jmp	.L15
.L20:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L16
.L19:
	mov	rdx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L22
	mov	rdx, QWORD PTR types[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rdx, QWORD PTR types[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	DWORD PTR -16[rbp], eax
	cmovge	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rdx, QWORD PTR str_values[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_values[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR asserts[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8, rsi
	lea	rsi, .LC56[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	output_value
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC57[rip]
	call	fwrite@PLT
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	output_value
	mov	rdx, QWORD PTR str_types[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdi, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_storage[rip]
	mov	rcx, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_types[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR str_storage[rip]
	mov	r8, QWORD PTR storage[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, r8
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9, rdi
	mov	r8, rsi
	lea	rsi, .LC58[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L18
.L22:
	nop
.L18:
	add	DWORD PTR -24[rbp], 1
.L16:
	cmp	DWORD PTR -24[rbp], 11
	jle	.L19
	add	DWORD PTR -28[rbp], 1
.L15:
	cmp	DWORD PTR -28[rbp], 11
	jle	.L20
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 20
	mov	esi, 1
	lea	rdi, .LC59[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 17
	mov	esi, 1
	lea	rdi, .LC61[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 6
	mov	esi, 1
	lea	rdi, .LC62[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC63[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC64[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC65[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	main, .-main
	.section	.rodata
	.align 16
.LC7:
	.long	1717987328
	.long	-2040109466
	.long	16384
	.long	0
	.align 16
.LC11:
	.long	1717987328
	.long	-966367642
	.long	16384
	.long	0
	.align 16
.LC15:
	.long	858992640
	.long	-2093796557
	.long	16385
	.long	0
	.align 16
.LC18:
	.long	0
	.long	-1610612736
	.long	16385
	.long	0
	.align 16
.LC21:
	.long	858992640
	.long	-1020054733
	.long	16385
	.long	0
	.align 16
.LC24:
	.long	858992640
	.long	-483183821
	.long	16385
	.long	0
	.align 16
.LC27:
	.long	-1717987328
	.long	-2120640103
	.long	16386
	.long	0
	.align 16
.LC29:
	.long	0
	.long	-1879048192
	.long	16386
	.long	0
	.align 16
.LC31:
	.long	-1717987328
	.long	-1583769191
	.long	16386
	.long	0
	.align 16
.LC33:
	.long	-1717987328
	.long	-1315333735
	.long	16386
	.long	0
	.align 16
.LC35:
	.long	-1717987328
	.long	-1046898279
	.long	16386
	.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	"90765699.c"
	.text
	.comm	vars,4,4
	.comm	is_int,4,4
	.comm	str_types,4,4
	.comm	types,4,4
	.comm	storage,4,4
	.comm	str_storage,4,4
	.comm	str_values,4,4
	.comm	ld_values,4,4
	.comm	asserts,4,4
	.align	2
	.global	output_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_value, %function
output_value:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, .L5
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L2
	ldr	r3, .L5+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	fputs
	b	.L4
.L2:
	ldr	r3, .L5+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	fputs
.L4:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	storage
	.word	str_values
	.word	vars
	.size	output_value, .-output_value
	.section	.rodata
	.align	2
.LC0:
	.ascii	"int\000"
	.align	2
.LC1:
	.ascii	"i\000"
	.align	2
.LC2:
	.ascii	"1\000"
	.align	2
.LC3:
	.ascii	"float\000"
	.align	2
.LC4:
	.ascii	"f\000"
	.align	2
.LC5:
	.ascii	"2.1f\000"
	.align	2
.LC6:
	.ascii	"double\000"
	.align	2
.LC7:
	.ascii	"d\000"
	.align	2
.LC8:
	.ascii	"3.1\000"
	.align	2
.LC9:
	.ascii	"long double\000"
	.align	2
.LC10:
	.ascii	"ld\000"
	.align	2
.LC11:
	.ascii	"4.1l\000"
	.align	2
.LC12:
	.ascii	"gi\000"
	.align	2
.LC13:
	.ascii	"5\000"
	.align	2
.LC14:
	.ascii	"gf\000"
	.align	2
.LC15:
	.ascii	"6.1f\000"
	.align	2
.LC16:
	.ascii	"gd\000"
	.align	2
.LC17:
	.ascii	"7.1\000"
	.align	2
.LC18:
	.ascii	"gld\000"
	.align	2
.LC19:
	.ascii	"8.1l\000"
	.align	2
.LC20:
	.ascii	"9\000"
	.align	2
.LC21:
	.ascii	"10.1f\000"
	.align	2
.LC22:
	.ascii	"11.1\000"
	.align	2
.LC23:
	.ascii	"12.1l\000"
	.align	2
.LC24:
	.ascii	"assert_int\000"
	.align	2
.LC25:
	.ascii	"assert_float\000"
	.align	2
.LC26:
	.ascii	"assert_double\000"
	.align	2
.LC27:
	.ascii	"assert_long_double\000"
	.align	2
.LC28:
	.ascii	"constant\000"
	.align	2
.LC29:
	.ascii	"local\000"
	.align	2
.LC30:
	.ascii	"global\000"
	.align	2
.LC31:
	.ascii	"w\000"
	.align	2
.LC32:
	.ascii	"test-arithmetic-torture.c\000"
	.align	2
.LC33:
	.ascii	"#include <stdio.h>\012\000"
	.align	2
.LC34:
	.ascii	"#include <stdlib.h>\012\000"
	.align	2
.LC35:
	.ascii	"#include \"../test-lib.h\"\012\000"
	.align	2
.LC36:
	.ascii	"int failures;\012\000"
	.align	2
.LC37:
	.ascii	"int passes;\012\000"
	.align	2
.LC38:
	.ascii	"int verbose;\012\000"
	.align	2
.LC39:
	.ascii	"%s %s;\012\000"
	.align	2
.LC40:
	.ascii	"int main() {\012\000"
	.align	2
.LC41:
	.ascii	"    %s %s = %s;\012\000"
	.align	2
.LC42:
	.ascii	"    %s = %s;\012\000"
	.align	2
.LC43:
	.ascii	"    failures = 0;\012\000"
	.align	2
.LC44:
	.ascii	"    %s(%s + %s, \000"
	.align	2
.LC45:
	.ascii	" + \000"
	.align	2
.LC46:
	.ascii	", \"%s %s + %s %s\");\012\000"
	.align	2
.LC47:
	.ascii	"    if (failures) {\012\000"
	.align	2
.LC48:
	.ascii	"        printf(\"Failures: %%d\\n\", failures);\012"
	.ascii	"\000"
	.align	2
.LC49:
	.ascii	"        exit(1);\012\000"
	.align	2
.LC50:
	.ascii	"    }\012\000"
	.align	2
.LC51:
	.ascii	"    else\012\000"
	.align	2
.LC52:
	.ascii	"        printf(\"Arithmetic torture tests passed\\n"
	.ascii	"\");\012\000"
	.align	2
.LC53:
	.ascii	"}\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+4
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+8
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+12
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+16
	str	r2, [r3]
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+20
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+24
	str	r2, [r3]
	mov	r0, #96
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+28
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25
	str	r2, [r3]
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L25+32
	str	r2, [r3]
	ldr	r3, .L25+12
	ldr	r3, [r3]
	ldr	r2, .L25+36
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	ldr	r2, .L25+40
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	ldr	r2, .L25+44
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r1, [r3]
	mov	r2, #0
	ldr	r3, .L25+48
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L25+52
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L25+56
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L25+60
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #8
	ldr	r2, .L25+64
	ldr	r3, .L25+68
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L25+72
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L25+76
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #8
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #8
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L25+80
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #16
	ldr	r2, .L25+64
	ldr	r3, .L25+84
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r2, .L25+88
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r2, .L25+92
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #12
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #12
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r2, .L25+96
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #24
	ldr	r2, .L25+100
	ldr	r3, .L25+104
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r2, .L25+36
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r2, .L25+108
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r2, .L25+112
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #32
	mov	r2, #0
	ldr	r3, .L25+116
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #20
	ldr	r2, .L25+52
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #20
	ldr	r2, .L25+120
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #20
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #20
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #20
	ldr	r2, .L25+124
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #40
	ldr	r2, .L25+100
	ldr	r3, .L25+128
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r2, .L25+72
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r2, .L25+132
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #24
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #24
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #24
	ldr	r2, .L25+136
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #48
	ldr	r2, .L25+100
	ldr	r3, .L25+140
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, .L25+88
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, .L25+144
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #28
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #28
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, .L25+148
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #56
	ldr	r2, .L25+152
	ldr	r3, .L25+156
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, .L25+36
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #32
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, .L25+160
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #64
	mov	r2, #0
	ldr	r3, .L25+164
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #36
	ldr	r2, .L25+52
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #36
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #36
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #36
	ldr	r2, .L25+168
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #72
	ldr	r2, .L25+152
	ldr	r3, .L25+172
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #40
	ldr	r2, .L25+72
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #40
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #40
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #40
	ldr	r2, .L25+176
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #80
	ldr	r2, .L25+152
	ldr	r3, .L25+180
	stm	r1, {r2-r3}
	ldr	r3, .L25+12
	ldr	r3, [r3]
	add	r3, r3, #44
	ldr	r2, .L25+88
	str	r2, [r3]
	ldr	r3, .L25+4
	ldr	r3, [r3]
	add	r3, r3, #44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L25
	ldr	r3, [r3]
	add	r3, r3, #44
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L25+16
	ldr	r3, [r3]
	add	r3, r3, #44
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L25+24
	ldr	r3, [r3]
	add	r3, r3, #44
	ldr	r2, .L25+184
	str	r2, [r3]
	ldr	r3, .L25+28
	ldr	r3, [r3]
	add	r1, r3, #88
	ldr	r2, .L25+152
	ldr	r3, .L25+188
	stm	r1, {r2-r3}
	ldr	r3, .L25+32
	ldr	r3, [r3]
	ldr	r2, .L25+192
	str	r2, [r3]
	ldr	r3, .L25+32
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L25+196
	str	r2, [r3]
	ldr	r3, .L25+32
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L25+200
	str	r2, [r3]
	ldr	r3, .L25+32
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r2, .L25+204
	str	r2, [r3]
	ldr	r3, .L25+20
	ldr	r3, [r3]
	add	r3, r3, #4
	ldr	r2, .L25+208
	str	r2, [r3]
	ldr	r3, .L25+20
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r2, .L25+212
	str	r2, [r3]
	ldr	r3, .L25+20
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r2, .L25+216
	str	r2, [r3]
	ldr	r1, .L25+220
	ldr	r0, .L25+224
	bl	fopen
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #19
	mov	r1, #1
	ldr	r0, .L25+228
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #20
	mov	r1, #1
	ldr	r0, .L25+232
	bl	fwrite
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L25+236
	bl	fwrite
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L25+240
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #12
	mov	r1, #1
	ldr	r0, .L25+244
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L25+248
	bl	fwrite
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L8
.L10:
	ldr	r3, .L25+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L9
	ldr	r3, .L25+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L25+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r1
	ldr	r1, .L25+252
	ldr	r0, [fp, #-20]
	bl	fprintf
.L9:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L8:
	ldr	r3, [fp, #-40]
	cmp	r3, #11
	ble	.L10
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L25+256
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L11
.L13:
	ldr	r3, .L25+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L12
	ldr	r3, .L25+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L25+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L25+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r1
	ldr	r1, .L25+260
	ldr	r0, [fp, #-20]
	bl	fprintf
.L12:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L11:
	ldr	r3, [fp, #-36]
	cmp	r3, #11
	ble	.L13
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L14
.L16:
	ldr	r3, .L25+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L15
	ldr	r3, .L25+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L25+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r1
	ldr	r1, .L25+264
	ldr	r0, [fp, #-20]
	bl	fprintf
.L15:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L14:
	ldr	r3, [fp, #-32]
	cmp	r3, #11
	ble	.L16
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L25+268
	bl	fwrite
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L17
.L22:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L18
.L21:
	ldr	r3, .L25+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L24
	ldr	r3, .L25
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L25
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	movge	r3, r2
	movlt	r3, r3
	str	r3, [fp, #-8]
	ldr	r3, .L25+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L25+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L25+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r0
	mov	r2, r1
	ldr	r1, .L25+272
	ldr	r0, [fp, #-20]
	bl	fprintf
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	output_value
	ldr	r3, [fp, #-20]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L25+276
	bl	fwrite
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	output_value
	ldr	r3, .L25+20
	ldr	r2, [r3]
	ldr	r3, .L25+16
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L25+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	ip, [r3]
	ldr	r3, .L25+20
	ldr	r2, [r3]
	ldr	r3, .L25+16
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L25+12
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r1, .L25+280
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L20
.L24:
	nop
.L20:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L18:
	ldr	r3, [fp, #-24]
	cmp	r3, #11
	ble	.L21
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L17:
	ldr	r3, [fp, #-28]
	cmp	r3, #11
	ble	.L22
	ldr	r1, [fp, #-20]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-20]
	mov	r2, #20
	mov	r1, #1
	ldr	r0, .L25+284
	bl	fwrite
	ldr	r1, .L25+288
	ldr	r0, [fp, #-20]
	bl	fprintf
	ldr	r3, [fp, #-20]
	mov	r2, #17
	mov	r1, #1
	ldr	r0, .L25+292
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #6
	mov	r1, #1
	ldr	r0, .L25+296
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L25+300
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L25+304
	bl	fwrite
	ldr	r3, [fp, #-20]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L25+308
	bl	fwrite
	ldr	r0, [fp, #-20]
	bl	fclose
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	types
	.word	vars
	.word	is_int
	.word	str_types
	.word	storage
	.word	str_storage
	.word	str_values
	.word	ld_values
	.word	asserts
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	1072693248
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	-858993459
	.word	1073794252
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	1074318540
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	1717986918
	.word	1074816614
	.word	.LC12
	.word	.LC13
	.word	1075052544
	.word	.LC14
	.word	.LC15
	.word	1075340902
	.word	.LC16
	.word	.LC17
	.word	1075603046
	.word	.LC18
	.word	.LC19
	.word	858993459
	.word	1075852083
	.word	.LC20
	.word	1075970048
	.word	.LC21
	.word	1076114227
	.word	.LC22
	.word	1076245299
	.word	.LC23
	.word	1076376371
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
