	.file	"384747.c"
	.intel_syntax noprefix
	.text
	.globl	Ptr_Glob
	.bss
	.align 8
	.type	Ptr_Glob, @object
	.size	Ptr_Glob, 8
Ptr_Glob:
	.zero	8
	.globl	Next_Ptr_Glob
	.align 8
	.type	Next_Ptr_Glob, @object
	.size	Next_Ptr_Glob, 8
Next_Ptr_Glob:
	.zero	8
	.globl	Int_Glob
	.align 4
	.type	Int_Glob, @object
	.size	Int_Glob, 4
Int_Glob:
	.zero	4
	.globl	Bool_Glob
	.align 4
	.type	Bool_Glob, @object
	.size	Bool_Glob, 4
Bool_Glob:
	.zero	4
	.globl	Ch_1_Glob
	.type	Ch_1_Glob, @object
	.size	Ch_1_Glob, 1
Ch_1_Glob:
	.zero	1
	.globl	Ch_2_Glob
	.type	Ch_2_Glob, @object
	.size	Ch_2_Glob, 1
Ch_2_Glob:
	.zero	1
	.globl	Arr_1_Glob
	.align 32
	.type	Arr_1_Glob, @object
	.size	Arr_1_Glob, 200
Arr_1_Glob:
	.zero	200
	.globl	Arr_2_Glob
	.align 32
	.type	Arr_2_Glob, @object
	.size	Arr_2_Glob, 10000
Arr_2_Glob:
	.zero	10000
	.globl	Reg_Define
	.data
	.align 16
	.type	Reg_Define, @object
	.size	Reg_Define, 26
Reg_Define:
	.string	"Register option selected."
	.globl	Begin_Time
	.bss
	.align 8
	.type	Begin_Time, @object
	.size	Begin_Time, 8
Begin_Time:
	.zero	8
	.globl	End_Time
	.align 8
	.type	End_Time, @object
	.size	End_Time, 8
End_Time:
	.zero	8
	.globl	User_Time
	.align 8
	.type	User_Time, @object
	.size	User_Time, 8
User_Time:
	.zero	8
	.globl	Microseconds
	.align 8
	.type	Microseconds, @object
	.size	Microseconds, 8
Microseconds:
	.zero	8
	.globl	Dhrystones_Per_Second
	.align 8
	.type	Dhrystones_Per_Second, @object
	.size	Dhrystones_Per_Second, 8
Dhrystones_Per_Second:
	.zero	8
	.globl	Vax_Mips
	.align 8
	.type	Vax_Mips, @object
	.size	Vax_Mips, 8
Vax_Mips:
	.zero	8
	.section	.rodata
.LC0:
	.string	"a+"
.LC1:
	.string	"dhry.res"
.LC2:
	.string	"Can not open dhry.res\n"
	.align 8
.LC3:
	.string	"Dhrystone Benchmark, Version 2.1 (Language: C)"
	.align 8
.LC4:
	.string	"Please give the number of runs through the benchmark: "
.LC5:
	.string	"%d"
	.align 8
.LC6:
	.string	"Execution starts, %d runs through Dhrystone\n"
.LC7:
	.string	"Execution ends"
	.align 8
.LC8:
	.string	"Final values of the variables used in the benchmark:"
.LC9:
	.string	"Int_Glob:            %d\n"
.LC10:
	.string	"        should be:   %d\n"
.LC11:
	.string	"Bool_Glob:           %d\n"
.LC12:
	.string	"Ch_1_Glob:           %c\n"
.LC13:
	.string	"        should be:   %c\n"
.LC14:
	.string	"Ch_2_Glob:           %c\n"
.LC15:
	.string	"Arr_1_Glob[8]:       %d\n"
.LC16:
	.string	"Arr_2_Glob[8][7]:    %d\n"
	.align 8
.LC17:
	.string	"        should be:   Number_Of_Runs + 10"
.LC18:
	.string	"Ptr_Glob->"
.LC19:
	.string	"  Ptr_Comp:          %d\n"
	.align 8
.LC20:
	.string	"        should be:   (implementation-dependent)"
.LC21:
	.string	"  Discr:             %d\n"
.LC22:
	.string	"  Enum_Comp:         %d\n"
.LC23:
	.string	"  Int_Comp:          %d\n"
.LC24:
	.string	"  Str_Comp:          %s\n"
	.align 8
.LC25:
	.string	"        should be:   DHRYSTONE PROGRAM, SOME STRING"
.LC26:
	.string	"Next_Ptr_Glob->"
	.align 8
