	.file	"477079.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
.LC0:
	.string	"Calculations can be performed either on Zynq or Epiphany."
	.align 8
.LC1:
	.string	"Zynq is quite slower (be patient)."
	.align 8
.LC2:
	.string	"Choose which device to use (0=Zynq, 1=Epiphany): "
.LC3:
	.string	"/dev/fb0"
.LC4:
	.string	"Error in FBIOGET_FSCREENINFO"
.LC5:
	.string	"Error in FBIOGET_VSCREENINFO"
	.align 8
.LC6:
	.string	"Error: failed to map framebuffer device to memory.\n"
.LC7:
	.string	"Error opening frame buffer"
	.align 8
.LC8:
	.string	"\n\nCalculating Mandelbrot set for image %d x %d...\n"
.LC9:
	.string	"Zynq"
.LC10:
	.string	"Epiphany"
.LC11:
	.string	"...on %s.\n"
.LC33:
	.string	"frames: %d\n"
.LC34:
	.string	"time: %f sec\n"
	.text
	.globl	main
	.type	main, @function
main:
.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, 480
	mov	DWORD PTR -468[rbp], edi
	mov	QWORD PTR -480[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	call	getchar@PLT
	cmp	eax, 48
	setne	al
	movzx	eax, al
	mov	edi, eax
	call	omp_set_default_device@PLT
	mov	esi, 2
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -408[rbp], eax
	cmp	DWORD PTR -408[rbp], 0
	jle	.L2
	lea	rdx, -256[rbp]
	mov	eax, DWORD PTR -408[rbp]
	mov	esi, 17922
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	test	eax, eax
	jne	.L3
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	eax, DWORD PTR -232[rbp]
	mov	DWORD PTR -404[rbp], eax
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR -460[rbp], eax
	jmp	.L4
.L3:
	lea	rdi, .LC4[rip]
	call	puts@PLT
.L4:
	lea	rdx, -176[rbp]
	mov	eax, DWORD PTR -408[rbp]
	mov	esi, 17920
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	test	eax, eax
	jne	.L5
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -456[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -452[rbp], eax
	jmp	.L6
.L5:
	lea	rdi, .LC5[rip]
	call	puts@PLT
.L6:
	call	omp_get_default_device@PLT
	test	eax, eax
	jne	.L7
	mov	eax, DWORD PTR -232[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -408[rbp]
	mov	r9d, 0
	mov	r8d, eax
	mov	ecx, 1
	mov	edx, 3
	mov	edi, 0
	call	mmap@PLT
	mov	QWORD PTR -312[rbp], rax
	cmp	QWORD PTR -312[rbp], -1
	jne	.L8
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 51
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	edi, 4
	call	exit@PLT
.L8:
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR -320[rbp], rax
.L7:
	mov	eax, DWORD PTR -408[rbp]
	mov	edi, eax
	call	close@PLT
	mov	edx, DWORD PTR -452[rbp]
	mov	eax, DWORD PTR -456[rbp]
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	call	omp_get_default_device@PLT
	test	eax, eax
	jne	.L10
	jmp	.L51
.L2:
	lea	rdi, .LC7[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L51:
	lea	rax, .LC9[rip]
	jmp	.L11
.L10:
	lea	rax, .LC10[rip]
.L11:
	mov	rsi, rax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -272[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -272[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	mov	rax, QWORD PTR -264[rbp]
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, rax
	movsd	xmm0, QWORD PTR .LC12[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -304[rbp], xmm0
	call	omp_get_thread_num@PLT
	mov	DWORD PTR -400[rbp], eax
	call	omp_get_num_threads@PLT
	mov	DWORD PTR -396[rbp], eax
	movss	xmm0, DWORD PTR .LC13[rip]
	movss	DWORD PTR -176[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -172[rbp], xmm0
	movss	xmm0, DWORD PTR .LC15[rip]
	movss	DWORD PTR -168[rbp], xmm0
	movss	xmm0, DWORD PTR .LC16[rip]
	movss	DWORD PTR -164[rbp], xmm0
	movss	xmm0, DWORD PTR .LC17[rip]
	movss	DWORD PTR -160[rbp], xmm0
	movss	xmm0, DWORD PTR .LC18[rip]
	movss	DWORD PTR -156[rbp], xmm0
	movss	xmm0, DWORD PTR .LC19[rip]
	movss	DWORD PTR -152[rbp], xmm0
	movss	xmm0, DWORD PTR .LC20[rip]
	movss	DWORD PTR -148[rbp], xmm0
	movss	xmm0, DWORD PTR .LC21[rip]
	movss	DWORD PTR -144[rbp], xmm0
	movss	xmm0, DWORD PTR .LC22[rip]
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR .LC23[rip]
	movss	DWORD PTR -136[rbp], xmm0
	movss	xmm0, DWORD PTR .LC24[rip]
	movss	DWORD PTR -132[rbp], xmm0
	mov	DWORD PTR -448[rbp], 1
	mov	eax, DWORD PTR -456[rbp]
	mov	DWORD PTR -392[rbp], eax
	mov	eax, 1920
	cmp	DWORD PTR -392[rbp], 1920
	cmovbe	eax, DWORD PTR -392[rbp]
	mov	DWORD PTR -392[rbp], eax
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -388[rbp], eax
	mov	eax, DWORD PTR -392[rbp]
	test	rax, rax
	js	.L12
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L13
.L12:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rdx
	addss	xmm0, xmm0
.L13:
	movss	xmm1, DWORD PTR .LC25[rip]
	divss	xmm1, xmm0
	movss	DWORD PTR -384[rbp], xmm1
	mov	eax, DWORD PTR -388[rbp]
	test	rax, rax
	js	.L14
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L15
.L14:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rdx
	addss	xmm0, xmm0
.L15:
	movss	xmm1, DWORD PTR .LC25[rip]
	divss	xmm1, xmm0
	movss	DWORD PTR -380[rbp], xmm1
	movss	xmm0, DWORD PTR -380[rbp]
	divss	xmm0, DWORD PTR -384[rbp]
	movss	DWORD PTR -376[rbp], xmm0
	movss	xmm0, DWORD PTR .LC26[rip]
	movss	DWORD PTR -444[rbp], xmm0
	movss	xmm0, DWORD PTR .LC27[rip]
	movss	DWORD PTR -440[rbp], xmm0
	mov	DWORD PTR -436[rbp], 0
	mov	DWORD PTR -372[rbp], 5
.L44:
	movss	xmm0, DWORD PTR -384[rbp]
	mulss	xmm0, DWORD PTR -444[rbp]
	movss	xmm1, DWORD PTR -376[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -368[rbp], xmm0
	movss	xmm0, DWORD PTR -380[rbp]
	mulss	xmm0, DWORD PTR -444[rbp]
	movss	DWORD PTR -364[rbp], xmm0
	mov	eax, DWORD PTR -436[rbp]
	movss	xmm0, DWORD PTR -176[rbp+rax*8]
	movss	xmm1, DWORD PTR -444[rbp]
	mulss	xmm1, DWORD PTR -376[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -360[rbp], xmm0
	mov	eax, DWORD PTR -436[rbp]
	movss	xmm0, DWORD PTR -172[rbp+rax*8]
	subss	xmm0, DWORD PTR -444[rbp]
	movss	DWORD PTR -356[rbp], xmm0
	mov	DWORD PTR -428[rbp], 0
	jmp	.L16
.L36:
	mov	edx, DWORD PTR -428[rbp]
	mov	eax, DWORD PTR -400[rbp]
	add	eax, edx
	imul	eax, DWORD PTR -460[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	QWORD PTR -288[rbp], rax
	mov	DWORD PTR -432[rbp], 0
	jmp	.L17
.L35:
	mov	eax, DWORD PTR -432[rbp]
	test	rax, rax
	js	.L18
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L19
.L18:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rdx
	addss	xmm0, xmm0
.L19:
	mulss	xmm0, DWORD PTR -368[rbp]
	movss	xmm1, DWORD PTR -360[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -352[rbp], xmm0
	mov	edx, DWORD PTR -428[rbp]
	mov	eax, DWORD PTR -400[rbp]
	add	eax, edx
	mov	eax, eax
	test	rax, rax
	js	.L20
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L21
.L20:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rdx
	addss	xmm0, xmm0
.L21:
	mulss	xmm0, DWORD PTR -364[rbp]
	movss	xmm1, DWORD PTR -356[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -348[rbp], xmm0
	movss	xmm0, DWORD PTR -352[rbp]
	movss	xmm1, DWORD PTR .LC28[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR -344[rbp], xmm0
	movss	xmm0, DWORD PTR -344[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR -348[rbp]
	mulss	xmm0, xmm0
	addss	xmm0, xmm1
	movss	DWORD PTR -340[rbp], xmm0
	movss	xmm0, DWORD PTR -352[rbp]
	movss	xmm1, DWORD PTR .LC28[rip]
	subss	xmm0, xmm1
	addss	xmm0, DWORD PTR -340[rbp]
	movss	xmm1, DWORD PTR -340[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -336[rbp], xmm0
	movss	xmm1, DWORD PTR -348[rbp]
	movss	xmm0, DWORD PTR .LC28[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -348[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -332[rbp], xmm0
	movss	xmm0, DWORD PTR -332[rbp]
	comiss	xmm0, DWORD PTR -336[rbp]
	jbe	.L52
	mov	eax, 64
	jmp	.L24
.L52:
	mov	eax, 0
.L24:
	mov	DWORD PTR -420[rbp], eax
	pxor	xmm0, xmm0
	movss	DWORD PTR -416[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -412[rbp], xmm0
	jmp	.L25
.L28:
	movss	xmm0, DWORD PTR -416[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR -412[rbp]
	movaps	xmm2, xmm0
	mulss	xmm2, xmm0
	subss	xmm1, xmm2
	movaps	xmm0, xmm1
	movss	xmm1, DWORD PTR -352[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -328[rbp], xmm0
	movss	xmm0, DWORD PTR -416[rbp]
	addss	xmm0, xmm0
	mulss	xmm0, DWORD PTR -412[rbp]
	movss	xmm1, DWORD PTR -348[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -412[rbp], xmm0
	movss	xmm0, DWORD PTR -328[rbp]
	movss	DWORD PTR -416[rbp], xmm0
	add	DWORD PTR -420[rbp], 1
.L25:
	movss	xmm0, DWORD PTR -416[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR -412[rbp]
	mulss	xmm0, xmm0
	addss	xmm1, xmm0
	movss	xmm0, DWORD PTR .LC29[rip]
	comiss	xmm0, xmm1
	jbe	.L26
	cmp	DWORD PTR -420[rbp], 63
	jbe	.L28
.L26:
	cmp	DWORD PTR -420[rbp], 63
	ja	.L29
	mov	eax, DWORD PTR -420[rbp]
	imul	eax, eax
	imul	eax, DWORD PTR -420[rbp]
	imul	eax, DWORD PTR -420[rbp]
	mov	eax, eax
	test	rax, rax
	js	.L30
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L31
.L30:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rdx
	addss	xmm0, xmm0
.L31:
	cvttss2si	rax, xmm0
	jmp	.L32
.L29:
	mov	eax, 0
.L32:
	mov	DWORD PTR -324[rbp], eax
	mov	DWORD PTR -424[rbp], 0
	jmp	.L33
.L34:
	mov	eax, DWORD PTR -424[rbp]
	imul	eax, DWORD PTR -460[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -432[rbp]
	sal	eax, 2
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -288[rbp]
	add	rax, rdx
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -324[rbp]
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -424[rbp], 1
.L33:
	cmp	DWORD PTR -424[rbp], 0
	je	.L34
	add	DWORD PTR -432[rbp], 1
.L17:
	mov	eax, DWORD PTR -432[rbp]
	cmp	eax, DWORD PTR -392[rbp]
	jb	.L35
	mov	eax, DWORD PTR -396[rbp]
	add	DWORD PTR -428[rbp], eax
.L16:
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -388[rbp]
	jb	.L36
	movss	xmm0, DWORD PTR -444[rbp]
	mulss	xmm0, DWORD PTR -440[rbp]
	movss	DWORD PTR -444[rbp], xmm0
	movss	xmm0, DWORD PTR .LC30[rip]
	comiss	xmm0, DWORD PTR -444[rbp]
	jbe	.L53
	movss	xmm0, DWORD PTR .LC31[rip]
	jmp	.L39
.L53:
	movss	xmm0, DWORD PTR -440[rbp]
.L39:
	movss	DWORD PTR -440[rbp], xmm0
	movss	xmm0, DWORD PTR -444[rbp]
	comiss	xmm0, DWORD PTR .LC29[rip]
	jbe	.L40
	movss	xmm0, DWORD PTR .LC32[rip]
	movss	DWORD PTR -440[rbp], xmm0
	add	DWORD PTR -436[rbp], 1
	mov	eax, DWORD PTR -436[rbp]
	cmp	eax, DWORD PTR -372[rbp]
	jbe	.L40
	mov	DWORD PTR -436[rbp], 0
.L40:
	add	DWORD PTR -448[rbp], 1
	cmp	DWORD PTR -448[rbp], 409
	ja	.L55
	jmp	.L44
.L55:
	nop
	lea	rax, -272[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -272[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	mov	rax, QWORD PTR -264[rbp]
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, rax
	movsd	xmm0, QWORD PTR .LC12[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -296[rbp], xmm0
	mov	esi, 409
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	movsd	xmm0, QWORD PTR -296[rbp]
	subsd	xmm0, QWORD PTR -304[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC34[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L46
	call	__stack_chk_fail@PLT
.L46:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC12:
	.long	-400107883
	.long	1041313291
	.align 4
.LC13:
	.long	-1075486981
	.align 4
.LC15:
	.long	-1079644425
	.align 4
.LC16:
	.long	1055013471
	.align 4
.LC17:
	.long	-1093863105
	.align 4
.LC18:
	.long	1060024447
	.align 4
.LC19:
	.long	1049591360
	.align 4
.LC20:
	.long	-1140535437
	.align 4
.LC21:
	.long	-1090818624
	.align 4
.LC22:
	.long	-1088332212
	.align 4
.LC23:
	.long	-1085466660
	.align 4
.LC24:
	.long	1044202032
	.align 4
.LC25:
	.long	1073741824
	.align 4
.LC26:
	.long	1084227584
	.align 4
.LC27:
	.long	1064849900
	.align 4
.LC28:
	.long	1048576000
	.align 4
.LC29:
	.long	1082130432
	.align 4
.LC30:
	.long	953267991
	.align 4
.LC31:
	.long	1066285283
	.align 4
.LC32:
	.long	1063675494
	.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	"477079.c"
	.text
	.section	.rodata
	.align	2
.LC1:
	.ascii	"Calculations can be performed either on Zynq or Epi"
	.ascii	"phany.\000"
	.align	2
.LC2:
	.ascii	"Zynq is quite slower (be patient).\000"
	.align	2
.LC3:
	.ascii	"Choose which device to use (0=Zynq, 1=Epiphany): \000"
	.align	2
.LC4:
	.ascii	"/dev/fb0\000"
	.align	2
.LC5:
	.ascii	"Error in FBIOGET_FSCREENINFO\000"
	.align	2
.LC6:
	.ascii	"Error in FBIOGET_VSCREENINFO\000"
	.align	2
.LC7:
	.ascii	"Error: failed to map framebuffer device to memory.\012"
	.ascii	"\000"
	.align	2
.LC8:
	.ascii	"Error opening frame buffer\000"
	.align	2
.LC9:
	.ascii	"\012\012Calculating Mandelbrot set for image %d x %"
	.ascii	"d...\012\000"
	.align	2
.LC10:
	.ascii	"Zynq\000"
	.align	2
.LC11:
	.ascii	"Epiphany\000"
	.align	2
.LC12:
	.ascii	"...on %s.\012\000"
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.global	__aeabi_ui2f
	.global	__aeabi_fdiv
	.global	__aeabi_fmul
	.global	__aeabi_fsub
	.global	__aeabi_fadd
	.global	__aeabi_fcmplt
	.global	__aeabi_f2uiz
	.global	__aeabi_fcmpgt
	.align	2
.LC13:
	.ascii	"frames: %d\012\000"
	.global	__aeabi_dsub
	.align	2
.LC14:
	.ascii	"time: %f sec\012\000"
	.align	2
.LC0:
	.word	3219480315
	.word	0
	.word	3215322871
	.word	1055013471
	.word	3201104191
	.word	1060024447
	.word	1049591360
	.word	3154431859
	.word	3204148672
	.word	3206635084
	.word	3209500636
	.word	1044202032
	.align	2
.LC15:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 424
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #432
	str	r0, [fp, #-432]
	str	r1, [fp, #-436]
	ldr	r3, .L46
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r0, .L46+4
	bl	puts
	ldr	r0, .L46+8
	bl	puts
	ldr	r0, .L46+12
	bl	printf
	bl	getchar
	mov	r3, r0
	cmp	r3, #48
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	bl	omp_set_default_device
	mov	r1, #2
	ldr	r0, .L46+16
	bl	open
	str	r0, [fp, #-368]
	ldr	r3, [fp, #-368]
	cmp	r3, #0
	ble	.L2
	sub	r3, fp, #244
	mov	r2, r3
	ldr	r1, .L46+20
	ldr	r0, [fp, #-368]
	bl	ioctl
	mov	r3, r0
	cmp	r3, #0
	bne	.L3
	ldr	r3, [fp, #-228]
	str	r3, [fp, #-424]
	ldr	r3, [fp, #-224]
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-420]
	b	.L4
.L3:
	ldr	r0, .L46+24
	bl	puts
.L4:
	sub	r3, fp, #176
	mov	r2, r3
	mov	r1, #17920
	ldr	r0, [fp, #-368]
	bl	ioctl
	mov	r3, r0
	cmp	r3, #0
	bne	.L5
	ldr	r3, [fp, #-168]
	str	r3, [fp, #-416]
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-412]
	b	.L6
.L5:
	ldr	r0, .L46+28
	bl	puts
.L6:
	bl	omp_get_default_device
	mov	r3, r0
	cmp	r3, #0
	bne	.L7
	ldr	r1, [fp, #-224]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, [fp, #-368]
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #3
	mov	r0, #0
	bl	mmap
	str	r0, [fp, #-360]
	ldr	r3, [fp, #-360]
	cmn	r3, #1
	bne	.L8
	ldr	r3, .L46+32
	ldr	r3, [r3]
	mov	r2, #51
	mov	r1, #1
	ldr	r0, .L46+36
	bl	fwrite
	mov	r0, #4
	bl	exit
.L8:
	ldr	r3, [fp, #-360]
	str	r3, [fp, #-424]
.L7:
	ldr	r0, [fp, #-368]
	bl	close
	ldr	r2, [fp, #-412]
	ldr	r1, [fp, #-416]
	ldr	r0, .L46+40
	bl	printf
	bl	omp_get_default_device
	mov	r3, r0
	cmp	r3, #0
	bne	.L10
	b	.L41
.L2:
	ldr	r0, .L46+44
	bl	puts
	mov	r0, #1
	bl	exit
.L41:
	ldr	r3, .L46+48
	b	.L11
.L10:
	ldr	r3, .L46+52
.L11:
	mov	r1, r3
	ldr	r0, .L46+56
	bl	printf
	sub	r3, fp, #252
	mov	r1, r3
	mov	r0, #0
	bl	clock_gettime
	ldr	r3, [fp, #-252]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, [fp, #-248]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L46+60
	ldr	r3, .L46+64
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	bl	omp_get_thread_num
	mov	r3, r0
	str	r3, [fp, #-356]
	bl	omp_get_num_threads
	mov	r3, r0
	str	r3, [fp, #-352]
	ldr	r3, .L46+68
	sub	ip, fp, #176
	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}
	mov	r3, #1
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-416]
	str	r3, [fp, #-348]
	ldr	r3, [fp, #-348]
	cmp	r3, #1920
	movcc	r3, r3
	movcs	r3, #1920
	str	r3, [fp, #-348]
	ldr	r3, [fp, #-412]
	str	r3, [fp, #-344]
	ldr	r0, [fp, #-348]
	bl	__aeabi_ui2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, #1073741824
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-340]	@ float
	ldr	r0, [fp, #-344]
	bl	__aeabi_ui2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, #1073741824
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-336]	@ float
	ldr	r1, [fp, #-340]	@ float
	ldr	r0, [fp, #-336]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-332]	@ float
	ldr	r3, .L46+72
	str	r3, [fp, #-404]	@ float
	ldr	r3, .L46+76
	str	r3, [fp, #-400]	@ float
	mov	r3, #0
	str	r3, [fp, #-396]
	mov	r3, #5
	str	r3, [fp, #-328]
.L34:
	ldr	r1, [fp, #-404]	@ float
	ldr	r0, [fp, #-340]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-332]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-324]	@ float
	ldr	r1, [fp, #-404]	@ float
	ldr	r0, [fp, #-336]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-320]	@ float
	ldr	r3, [fp, #-396]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r4, [r3, #-164]	@ float
	ldr	r1, [fp, #-332]	@ float
	ldr	r0, [fp, #-404]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-316]	@ float
	ldr	r3, [fp, #-396]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-160]	@ float
	ldr	r1, [fp, #-404]	@ float
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-312]	@ float
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L12
.L26:
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-356]
	add	r3, r2, r3
	ldr	r2, [fp, #-420]
	mul	r3, r2, r3
	ldr	r2, [fp, #-424]
	add	r3, r2, r3
	str	r3, [fp, #-308]
	mov	r3, #0
	str	r3, [fp, #-392]
	b	.L13
.L25:
	ldr	r0, [fp, #-392]
	bl	__aeabi_ui2f
	mov	r3, r0
	ldr	r1, [fp, #-324]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-316]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-304]	@ float
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-356]
	add	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	ldr	r1, [fp, #-320]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-312]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-300]	@ float
	mov	r1, #1048576000
	ldr	r0, [fp, #-304]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-296]	@ float
	ldr	r1, [fp, #-296]	@ float
	ldr	r0, [fp, #-296]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-300]	@ float
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-292]	@ float
	mov	r1, #1048576000
	ldr	r0, [fp, #-304]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-292]	@ float
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-292]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-288]	@ float
	mov	r1, #1048576000
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-284]	@ float
	ldr	r1, [fp, #-284]	@ float
	ldr	r0, [fp, #-288]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L42
	mov	r3, #64
	b	.L16
.L42:
	mov	r3, #0
.L16:
	str	r3, [fp, #-380]
	mov	r3, #0
	str	r3, [fp, #-376]	@ float
	mov	r3, #0
	str	r3, [fp, #-372]	@ float
	b	.L17
.L20:
	ldr	r1, [fp, #-376]	@ float
	ldr	r0, [fp, #-376]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-372]	@ float
	ldr	r0, [fp, #-372]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-304]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-280]	@ float
	ldr	r3, [fp, #-376]	@ float
	mov	r1, r3
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	ldr	r1, [fp, #-372]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-372]	@ float
	ldr	r3, [fp, #-280]	@ float
	str	r3, [fp, #-376]	@ float
	ldr	r3, [fp, #-380]
	add	r3, r3, #1
	str	r3, [fp, #-380]
.L17:
	ldr	r1, [fp, #-376]	@ float
	ldr	r0, [fp, #-376]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-372]	@ float
	ldr	r0, [fp, #-372]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	ldr	r1, .L46+80
	mov	r0, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L18
	ldr	r3, [fp, #-380]
	cmp	r3, #63
	bls	.L20
.L18:
	ldr	r3, [fp, #-380]
	cmp	r3, #63
	bhi	.L21
	ldr	r3, [fp, #-380]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	ldr	r2, [fp, #-380]
	mul	r3, r2, r3
	ldr	r2, [fp, #-380]
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2uiz
	mov	r3, r0
	b	.L22
.L21:
	mov	r3, #0
.L22:
	str	r3, [fp, #-276]
	mov	r3, #0
	str	r3, [fp, #-384]
	b	.L23
.L24:
	ldr	r3, [fp, #-384]
	ldr	r2, [fp, #-420]
	mul	r2, r3, r2
	ldr	r3, [fp, #-392]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-308]
	add	r3, r2, r3
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-272]
	ldr	r2, [fp, #-276]
	str	r2, [r3]
	ldr	r3, [fp, #-384]
	add	r3, r3, #1
	str	r3, [fp, #-384]
.L23:
	ldr	r3, [fp, #-384]
	cmp	r3, #0
	beq	.L24
	ldr	r3, [fp, #-392]
	add	r3, r3, #1
	str	r3, [fp, #-392]
.L13:
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-348]
	cmp	r2, r3
	bcc	.L25
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-352]
	add	r3, r2, r3
	str	r3, [fp, #-388]
.L12:
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-344]
	cmp	r2, r3
	bcc	.L26
	ldr	r1, [fp, #-400]	@ float
	ldr	r0, [fp, #-404]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-404]	@ float
	ldr	r1, .L46+84
	ldr	r0, [fp, #-404]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L43
	ldr	r3, .L46+88
	b	.L29
.L43:
	ldr	r3, [fp, #-400]	@ float
.L29:
	str	r3, [fp, #-400]	@ float
	ldr	r1, .L46+80
	ldr	r0, [fp, #-404]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L30
	ldr	r3, .L46+92
	str	r3, [fp, #-400]	@ float
	ldr	r3, [fp, #-396]
	add	r3, r3, #1
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-328]
	cmp	r2, r3
	bls	.L30
	mov	r3, #0
	str	r3, [fp, #-396]
.L30:
	ldr	r3, [fp, #-408]
	add	r3, r3, #1
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-408]
	ldr	r2, .L46+96
	cmp	r3, r2
	bhi	.L45
	b	.L34
.L45:
	nop
	sub	r3, fp, #252
	mov	r1, r3
	mov	r0, #0
	bl	clock_gettime
	ldr	r3, [fp, #-252]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, [fp, #-248]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L46+60
	ldr	r3, .L46+64
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	ldr	r1, .L46+96
	ldr	r0, .L46+100
	bl	printf
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L46+104
	bl	printf
	mov	r3, #0
	ldr	r2, .L46
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L36
	bl	__stack_chk_fail
.L36:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L47:
	.align	2
.L46:
	.word	.LC15
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	17922
	.word	.LC5
	.word	.LC6
	.word	stderr
	.word	.LC7
	.word	.LC9
	.word	.LC8
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	-400107883
	.word	1041313291
	.word	.LC0
	.word	1084227584
	.word	1064849900
	.word	1082130432
	.word	953267991
	.word	1066285283
	.word	1063675494
	.word	409
	.word	.LC13
	.word	.LC14
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
