	.file	"212642631.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
.LC0:
	.string	"\nerror - zero in fft parameters %d %d %d %d"
	.align 8
.LC1:
	.string	"\nerror - fft parameter n has more than 15 factors : %d"
	.text
	.globl	fft_
	.type	fft_, @function
fft_:
.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, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	DWORD PTR -180[rbp], edx
	mov	DWORD PTR -184[rbp], ecx
	mov	DWORD PTR -188[rbp], r8d
	mov	DWORD PTR -192[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -152[rbp], 0
	sub	QWORD PTR -168[rbp], 4
	sub	QWORD PTR -176[rbp], 4
	mov	eax, DWORD PTR -184[rbp]
	cdq
	mov	eax, edx
	xor	eax, DWORD PTR -184[rbp]
	sub	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR -148[rbp], eax
	cmp	DWORD PTR -128[rbp], 1
	je	.L27
	mov	eax, DWORD PTR -128[rbp]
	imul	eax, DWORD PTR -188[rbp]
	cdq
	xor	eax, edx
	mov	DWORD PTR -188[rbp], eax
	sub	DWORD PTR -188[rbp], edx
	mov	eax, DWORD PTR -188[rbp]
	imul	eax, DWORD PTR -180[rbp]
	cdq
	xor	eax, edx
	mov	DWORD PTR -124[rbp], eax
	sub	DWORD PTR -124[rbp], edx
	mov	eax, DWORD PTR -192[rbp]
	imul	eax, DWORD PTR -124[rbp]
	test	eax, eax
	jne	.L4
	mov	rax, QWORD PTR stderr[rip]
	mov	edi, DWORD PTR -192[rbp]
	mov	esi, DWORD PTR -188[rbp]
	mov	ecx, DWORD PTR -184[rbp]
	mov	edx, DWORD PTR -180[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1
.L4:
	mov	DWORD PTR -152[rbp], 0
	jmp	.L5
.L6:
	add	DWORD PTR -152[rbp], 1
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	mov	DWORD PTR -80[rbp+rax*4], 4
	mov	eax, DWORD PTR -148[rbp]
	lea	edx, 15[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 4
	mov	DWORD PTR -148[rbp], eax
.L5:
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 15
	test	eax, eax
	je	.L6
	mov	DWORD PTR -144[rbp], 3
	mov	DWORD PTR -140[rbp], 9
	jmp	.L7
.L9:
	add	DWORD PTR -152[rbp], 1
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	mov	edx, DWORD PTR -144[rbp]
	mov	DWORD PTR -80[rbp+rax*4], edx
	mov	eax, DWORD PTR -148[rbp]
	cdq
	idiv	DWORD PTR -140[rbp]
	mov	DWORD PTR -148[rbp], eax
.L8:
	mov	eax, DWORD PTR -148[rbp]
	cdq
	idiv	DWORD PTR -140[rbp]
	mov	eax, edx
	test	eax, eax
	je	.L9
	add	DWORD PTR -144[rbp], 2
	mov	eax, DWORD PTR -144[rbp]
	imul	eax, eax
	mov	DWORD PTR -140[rbp], eax
.L7:
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jle	.L8
	cmp	DWORD PTR -148[rbp], 4
	jg	.L11
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR -156[rbp], eax
	mov	eax, DWORD PTR -152[rbp]
	add	eax, 1
	cdqe
	mov	edx, DWORD PTR -148[rbp]
	mov	DWORD PTR -80[rbp+rax*4], edx
	cmp	DWORD PTR -148[rbp], 1
	je	.L12
	add	DWORD PTR -152[rbp], 1
	jmp	.L12
.L11:
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 3
	test	eax, eax
	jne	.L13
	add	DWORD PTR -152[rbp], 1
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	mov	DWORD PTR -80[rbp+rax*4], 2
	mov	eax, DWORD PTR -148[rbp]
	lea	edx, 3[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 2
	mov	DWORD PTR -148[rbp], eax
.L13:
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR -156[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	add	eax, eax
	cmp	DWORD PTR -148[rbp], eax
	jg	.L14
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	add	eax, eax
	jmp	.L15
.L14:
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 1
.L15:
	mov	DWORD PTR -132[rbp], eax
	mov	DWORD PTR -144[rbp], 2
	jmp	.L16
.L18:
	mov	eax, DWORD PTR -148[rbp]
	cdq
	idiv	DWORD PTR -144[rbp]
	mov	eax, edx
	test	eax, eax
	jne	.L17
	add	DWORD PTR -152[rbp], 1
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	mov	edx, DWORD PTR -144[rbp]
	mov	DWORD PTR -80[rbp+rax*4], edx
	mov	eax, DWORD PTR -148[rbp]
	cdq
	idiv	DWORD PTR -144[rbp]
	mov	DWORD PTR -148[rbp], eax
.L17:
	mov	eax, DWORD PTR -144[rbp]
	add	eax, 1
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -144[rbp], eax
.L16:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jle	.L18
.L12:
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	cmp	DWORD PTR -152[rbp], eax
	jg	.L19
	mov	edx, DWORD PTR -156[rbp]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -132[rbp], eax
.L19:
	mov	edx, DWORD PTR -156[rbp]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	cmp	eax, 15
	jle	.L20
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1
.L20:
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	je	.L21
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -144[rbp], eax
	jmp	.L22
.L23:
	mov	eax, DWORD PTR -144[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -144[rbp], edx
	add	DWORD PTR -152[rbp], 1
	cdqe
	mov	edx, DWORD PTR -80[rbp+rax*4]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	mov	DWORD PTR -80[rbp+rax*4], edx
.L22:
	cmp	DWORD PTR -144[rbp], 0
	jne	.L23
.L21:
	mov	edx, DWORD PTR -156[rbp]
	mov	eax, DWORD PTR -152[rbp]
	sub	eax, edx
	cdqe
	mov	eax, DWORD PTR -80[rbp+rax*4]
	mov	DWORD PTR -136[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	test	eax, eax
	jle	.L24
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	mov	eax, DWORD PTR -80[rbp+rax*4]
	cmp	DWORD PTR -136[rbp], eax
	cmovge	eax, DWORD PTR -136[rbp]
	mov	DWORD PTR -136[rbp], eax
.L24:
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -88[rbp], rax
	sub	QWORD PTR -120[rbp], 4
	sub	QWORD PTR -104[rbp], 4
	sub	QWORD PTR -112[rbp], 4
	sub	QWORD PTR -96[rbp], 4
	sub	QWORD PTR -88[rbp], 4
	mov	r9d, DWORD PTR -192[rbp]
	mov	r8d, DWORD PTR -188[rbp]
	mov	ecx, DWORD PTR -128[rbp]
	mov	edx, DWORD PTR -124[rbp]
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	lea	rdi, -80[rbp]
	push	rdi
	push	QWORD PTR -88[rbp]
	push	QWORD PTR -96[rbp]
	push	QWORD PTR -104[rbp]
	push	QWORD PTR -112[rbp]
	push	QWORD PTR -120[rbp]
	lea	rdi, -156[rbp]
	push	rdi
	mov	edi, DWORD PTR -152[rbp]
	push	rdi
	mov	rdi, rax
	mov	eax, 0
	call	fftmx
	add	rsp, 64
	add	QWORD PTR -120[rbp], 4
	add	QWORD PTR -104[rbp], 4
	add	QWORD PTR -112[rbp], 4
	add	QWORD PTR -96[rbp], 4
	add	QWORD PTR -88[rbp], 4
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1
.L27:
	nop
.L1:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	fft_, .-fft_
	.globl	fftmx
	.type	fftmx, @function
fftmx:
.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, 240
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	DWORD PTR -228[rbp], edx
	mov	DWORD PTR -232[rbp], ecx
	mov	DWORD PTR -236[rbp], r8d
	mov	DWORD PTR -240[rbp], r9d
	mov	eax, DWORD PTR -240[rbp]
	cdq
	mov	eax, edx
	xor	eax, DWORD PTR -240[rbp]
	sub	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	imul	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR -148[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	imul	eax, DWORD PTR -236[rbp]
	mov	DWORD PTR -72[rbp], eax
	movss	xmm0, DWORD PTR .LC2[rip]
	movss	DWORD PTR -100[rbp], xmm0
	movss	xmm0, DWORD PTR .LC3[rip]
	movss	DWORD PTR -68[rbp], xmm0
	movss	xmm0, DWORD PTR .LC4[rip]
	movss	DWORD PTR -84[rbp], xmm0
	movss	xmm0, DWORD PTR .LC5[rip]
	movss	DWORD PTR -80[rbp], xmm0
	cmp	DWORD PTR -240[rbp], 0
	jns	.L29
	movss	xmm0, DWORD PTR -84[rbp]
	movss	xmm1, DWORD PTR .LC6[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -84[rbp], xmm0
	movss	xmm0, DWORD PTR -80[rbp]
	movss	xmm1, DWORD PTR .LC6[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -80[rbp], xmm0
	movss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR .LC6[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -100[rbp], xmm0
	jmp	.L30
.L29:
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -232[rbp]
	movsd	xmm0, QWORD PTR .LC7[rip]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -140[rbp], xmm0
	mov	DWORD PTR -196[rbp], 1
	jmp	.L31
.L32:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	mulss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	mulss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -196[rbp], eax
.L31:
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jle	.L32
.L30:
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdq
	idiv	DWORD PTR -232[rbp]
	mov	DWORD PTR -192[rbp], eax
	mov	DWORD PTR -60[rbp], 32
	mov	eax, DWORD PTR -60[rbp]
	imul	eax, DWORD PTR -192[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -200[rbp], 0
	mov	DWORD PTR -188[rbp], 0
	mov	rax, QWORD PTR 24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	sub	eax, edx
	mov	DWORD PTR -156[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L165
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -156[rbp], eax
	cmovge	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -156[rbp], eax
	jmp	.L47
.L165:
	nop
.L33:
.L47:
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR .LC8[rip]
	mulsd	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -160[rbp]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -52[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -52[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -100[rbp]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sin@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -8[rbp]
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -48[rbp], xmm0
	movss	xmm0, DWORD PTR -52[rbp]
	mulss	xmm0, DWORD PTR -100[rbp]
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rax, xmm3
	movq	xmm0, rax
	call	sin@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -44[rbp], xmm0
	mov	DWORD PTR -164[rbp], 1
	add	DWORD PTR -200[rbp], 1
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L166
	mov	eax, DWORD PTR -160[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	add	eax, 2
	mov	DWORD PTR -176[rbp], eax
.L36:
.L37:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	subss	xmm0, DWORD PTR -124[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	addss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, DWORD PTR -124[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -172[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L37
	mov	eax, DWORD PTR -64[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jle	.L37
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jg	.L167
	nop
.L38:
	movss	xmm0, DWORD PTR .LC10[rip]
	subss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR -112[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	movss	DWORD PTR -96[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cmp	DWORD PTR -56[rbp], eax
	cmovle	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L42
.L168:
	nop
.L41:
	movss	xmm0, DWORD PTR -48[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -112[rbp]
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -96[rbp]
	addss	xmm1, xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR -48[rbp]
	mulss	xmm1, DWORD PTR -96[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR -96[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -96[rbp], xmm0
	movss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR -112[rbp], xmm0
.L40:
.L42:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	mulss	xmm0, DWORD PTR -140[rbp]
	movss	xmm1, DWORD PTR -96[rbp]
	mulss	xmm1, DWORD PTR -124[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -96[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -140[rbp]
	movss	xmm0, DWORD PTR -112[rbp]
	mulss	xmm0, DWORD PTR -124[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -172[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L42
	mov	eax, DWORD PTR -164[rbp]
	sub	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR -172[rbp], eax
	movss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR .LC6[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -112[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	sub	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jg	.L42
	mov	eax, DWORD PTR -192[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jle	.L168
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L169
	mov	eax, DWORD PTR -76[rbp]
	add	eax, eax
	add	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	sub	eax, DWORD PTR -160[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR -192[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -192[rbp]
	add	eax, eax
	cmp	DWORD PTR -164[rbp], eax
	jg	.L47
	jmp	.L38
.L169:
	nop
.L45:
	mov	eax, DWORD PTR -164[rbp]
	sub	eax, 1
	cdq
	idiv	DWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -52[rbp]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -100[rbp]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, DWORD PTR -96[rbp]
	movq	rax, xmm4
	movq	xmm0, rax
	call	cos@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -112[rbp], xmm0
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -96[rbp]
	movq	rax, xmm5
	movq	xmm0, rax
	call	sin@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	edx, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	mov	edx, DWORD PTR -176[rbp]
	mov	ecx, edx
	shr	ecx, 31
	add	edx, ecx
	sar	edx
	cmp	eax, edx
	cmovg	eax, edx
	mov	DWORD PTR -152[rbp], eax
	jmp	.L42
.L48:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -144[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -128[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	addss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	addss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -140[rbp]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, DWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -140[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -124[rbp]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, DWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR -80[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -144[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR -80[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -128[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	subss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	addss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	addss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	subss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -172[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jge	.L49
	jmp	.L48
.L49:
	mov	eax, DWORD PTR -64[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jg	.L170
	jmp	.L48
.L166:
	nop
.L35:
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L171
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	lea	edx, 3[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 2
	mov	DWORD PTR -160[rbp], eax
.L54:
	movss	xmm0, DWORD PTR .LC10[rip]
	movss	DWORD PTR -112[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	eax, DWORD PTR -160[rbp]
	cmp	DWORD PTR -56[rbp], eax
	cmovle	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L55
.L175:
	nop
.L56:
	movss	xmm0, DWORD PTR -48[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -112[rbp]
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -96[rbp]
	addss	xmm1, xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -108[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR -48[rbp]
	mulss	xmm1, DWORD PTR -96[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR -96[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -96[rbp], xmm0
	movss	xmm0, DWORD PTR -108[rbp]
	movss	DWORD PTR -112[rbp], xmm0
.L57:
	movss	xmm0, DWORD PTR -112[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR -96[rbp]
	movaps	xmm2, xmm0
	mulss	xmm2, xmm0
	subss	xmm1, xmm2
	movaps	xmm0, xmm1
	movss	DWORD PTR -108[rbp], xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	mulss	xmm0, DWORD PTR -96[rbp]
	addss	xmm0, xmm0
	movss	DWORD PTR -92[rbp], xmm0
	movss	xmm0, DWORD PTR -108[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR -92[rbp]
	mulss	xmm1, DWORD PTR -96[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -104[rbp], xmm0
	movss	xmm0, DWORD PTR -108[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -96[rbp]
	movss	xmm0, DWORD PTR -92[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -88[rbp], xmm0
.L55:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	edx, DWORD PTR -172[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -168[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -132[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -136[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -36[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -32[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -132[rbp]
	addss	xmm0, DWORD PTR -36[rbp]
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -132[rbp]
	subss	xmm0, DWORD PTR -36[rbp]
	movss	DWORD PTR -36[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -116[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -120[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -28[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -24[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -116[rbp]
	addss	xmm0, DWORD PTR -28[rbp]
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -116[rbp]
	subss	xmm0, DWORD PTR -28[rbp]
	movss	DWORD PTR -28[rbp], xmm0
	cmp	DWORD PTR -240[rbp], 0
	js	.L172
	movss	xmm0, DWORD PTR -136[rbp]
	subss	xmm0, DWORD PTR -24[rbp]
	movss	DWORD PTR -132[rbp], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	addss	xmm0, DWORD PTR -24[rbp]
	movss	DWORD PTR -136[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	addss	xmm0, DWORD PTR -32[rbp]
	movss	DWORD PTR -116[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	subss	xmm0, DWORD PTR -32[rbp]
	movss	DWORD PTR -120[rbp], xmm0
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -96[rbp]
	jp	.L60
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -96[rbp]
	je	.L173
	jmp	.L60
.L178:
	nop
.L60:
	movss	xmm0, DWORD PTR -132[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR -116[rbp]
	mulss	xmm1, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -132[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -96[rbp]
	movss	xmm0, DWORD PTR -116[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -36[rbp]
	mulss	xmm0, DWORD PTR -108[rbp]
	movss	xmm1, DWORD PTR -28[rbp]
	mulss	xmm1, DWORD PTR -92[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -36[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -92[rbp]
	movss	xmm0, DWORD PTR -28[rbp]
	mulss	xmm0, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	mulss	xmm0, DWORD PTR -104[rbp]
	movss	xmm1, DWORD PTR -120[rbp]
	mulss	xmm1, DWORD PTR -88[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -88[rbp]
	movss	xmm0, DWORD PTR -120[rbp]
	mulss	xmm0, DWORD PTR -104[rbp]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -168[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jg	.L174
	jmp	.L55
.L174:
	nop
	jmp	.L63
.L179:
	nop
.L63:
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -192[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jle	.L175
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L176
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jg	.L67
	jmp	.L54
.L67:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	je	.L177
	jmp	.L47
.L172:
	nop
.L59:
	movss	xmm0, DWORD PTR -136[rbp]
	addss	xmm0, DWORD PTR -24[rbp]
	movss	DWORD PTR -132[rbp], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	subss	xmm0, DWORD PTR -24[rbp]
	movss	DWORD PTR -136[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	subss	xmm0, DWORD PTR -32[rbp]
	movss	DWORD PTR -116[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	addss	xmm0, DWORD PTR -32[rbp]
	movss	DWORD PTR -120[rbp], xmm0
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -96[rbp]
	jp	.L178
	pxor	xmm0, xmm0
	comiss	xmm0, DWORD PTR -96[rbp]
	jne	.L178
	jmp	.L62
.L173:
	nop
.L62:
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -132[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -116[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -36[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -28[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -136[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -120[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -168[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jg	.L179
	jmp	.L55
.L176:
	nop
.L66:
	mov	eax, DWORD PTR -164[rbp]
	sub	eax, 1
	cdq
	idiv	DWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -52[rbp]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -100[rbp]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, DWORD PTR -96[rbp]
	movq	rax, xmm6
	movq	xmm0, rax
	call	cos@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -112[rbp], xmm0
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, DWORD PTR -96[rbp]
	movq	rax, xmm7
	movq	xmm0, rax
	call	sin@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	edx, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	cmp	DWORD PTR -160[rbp], eax
	cmovle	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L57
.L181:
	nop
.L71:
	movss	xmm0, DWORD PTR -68[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR -84[rbp]
	movaps	xmm2, xmm0
	mulss	xmm2, xmm0
	subss	xmm1, xmm2
	movaps	xmm0, xmm1
	movss	DWORD PTR -108[rbp], xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -68[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -84[rbp]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -92[rbp], xmm0
.L72:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	edx, DWORD PTR -172[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -168[rbp], eax
	mov	edx, DWORD PTR -168[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -132[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -136[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -116[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -120[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -36[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -32[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	movss	DWORD PTR -28[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -24[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -20[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -16[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	addss	xmm0, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	addss	xmm0, DWORD PTR -36[rbp]
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -16[rbp]
	addss	xmm0, DWORD PTR -116[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, DWORD PTR -28[rbp]
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -132[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -68[rbp]
	movss	xmm0, DWORD PTR -36[rbp]
	mulss	xmm0, DWORD PTR -108[rbp]
	addss	xmm0, xmm1
	movss	xmm1, DWORD PTR -20[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -116[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -68[rbp]
	movss	xmm0, DWORD PTR -28[rbp]
	mulss	xmm0, DWORD PTR -108[rbp]
	addss	xmm0, xmm1
	movss	xmm1, DWORD PTR -16[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -124[rbp], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -84[rbp]
	movss	xmm0, DWORD PTR -32[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -144[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -84[rbp]
	movss	xmm0, DWORD PTR -24[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -128[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	subss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	addss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	addss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	subss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -132[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -108[rbp]
	movss	xmm0, DWORD PTR -36[rbp]
	mulss	xmm0, DWORD PTR -68[rbp]
	addss	xmm0, xmm1
	movss	xmm1, DWORD PTR -20[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -116[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -108[rbp]
	movss	xmm0, DWORD PTR -28[rbp]
	mulss	xmm0, DWORD PTR -68[rbp]
	addss	xmm0, xmm1
	movss	xmm1, DWORD PTR -16[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -124[rbp], xmm0
	movss	xmm0, DWORD PTR -136[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	movss	xmm1, DWORD PTR -32[rbp]
	mulss	xmm1, DWORD PTR -84[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -144[rbp], xmm0
	movss	xmm0, DWORD PTR -120[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	movss	xmm1, DWORD PTR -24[rbp]
	mulss	xmm1, DWORD PTR -84[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -128[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	subss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	addss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	addss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	subss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jge	.L73
	jmp	.L72
.L73:
	mov	eax, DWORD PTR -64[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jg	.L180
	jmp	.L72
.L171:
	nop
.L53:
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	cdq
	idiv	DWORD PTR -180[rbp]
	mov	DWORD PTR -160[rbp], eax
	cmp	DWORD PTR -180[rbp], 3
	jne	.L75
	jmp	.L48
.L75:
	cmp	DWORD PTR -180[rbp], 5
	je	.L181
	mov	eax, DWORD PTR -180[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	je	.L182
	mov	eax, DWORD PTR -180[rbp]
	mov	DWORD PTR -188[rbp], eax
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -100[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -180[rbp]
	movsd	xmm2, QWORD PTR .LC8[rip]
	divsd	xmm1, xmm2
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, DWORD PTR -96[rbp]
	movq	rax, xmm3
	movq	xmm0, rax
	call	cos@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -112[rbp], xmm0
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, DWORD PTR -96[rbp]
	movq	rax, xmm4
	movq	xmm0, rax
	call	sin@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR .LC10[rip]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	mov	DWORD PTR -196[rbp], 1
	jmp	.L79
.L80:
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mulss	xmm1, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	sub	DWORD PTR -180[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR .LC6[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -196[rbp], 1
.L79:
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jl	.L80
	jmp	.L89
.L182:
	nop
.L78:
.L89:
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -176[rbp], eax
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -20[rbp], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -16[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -16[rbp]
	movss	DWORD PTR -124[rbp], xmm0
	mov	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -176[rbp], eax
.L81:
.L82:
	mov	eax, DWORD PTR -160[rbp]
	sub	DWORD PTR -172[rbp], eax
	add	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	xmm1, DWORD PTR -140[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	xmm1, DWORD PTR -124[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -124[rbp], xmm0
	add	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L82
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -176[rbp], eax
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	DWORD PTR -196[rbp], 1
.L83:
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	sub	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR -184[rbp], eax
	movss	xmm0, DWORD PTR -20[rbp]
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -16[rbp]
	movss	DWORD PTR -124[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -144[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -128[rbp], xmm0
	mov	DWORD PTR -180[rbp], 1
.L84:
.L86:
	add	DWORD PTR -180[rbp], 1
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -140[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -124[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -124[rbp], xmm0
	add	DWORD PTR -180[rbp], 1
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -144[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -144[rbp], xmm0
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -128[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -128[rbp], xmm0
	mov	eax, DWORD PTR -196[rbp]
	add	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jle	.L85
	mov	eax, DWORD PTR -188[rbp]
	sub	DWORD PTR -184[rbp], eax
.L85:
	mov	eax, DWORD PTR -180[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L86
	mov	eax, DWORD PTR -188[rbp]
	sub	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	subss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	addss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	addss	xmm0, DWORD PTR -128[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	subss	xmm0, DWORD PTR -144[rbp]
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jge	.L87
	jmp	.L83
.L87:
	mov	eax, DWORD PTR -40[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jg	.L88
	jmp	.L89
.L88:
	mov	eax, DWORD PTR -64[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jg	.L183
	jmp	.L89
.L170:
	nop
	jmp	.L51
.L180:
	nop
	jmp	.L51
.L183:
	nop
.L51:
	mov	eax, DWORD PTR -200[rbp]
	cmp	eax, DWORD PTR 16[rbp]
	je	.L184
	mov	eax, DWORD PTR -192[rbp]
	add	eax, 1
	mov	DWORD PTR -164[rbp], eax
.L91:
	movss	xmm0, DWORD PTR .LC10[rip]
	subss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR -108[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	movss	DWORD PTR -96[rbp], xmm0
	mov	eax, DWORD PTR -160[rbp]
	cmp	DWORD PTR -56[rbp], eax
	cmovle	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L92
.L185:
	nop
.L93:
	movss	xmm0, DWORD PTR -48[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -112[rbp]
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -96[rbp]
	addss	xmm1, xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	subss	xmm0, xmm1
	movss	DWORD PTR -108[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, DWORD PTR -112[rbp]
	movss	xmm1, DWORD PTR -48[rbp]
	mulss	xmm1, DWORD PTR -96[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR -96[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -96[rbp], xmm0
.L92:
	movss	xmm0, DWORD PTR -108[rbp]
	movss	DWORD PTR -112[rbp], xmm0
	movss	xmm0, DWORD PTR -96[rbp]
	movss	DWORD PTR -92[rbp], xmm0
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -164[rbp], eax
.L94:
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -108[rbp]
	mulss	xmm0, DWORD PTR -140[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mulss	xmm1, DWORD PTR -92[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	subss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movss	xmm0, DWORD PTR -92[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -140[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm0, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	addss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -40[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jg	.L95
	jmp	.L94
.L95:
	movss	xmm0, DWORD PTR -96[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	movss	DWORD PTR -140[rbp], xmm0
	movss	xmm0, DWORD PTR -96[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -108[rbp]
	movss	xmm0, DWORD PTR -112[rbp]
	mulss	xmm0, DWORD PTR -92[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -92[rbp], xmm0
	movss	xmm0, DWORD PTR -112[rbp]
	mulss	xmm0, DWORD PTR -108[rbp]
	subss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR -108[rbp], xmm0
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -160[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jg	.L96
	jmp	.L94
.L96:
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, DWORD PTR -192[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jle	.L185
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L186
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, DWORD PTR -192[rbp]
	sub	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -192[rbp]
	add	eax, eax
	cmp	DWORD PTR -164[rbp], eax
	jg	.L47
	jmp	.L91
.L186:
	nop
.L99:
	mov	eax, DWORD PTR -164[rbp]
	sub	eax, 1
	cdq
	idiv	DWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -52[rbp]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -100[rbp]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -96[rbp]
	movq	rax, xmm5
	movq	xmm0, rax
	call	cos@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -108[rbp], xmm0
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, DWORD PTR -96[rbp]
	movq	rax, xmm6
	movq	xmm0, rax
	call	sin@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	edx, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	cmp	DWORD PTR -160[rbp], eax
	cmovle	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L92
.L167:
	nop
	jmp	.L39
.L177:
	nop
	jmp	.L39
.L184:
	nop
.L39:
	mov	rax, QWORD PTR 64[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L187
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR 16[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jge	.L103
	sub	DWORD PTR -180[rbp], 1
.L103:
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -192[rbp]
	mov	DWORD PTR [rdx], eax
.L104:
	mov	DWORD PTR -196[rbp], 1
	jmp	.L105
.L106:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR 72[rbp]
	add	rdx, rcx
	mov	edi, DWORD PTR [rdx]
	mov	ecx, DWORD PTR -196[rbp]
	movsx	rcx, ecx
	add	rcx, 1
	lea	rsi, 0[0+rcx*4]
	mov	rcx, QWORD PTR 64[rbp]
	add	rcx, rsi
	cdq
	idiv	edi
	mov	DWORD PTR [rcx], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	mov	rdx, QWORD PTR 64[rbp]
	add	rdx, rsi
	imul	eax, ecx
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -196[rbp], 1
	sub	DWORD PTR -180[rbp], 1
.L105:
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jl	.L106
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR 64[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -192[rbp]
	add	eax, 1
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	add	eax, 1
	mov	DWORD PTR -172[rbp], eax
	mov	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -232[rbp]
	cmp	eax, DWORD PTR -228[rbp]
	je	.L188
	jmp	.L118
.L188:
	nop
.L107:
.L109:
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L109
	nop
.L110:
.L111:
	mov	eax, DWORD PTR -196[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -196[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -172[rbp], eax
	jg	.L111
	mov	DWORD PTR -196[rbp], 1
.L112:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jge	.L113
	jmp	.L109
.L113:
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L114
	jmp	.L112
.L114:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L115
	jmp	.L111
.L115:
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -192[rbp], eax
	jmp	.L102
.L108:
.L118:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -192[rbp]
	add	eax, edx
	mov	DWORD PTR -180[rbp], eax
.L116:
.L117:
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -140[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -140[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -124[rbp], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -124[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -180[rbp]
	jl	.L117
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, DWORD PTR -192[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, DWORD PTR -192[rbp]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L118
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -160[rbp]
	sub	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -192[rbp]
	sub	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L118
	nop
.L119:
.L120:
	mov	eax, DWORD PTR -196[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -196[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -172[rbp], eax
	jg	.L120
	mov	DWORD PTR -196[rbp], 1
.L121:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jge	.L122
	jmp	.L118
.L122:
	mov	eax, DWORD PTR -192[rbp]
	add	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	add	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L123
	jmp	.L121
.L123:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L124
	jmp	.L120
.L124:
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -192[rbp], eax
	jmp	.L102
.L187:
	nop
.L102:
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	add	eax, 1
	cmp	DWORD PTR 16[rbp], eax
	jle	.L189
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR 24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	sub	eax, edx
	mov	DWORD PTR -196[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L127:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	mov	rdx, QWORD PTR 72[rbp]
	add	rdx, rsi
	imul	eax, ecx
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -196[rbp], 1
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -196[rbp], eax
	je	.L128
	jmp	.L127
.L128:
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR 24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -184[rbp], 0
	mov	DWORD PTR -196[rbp], 0
	jmp	.L129
.L190:
	nop
.L130:
	mov	eax, DWORD PTR -172[rbp]
	sub	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -172[rbp], eax
	add	DWORD PTR -180[rbp], 1
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -164[rbp], eax
.L131:
	mov	eax, DWORD PTR -164[rbp]
	add	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jge	.L190
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR [rdx], eax
.L129:
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -164[rbp], eax
	add	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jg	.L133
	jmp	.L131
.L133:
	mov	DWORD PTR -196[rbp], 0
	jmp	.L134
.L135:
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -164[rbp]
	neg	edx
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	je	.L136
	jmp	.L135
.L136:
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -168[rbp], eax
.L134:
	add	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	jns	.L137
	jmp	.L134
.L137:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	je	.L138
	jmp	.L135
.L138:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -196[rbp]
	neg	edx
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	je	.L139
	jmp	.L134
.L139:
	mov	eax, DWORD PTR -156[rbp]
	imul	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -156[rbp], eax
	jmp	.L140
.L141:
	sub	DWORD PTR -196[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L142
	jmp	.L141
.L142:
	mov	eax, DWORD PTR -192[rbp]
	mov	DWORD PTR -184[rbp], eax
.L143:
	mov	eax, DWORD PTR -184[rbp]
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -156[rbp]
	jle	.L144
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -160[rbp], eax
.L144:
	mov	eax, DWORD PTR -160[rbp]
	sub	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -192[rbp]
	imul	eax, DWORD PTR -180[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -200[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	DWORD PTR -172[rbp], 0
.L145:
	add	DWORD PTR -172[rbp], 1
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	je	.L191
	jmp	.L145
.L191:
	nop
.L146:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -180[rbp]
	add	eax, edx
	imul	eax, DWORD PTR -192[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -176[rbp]
	sub	eax, edx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	neg	eax
	mov	DWORD PTR -180[rbp], eax
.L147:
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	je	.L148
	jmp	.L147
.L148:
	mov	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR -164[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	je	.L149
	jmp	.L146
.L149:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	mov	DWORD PTR -176[rbp], eax
	mov	DWORD PTR -172[rbp], 0
.L150:
	add	DWORD PTR -172[rbp], 1
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -216[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 48[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -176[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	je	.L151
	jmp	.L150
.L151:
	cmp	DWORD PTR -184[rbp], 0
	je	.L152
	jmp	.L143
.L152:
	cmp	DWORD PTR -196[rbp], 1
	je	.L192
	jmp	.L141
.L192:
	nop
.L140:
	mov	eax, DWORD PTR -168[rbp]
	add	eax, 1
	mov	DWORD PTR -196[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	sub	DWORD PTR -148[rbp], eax
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -200[rbp], eax
	cmp	DWORD PTR -148[rbp], 0
	js	.L193
	jmp	.L141
.L189:
	nop
	jmp	.L28
.L193:
	nop
.L28:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	fftmx, .-fftmx
	.section	.rodata
	.align 8
.LC13:
	.string	"\nerror - zero in reals parameters : %d : %d "
	.text
	.globl	reals_
	.type	reals_, @function
reals_:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	DWORD PTR -164[rbp], edx
	mov	DWORD PTR -168[rbp], ecx
	sub	QWORD PTR -152[rbp], 4
	sub	QWORD PTR -160[rbp], 4
	mov	eax, DWORD PTR -168[rbp]
	cdq
	mov	eax, edx
	xor	eax, DWORD PTR -168[rbp]
	sub	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	cdq
	mov	eax, edx
	xor	eax, DWORD PTR -164[rbp]
	sub	eax, edx
	mov	DWORD PTR -124[rbp], eax
	mov	eax, DWORD PTR -124[rbp]
	imul	eax, DWORD PTR -168[rbp]
	test	eax, eax
	jne	.L204
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -168[rbp]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L194
.L204:
	nop
.L195:
	mov	eax, DWORD PTR -124[rbp]
	imul	eax, DWORD PTR -128[rbp]
	add	eax, 2
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -116[rbp], eax
	movsd	xmm0, QWORD PTR .LC14[rip]
	movsd	QWORD PTR -80[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -124[rbp]
	movsd	xmm0, QWORD PTR .LC15[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -80[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	sin@PLT
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	addsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	sin@PLT
	movq	rax, xmm0
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -112[rbp], 32
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -136[rbp], eax
	mov	DWORD PTR -132[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -88[rbp], xmm0
	cmp	DWORD PTR -168[rbp], 0
	jns	.L197
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -104[rbp], xmm0
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -152[rbp]
	movss	xmm0, DWORD PTR 4[rax]
	movss	DWORD PTR [rdx], xmm0
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -160[rbp]
	movss	xmm0, DWORD PTR 4[rax]
	movss	DWORD PTR [rdx], xmm0
	jmp	.L198
.L197:
	movsd	xmm0, QWORD PTR .LC17[rip]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	movq	xmm1, QWORD PTR .LC18[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
.L198:
	mov	DWORD PTR -140[rbp], 1
	jmp	.L199
.L203:
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	addss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	subss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	mulsd	xmm1, QWORD PTR -40[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -132[rbp], 1
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -136[rbp]
	je	.L200
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	mulsd	xmm1, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -88[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	jmp	.L201
.L200:
	mov	eax, DWORD PTR -112[rbp]
	add	DWORD PTR -136[rbp], eax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -132[rbp]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	mov	rax, QWORD PTR -88[rbp]
	movq	xmm0, rax
	call	cos@PLT
	movq	rax, xmm0
	mov	QWORD PTR -104[rbp], rax
	cmp	DWORD PTR -168[rbp], 0
	jle	.L202
	movsd	xmm0, QWORD PTR -104[rbp]
	movq	xmm1, QWORD PTR .LC18[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
.L202:
	mov	rax, QWORD PTR -88[rbp]
	movq	xmm0, rax
	call	sin@PLT
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
.L201:
	mov	eax, DWORD PTR -128[rbp]
	add	DWORD PTR -140[rbp], eax
.L199:
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -116[rbp]
	jle	.L203
	nop
.L194:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	reals_, .-reals_
	.section	.rodata
	.align 4
.LC2:
	.long	1061752795
	.align 4
.LC3:
	.long	1050556282
	.align 4
.LC4:
	.long	1064532081
	.align 4
.LC5:
	.long	1063105495
	.align 16
.LC6:
	.long	-2147483648
	.long	0
	.long	0
	.long	0
	.align 8
.LC7:
	.long	0
	.long	1072693248
	.align 8
.LC8:
	.long	0
	.long	1075838976
	.align 8
.LC9:
	.long	0
	.long	1071644672
	.align 4
.LC10:
	.long	1065353216
	.align 8
.LC11:
	.long	0
	.long	-1075838976
	.align 8
.LC14:
	.long	1413754136
	.long	1072243195
	.align 8
.LC15:
	.long	0
	.long	-1072693248
	.align 8
.LC17:
	.long	0
	.long	-1074790400
	.align 16
.LC18:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"212642631.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012error - zero in fft parameters %d %d %d %d\000"
	.global	__aeabi_idiv
	.global	__aeabi_idivmod
	.align	2
.LC1:
	.ascii	"\012error - fft parameter n has more than 15 factor"
	.ascii	"s : %d\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fft_
	.syntax unified
	.arm
	.fpu softvfp
	.type	fft_, %function
fft_:
	@ args = 8, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #184
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	str	r2, [fp, #-144]
	str	r3, [fp, #-148]
	ldr	r3, .L28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-136]
	sub	r3, r3, #4
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #4
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	beq	.L27
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #4]
	mul	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #4]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-144]
	mul	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-96]
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-96]
	mul	r3, r2, r3
	cmp	r3, #0
	bne	.L4
	ldr	r3, .L28+4
	ldr	r0, [r3]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-144]
	ldr	r1, .L28+8
	bl	fprintf
	b	.L1
.L4:
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L5
.L6:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #4
	str	r2, [r3, #-68]
	ldr	r3, [fp, #-120]
	add	r2, r3, #15
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #4
	str	r3, [fp, #-120]
.L5:
	ldr	r3, [fp, #-120]
	and	r3, r3, #15
	cmp	r3, #0
	beq	.L6
	mov	r3, #3
	str	r3, [fp, #-116]
	mov	r3, #9
	str	r3, [fp, #-112]
	b	.L7
.L9:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-116]
	str	r2, [r3, #-68]
	ldr	r1, [fp, #-112]
	ldr	r0, [fp, #-120]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-120]
.L8:
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-112]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	cmp	r3, #0
	beq	.L9
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	str	r3, [fp, #-112]
.L7:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	ble	.L8
	ldr	r3, [fp, #-120]
	cmp	r3, #4
	bgt	.L11
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	str	r2, [r3, #-68]
	ldr	r3, [fp, #-120]
	cmp	r3, #1
	beq	.L12
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	b	.L12
.L11:
	ldr	r3, [fp, #-120]
	and	r3, r3, #3
	cmp	r3, #0
	bne	.L13
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #2
	str	r2, [r3, #-68]
	ldr	r3, [fp, #-120]
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	str	r3, [fp, #-120]
.L13:
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	bgt	.L14
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	lsl	r3, r3, #1
	b	.L15
.L14:
	ldr	r3, [fp, #-120]
	sub	r3, r3, #1
.L15:
	str	r3, [fp, #-104]
	mov	r3, #2
	str	r3, [fp, #-116]
	b	.L16
.L18:
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-116]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	cmp	r3, #0
	bne	.L17
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-116]
	str	r2, [r3, #-68]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-120]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-120]
.L17:
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L16:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	ble	.L18
.L12:
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bgt	.L19
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L19:
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	cmp	r3, #15
	ble	.L20
	ldr	r3, .L28+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-148]
	ldr	r1, .L28+12
	mov	r0, r3
	bl	fprintf
	b	.L1
.L20:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L21
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-116]
	b	.L22
.L23:
	ldr	r3, [fp, #-116]
	sub	r2, r3, #1
	str	r2, [fp, #-116]
	ldr	r2, [fp, #-124]
	add	r2, r2, #1
	str	r2, [fp, #-124]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-68]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-68]
.L22:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L23
.L21:
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-124]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	ble	.L24
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-68]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	movge	r3, r2
	movlt	r3, r3
	str	r3, [fp, #-108]
.L24:
	ldr	r3, [fp, #-108]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-108]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-108]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-108]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-92]
	sub	r3, r3, #4
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-84]
	sub	r3, r3, #4
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	sub	r3, r3, #4
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-80]
	sub	r3, r3, #4
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-76]
	sub	r3, r3, #4
	str	r3, [fp, #-76]
	sub	r3, fp, #72
	str	r3, [sp, #36]
	ldr	r3, [fp, #-76]
	str	r3, [sp, #32]
	ldr	r3, [fp, #-80]
	str	r3, [sp, #28]
	ldr	r3, [fp, #-84]
	str	r3, [sp, #24]
	ldr	r3, [fp, #-88]
	str	r3, [sp, #20]
	ldr	r3, [fp, #-92]
	str	r3, [sp, #16]
	sub	r3, fp, #128
	str	r3, [sp, #12]
	ldr	r3, [fp, #-124]
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-96]
	ldr	r1, [fp, #-140]
	ldr	r0, [fp, #-136]
	bl	fftmx
	ldr	r3, [fp, #-92]
	add	r3, r3, #4
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-84]
	add	r3, r3, #4
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	add	r3, r3, #4
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #4
	str	r3, [fp, #-76]
	ldr	r0, [fp, #-92]
	bl	free
	ldr	r0, [fp, #-80]
	bl	free
	ldr	r0, [fp, #-84]
	bl	free
	ldr	r0, [fp, #-88]
	bl	free
	ldr	r0, [fp, #-76]
	bl	free
	b	.L1
.L27:
	nop
.L1:
	ldr	r3, .L28
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L26
	bl	__stack_chk_fail
.L26:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC2
	.word	stderr
	.word	.LC0
	.word	.LC1
	.size	fft_, .-fft_
	.global	__aeabi_i2d
	.global	__aeabi_ddiv
	.global	__aeabi_d2f
	.global	__aeabi_fmul
	.global	__aeabi_dmul
	.global	__aeabi_f2d
	.global	__aeabi_dadd
	.global	__aeabi_fsub
	.global	__aeabi_fadd
	.global	__aeabi_fcmpeq
	.align	2
	.global	fftmx
	.syntax unified
	.arm
	.fpu softvfp
	.type	fftmx, %function
fftmx:
	@ args = 40, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #216
	str	r0, [fp, #-216]
	str	r1, [fp, #-220]
	str	r2, [fp, #-224]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-224]
	mul	r3, r2, r3
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #4]
	mul	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, .L195
	str	r3, [fp, #-112]	@ float
	ldr	r3, .L195+4
	str	r3, [fp, #-80]	@ float
	ldr	r3, .L195+8
	str	r3, [fp, #-96]	@ float
	ldr	r3, .L195+12
	str	r3, [fp, #-92]	@ float
	ldr	r3, [fp, #8]
	cmp	r3, #0
	bge	.L31
	ldr	r3, [fp, #-96]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-96]	@ float
	ldr	r3, [fp, #-92]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-92]	@ float
	ldr	r3, [fp, #-112]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-112]	@ float
	b	.L32
.L31:
	ldr	r0, [fp, #-228]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L195+16
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	mov	r3, #1
	str	r3, [fp, #-208]
	b	.L33
.L34:
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-152]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-152]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-208]
.L33:
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	ble	.L34
.L32:
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r1, [fp, #-228]
	ldr	r0, [fp, #-84]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-204]
	mov	r3, #32
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-204]
	mul	r3, r2, r3
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-212]
	mov	r3, #0
	str	r3, [fp, #-200]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	ldr	r2, [fp, #12]
	sub	r3, r2, r3
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L158
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	movge	r3, r2
	movlt	r3, r3
	str	r3, [fp, #-168]
	b	.L47
.L158:
	nop
.L35:
.L47:
	ldr	r0, [fp, #-204]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L195+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-172]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-64]	@ float
	ldr	r0, [fp, #-64]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L195+24
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-112]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-60]	@ float
	ldr	r1, [fp, #-112]	@ float
	ldr	r0, [fp, #-64]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-56]	@ float
	mov	r3, #1
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-212]
	add	r3, r3, #1
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-212]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L159
	ldr	r3, [fp, #-172]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-172]
	add	r3, r3, #2
	str	r3, [fp, #-188]
	b	.L38
.L160:
	nop
.L38:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-152]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-136]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	ble	.L160
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-204]
	cmp	r2, r3
	ble	.L160
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	bgt	.L161
	nop
.L39:
	ldr	r1, [fp, #-60]	@ float
	mov	r0, #1065353216
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-124]	@ float
	ldr	r3, [fp, #-56]	@ float
	str	r3, [fp, #-108]	@ float
	ldr	r3, [fp, #-188]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-68]
	cmp	r3, r2
	movlt	r3, r3
	movge	r3, r2
	str	r3, [fp, #-164]
	b	.L41
.L163:
	nop
.L42:
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-60]	@ 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, #-108]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r3, [fp, #-152]	@ float
	str	r3, [fp, #-124]	@ float
	b	.L41
.L162:
	nop
.L41:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-152]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-136]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-152]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-136]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	blt	.L162
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-124]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-124]	@ float
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bgt	.L162
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	ble	.L163
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	blt	.L164
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-188]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-204]
	add	r3, r3, r2
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bgt	.L47
	b	.L39
.L164:
	nop
.L45:
	ldr	r3, [fp, #-176]
	sub	r3, r3, #1
	ldr	r1, [fp, #-204]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-64]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-112]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-124]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-188]
	lsr	r1, r2, #31
	add	r2, r1, r2
	asr	r2, r2, #1
	cmp	r3, r2
	movlt	r3, r3
	movge	r3, r2
	str	r3, [fp, #-164]
	b	.L41
.L48:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-156]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-140]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-156]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L195+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-140]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L195+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-92]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-156]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-92]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-140]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bge	.L49
	b	.L48
.L49:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	bgt	.L165
	b	.L48
.L159:
	nop
.L37:
	ldr	r3, [fp, #-212]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L166
	ldr	r3, [fp, #-172]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-172]
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	str	r3, [fp, #-172]
.L54:
	mov	r3, #1065353216
	str	r3, [fp, #-124]	@ float
	mov	r3, #0
	str	r3, [fp, #-108]	@ float
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-164]
	b	.L55
.L196:
	.align	2
.L195:
	.word	1061752795
	.word	1050556282
	.word	1064532081
	.word	1063105495
	.word	1072693248
	.word	1075838976
	.word	1071644672
	.word	-1075838976
.L170:
	nop
.L56:
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-60]	@ 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, #-108]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r3, [fp, #-120]	@ float
	str	r3, [fp, #-124]	@ float
.L57:
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-104]	@ float
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-120]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-104]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-116]	@ float
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-120]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-104]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-100]	@ float
.L55:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-144]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-148]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-48]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-48]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-48]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-48]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-128]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-132]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-40]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-40]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L167
	ldr	r1, [fp, #-36]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-144]	@ float
	ldr	r1, [fp, #-36]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-148]	@ float
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-128]	@ float
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-132]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L168
	b	.L60
.L173:
	nop
.L60:
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-116]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-100]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-100]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r1, [fp, #-116]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	bgt	.L169
	b	.L55
.L169:
	nop
	b	.L63
.L174:
	nop
.L63:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-204]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	ble	.L170
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	blt	.L171
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-204]
	cmp	r2, r3
	bgt	.L67
	b	.L54
.L67:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-204]
	cmp	r2, r3
	beq	.L172
	b	.L47
.L167:
	nop
.L59:
	ldr	r1, [fp, #-36]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-144]	@ float
	ldr	r1, [fp, #-36]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-148]	@ float
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-128]	@ float
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-132]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L173
	b	.L62
.L168:
	nop
.L62:
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-144]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-128]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-148]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-132]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	bgt	.L174
	b	.L55
.L171:
	nop
.L66:
	ldr	r3, [fp, #-176]
	sub	r3, r3, #1
	ldr	r1, [fp, #-204]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-64]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-112]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-124]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-164]
	b	.L57
.L176:
	nop
.L71:
	ldr	r1, [fp, #-80]	@ float
	ldr	r0, [fp, #-80]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-96]	@ float
	ldr	r0, [fp, #-96]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r0, [fp, #-80]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-96]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-104]	@ float
.L72:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-144]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-148]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-128]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-132]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-48]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r1, [fp, #-144]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-48]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-128]	@ float
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-40]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-80]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r1, [fp, #-80]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r1, [fp, #-96]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-156]	@ float
	ldr	r1, [fp, #-96]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-140]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-144]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-80]	@ float
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-128]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-80]	@ float
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-148]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-96]	@ float
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-156]	@ float
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-132]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-96]	@ float
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-140]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bge	.L73
	b	.L72
.L73:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	bgt	.L175
	b	.L72
.L166:
	nop
.L53:
	ldr	r3, [fp, #-212]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-172]
	str	r3, [fp, #-52]
	ldr	r1, [fp, #-192]
	ldr	r0, [fp, #-172]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-192]
	cmp	r3, #3
	bne	.L75
	b	.L48
.L75:
	ldr	r3, [fp, #-192]
	cmp	r3, #5
	beq	.L176
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	beq	.L177
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-200]
	ldr	r0, [fp, #-112]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-192]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L197
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-124]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r3, [fp, #-200]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	mov	r2, #1065353216
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-200]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	mov	r3, #1
	str	r3, [fp, #-208]
	b	.L79
.L80:
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-124]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-108]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-108]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-124]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-192]
	sub	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r2, r2, r3
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r1, [fp, #24]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	ldr	r2, [r3]	@ float
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r1, [fp, #32]
	add	r3, r1, r3
	eor	r2, r2, #-2147483648
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
.L79:
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	blt	.L80
	b	.L87
.L177:
	nop
.L78:
.L87:
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-32]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-28]	@ float
	str	r3, [fp, #-136]	@ float
	mov	r3, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	b	.L81
.L178:
	nop
.L81:
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r4, r2, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r4, r2, r3
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r4, r2, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r4, r2, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	blt	.L178
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-152]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-136]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	mov	r3, #1
	str	r3, [fp, #-208]
.L82:
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-32]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-28]	@ float
	str	r3, [fp, #-136]	@ float
	mov	r3, #0
	str	r3, [fp, #-156]	@ float
	mov	r3, #0
	str	r3, [fp, #-140]	@ float
	mov	r3, #1
	str	r3, [fp, #-192]
	b	.L83
.L179:
	nop
.L83:
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-156]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-156]	@ float
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #32]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-140]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-140]	@ float
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	ble	.L84
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-200]
	sub	r3, r2, r3
	str	r3, [fp, #-196]
.L84:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L179
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-208]
	sub	r3, r2, r3
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	ldr	r1, [fp, #-140]	@ float
	ldr	r0, [fp, #-152]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	ldr	r1, [fp, #-156]	@ float
	ldr	r0, [fp, #-136]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	bge	.L85
	b	.L82
.L85:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bgt	.L86
	b	.L87
.L86:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-76]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	bgt	.L180
	b	.L87
.L165:
	nop
	b	.L51
.L175:
	nop
	b	.L51
.L180:
	nop
.L51:
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #12]
	cmp	r2, r3
	beq	.L181
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L89:
	ldr	r1, [fp, #-60]	@ float
	mov	r0, #1065353216
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r3, [fp, #-56]	@ float
	str	r3, [fp, #-108]	@ float
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-164]
	b	.L90
.L182:
	nop
.L91:
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r1, [fp, #-124]	@ float
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-108]	@ float
	ldr	r0, [fp, #-60]	@ 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, #-108]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
.L90:
	ldr	r3, [fp, #-120]	@ float
	str	r3, [fp, #-124]	@ float
	ldr	r3, [fp, #-108]	@ float
	str	r3, [fp, #-104]	@ float
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-176]
.L92:
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r1, [fp, #-152]	@ float
	ldr	r0, [fp, #-120]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-104]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r1, [fp, #-152]	@ float
	ldr	r0, [fp, #-104]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r5, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	ldr	r1, [fp, #-120]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r4, r2, r3
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	bgt	.L93
	b	.L92
.L93:
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-152]	@ float
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, [fp, #-104]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-104]	@ float
	ldr	r1, [fp, #-120]	@ float
	ldr	r0, [fp, #-124]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, [fp, #-152]	@ float
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bgt	.L94
	b	.L92
.L94:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-204]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	ble	.L182
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	blt	.L183
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-204]
	sub	r2, r2, r3
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bgt	.L47
	b	.L89
.L183:
	nop
.L97:
	ldr	r3, [fp, #-176]
	sub	r3, r3, #1
	ldr	r1, [fp, #-204]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-64]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-112]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-120]	@ float
	ldr	r0, [fp, #-108]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-108]	@ float
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-164]
	b	.L90
.L161:
	nop
	b	.L40
.L172:
	nop
	b	.L40
.L181:
	nop
.L40:
	ldr	r3, [fp, #36]
	add	r3, r3, #4
	ldr	r2, [fp, #-84]
	str	r2, [r3]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L184
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	bge	.L101
	ldr	r3, [fp, #-192]
	sub	r3, r3, #1
	str	r3, [fp, #-192]
.L101:
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [fp, #-204]
	str	r2, [r3]
.L102:
	mov	r3, #1
	str	r3, [fp, #-208]
	b	.L103
.L104:
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r4, r2, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r1, [fp, #40]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r0, [fp, #36]
	add	r3, r0, r3
	mul	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-192]
	sub	r3, r3, #1
	str	r3, [fp, #-192]
.L103:
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	blt	.L104
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	mov	r3, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-228]
	ldr	r3, [fp, #-224]
	cmp	r2, r3
	beq	.L185
	b	.L106
.L185:
	nop
.L105:
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-152]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-220]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-136]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	blt	.L185
.L186:
	nop
.L107:
	ldr	r3, [fp, #-208]
	add	r2, r3, #1
	str	r2, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	cmp	r2, r3
	bgt	.L186
	mov	r3, #1
	str	r3, [fp, #-208]
.L108:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bge	.L109
	b	.L105
.L109:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L110
	b	.L108
.L110:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L111
	b	.L107
.L111:
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-204]
	b	.L100
.L188:
	nop
.L106:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-192]
	b	.L112
.L198:
	.align	2
.L197:
	.word	1075838976
.L187:
	nop
.L112:
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-152]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r2, [fp, #-152]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-136]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-220]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-136]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	blt	.L187
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-204]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-204]
	sub	r3, r2, r3
	ldr	r2, [fp, #-184]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	blt	.L188
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	ldr	r2, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-204]
	sub	r3, r2, r3
	ldr	r2, [fp, #-176]
	sub	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	blt	.L188
.L189:
	nop
.L113:
	ldr	r3, [fp, #-208]
	add	r2, r3, #1
	str	r2, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-184]
	cmp	r2, r3
	bgt	.L189
	mov	r3, #1
	str	r3, [fp, #-208]
.L114:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bge	.L115
	b	.L106
.L115:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L116
	b	.L114
.L116:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L117
	b	.L113
.L117:
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-204]
	b	.L100
.L184:
	nop
.L100:
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r3, #1
	ldr	r2, [fp, #12]
	cmp	r2, r3
	ble	.L190
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	ldr	r2, [fp, #12]
	sub	r3, r2, r3
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L120:
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #40]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r0, [fp, #40]
	add	r3, r0, r3
	mul	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-208]
	cmp	r2, r3
	beq	.L121
	b	.L120
.L121:
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #16]
	str	r2, [r3]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-196]
	mov	r3, #0
	str	r3, [fp, #-208]
	b	.L122
.L191:
	nop
.L123:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-176]
.L124:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bge	.L191
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [fp, #-196]
	str	r2, [r3]
.L122:
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #40]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bgt	.L126
	b	.L124
.L126:
	mov	r3, #0
	str	r3, [fp, #-208]
	b	.L127
.L128:
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [fp, #-176]
	rsb	r2, r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-208]
	cmp	r2, r3
	beq	.L129
	b	.L128
.L129:
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-180]
.L127:
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	bge	.L130
	b	.L127
.L130:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-208]
	cmp	r2, r3
	beq	.L131
	b	.L128
.L131:
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [fp, #-208]
	rsb	r2, r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	beq	.L132
	b	.L127
.L132:
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-88]
	mul	r3, r2, r3
	str	r3, [fp, #-168]
	b	.L133
.L134:
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L135
	b	.L134
.L135:
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-196]
.L136:
	ldr	r3, [fp, #-196]
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	ble	.L137
	ldr	r3, [fp, #-168]
	str	r3, [fp, #-172]
.L137:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-192]
	mul	r2, r3, r2
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	ldr	r2, [fp, #-196]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	mov	r3, #0
	str	r3, [fp, #-184]
.L138:
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r2, r2, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r1, [fp, #20]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r2, r2, r3
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r1, [fp, #28]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	beq	.L192
	b	.L138
.L192:
	nop
.L139:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	ldr	r2, [fp, #-204]
	mul	r3, r2, r3
	ldr	r2, [fp, #-188]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #36]
	add	r3, r2, r3
	ldr	r3, [r3]
	rsb	r3, r3, #0
	str	r3, [fp, #-192]
.L140:
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r2, r2, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-220]
	add	r2, r2, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-220]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	beq	.L141
	b	.L140
.L141:
	ldr	r3, [fp, #-184]
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-208]
	cmp	r2, r3
	beq	.L142
	b	.L139
.L142:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	mov	r3, #0
	str	r3, [fp, #-184]
.L143:
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #20]
	add	r2, r2, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r2, r2, r3
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-220]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	beq	.L144
	b	.L143
.L144:
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L145
	b	.L136
.L145:
	ldr	r3, [fp, #-208]
	cmp	r3, #1
	beq	.L193
	b	.L134
.L193:
	nop
.L133:
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	blt	.L194
	b	.L134
.L190:
	nop
	b	.L30
.L194:
	nop
.L30:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	fftmx, .-fftmx
	.section	.rodata
	.align	2
.LC3:
	.ascii	"\012error - zero in reals parameters : %d : %d \000"
	.global	__aeabi_dsub
	.global	__aeabi_i2f
	.text
	.align	2
	.global	reals_
	.syntax unified
	.arm
	.fpu softvfp
	.type	reals_, %function
reals_:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #160
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	str	r2, [fp, #-176]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-168]
	sub	r3, r3, #4
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-172]
	sub	r3, r3, #4
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldr	r2, [fp, #-180]
	mul	r3, r2, r3
	cmp	r3, #0
	bne	.L209
	ldr	r3, .L210
	ldr	r0, [r3]
	ldr	r3, [fp, #-180]
	ldr	r2, [fp, #-176]
	ldr	r1, .L210+4
	bl	fprintf
	b	.L199
.L209:
	nop
.L200:
	ldr	r3, [fp, #-144]
	ldr	r2, [fp, #-148]
	mul	r3, r2, r3
	add	r3, r3, #2
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-140]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r2, .L210+8
	ldr	r3, .L210+12
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r0, [fp, #-144]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L210+16
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	mov	r2, #0
	ldr	r3, .L210+20
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	str	r0, [fp, #-116]
	str	r1, [fp, #-112]
	mov	r3, #32
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-152]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	bge	.L202
	mov	r2, #0
	ldr	r3, .L210+24
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r2, [fp, #-168]
	ldr	r2, [r2, #4]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-140]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldr	r2, [fp, #-172]
	ldr	r2, [r2, #4]	@ float
	str	r2, [r3]	@ float
	b	.L203
.L202:
	mov	r2, #0
	ldr	r3, .L210+28
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r6, [fp, #-116]
	ldr	r3, [fp, #-112]
	eor	r7, r3, #-2147483648
	str	r6, [fp, #-116]
	str	r7, [fp, #-112]
.L203:
	mov	r3, #1
	str	r3, [fp, #-160]
	b	.L204
.L208:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	sub	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L210+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r6, r2, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [r6]	@ float
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L210+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-172]
	add	r6, r2, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [r6]	@ float
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L210+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r6, r2, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [r6]	@ float
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L210+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r6, r2, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [r6]	@ float
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	beq	.L205
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L206
.L205:
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-156]
	ldr	r0, [fp, #-152]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	cos
	str	r0, [fp, #-124]
	str	r1, [fp, #-120]
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	ble	.L207
	ldr	r4, [fp, #-124]
	ldr	r3, [fp, #-120]
	eor	r5, r3, #-2147483648
	str	r4, [fp, #-124]
	str	r5, [fp, #-120]
.L207:
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	sin
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
.L206:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-160]
.L204:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	ble	.L208
	nop
.L199:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L211:
	.align	2
.L210:
	.word	stderr
	.word	.LC3
	.word	1413754136
	.word	1072243195
	.word	-1072693248
	.word	1071644672
	.word	1072693248
	.word	-1074790400
	.size	reals_, .-reals_
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