.LC27:
	.string	"        should be:   (implementation-dependent), same as above"
.LC28:
	.string	"Int_1_Loc:           %d\n"
.LC29:
	.string	"Int_2_Loc:           %d\n"
.LC30:
	.string	"Int_3_Loc:           %d\n"
.LC31:
	.string	"Enum_Loc:            %d\n"
.LC32:
	.string	"Str_1_Loc:           %s\n"
	.align 8
.LC33:
	.string	"        should be:   DHRYSTONE PROGRAM, 1'ST STRING"
.LC34:
	.string	"Str_2_Loc:           %s\n"
	.align 8
.LC35:
	.string	"        should be:   DHRYSTONE PROGRAM, 2'ND STRING"
	.align 8
.LC37:
	.string	"Measured time too small to obtain meaningful results"
	.align 8
.LC38:
	.string	"Please increase number of runs"
.LC41:
	.string	"Register option selected?  NO"
	.align 8
.LC42:
	.string	"Microseconds for one run through Dhrystone: "
.LC43:
	.string	"%7.1lf \n"
	.align 8
.LC44:
	.string	"Dhrystones per Second:                      "
.LC45:
	.string	"%10.1lf \n"
.LC46:
	.string	"VAX MIPS rating = %10.3lf \n"
	.align 8
.LC47:
	.string	"Dhrystone Benchmark, Version 2.1 (Language: C)\n"
.LC48:
	.string	"%s\n"
	.align 8
.LC49:
	.string	"Microseconds for one loop: %7.1lf\n"
	.align 8
.LC50:
	.string	"Dhrystones per second: %10.1lf\n"
.LC51:
	.string	"VAX MIPS rating: %10.3lf\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	fopen@PLT
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L2
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L2:
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR Next_Ptr_Glob[rip], rax
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR Ptr_Glob[rip], rax
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	rdx, QWORD PTR Next_Ptr_Glob[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	DWORD PTR 12[rax], 2
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	DWORD PTR 16[rax], 40
	mov	rax, QWORD PTR Ptr_Glob[rip]
	add	rax, 20
	movabs	rdx, 5642821575076104260
	movabs	rcx, 4706902966564560965
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR 8[rax], rcx
	movabs	rsi, 2325349785699101773
	mov	QWORD PTR 16[rax], rsi
	mov	DWORD PTR 24[rax], 1230132307
	mov	WORD PTR 28[rax], 18254
	mov	BYTE PTR 30[rax], 0
	mov	QWORD PTR -80[rbp], rdx
	mov	QWORD PTR -72[rbp], rcx
	movabs	rax, 2329578335050411085
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -56[rbp], 1230132307
	mov	WORD PTR -52[rbp], 18254
	mov	BYTE PTR -50[rbp], 0
	mov	DWORD PTR Arr_2_Glob[rip+1628], 10
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -104[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -104[rbp]
	mov	DWORD PTR -92[rbp], eax
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR -92[rbp]
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	dtime@PLT
	movq	rax, xmm0
	mov	QWORD PTR Begin_Time[rip], rax
	mov	DWORD PTR -96[rbp], 1
	jmp	.L3
.L9:
	mov	eax, 0
	call	Proc_5
	mov	eax, 0
	call	Proc_4
	mov	DWORD PTR -112[rbp], 2
	mov	DWORD PTR -100[rbp], 3
	movabs	rax, 5642821575076104260
	movabs	rdx, 4706902966564560965
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movabs	rax, 2325069237881678925
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -24[rbp], 1230132307
	mov	WORD PTR -20[rbp], 18254
	mov	BYTE PTR -18[rbp], 0
	mov	DWORD PTR -104[rbp], 1
	lea	rdx, -48[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	Func_2@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR Bool_Glob[rip], eax
	jmp	.L4
.L5:
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	lea	rdx, -108[rbp]
	mov	ecx, DWORD PTR -100[rbp]
	mov	esi, ecx
	mov	edi, eax
	mov	eax, 0
	call	Proc_7@PLT
	mov	eax, DWORD PTR -112[rbp]
	add	eax, 1
	mov	DWORD PTR -112[rbp], eax
.L4:
	mov	eax, DWORD PTR -112[rbp]
	cmp	DWORD PTR -100[rbp], eax
	jg	.L5
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -112[rbp]
	mov	ecx, edx
	mov	edx, eax
	lea	rsi, Arr_2_Glob[rip]
	lea	rdi, Arr_1_Glob[rip]
	mov	eax, 0
	call	Proc_8@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Proc_1
	mov	BYTE PTR -113[rbp], 65
	jmp	.L6
.L8:
	movsx	eax, BYTE PTR -113[rbp]
	mov	esi, 67
	mov	edi, eax
	mov	eax, 0
	call	Func_1@PLT
	mov	edx, DWORD PTR -104[rbp]
	cmp	eax, edx
	jne	.L7
	lea	rax, -104[rbp]
	mov	rsi, rax
	mov	edi, 0
	mov	eax, 0
	call	Proc_6@PLT
	movabs	rax, 5642821575076104260
	movabs	rdx, 4706902966564560965
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movabs	rax, 2325073635944967245
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -24[rbp], 1230132307
	mov	WORD PTR -20[rbp], 18254
	mov	BYTE PTR -18[rbp], 0
	mov	eax, DWORD PTR -96[rbp]
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	mov	DWORD PTR Int_Glob[rip], eax
.L7:
	movzx	eax, BYTE PTR -113[rbp]
	add	eax, 1
	mov	BYTE PTR -113[rbp], al
.L6:
	movzx	eax, BYTE PTR Ch_2_Glob[rip]
	cmp	BYTE PTR -113[rbp], al
	jle	.L8
	mov	eax, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -100[rbp]
	imul	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	ecx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -100[rbp]
	cdq
	idiv	ecx
	mov	DWORD PTR -112[rbp], eax
	mov	ecx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	mov	edx, DWORD PTR -112[rbp]
	sub	eax, edx
	mov	DWORD PTR -100[rbp], eax
	lea	rax, -112[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Proc_2
	add	DWORD PTR -96[rbp], 1
.L3:
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jle	.L9
	mov	eax, 0
	call	dtime@PLT
	movq	rax, xmm0
	mov	QWORD PTR End_Time[rip], rax
	lea	rdi, .LC7[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR Int_Glob[rip]
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 5
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR Bool_Glob[rip]
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 1
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, BYTE PTR Ch_1_Glob[rip]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 65
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, BYTE PTR Ch_2_Glob[rip]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 66
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR Arr_1_Glob[rip+32]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 7
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR Arr_2_Glob[rip+1628]
	mov	esi, eax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC17[rip]
	call	puts@PLT
	lea	rdi, .LC18[rip]
	call	puts@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	eax, DWORD PTR 12[rax]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 2
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 17
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	add	rax, 20
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	lea	rdi, .LC26[rip]
	call	puts@PLT
	mov	rax, QWORD PTR Next_Ptr_Glob[rip]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	rax, QWORD PTR Next_Ptr_Glob[rip]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Next_Ptr_Glob[rip]
	mov	eax, DWORD PTR 12[rax]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 1
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Next_Ptr_Glob[rip]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 18
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Next_Ptr_Glob[rip]
	add	rax, 20
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, eax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 5
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 13
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -108[rbp]
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 7
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -104[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 1
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC33[rip]
	call	puts@PLT
	lea	rax, -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	movsd	xmm0, QWORD PTR End_Time[rip]
	movsd	xmm1, QWORD PTR Begin_Time[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR User_Time[rip], xmm0
	movsd	xmm1, QWORD PTR User_Time[rip]
	movsd	xmm0, QWORD PTR .LC36[rip]
	comisd	xmm0, xmm1
	jbe	.L15
	lea	rdi, .LC37[rip]
	call	puts@PLT
	lea	rdi, .LC38[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	jmp	.L16
.L15:
	movsd	xmm1, QWORD PTR User_Time[rip]
	movsd	xmm0, QWORD PTR .LC39[rip]
	mulsd	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -92[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR Microseconds[rip], xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -92[rbp]
	movsd	xmm1, QWORD PTR User_Time[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR Dhrystones_Per_Second[rip], xmm0
	movsd	xmm0, QWORD PTR Dhrystones_Per_Second[rip]
	movsd	xmm1, QWORD PTR .LC40[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR Vax_Mips[rip], xmm0
	lea	rdi, .LC41[rip]
	call	puts@PLT
	movabs	rax, 8243122732010005842
	movabs	rdx, 2336927755367640864
	mov	QWORD PTR Reg_Define[rip], rax
	mov	QWORD PTR Reg_Define[rip+8], rdx
	movabs	rax, 7308327840455618414
	mov	QWORD PTR Reg_Define[rip+16], rax
	mov	DWORD PTR Reg_Define[rip+24], 1684370531
	mov	WORD PTR Reg_Define[rip+28], 46
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Microseconds[rip]
	movq	xmm0, rax
	lea	rdi, .LC43[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR Dhrystones_Per_Second[rip]
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 1
	call	printf@PLT
	mov	rax, QWORD PTR Vax_Mips[rip]
	movq	xmm0, rax
	lea	rdi, .LC46[rip]
	mov	eax, 1
	call	printf@PLT
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC47[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, Reg_Define[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR Microseconds[rip]
	mov	rax, QWORD PTR -88[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rdx, QWORD PTR Dhrystones_Per_Second[rip]
	mov	rax, QWORD PTR -88[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC50[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rdx, QWORD PTR Vax_Mips[rip]
	mov	rax, QWORD PTR -88[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L16:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L13
	call	__stack_chk_fail@PLT
.L13:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.globl	Proc_1
	.type	Proc_1, @function
Proc_1:
.LFB1:
	.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, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR Ptr_Glob[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rdx]
	mov	rbx, QWORD PTR 8[rdx]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR 16[rdx]
	mov	rbx, QWORD PTR 24[rdx]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR 32[rdx]
	mov	rbx, QWORD PTR 40[rdx]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rdx, QWORD PTR 48[rdx]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 5
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Proc_3
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L18
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 6
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 12[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	rsi, rdx
	mov	edi, eax
	mov	eax, 0
	call	Proc_6@PLT
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	esi, 10
	mov	edi, eax
	mov	eax, 0
	call	Proc_7@PLT
	jmp	.L19
.L18:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rdx]
	mov	rbx, QWORD PTR 8[rdx]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR 16[rdx]
	mov	rbx, QWORD PTR 24[rdx]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR 32[rdx]
	mov	rbx, QWORD PTR 40[rdx]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rdx, QWORD PTR 48[rdx]
	mov	QWORD PTR 48[rax], rdx
.L19:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	Proc_1, .-Proc_1
	.globl	Proc_2
	.type	Proc_2, @function
Proc_2:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 10
	mov	DWORD PTR -8[rbp], eax
.L22:
	movzx	eax, BYTE PTR Ch_1_Glob[rip]
	cmp	al, 65
	jne	.L21
	sub	DWORD PTR -8[rbp], 1
	mov	ecx, DWORD PTR Int_Glob[rip]
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -4[rbp], 0
.L21:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L22
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	Proc_2, .-Proc_2
	.globl	Proc_3
	.type	Proc_3, @function
Proc_3:
.LFB3:
	.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 Ptr_Glob[rip]
	test	rax, rax
	je	.L24
	mov	rax, QWORD PTR Ptr_Glob[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L24:
	mov	rax, QWORD PTR Ptr_Glob[rip]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR Int_Glob[rip]
	mov	esi, eax
	mov	edi, 10
	mov	eax, 0
	call	Proc_7@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Proc_3, .-Proc_3
	.globl	Proc_4
	.type	Proc_4, @function
Proc_4:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR Ch_1_Glob[rip]
	cmp	al, 65
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR Bool_Glob[rip]
	or	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR Bool_Glob[rip], eax
	mov	BYTE PTR Ch_2_Glob[rip], 66
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	Proc_4, .-Proc_4
	.globl	Proc_5
	.type	Proc_5, @function
Proc_5:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	BYTE PTR Ch_1_Glob[rip], 65
	mov	DWORD PTR Bool_Glob[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	Proc_5, .-Proc_5
	.section	.rodata
	.align 8
.LC36:
	.long	0
	.long	1073741824
	.align 8
.LC39:
	.long	0
	.long	1093567616
	.align 8
.LC40:
	.long	0
	.long	1083929600
	.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	"384747.c"
	.text
	.comm	Ptr_Glob,4,4
	.comm	Next_Ptr_Glob,4,4
	.comm	Int_Glob,4,4
	.comm	Bool_Glob,4,4
	.comm	Ch_1_Glob,1,1
	.comm	Ch_2_Glob,1,1
	.comm	Arr_1_Glob,200,4
	.comm	Arr_2_Glob,10000,4
	.global	Reg_Define
	.data
	.align	2
	.type	Reg_Define, %object
	.size	Reg_Define, 26
Reg_Define:
	.ascii	"Register option selected.\000"
	.comm	Begin_Time,8,8
	.comm	End_Time,8,8
	.comm	User_Time,8,8
	.comm	Microseconds,8,8
	.comm	Dhrystones_Per_Second,8,8
	.comm	Vax_Mips,8,8
	.section	.rodata
	.align	2
.LC0:
	.ascii	"a+\000"
	.align	2
.LC1:
	.ascii	"dhry.res\000"
	.align	2
.LC2:
	.ascii	"Can not open dhry.res\012\000"
	.align	2
.LC3:
	.ascii	"DHRYSTONE PROGRAM, SOME STRING\000"
	.align	2
.LC4:
	.ascii	"DHRYSTONE PROGRAM, 1'ST STRING\000"
	.align	2
.LC5:
	.ascii	"Dhrystone Benchmark, Version 2.1 (Language: C)\000"
	.align	2
.LC6:
	.ascii	"Please give the number of runs through the benchmar"
	.ascii	"k: \000"
	.align	2
.LC7:
	.ascii	"%d\000"
	.align	2
.LC8:
	.ascii	"Execution starts, %d runs through Dhrystone\012\000"
	.align	2
.LC9:
	.ascii	"DHRYSTONE PROGRAM, 2'ND STRING\000"
	.align	2
.LC10:
	.ascii	"DHRYSTONE PROGRAM, 3'RD STRING\000"
	.global	__aeabi_idiv
	.align	2
.LC11:
	.ascii	"Execution ends\000"
	.align	2
.LC12:
	.ascii	"Final values of the variables used in the benchmark"
	.ascii	":\000"
	.align	2
.LC13:
	.ascii	"Int_Glob:            %d\012\000"
	.align	2
.LC14:
	.ascii	"        should be:   %d\012\000"
	.align	2
.LC15:
	.ascii	"Bool_Glob:           %d\012\000"
	.align	2
.LC16:
	.ascii	"Ch_1_Glob:           %c\012\000"
	.align	2
.LC17:
	.ascii	"        should be:   %c\012\000"
	.align	2
.LC18:
	.ascii	"Ch_2_Glob:           %c\012\000"
	.align	2
.LC19:
	.ascii	"Arr_1_Glob[8]:       %d\012\000"
	.align	2
.LC20:
	.ascii	"Arr_2_Glob[8][7]:    %d\012\000"
	.align	2
.LC21:
	.ascii	"        should be:   Number_Of_Runs + 10\000"
	.align	2
.LC22:
	.ascii	"Ptr_Glob->\000"
	.align	2
.LC23:
	.ascii	"  Ptr_Comp:          %d\012\000"
	.align	2
.LC24:
	.ascii	"        should be:   (implementation-dependent)\000"
	.align	2
.LC25:
	.ascii	"  Discr:             %d\012\000"
	.align	2
.LC26:
	.ascii	"  Enum_Comp:         %d\012\000"
	.align	2
.LC27:
	.ascii	"  Int_Comp:          %d\012\000"
	.align	2
.LC28:
	.ascii	"  Str_Comp:          %s\012\000"
	.align	2
.LC29:
	.ascii	"        should be:   DHRYSTONE PROGRAM, SOME STRING"
	.ascii	"\000"
	.align	2
.LC30:
	.ascii	"Next_Ptr_Glob->\000"
	.align	2
.LC31:
	.ascii	"        should be:   (implementation-dependent), sa"
	.ascii	"me as above\000"
	.align	2
.LC32:
	.ascii	"Int_1_Loc:           %d\012\000"
	.align	2
.LC33:
	.ascii	"Int_2_Loc:           %d\012\000"
	.align	2
.LC34:
	.ascii	"Int_3_Loc:           %d\012\000"
	.align	2
.LC35:
	.ascii	"Enum_Loc:            %d\012\000"
	.align	2
.LC36:
	.ascii	"Str_1_Loc:           %s\012\000"
	.align	2
.LC37:
	.ascii	"        should be:   DHRYSTONE PROGRAM, 1'ST STRING"
	.ascii	"\000"
	.align	2
.LC38:
	.ascii	"Str_2_Loc:           %s\012\000"
	.align	2
.LC39:
	.ascii	"        should be:   DHRYSTONE PROGRAM, 2'ND STRING"
	.ascii	"\000"
	.global	__aeabi_dsub
	.global	__aeabi_dcmplt
	.align	2
.LC40:
	.ascii	"Measured time too small to obtain meaningful result"
	.ascii	"s\000"
	.align	2
.LC41:
	.ascii	"Please increase number of runs\000"
	.global	__aeabi_dmul
	.global	__aeabi_i2d
	.global	__aeabi_ddiv
	.align	2
.LC42:
	.ascii	"Register option selected?  NO\000"
	.align	2
.LC43:
	.ascii	"Register option not selected.\000"
	.align	2
.LC44:
	.ascii	"Microseconds for one run through Dhrystone: \000"
	.align	2
.LC45:
	.ascii	"%7.1lf \012\000"
	.align	2
.LC46:
	.ascii	"Dhrystones per Second:                      \000"
	.align	2
.LC47:
	.ascii	"%10.1lf \012\000"
	.align	2
.LC48:
	.ascii	"VAX MIPS rating = %10.3lf \012\000"
	.align	2
.LC49:
	.ascii	"Dhrystone Benchmark, Version 2.1 (Language: C)\012\000"
	.align	2
.LC50:
	.ascii	"%s\012\000"
	.align	2
.LC51:
	.ascii	"Microseconds for one loop: %7.1lf\012\000"
	.align	2
.LC52:
	.ascii	"Dhrystones per second: %10.1lf\012\000"
	.align	2
.LC53:
	.ascii	"VAX MIPS rating: %10.3lf\012\000"
	.align	2
.LC54:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #104
	ldr	r3, .L17
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r1, .L17+4
	ldr	r0, .L17+8
	bl	fopen
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L2
	ldr	r0, .L17+12
	bl	puts
	mov	r0, #1
	bl	exit
.L2:
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L17+16
	str	r2, [r3]
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L17+20
	str	r2, [r3]
	ldr	r3, .L17+20
	ldr	r3, [r3]
	ldr	r2, .L17+16
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L17+20
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L17+20
	ldr	r3, [r3]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, .L17+20
	ldr	r3, [r3]
	mov	r2, #40
	str	r2, [r3, #12]
	ldr	r3, .L17+20
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r2, .L17+24
	mov	r0, r3
	mov	r1, r2
	mov	r3, #31
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L17+28
	sub	ip, fp, #80
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	add	ip, ip, #2
	lsr	r3, r3, #16
	strb	r3, [ip]
	ldr	r3, .L17+32
	mov	r2, #10
	str	r2, [r3, #1628]
	mov	r0, #10
	bl	putchar
	ldr	r0, .L17+36
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L17+40
	bl	printf
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, .L17+44
	bl	__isoc99_scanf
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-84]
	mov	r0, #10
	bl	putchar
	ldr	r1, [fp, #-84]
	ldr	r0, .L17+48
	bl	printf
	bl	dtime
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+52
	stm	r1, {r2-r3}
	mov	r3, #1
	str	r3, [fp, #-92]
	b	.L3
.L9:
	bl	Proc_5
	bl	Proc_4
	mov	r3, #2
	str	r3, [fp, #-108]
	mov	r3, #3
	str	r3, [fp, #-96]
	ldr	r3, .L17+56
	sub	ip, fp, #48
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	add	ip, ip, #2
	lsr	r3, r3, #16
	strb	r3, [ip]
	mov	r3, #1
	str	r3, [fp, #-100]
	sub	r2, fp, #48
	sub	r3, fp, #80
	mov	r1, r2
	mov	r0, r3
	bl	Func_2
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L17+60
	str	r2, [r3]
	b	.L4
.L5:
	ldr	r2, [fp, #-108]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-96]
	sub	r3, r2, r3
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-108]
	sub	r2, fp, #104
	ldr	r1, [fp, #-96]
	mov	r0, r3
	bl	Proc_7
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L4:
	ldr	r3, [fp, #-108]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	bgt	.L5
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-104]
	ldr	r1, .L17+32
	ldr	r0, .L17+64
	bl	Proc_8
	ldr	r3, .L17+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	Proc_1
	mov	r3, #65
	strb	r3, [fp, #-109]
	b	.L6
.L8:
	ldrb	r3, [fp, #-109]	@ zero_extendqisi2
	mov	r1, #67
	mov	r0, r3
	bl	Func_1
	mov	r2, r0
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	bne	.L7
	sub	r3, fp, #100
	mov	r1, r3
	mov	r0, #0
	bl	Proc_6
	ldr	r3, .L17+68
	sub	ip, fp, #48
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	add	ip, ip, #2
	lsr	r3, r3, #16
	strb	r3, [ip]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-96]
	ldr	r2, .L17+72
	ldr	r3, [fp, #-92]
	str	r3, [r2]
.L7:
	ldrb	r3, [fp, #-109]
	add	r3, r3, #1
	strb	r3, [fp, #-109]
.L6:
	ldr	r3, .L17+76
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-109]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L8
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-96]
	mul	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-104]
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-96]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r2, r3, r2
	ldr	r3, [fp, #-108]
	sub	r3, r2, r3
	str	r3, [fp, #-96]
	sub	r3, fp, #108
	mov	r0, r3
	bl	Proc_2
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L3:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	ble	.L9
	bl	dtime
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+80
	stm	r1, {r2-r3}
	ldr	r0, .L17+84
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L17+88
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r3, .L17+72
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L17+92
	bl	printf
	mov	r1, #5
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+60
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L17+100
	bl	printf
	mov	r1, #1
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+104
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L17+108
	bl	printf
	mov	r1, #65
	ldr	r0, .L17+112
	bl	printf
	ldr	r3, .L17+76
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L17+116
	bl	printf
	mov	r1, #66
	ldr	r0, .L17+112
	bl	printf
	ldr	r3, .L17+64
	ldr	r3, [r3, #32]
	mov	r1, r3
	ldr	r0, .L17+120
	bl	printf
	mov	r1, #7
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+32
	ldr	r3, [r3, #1628]
	mov	r1, r3
	ldr	r0, .L17+124
	bl	printf
	ldr	r0, .L17+128
	bl	puts
	ldr	r0, .L17+132
	bl	puts
	ldr	r3, .L17+20
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L17+136
	bl	printf
	ldr	r0, .L17+140
	bl	puts
	ldr	r3, .L17+20
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L17+144
	bl	printf
	mov	r1, #0
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+20
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L17+148
	bl	printf
	mov	r1, #2
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+20
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, .L17+152
	bl	printf
	mov	r1, #17
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+20
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, .L17+156
	bl	printf
	ldr	r0, .L17+160
	bl	puts
	ldr	r0, .L17+164
	bl	puts
	ldr	r3, .L17+16
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L17+136
	bl	printf
	ldr	r0, .L17+168
	bl	puts
	ldr	r3, .L17+16
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L17+144
	bl	printf
	mov	r1, #0
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+16
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L17+148
	bl	printf
	mov	r1, #1
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+16
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, .L17+152
	bl	printf
	mov	r1, #18
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, .L17+16
	ldr	r3, [r3]
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, .L17+156
	bl	printf
	ldr	r0, .L17+160
	bl	puts
	ldr	r3, [fp, #-108]
	mov	r1, r3
	ldr	r0, .L17+172
	bl	printf
	mov	r1, #5
	ldr	r0, .L17+96
	bl	printf
	ldr	r1, [fp, #-96]
	ldr	r0, .L17+176
	bl	printf
	mov	r1, #13
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, [fp, #-104]
	mov	r1, r3
	ldr	r0, .L17+180
	bl	printf
	mov	r1, #7
	ldr	r0, .L17+96
	bl	printf
	ldr	r3, [fp, #-100]
	mov	r1, r3
	ldr	r0, .L17+184
	bl	printf
	mov	r1, #1
	ldr	r0, .L17+96
	bl	printf
	sub	r3, fp, #80
	mov	r1, r3
	ldr	r0, .L17+188
	bl	printf
	ldr	r0, .L17+192
	bl	puts
	sub	r3, fp, #48
	mov	r1, r3
	ldr	r0, .L17+196
	bl	printf
	ldr	r0, .L17+200
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r3, .L17+80
	ldmia	r3, {r0-r1}
	ldr	r3, .L17+52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+204
	stm	r1, {r2-r3}
	ldr	r3, .L17+204
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L15
	ldr	r0, .L17+208
	bl	puts
	ldr	r0, .L17+212
	bl	puts
	mov	r0, #10
	bl	putchar
	b	.L16
.L15:
	ldr	r3, .L17+204
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L17+216
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-84]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+220
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-84]
	bl	__aeabi_i2d
	ldr	r3, .L17+204
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+224
	stm	r1, {r2-r3}
	ldr	r3, .L17+224
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L17+228
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L17+232
	stm	r1, {r2-r3}
	ldr	r0, .L17+236
	bl	puts
	ldr	r2, .L17+240
	ldr	r3, .L17+244
	mov	ip, r2
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	ldr	r0, .L17+248
	bl	printf
	ldr	r3, .L17+220
	ldmia	r3, {r2-r3}
	ldr	r0, .L17+252
	bl	printf
	ldr	r0, .L17+256
	bl	printf
	ldr	r3, .L17+224
	ldmia	r3, {r2-r3}
	ldr	r0, .L17+260
	bl	printf
	ldr	r3, .L17+232
	ldmia	r3, {r2-r3}
	ldr	r0, .L17+264
	bl	printf
	mov	r0, #10
	bl	putchar
	ldr	r1, [fp, #-88]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-88]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L17+268
	bl	fwrite
	ldr	r2, .L17+240
	ldr	r1, .L17+272
	ldr	r0, [fp, #-88]
	bl	fprintf
	ldr	r3, .L17+220
	ldmia	r3, {r2-r3}
	ldr	r1, .L17+276
	ldr	r0, [fp, #-88]
	bl	fprintf
	ldr	r3, .L17+224
	ldmia	r3, {r2-r3}
	ldr	r1, .L17+280
	ldr	r0, [fp, #-88]
	bl	fprintf
	ldr	r3, .L17+232
	ldmia	r3, {r2-r3}
	ldr	r1, .L17+284
	ldr	r0, [fp, #-88]
	bl	fprintf
	ldr	r0, [fp, #-88]
	bl	fclose
.L16:
	nop
	ldr	r3, .L17
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L13
	bl	__stack_chk_fail
.L13:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L18:
	.align	2
.L17:
	.word	.LC54
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	Next_Ptr_Glob
	.word	Ptr_Glob
	.word	.LC3
	.word	.LC4
	.word	Arr_2_Glob
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	Begin_Time
	.word	.LC9
	.word	Bool_Glob
	.word	Arr_1_Glob
	.word	.LC10
	.word	Int_Glob
	.word	Ch_2_Glob
	.word	End_Time
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	Ch_1_Glob
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.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	User_Time
	.word	.LC40
	.word	.LC41
	.word	1093567616
	.word	Microseconds
	.word	Dhrystones_Per_Second
	.word	1083929600
	.word	Vax_Mips
	.word	.LC42
	.word	Reg_Define
	.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
	.align	2
	.global	Proc_1
	.syntax unified
	.arm
	.fpu softvfp
	.type	Proc_1, %function
Proc_1:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L22
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	ip, r3
	mov	lr, r2
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-16]
	mov	r2, #5
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	Proc_3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L20
	ldr	r3, [fp, #-8]
	mov	r2, #6
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	mov	r1, r3
	mov	r0, r2
	bl	Proc_6
	ldr	r3, .L22
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	mov	r2, r3
	mov	r1, #10
	bl	Proc_7
	b	.L21
.L20:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	ip, r2
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L21:
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L23:
	.align	2
.L22:
	.word	Ptr_Glob
	.size	Proc_1, .-Proc_1
	.align	2
	.global	Proc_2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Proc_2, %function
Proc_2:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r3, r3, #10
	str	r3, [fp, #-12]
.L26:
	ldr	r3, .L27
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #65
	bne	.L25
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L27+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-8]
.L25:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L26
	nop
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L28:
	.align	2
.L27:
	.word	Ch_1_Glob
	.word	Int_Glob
	.size	Proc_2, .-Proc_2
	.align	2
	.global	Proc_3
	.syntax unified
	.arm
	.fpu softvfp
	.type	Proc_3, %function
Proc_3:
	@ 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, .L31
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L30
	ldr	r3, .L31
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L30:
	ldr	r3, .L31+4
	ldr	r1, [r3]
	ldr	r3, .L31
	ldr	r3, [r3]
	add	r3, r3, #12
	mov	r2, r3
	mov	r0, #10
	bl	Proc_7
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L32:
	.align	2
.L31:
	.word	Ptr_Glob
	.word	Int_Glob
	.size	Proc_3, .-Proc_3
	.align	2
	.global	Proc_4
	.syntax unified
	.arm
	.fpu softvfp
	.type	Proc_4, %function
Proc_4:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L34
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #65
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, .L34+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	orr	r3, r2, r3
	ldr	r2, .L34+4
	str	r3, [r2]
	ldr	r3, .L34+8
	mov	r2, #66
	strb	r2, [r3]
	nop
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L35:
	.align	2
.L34:
	.word	Ch_1_Glob
	.word	Bool_Glob
	.word	Ch_2_Glob
	.size	Proc_4, .-Proc_4
	.align	2
	.global	Proc_5
	.syntax unified
	.arm
	.fpu softvfp
	.type	Proc_5, %function
Proc_5:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L37
	mov	r2, #65
	strb	r2, [r3]
	ldr	r3, .L37+4
	mov	r2, #0
	str	r2, [r3]
	nop
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L38:
	.align	2
.L37:
	.word	Ch_1_Glob
	.word	Bool_Glob
	.size	Proc_5, .-Proc_5
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
