	.file	"575597.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
.LC0:
	.string	"Sorry, not enough memory available\n"
	.text
	.type	add_ptlist, @function
add_ptlist:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	QWORD PTR -40[rbp], xmm1
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L2
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 35
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L2:
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	add_ptlist, .-add_ptlist
	.section	.rodata
	.align 8
.LC2:
	.string	"Function not bracketed in bisection2"
.LC5:
	.string	"Too many steps in bisection2"
	.text
	.type	bisection3, @function
bisection3:
.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, 96
	mov	QWORD PTR -56[rbp], rdi
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	QWORD PTR -72[rbp], xmm1
	movsd	QWORD PTR -80[rbp], xmm2
	movsd	QWORD PTR -88[rbp], xmm3
	movsd	QWORD PTR -96[rbp], xmm4
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L4
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L4
	movsd	xmm0, QWORD PTR -64[rbp]
	jmp	.L6
.L4:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L7
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L7
	movsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L6
.L7:
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L26
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 36
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L26:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L27
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L13
.L27:
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
.L13:
	mov	DWORD PTR -44[rbp], 1
	jmp	.L14
.L20:
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -16[rbp]
	jb	.L15
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
.L15:
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	comisd	xmm0, xmm1
	ja	.L17
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L18
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L18
.L17:
	movsd	xmm0, QWORD PTR -32[rbp]
	jmp	.L6
.L18:
	add	DWORD PTR -44[rbp], 1
.L14:
	cmp	DWORD PTR -44[rbp], 10000
	jle	.L20
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L6:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	bisection3, .-bisection3
	.type	bisection2, @function
bisection2:
.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, 96
	mov	QWORD PTR -56[rbp], rdi
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	QWORD PTR -72[rbp], xmm1
	movsd	QWORD PTR -80[rbp], xmm2
	movsd	QWORD PTR -88[rbp], xmm3
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L29
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L29
	movsd	xmm0, QWORD PTR -64[rbp]
	jmp	.L31
.L29:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L32
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L32
	movsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L31
.L32:
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L51
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 36
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L51:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L52
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L38
.L52:
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
.L38:
	mov	DWORD PTR -44[rbp], 1
	jmp	.L39
.L45:
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -16[rbp]
	jb	.L40
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
.L40:
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	comisd	xmm0, xmm1
	ja	.L42
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L43
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L43
.L42:
	movsd	xmm0, QWORD PTR -32[rbp]
	jmp	.L31
.L43:
	add	DWORD PTR -44[rbp], 1
.L39:
	cmp	DWORD PTR -44[rbp], 10000
	jle	.L45
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L31:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	bisection2, .-bisection2
	.section	.rodata
.LC6:
	.string	"Too many steps in get_rootdef"
	.text
	.type	get_rootdef, @function
get_rootdef:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -40[rbp], rdi
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	QWORD PTR -56[rbp], xmm1
	mov	DWORD PTR -60[rbp], esi
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	mov	DWORD PTR -64[rbp], edx
	movsd	QWORD PTR -88[rbp], xmm4
	mov	DWORD PTR -20[rbp], 1
	jmp	.L54
.L63:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	rcx
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L55
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L55
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L57
.L55:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L67
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L60
.L67:
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
.L60:
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	comisd	xmm0, xmm1
	jbe	.L68
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L57
.L68:
	add	DWORD PTR -20[rbp], 1
.L54:
	cmp	DWORD PTR -20[rbp], 10000
	jle	.L63
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 29
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L57:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	get_rootdef, .-get_rootdef
	.section	.rodata
	.align 8
.LC7:
	.string	"Too many steps in get_rootdefm"
	.text
	.type	get_rootdefm, @function
get_rootdefm:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -40[rbp], rdi
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	QWORD PTR -56[rbp], xmm1
	mov	DWORD PTR -60[rbp], esi
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	movsd	QWORD PTR -88[rbp], xmm4
	movsd	QWORD PTR -96[rbp], xmm5
	mov	DWORD PTR -64[rbp], edx
	movsd	QWORD PTR -104[rbp], xmm6
	mov	DWORD PTR -20[rbp], 1
	jmp	.L70
.L79:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm3, QWORD PTR -96[rbp]
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	rcx
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L71
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L71
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L73
.L71:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L83
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L76
.L83:
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
.L76:
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	comisd	xmm0, xmm1
	jbe	.L84
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L73
.L84:
	add	DWORD PTR -20[rbp], 1
.L70:
	cmp	DWORD PTR -20[rbp], 10000
	jle	.L79
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 30
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L73:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	get_rootdefm, .-get_rootdefm
	.section	.rodata
	.align 8
.LC8:
	.string	"Too many steps in get_rootdef_lu"
	.text
	.type	get_rootdef_lu, @function
get_rootdef_lu:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -40[rbp], rdi
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	QWORD PTR -56[rbp], xmm1
	mov	DWORD PTR -60[rbp], esi
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	mov	DWORD PTR -64[rbp], edx
	mov	QWORD PTR -88[rbp], rcx
	mov	QWORD PTR -96[rbp], r8
	movsd	QWORD PTR -104[rbp], xmm4
	mov	DWORD PTR -20[rbp], 1
	jmp	.L86
.L95:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	rcx
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L87
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L87
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -88[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L85
.L87:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L99
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L92
.L99:
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
.L92:
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	comisd	xmm0, xmm1
	jbe	.L100
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L85
.L100:
	add	DWORD PTR -20[rbp], 1
.L86:
	cmp	DWORD PTR -20[rbp], 10000
	jle	.L95
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 32
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L85:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	get_rootdef_lu, .-get_rootdef_lu
	.section	.rodata
.LC10:
	.string	"Too many trials in grid_brack"
	.text
	.type	grid_brack, @function
grid_brack:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -40[rbp], rdi
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	QWORD PTR -56[rbp], xmm1
	mov	DWORD PTR -60[rbp], esi
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	mov	DWORD PTR -64[rbp], edx
	movsd	QWORD PTR -88[rbp], xmm4
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
.L106:
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L105:
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	rcx
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L108
	movsd	xmm0, QWORD PTR -24[rbp]
	jmp	.L109
.L108:
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	comisd	xmm0, QWORD PTR -24[rbp]
	ja	.L105
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR .LC9[rip]
	ja	.L106
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 29
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L109:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	grid_brack, .-grid_brack
	.type	erdl_coeff, @function
erdl_coeff:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	QWORD PTR -80[rbp], xmm1
	movsd	QWORD PTR -88[rbp], xmm2
	mov	QWORD PTR -96[rbp], rdi
	mov	QWORD PTR -104[rbp], rsi
	mov	QWORD PTR -112[rbp], rdx
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -64[rbp]
	jbe	.L117
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -88[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -64[rbp], xmm0
	jmp	.L113
.L117:
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	comisd	xmm0, xmm1
	jbe	.L113
	pxor	xmm0, xmm0
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -64[rbp], xmm0
.L113:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	addsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -64[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm0
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -8[rbp]
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	mov	rax, QWORD PTR -112[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, xmm0
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	erdl_coeff, .-erdl_coeff
	.type	erdl_dp, @function
erdl_dp:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	movsd	QWORD PTR -56[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	lea	rsi, -24[rbp]
	lea	rcx, -32[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rcx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_coeff
	movsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC12[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -16[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L120
	call	__stack_chk_fail@PLT
.L120:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	erdl_dp, .-erdl_dp
	.type	erdl_pm, @function
erdl_pm:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	movsd	QWORD PTR -56[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	lea	rsi, -24[rbp]
	lea	rcx, -32[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rcx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_coeff
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L123
	call	__stack_chk_fail@PLT
.L123:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	erdl_pm, .-erdl_pm
	.type	erdl_pp, @function
erdl_pp:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	movsd	QWORD PTR -56[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	lea	rsi, -24[rbp]
	lea	rcx, -32[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rcx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_coeff
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L126
	call	__stack_chk_fail@PLT
.L126:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	erdl_pp, .-erdl_pp
	.type	cosplus, @function
cosplus:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	QWORD PTR -80[rbp], xmm1
	movsd	QWORD PTR -88[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -40[rbp]
	lea	rsi, -48[rbp]
	lea	rcx, -56[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rcx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_coeff
	movsd	xmm0, QWORD PTR -40[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L128
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L128
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L130
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L130
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L132
.L130:
	movsd	xmm0, QWORD PTR -56[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	xorpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L132
.L128:
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC12[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L133
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
.L133:
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC14[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -40[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L132:
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L136
	call	__stack_chk_fail@PLT
.L136:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	cosplus, .-cosplus
	.type	cosminus, @function
cosminus:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	QWORD PTR -80[rbp], xmm1
	movsd	QWORD PTR -88[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -40[rbp]
	lea	rsi, -48[rbp]
	lea	rcx, -56[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rcx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_coeff
	movsd	xmm0, QWORD PTR -40[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L141
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L141
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L143
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L143
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L145
.L143:
	movsd	xmm0, QWORD PTR -56[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	xorpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L145
.L141:
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC12[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L146
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
.L146:
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC14[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -40[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L145:
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L149
	call	__stack_chk_fail@PLT
.L149:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	cosminus, .-cosminus
	.type	get_cos, @function
get_cos:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	movsd	QWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -28[rbp], edi
	movsd	QWORD PTR -40[rbp], xmm1
	movsd	QWORD PTR -48[rbp], xmm2
	cmp	DWORD PTR -28[rbp], 0
	je	.L154
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	jmp	.L155
.L154:
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
.L155:
	movsd	xmm0, QWORD PTR .LC15[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L156
	movsd	xmm0, QWORD PTR .LC15[rip]
	movsd	QWORD PTR -8[rbp], xmm0
.L156:
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	comisd	xmm0, xmm1
	jbe	.L158
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -8[rbp], xmm0
.L158:
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	get_cos, .-get_cos
	.type	d1func, @function
d1func:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	QWORD PTR -32[rbp], xmm1
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC16[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	subsd	xmm1, QWORD PTR -32[rbp]
	mulsd	xmm1, QWORD PTR -32[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC17[rip]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	d1func, .-d1func
	.type	calc_d1, @function
calc_d1:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	movsd	xmm2, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	pxor	xmm0, xmm0
	lea	rdi, d1func[rip]
	call	bisection2
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	calc_d1, .-calc_d1
	.type	close_binary, @function
close_binary:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	QWORD PTR -32[rbp], xmm1
	movsd	QWORD PTR -40[rbp], xmm2
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_dp
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -24[rbp]
	movq	rax, xmm3
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_dp
	mulsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jnb	.L168
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_dp
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_dp
	mulsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L172
.L168:
	mov	eax, 0
	jmp	.L171
.L172:
	mov	eax, 1
.L171:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	close_binary, .-close_binary
	.type	wide_binary, @function
wide_binary:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	QWORD PTR -32[rbp], xmm1
	movsd	QWORD PTR -40[rbp], xmm2
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_pp
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_pp
	mulsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jnb	.L174
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_pp
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_pp
	mulsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L178
.L174:
	mov	eax, 0
	jmp	.L177
.L178:
	mov	eax, 1
.L177:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	wide_binary, .-wide_binary
	.type	erdl_limits, @function
erdl_limits:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	QWORD PTR -104[rbp], r8
	mov	QWORD PTR -112[rbp], r9
	mov	rax, QWORD PTR -64[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -40[rbp], rax
	movsd	xmm0, QWORD PTR .LC18[rip]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movapd	xmm5, xmm0
	subsd	xmm5, QWORD PTR -64[rbp]
	movq	rax, xmm5
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	addsd	xmm0, QWORD PTR -120[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR .LC19[rip]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	calc_d1
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	jb	.L187
	mov	rax, QWORD PTR -72[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -80[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -112[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -112[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	jmp	.L179
.L187:
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_pm[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR [rdx], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR .LC21[rip]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_dp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rdx], rax
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	addsd	xmm0, xmm1
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -56[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_pp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rdx], rax
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	close_binary
	test	eax, eax
	je	.L183
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -56[rbp]
	movq	rax, xmm0
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -8[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_dp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR [rdx], rax
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_dp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L184
.L183:
	mov	rax, QWORD PTR -80[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -88[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
.L184:
	movsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	wide_binary
	test	eax, eax
	je	.L185
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_pp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR [rdx], rax
	movsd	xmm3, QWORD PTR .LC20[rip]
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, erdl_pp[rip]
	call	bisection3
	movq	rax, xmm0
	mov	rdx, QWORD PTR 16[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L179
.L185:
	mov	rax, QWORD PTR -112[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR 16[rbp]
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
.L179:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	erdl_limits, .-erdl_limits
	.type	x1x2, @function
x1x2:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	QWORD PTR -32[rbp], xmm1
	movsd	QWORD PTR -40[rbp], xmm2
	movsd	QWORD PTR -48[rbp], xmm3
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -16[rbp]
	jbe	.L189
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
.L189:
	movsd	xmm0, QWORD PTR .LC15[rip]
	comisd	xmm0, QWORD PTR -32[rbp]
	jbe	.L199
	movsd	xmm0, QWORD PTR .LC15[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	jmp	.L193
.L199:
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	comisd	xmm0, xmm1
	jbe	.L200
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	jmp	.L193
.L200:
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
.L193:
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	mulsd	xmm1, QWORD PTR -40[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	x1x2, .-x1x2
	.type	perp_caust, @function
perp_caust:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	movsd	QWORD PTR -88[rbp], xmm0
	mov	DWORD PTR -92[rbp], edi
	movsd	QWORD PTR -104[rbp], xmm1
	movsd	QWORD PTR -112[rbp], xmm2
	movsd	QWORD PTR -120[rbp], xmm3
	movsd	QWORD PTR -128[rbp], xmm4
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -92[rbp], 0
	je	.L202
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	jmp	.L203
.L202:
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
.L203:
	lea	rcx, -64[rbp]
	lea	rdx, -72[rbp]
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, -32[rbp]
	lea	rdx, -40[rbp]
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, -48[rbp]
	lea	rdx, -56[rbp]
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L205
	call	__stack_chk_fail@PLT
.L205:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	perp_caust, .-perp_caust
	.type	perp_caustd1, @function
perp_caustd1:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	movsd	QWORD PTR -248[rbp], xmm0
	mov	DWORD PTR -252[rbp], edi
	movsd	QWORD PTR -264[rbp], xmm1
	movsd	QWORD PTR -272[rbp], xmm2
	movsd	QWORD PTR -280[rbp], xmm3
	movsd	QWORD PTR -288[rbp], xmm4
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -252[rbp], 0
	je	.L207
	movsd	xmm1, QWORD PTR -272[rbp]
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
	jmp	.L208
.L207:
	movsd	xmm1, QWORD PTR -272[rbp]
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
.L208:
	lea	rcx, -112[rbp]
	lea	rdx, -120[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, -96[rbp]
	lea	rdx, -104[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	normal
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, -200[rbp]
	lea	rsi, -208[rbp]
	lea	rcx, -216[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, -168[rbp]
	lea	rdx, -176[rbp]
	lea	rsi, -184[rbp]
	lea	rdi, -192[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd2
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	r8, -128[rbp]
	lea	rcx, -136[rbp]
	lea	rdx, -144[rbp]
	lea	rsi, -152[rbp]
	lea	rdi, -160[rbp]
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	movsd	xmm1, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm1, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -216[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -208[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -216[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -208[rbp]
	mulsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -72[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm3, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mulsd	xmm1, xmm3
	addsd	xmm1, xmm2
	movsd	xmm3, QWORD PTR -96[rbp]
	movsd	xmm2, QWORD PTR -192[rbp]
	mulsd	xmm3, xmm2
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -96[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -208[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -200[rbp]
	mulsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -72[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm3, QWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	mulsd	xmm1, xmm3
	addsd	xmm1, xmm2
	movsd	xmm3, QWORD PTR -96[rbp]
	movsd	xmm2, QWORD PTR -184[rbp]
	mulsd	xmm3, xmm2
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -96[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	subsd	xmm0, QWORD PTR -280[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR -288[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L210
	call	__stack_chk_fail@PLT
.L210:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	perp_caustd1, .-perp_caustd1
	.type	perp_caustd2, @function
perp_caustd2:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 464
	movsd	QWORD PTR -424[rbp], xmm0
	mov	DWORD PTR -428[rbp], edi
	movsd	QWORD PTR -440[rbp], xmm1
	movsd	QWORD PTR -448[rbp], xmm2
	movsd	QWORD PTR -456[rbp], xmm3
	movsd	QWORD PTR -464[rbp], xmm4
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -428[rbp], 0
	je	.L212
	movsd	xmm1, QWORD PTR -448[rbp]
	movsd	xmm0, QWORD PTR -440[rbp]
	mov	rax, QWORD PTR -424[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -224[rbp], rax
	jmp	.L213
.L212:
	movsd	xmm1, QWORD PTR -448[rbp]
	movsd	xmm0, QWORD PTR -440[rbp]
	mov	rax, QWORD PTR -424[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -224[rbp], rax
.L213:
	lea	rcx, -248[rbp]
	lea	rdx, -256[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -424[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	rcx, -232[rbp]
	lea	rdx, -240[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	normal
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	rcx, -408[rbp]
	lea	rdx, -416[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, -384[rbp]
	lea	rsi, -392[rbp]
	lea	rcx, -400[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	rcx, -352[rbp]
	lea	rdx, -360[rbp]
	lea	rsi, -368[rbp]
	lea	rdi, -376[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd2
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	r8, -312[rbp]
	lea	rcx, -320[rbp]
	lea	rdx, -328[rbp]
	lea	rsi, -336[rbp]
	lea	rdi, -344[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	movsd	xmm0, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	lea	r9, -264[rbp]
	lea	r8, -272[rbp]
	lea	rcx, -280[rbp]
	lea	rdx, -288[rbp]
	lea	rsi, -296[rbp]
	lea	rdi, -304[rbp]
	movsd	xmm2, QWORD PTR -448[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	movsd	xmm1, QWORD PTR -376[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -360[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm1, QWORD PTR -368[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -352[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm1, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm1, QWORD PTR -336[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -328[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -320[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -376[rbp]
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -368[rbp]
	movsd	xmm1, QWORD PTR -360[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm1, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -320[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -288[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -336[rbp]
	movsd	xmm1, QWORD PTR .LC22[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -288[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm1, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -320[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm1, QWORD PTR -288[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -280[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -272[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm1, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -320[rbp]
	movsd	xmm1, QWORD PTR .LC22[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm1, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm1, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -368[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -376[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -360[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -368[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -328[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -336[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -168[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -328[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -344[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -400[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -328[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -336[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -328[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -168[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -312[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -320[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -328[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -336[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -368[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -360[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -328[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, QWORD PTR -120[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -200[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -232[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -216[rbp]
	mulsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -136[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -240[rbp]
	mulsd	xmm1, QWORD PTR -112[rbp]
	addsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -232[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -96[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -200[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -232[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -216[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm2, QWORD PTR -208[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -120[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -240[rbp]
	mulsd	xmm1, QWORD PTR -80[rbp]
	addsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -232[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm2, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -416[rbp]
	subsd	xmm0, QWORD PTR -456[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	subsd	xmm0, QWORD PTR -464[rbp]
	mulsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L215
	call	__stack_chk_fail@PLT
.L215:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	perp_caustd2, .-perp_caustd2
	.type	curvature_der, @function
curvature_der:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 480
	movsd	QWORD PTR -440[rbp], xmm0
	mov	DWORD PTR -444[rbp], edi
	movsd	QWORD PTR -456[rbp], xmm1
	movsd	QWORD PTR -464[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -444[rbp], 0
	je	.L217
	movsd	xmm1, QWORD PTR -464[rbp]
	movsd	xmm0, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -440[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -240[rbp], rax
	jmp	.L218
.L217:
	movsd	xmm1, QWORD PTR -464[rbp]
	movsd	xmm0, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -440[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -240[rbp], rax
.L218:
	lea	rcx, -264[rbp]
	lea	rdx, -272[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	movsd	xmm0, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -440[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	rcx, -248[rbp]
	lea	rdx, -256[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	normal
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	rcx, -424[rbp]
	lea	rdx, -432[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	rdx, -400[rbp]
	lea	rsi, -408[rbp]
	lea	rcx, -416[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	rcx, -368[rbp]
	lea	rdx, -376[rbp]
	lea	rsi, -384[rbp]
	lea	rdi, -392[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd2
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	r8, -328[rbp]
	lea	rcx, -336[rbp]
	lea	rdx, -344[rbp]
	lea	rsi, -352[rbp]
	lea	rdi, -360[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	movsd	xmm0, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	r9, -280[rbp]
	lea	r8, -288[rbp]
	lea	rcx, -296[rbp]
	lea	rdx, -304[rbp]
	lea	rsi, -312[rbp]
	lea	rdi, -320[rbp]
	movsd	xmm2, QWORD PTR -464[rbp]
	movsd	xmm1, QWORD PTR -456[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	movsd	xmm1, QWORD PTR -392[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -376[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -256[rbp], xmm0
	movsd	xmm1, QWORD PTR -384[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -368[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm1, QWORD PTR -360[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm1, QWORD PTR -352[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -344[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -336[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -392[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -384[rbp]
	movsd	xmm1, QWORD PTR -376[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm1, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm1, QWORD PTR -320[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -312[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -360[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -352[rbp]
	movsd	xmm1, QWORD PTR .LC22[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -304[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -360[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm1, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -336[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -288[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm1, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm1, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -288[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -336[rbp]
	movsd	xmm1, QWORD PTR .LC22[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -392[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -376[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -344[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -352[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -344[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -360[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -408[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -416[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -392[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -344[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -352[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -344[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -328[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -336[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -200[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -344[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -352[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -376[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -384[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -376[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -344[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	mulsd	xmm1, QWORD PTR -152[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	mulsd	xmm1, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -216[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -152[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -152[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -256[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	addsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -248[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -112[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -248[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -216[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -232[rbp]
	mulsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR -224[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -136[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -256[rbp]
	mulsd	xmm1, QWORD PTR -96[rbp]
	addsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -248[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -80[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR -248[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -472[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	mulsd	xmm0, QWORD PTR -472[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mulsd	xmm1, QWORD PTR -48[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	mulsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm2, QWORD PTR -168[rbp]
	movapd	xmm3, xmm2
	mulsd	xmm3, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR .LC16[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -176[rbp]
	movapd	xmm3, xmm1
	mulsd	xmm3, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mulsd	xmm1, QWORD PTR -56[rbp]
	addsd	xmm1, xmm3
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L220
	call	__stack_chk_fail@PLT
.L220:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	curvature_der, .-curvature_der
	.type	add_to_list, @function
add_to_list:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	movsd	QWORD PTR -48[rbp], xmm0
	mov	DWORD PTR -52[rbp], esi
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	mov	DWORD PTR -56[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L222
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	jmp	.L223
.L222:
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
.L223:
	lea	rcx, -24[rbp]
	lea	rdx, -32[rbp]
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	cmp	DWORD PTR -56[rbp], 0
	je	.L224
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	xorpd	xmm0, xmm1
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdi, rax
	call	add_ptlist
	jmp	.L227
.L224:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	rdi, rax
	call	add_ptlist
.L227:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L226
	call	__stack_chk_fail@PLT
.L226:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	add_to_list, .-add_to_list
	.type	add_crit, @function
add_crit:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	QWORD PTR -256[rbp], xmm1
	movsd	QWORD PTR -264[rbp], xmm2
	movsd	QWORD PTR -272[rbp], xmm3
	movsd	QWORD PTR -280[rbp], xmm4
	movsd	QWORD PTR -288[rbp], xmm5
	mov	DWORD PTR -292[rbp], edi
	movsd	QWORD PTR -304[rbp], xmm6
	movsd	QWORD PTR -312[rbp], xmm7
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -184[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR 32[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -168[rbp], xmm0
	cmp	DWORD PTR -292[rbp], 0
	je	.L229
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -208[rbp], rax
	jmp	.L230
.L229:
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -208[rbp], rax
.L230:
	lea	rcx, -232[rbp]
	lea	rdx, -240[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -240[rbp]
	lea	rcx, -216[rbp]
	lea	rdx, -224[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR 16[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	subsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR 16[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	subsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, QWORD PTR -272[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, QWORD PTR -272[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	cmp	DWORD PTR -292[rbp], 0
	je	.L231
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	mov	QWORD PTR -208[rbp], rax
	jmp	.L232
.L231:
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosminus
	movq	rax, xmm0
	mov	QWORD PTR -208[rbp], rax
.L232:
	lea	rcx, -232[rbp]
	lea	rdx, -240[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -240[rbp]
	lea	rcx, -216[rbp]
	lea	rdx, -224[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlens
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR 16[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	subsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR 16[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	subsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	subsd	xmm0, QWORD PTR 16[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, QWORD PTR 24[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -96[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd2
	movq	rax, xmm0
	mov	QWORD PTR -80[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd2
	movq	rax, xmm0
	mov	QWORD PTR -72[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd2
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -256[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd2
	movq	rax, xmm0
	mov	QWORD PTR -40[rbp], rax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -200[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -72[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L342
	movsd	xmm0, QWORD PTR -72[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd2[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L235
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L235
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
	jmp	.L237
.L235:
	movsd	xmm0, QWORD PTR -96[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L238
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -200[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
.L238:
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -88[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L237
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -192[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -192[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -176[rbp], rax
	jmp	.L237
.L342:
	movsd	xmm0, QWORD PTR -96[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -88[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L237
	movsd	xmm0, QWORD PTR -88[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -200[rbp], rax
	movsd	xmm2, QWORD PTR 24[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
.L237:
	movsd	xmm0, QWORD PTR -200[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L242
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -184[rbp]
	jp	.L244
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -184[rbp]
	jne	.L244
	movsd	xmm0, QWORD PTR -200[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
	jmp	.L242
.L244:
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -184[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L246
	movsd	xmm0, QWORD PTR -184[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L246:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jp	.L242
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jne	.L242
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -184[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L242
	movsd	xmm0, QWORD PTR -184[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L242:
	movsd	xmm0, QWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L250
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jp	.L252
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jne	.L252
	movsd	xmm0, QWORD PTR -192[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
	jmp	.L250
.L252:
	movsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L254
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -192[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L254:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jp	.L250
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jne	.L250
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L250
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L250:
	movsd	xmm0, QWORD PTR -200[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L258
	movsd	xmm0, QWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L258
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L258
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L258:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jp	.L262
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jne	.L262
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jp	.L262
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jne	.L262
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -112[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L262
	movsd	xmm0, QWORD PTR -112[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm3, QWORD PTR 24[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L262:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -200[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -40[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L343
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd2[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caustd1
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L268
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L268
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
	jmp	.L270
.L268:
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L271
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -200[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
.L271:
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -56[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L270
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -192[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -192[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -176[rbp], rax
	jmp	.L270
.L343:
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -56[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L270
	movsd	xmm0, QWORD PTR -56[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caustd1[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -200[rbp], rax
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm2, xmm0
	xorpd	xmm2, xmm1
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm2
	movsd	xmm3, QWORD PTR 16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
.L270:
	movsd	xmm0, QWORD PTR -200[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L275
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -184[rbp]
	jp	.L277
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -184[rbp]
	jne	.L277
	movsd	xmm0, QWORD PTR -200[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
	jmp	.L275
.L277:
	movsd	xmm0, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -184[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L279
	movsd	xmm0, QWORD PTR -184[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L279:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jp	.L275
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jne	.L275
	movsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -184[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L275
	movsd	xmm0, QWORD PTR -184[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L275:
	movsd	xmm0, QWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L283
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jp	.L285
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jne	.L285
	movsd	xmm0, QWORD PTR -192[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
	jmp	.L283
.L285:
	movsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L287
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC13[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movapd	xmm0, xmm7
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -192[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L287:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jp	.L283
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jne	.L283
	movsd	xmm0, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L283
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L283:
	movsd	xmm0, QWORD PTR -200[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L291
	movsd	xmm0, QWORD PTR -192[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L291
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L291
	movsd	xmm0, QWORD PTR -176[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L291:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -200[rbp]
	je	.L339
	jmp	.L344
.L339:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	jp	.L344
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -192[rbp]
	je	.L340
	jmp	.L344
.L340:
	movsd	xmm0, QWORD PTR -136[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -104[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	ja	.L341
	jmp	.L344
.L341:
	movsd	xmm0, QWORD PTR -104[rbp]
	movq	xmm1, QWORD PTR .LC4[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -104[rbp]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	cvttsd2si	edx, xmm0
	movsd	xmm0, QWORD PTR 24[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm4, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	movapd	xmm6, xmm4
	movapd	xmm5, xmm3
	movsd	xmm4, QWORD PTR 16[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, ecx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, perp_caust[rip]
	call	get_rootdefm
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	esi, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L344:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L299
	call	__stack_chk_fail@PLT
.L299:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	add_crit, .-add_crit
	.globl	get_crit_circ
	.type	get_crit_circ, @function
get_crit_circ:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 352
	movsd	QWORD PTR -296[rbp], xmm0
	movsd	QWORD PTR -304[rbp], xmm1
	movsd	QWORD PTR -312[rbp], xmm2
	movsd	QWORD PTR -320[rbp], xmm3
	movsd	QWORD PTR -328[rbp], xmm4
	mov	QWORD PTR -336[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -240[rbp], xmm0
	lea	r9, -248[rbp]
	lea	r10, -256[rbp]
	lea	rcx, -264[rbp]
	lea	rdx, -272[rbp]
	lea	rsi, -280[rbp]
	lea	rdi, -288[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	sub	rsp, 8
	lea	r8, -240[rbp]
	push	r8
	mov	r8, r10
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	erdl_limits
	add	rsp, 16
	movsd	xmm0, QWORD PTR .LC19[rip]
	mov	rax, QWORD PTR -304[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	calc_d1
	movq	rax, xmm0
	mov	QWORD PTR -96[rbp], rax
	movsd	xmm0, QWORD PTR -304[rbp]
	mulsd	xmm0, QWORD PTR -96[rbp]
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
	movsd	xmm0, QWORD PTR .LC18[rip]
	mov	rax, QWORD PTR -304[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	QWORD PTR -344[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movapd	xmm7, xmm0
	subsd	xmm7, QWORD PTR -304[rbp]
	movq	rax, xmm7
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	addsd	xmm0, QWORD PTR -344[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -80[rbp], rax
	movsd	xmm0, QWORD PTR -304[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR .LC18[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -72[rbp], rax
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	close_binary
	test	eax, eax
	je	.L346
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -280[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -40[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L492
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L349
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L349
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L349:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L351
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L351
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L351:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L353
.L492:
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L353:
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -112[rbp]
	lea	rdx, -120[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L493
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L356
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L356
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L356:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L358
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L358
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L358:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -112[rbp]
	movsd	xmm3, QWORD PTR -120[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L360
.L493:
	movsd	xmm4, QWORD PTR -112[rbp]
	movsd	xmm3, QWORD PTR -120[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L360:
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -280[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -192[rbp]
	lea	rdx, -200[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L494
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L363
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L363
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L363:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L365
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L365
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L365:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L367
.L494:
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L367:
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -112[rbp]
	lea	rdx, -120[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L495
	mov	rax, QWORD PTR -192[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L370
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L370
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L370:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L372
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L372
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L372:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -112[rbp]
	movsd	xmm3, QWORD PTR -120[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L374
.L495:
	movsd	xmm4, QWORD PTR -112[rbp]
	movsd	xmm3, QWORD PTR -120[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L374:
	movsd	xmm0, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L375
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L375
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L375:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L377
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L377
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L377:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -128[rbp]
	lea	rdx, -136[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -128[rbp]
	movsd	xmm3, QWORD PTR -136[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm0, QWORD PTR -264[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -272[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC4[rip]
	movq	xmm1, rax
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	comisd	xmm0, xmm1
	jbe	.L379
	movsd	xmm0, QWORD PTR -272[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
.L379:
	movsd	xmm0, QWORD PTR -256[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L381
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L381
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L381:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L383
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L383
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L383:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L385
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L385
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L385:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L387
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L387
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L387:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -272[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC3[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	cosplus
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC4[rip]
	movq	xmm1, rax
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	comisd	xmm0, xmm1
	ja	.L466
	jmp	.L501
.L466:
	movsd	xmm0, QWORD PTR -272[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L496
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L393
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L393
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L393:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L395
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L395
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L395:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 0
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L501
.L496:
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 0
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L501
.L346:
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	wide_binary
	test	eax, eax
	je	.L397
	movsd	xmm0, QWORD PTR -248[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L398
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L398
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L398:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L400
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L400
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L400:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm3, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	movapd	xmm5, xmm3
	movapd	xmm4, xmm2
	pxor	xmm3, xmm3
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L402
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L402
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L402:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L404
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L404
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L404:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L497
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L408
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L408
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L408:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L410
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L410
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L410:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L412
.L497:
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L412:
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L498
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L415
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L415
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L415:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L417
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L417
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L417:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L419
.L498:
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L419:
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L420
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L420
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L420:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L422
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jne	.L422
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L422:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 0
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L501
.L397:
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	grid_brack
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	movapd	xmm4, xmm3
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -40[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L499
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jp	.L426
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L426
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L426:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jp	.L428
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L428
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L428:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L430
.L499:
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L430:
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L431
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jne	.L431
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L431:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jp	.L433
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L433
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 1
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L433:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 1
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 1
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 1
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, offdiag[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm3, QWORD PTR .LC24[rip]
	lea	rcx, -208[rbp]
	lea	rdx, -216[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, cspf[rip]
	call	get_rootdef_lu
	mov	rax, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -160[rbp]
	lea	rdx, -168[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	curvature_der
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L500
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jp	.L437
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L437
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L437:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jp	.L439
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jne	.L439
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L439:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	jmp	.L441
.L500:
	movsd	xmm4, QWORD PTR -176[rbp]
	movsd	xmm3, QWORD PTR -184[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L441:
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm3, QWORD PTR .LC23[rip]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm4, xmm3
	mov	edx, -1
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	mov	esi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, curvature_der[rip]
	call	get_rootdef
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm3, QWORD PTR -320[rbp]
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jp	.L442
	pxor	xmm0, xmm0
	movq	xmm7, rax
	ucomisd	xmm7, xmm0
	jne	.L442
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 0
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L442:
	movsd	xmm0, QWORD PTR -320[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	movapd	xmm3, xmm0
	xorpd	xmm3, xmm1
	movsd	xmm2, QWORD PTR -312[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	perp_caust
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm5, rax
	ucomisd	xmm5, xmm0
	jp	.L444
	pxor	xmm0, xmm0
	movq	xmm6, rax
	ucomisd	xmm6, xmm0
	jne	.L444
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	edx, 1
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	esi, 0
	movq	xmm0, rcx
	mov	rdi, rax
	call	add_to_list
.L444:
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -144[rbp]
	lea	rdx, -152[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	mov	rax, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -304[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, 0
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	lea	rcx, -224[rbp]
	lea	rdx, -232[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -304[rbp]
	movsd	xmm1, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	tangent_y
	movsd	xmm4, QWORD PTR -144[rbp]
	movsd	xmm3, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm6, QWORD PTR -304[rbp]
	movsd	xmm5, QWORD PTR -296[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm6
	movapd	xmm6, xmm5
	mov	edi, 0
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -336[rbp]
	movsd	xmm5, QWORD PTR -304[rbp]
	movsd	xmm4, QWORD PTR -296[rbp]
	movsd	xmm3, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	QWORD PTR -328[rbp]
	push	QWORD PTR -320[rbp]
	push	QWORD PTR -312[rbp]
	mov	rsi, rdx
	movapd	xmm7, xmm5
	movapd	xmm6, xmm4
	mov	edi, 0
	pxor	xmm5, xmm5
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	add_crit
	add	rsp, 32
.L501:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L446
	call	__stack_chk_fail@PLT
.L446:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	get_crit_circ, .-get_crit_circ
	.type	offdiag, @function
offdiag:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	movsd	QWORD PTR -72[rbp], xmm0
	mov	DWORD PTR -76[rbp], edi
	movsd	QWORD PTR -88[rbp], xmm1
	movsd	QWORD PTR -96[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	lea	rcx, -48[rbp]
	lea	rdx, -56[rbp]
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, -24[rbp]
	lea	rsi, -32[rbp]
	lea	rcx, -40[rbp]
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L504
	call	__stack_chk_fail@PLT
.L504:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	offdiag, .-offdiag
	.type	cspf, @function
cspf:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	movsd	QWORD PTR -136[rbp], xmm0
	mov	DWORD PTR -140[rbp], edi
	movsd	QWORD PTR -152[rbp], xmm1
	movsd	QWORD PTR -160[rbp], xmm2
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -152[rbp]
	mov	edx, DWORD PTR -140[rbp]
	mov	rax, QWORD PTR -136[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	mov	edi, edx
	movq	xmm0, rax
	call	get_cos
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	lea	rcx, -112[rbp]
	lea	rdx, -120[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	x1x2
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, -88[rbp]
	lea	rsi, -96[rbp]
	lea	rcx, -104[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, -56[rbp]
	lea	rdx, -64[rbp]
	lea	rsi, -72[rbp]
	lea	rdi, -80[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd2
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	movq	xmm1, QWORD PTR .LC13[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mulsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L507
	call	__stack_chk_fail@PLT
.L507:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	cspf, .-cspf
	.type	normal, @function
normal:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	QWORD PTR -112[rbp], xmm1
	movsd	QWORD PTR -120[rbp], xmm2
	movsd	QWORD PTR -128[rbp], xmm3
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -72[rbp]
	lea	rsi, -80[rbp]
	lea	rcx, -88[rbp]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	lea	rcx, -40[rbp]
	lea	rdx, -48[rbp]
	lea	rsi, -56[rbp]
	lea	rdi, -64[rbp]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd2
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm2, xmm0
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -136[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L509
	call	__stack_chk_fail@PLT
.L509:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	normal, .-normal
	.type	tangent_y, @function
tangent_y:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rcx, -40[rbp]
	lea	rdx, -48[rbp]
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	normal
	lea	rdx, -16[rbp]
	lea	rsi, -24[rbp]
	lea	rcx, -32[rbp]
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rcx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd1
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -88[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L511
	call	__stack_chk_fail@PLT
.L511:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	tangent_y, .-tangent_y
	.type	binlens, @function
binlens:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L513
	pxor	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -80[rbp], xmm0
.L513:
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L521
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	je	.L515
.L521:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jp	.L517
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -8[rbp]
	jne	.L517
.L515:
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC25[rip]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC25[rip]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L512
.L517:
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	mulsd	xmm1, QWORD PTR -32[rbp]
	divsd	xmm1, QWORD PTR -8[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -88[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	mulsd	xmm1, QWORD PTR -64[rbp]
	divsd	xmm1, QWORD PTR -8[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR [rax], xmm0
.L512:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	binlens, .-binlens
	.type	binlensd1, @function
binlensd1:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	QWORD PTR -112[rbp], xmm1
	movsd	QWORD PTR -120[rbp], xmm2
	movsd	QWORD PTR -128[rbp], xmm3
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -128[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -96[rbp]
	jbe	.L523
	pxor	xmm0, xmm0
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -128[rbp], xmm0
.L523:
	movsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	divsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	divsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -72[rbp]
	divsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -136[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -152[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	binlensd1, .-binlensd1
	.type	binlensd2, @function
binlensd2:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 72
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	QWORD PTR -144[rbp], xmm1
	movsd	QWORD PTR -152[rbp], xmm2
	movsd	QWORD PTR -160[rbp], xmm3
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	QWORD PTR -192[rbp], rcx
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -160[rbp]
	movsd	QWORD PTR -128[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -128[rbp]
	jbe	.L527
	pxor	xmm0, xmm0
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -160[rbp], xmm0
.L527:
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	divsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	divsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	divsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -96[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	divsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	divsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -96[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	divsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -120[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	divsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	divsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	divsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC22[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -168[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm0
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -176[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm0
	movsd	xmm2, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -184[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC22[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -192[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	binlensd2, .-binlensd2
	.type	binlensd3, @function
binlensd3:
.LFB40:
	.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
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	QWORD PTR -256[rbp], xmm1
	movsd	QWORD PTR -264[rbp], xmm2
	movsd	QWORD PTR -272[rbp], xmm3
	mov	QWORD PTR -280[rbp], rdi
	mov	QWORD PTR -288[rbp], rsi
	mov	QWORD PTR -296[rbp], rdx
	mov	QWORD PTR -304[rbp], rcx
	mov	QWORD PTR -312[rbp], r8
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -272[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -232[rbp]
	jbe	.L531
	pxor	xmm0, xmm0
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -272[rbp], xmm0
.L531:
	movsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -248[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -160[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -160[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -128[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -96[rbp]
	mulsd	xmm0, QWORD PTR -160[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -168[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, QWORD PTR -160[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -152[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	divsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	divsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -144[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC22[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC27[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -280[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -288[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm0
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC26[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -296[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -304[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC22[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC27[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -312[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	binlensd3, .-binlensd3
	.type	binlensd4, @function
binlensd4:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 264
	movsd	QWORD PTR -312[rbp], xmm0
	movsd	QWORD PTR -320[rbp], xmm1
	movsd	QWORD PTR -328[rbp], xmm2
	movsd	QWORD PTR -336[rbp], xmm3
	mov	QWORD PTR -344[rbp], rdi
	mov	QWORD PTR -352[rbp], rsi
	mov	QWORD PTR -360[rbp], rdx
	mov	QWORD PTR -368[rbp], rcx
	mov	QWORD PTR -376[rbp], r8
	mov	QWORD PTR -384[rbp], r9
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -336[rbp]
	movsd	QWORD PTR -296[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -296[rbp]
	jbe	.L535
	pxor	xmm0, xmm0
	movsd	QWORD PTR -296[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -336[rbp], xmm0
.L535:
	movsd	xmm0, QWORD PTR -296[rbp]
	mulsd	xmm0, QWORD PTR -328[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -288[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -312[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -280[rbp], xmm0
	movsd	xmm0, QWORD PTR -288[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -272[rbp], xmm0
	movsd	xmm0, QWORD PTR -280[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -264[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -256[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, QWORD PTR -280[rbp]
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm0, QWORD PTR -272[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, QWORD PTR -280[rbp]
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -288[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR -280[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -168[rbp]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -168[rbp]
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -288[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -280[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -320[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -128[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -248[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -272[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -320[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -280[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -128[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -120[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -224[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -240[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -320[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -248[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -272[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -280[rbp]
	mulsd	xmm0, QWORD PTR -192[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	divsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	divsd	xmm0, QWORD PTR -104[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC29[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR .LC30[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -344[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC32[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -352[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC33[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -360[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC33[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -368[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC32[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -376[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC29[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC30[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -384[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	binlensd4, .-binlensd4
	.type	binlensd5, @function
binlensd5:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 328
	movsd	QWORD PTR -376[rbp], xmm0
	movsd	QWORD PTR -384[rbp], xmm1
	movsd	QWORD PTR -392[rbp], xmm2
	movsd	QWORD PTR -400[rbp], xmm3
	mov	QWORD PTR -408[rbp], rdi
	mov	QWORD PTR -416[rbp], rsi
	mov	QWORD PTR -424[rbp], rdx
	mov	QWORD PTR -432[rbp], rcx
	mov	QWORD PTR -440[rbp], r8
	mov	QWORD PTR -448[rbp], r9
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -400[rbp]
	movsd	QWORD PTR -368[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -368[rbp]
	jbe	.L539
	pxor	xmm0, xmm0
	movsd	QWORD PTR -368[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC11[rip]
	movsd	QWORD PTR -400[rbp], xmm0
.L539:
	movsd	xmm0, QWORD PTR -368[rbp]
	mulsd	xmm0, QWORD PTR -392[rbp]
	movsd	xmm1, QWORD PTR -376[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -360[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -392[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -352[rbp], xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -344[rbp], xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -336[rbp], xmm0
	movsd	xmm0, QWORD PTR -344[rbp]
	mulsd	xmm0, QWORD PTR -360[rbp]
	movsd	QWORD PTR -328[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, QWORD PTR -352[rbp]
	movsd	QWORD PTR -320[rbp], xmm0
	movsd	xmm0, QWORD PTR -344[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -312[rbp], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -304[rbp], xmm0
	movsd	xmm0, QWORD PTR -312[rbp]
	mulsd	xmm0, QWORD PTR -360[rbp]
	movsd	QWORD PTR -296[rbp], xmm0
	movsd	xmm0, QWORD PTR -304[rbp]
	mulsd	xmm0, QWORD PTR -352[rbp]
	movsd	QWORD PTR -288[rbp], xmm0
	movsd	xmm0, QWORD PTR -328[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -280[rbp], xmm0
	movsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -272[rbp], xmm0
	movsd	xmm0, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -264[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -256[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm0, QWORD PTR -248[rbp]
	mulsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -360[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -264[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -264[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -184[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -344[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -336[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, QWORD PTR -360[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -384[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -384[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -176[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -160[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -312[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -304[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -328[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -384[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, QWORD PTR -384[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -344[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -360[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -160[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -248[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, QWORD PTR -248[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -280[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -272[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -296[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -384[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -288[rbp]
	mulsd	xmm0, QWORD PTR -384[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -312[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -264[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -304[rbp]
	mulsd	xmm0, QWORD PTR -264[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -328[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -256[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -320[rbp]
	mulsd	xmm0, QWORD PTR -256[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -344[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -248[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -336[rbp]
	mulsd	xmm0, QWORD PTR -248[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -360[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -240[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -352[rbp]
	mulsd	xmm0, QWORD PTR -240[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -400[rbp]
	divsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -232[rbp]
	movsd	xmm0, QWORD PTR -368[rbp]
	divsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC29[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR .LC34[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR .LC35[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -408[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR .LC37[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR .LC36[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -416[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR .LC32[rip]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC33[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR .LC38[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -424[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR .LC39[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR .LC40[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC40[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -432[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC32[rip]
	mulsd	xmm0, xmm2
	addsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR .LC33[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC31[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR .LC38[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -440[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR .LC37[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC36[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -448[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC29[rip]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC34[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC35[rip]
	mulsd	xmm2, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC36[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR 16[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	binlensd5, .-binlensd5
	.section	.rodata
.LC45:
	.string	"%-8.6le %-8.6le\n"
.LC46:
	.string	"\nx2-der"
	.text
	.globl	test_der
	.type	test_der, @function
test_der:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm0, QWORD PTR .LC41[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC42[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC43[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC44[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC24[rip]
	movsd	QWORD PTR -16[rbp], xmm0
	lea	r8, -248[rbp]
	lea	rcx, -256[rbp]
	lea	rdx, -264[rbp]
	lea	rsi, -272[rbp]
	lea	rdi, -280[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	lea	r8, -208[rbp]
	lea	rcx, -216[rbp]
	lea	rdx, -224[rbp]
	lea	rsi, -232[rbp]
	lea	rdi, -240[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	lea	r9, -160[rbp]
	lea	r8, -168[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	lea	rsi, -192[rbp]
	lea	rdi, -200[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	movsd	xmm2, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -240[rbp]
	movsd	xmm1, QWORD PTR -280[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -272[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -256[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	lea	rdi, .LC46[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	lea	r8, -208[rbp]
	lea	rcx, -216[rbp]
	lea	rdx, -224[rbp]
	lea	rsi, -232[rbp]
	lea	rdi, -240[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd3
	movsd	xmm2, QWORD PTR -192[rbp]
	movsd	xmm0, QWORD PTR -240[rbp]
	movsd	xmm1, QWORD PTR -280[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	xmm1, QWORD PTR -272[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -176[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	xmm1, QWORD PTR -256[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	r9, -160[rbp]
	lea	r8, -168[rbp]
	lea	rcx, -176[rbp]
	lea	rdx, -184[rbp]
	lea	rsi, -192[rbp]
	lea	rdi, -200[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	lea	r9, -112[rbp]
	lea	r8, -120[rbp]
	lea	rcx, -128[rbp]
	lea	rdx, -136[rbp]
	lea	rsi, -144[rbp]
	lea	rdi, -152[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	lea	r9, -64[rbp]
	lea	r10, -72[rbp]
	lea	rcx, -80[rbp]
	lea	rdx, -88[rbp]
	lea	rsi, -96[rbp]
	lea	rdi, -104[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	sub	rsp, 8
	lea	r8, -56[rbp]
	push	r8
	mov	r8, r10
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd5
	add	rsp, 16
	movsd	xmm2, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -200[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -192[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -160[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	lea	rdi, .LC46[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	lea	r9, -112[rbp]
	lea	r8, -120[rbp]
	lea	rcx, -128[rbp]
	lea	rdx, -136[rbp]
	lea	rsi, -144[rbp]
	lea	rdi, -152[rbp]
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	binlensd4
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -200[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -192[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -160[rbp]
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	lea	rdi, .LC45[rip]
	mov	eax, 2
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L543
	call	__stack_chk_fail@PLT
.L543:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	test_der, .-test_der
	.section	.rodata
	.align 8
.LC3:
	.long	0
	.long	1073741824
	.align 16
.LC4:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC9:
	.long	-500134854
	.long	1044740494
	.align 8
.LC11:
	.long	0
	.long	1072693248
	.align 8
.LC12:
	.long	0
	.long	1074790400
	.align 16
.LC13:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC14:
	.long	0
	.long	-1075838976
	.align 8
.LC15:
	.long	0
	.long	-1074790400
	.align 8
.LC16:
	.long	0
	.long	1074266112
	.align 8
.LC17:
	.long	0
	.long	1069547520
	.align 8
.LC18:
	.long	1431655765
	.long	1070945621
	.align 8
.LC19:
	.long	-1629006314
	.long	1020396463
	.align 8
.LC20:
	.long	-1747416644
	.long	1016910514
	.align 8
.LC21:
	.long	-18103648
	.long	968116299
	.align 8
.LC22:
	.long	0
	.long	1075314688
	.align 8
.LC23:
	.long	-2036257893
	.long	1023837339
	.align 8
.LC24:
	.long	-640172613
	.long	1037794527
	.align 8
.LC25:
	.long	966823146
	.long	-970375591
	.align 8
.LC26:
	.long	0
	.long	1075838976
	.align 8
.LC27:
	.long	0
	.long	1078460416
	.align 8
.LC28:
	.long	0
	.long	-1070071808
	.align 8
.LC29:
	.long	0
	.long	-1067581440
	.align 8
.LC30:
	.long	0
	.long	1081999360
	.align 8
.LC31:
	.long	0
	.long	1081606144
	.align 8
.LC32:
	.long	0
	.long	1081212928
	.align 8
.LC33:
	.long	0
	.long	1080164352
	.align 8
.LC34:
	.long	0
	.long	1084284928
	.align 8
.LC35:
	.long	0
	.long	1085702144
	.align 8
.LC36:
	.long	0
	.long	1085145088
	.align 8
.LC37:
	.long	0
	.long	1082556416
	.align 8
.LC38:
	.long	0
	.long	1084358656
	.align 8
.LC39:
	.long	0
	.long	1081802752
	.align 8
.LC40:
	.long	0
	.long	1083310080
	.align 8
.LC41:
	.long	1717986918
	.long	1072064102
	.align 8
.LC42:
	.long	-1717986918
	.long	1071225241
	.align 8
.LC43:
	.long	858993459
	.long	1070805811
	.align 8
.LC44:
	.long	-858993459
	.long	1071434956
	.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	"575597.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Sorry, not enough memory available\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_ptlist, %function
add_ptlist:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2
	ldr	r3, .L3
	ldr	r3, [r3]
	mov	r2, #35
	mov	r1, #1
	ldr	r0, .L3+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L2:
	ldr	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #-8]
	ldmib	fp, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4:
	.align	2
.L3:
	.word	stderr
	.word	.LC0
	.size	add_ptlist, .-add_ptlist
	.global	__aeabi_dcmpeq
	.global	__aeabi_dmul
	.global	__aeabi_dcmpgt
	.section	.rodata
	.align	2
.LC1:
	.ascii	"Function not bracketed in bisection2\000"
	.global	__aeabi_dcmplt
	.global	__aeabi_dsub
	.global	__aeabi_ddiv
	.global	__aeabi_dadd
	.global	__aeabi_dcmple
	.align	2
.LC2:
	.ascii	"Too many steps in bisection2\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bisection3, %function
bisection3:
	@ args = 32, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	blx	r6
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	blx	r6
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L28
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	b	.L8
.L28:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L29
	ldmib	fp, {r2-r3}
	b	.L8
.L29:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L30
	ldr	r3, .L33
	ldr	r3, [r3]
	mov	r2, #36
	mov	r1, #1
	ldr	r0, .L33+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L30:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L31
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L15
.L31:
	ldmib	fp, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldmib	fp, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
.L15:
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L16
.L22:
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	blx	r6
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L17
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L17:
	ldr	r4, [fp, #-60]
	ldr	r3, [fp, #-56]
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	add	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L19
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L32
.L19:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L8
.L32:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L16:
	ldr	r3, [fp, #-64]
	ldr	r2, .L33+8
	cmp	r3, r2
	ble	.L22
	ldr	r3, .L33
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L33+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L8:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L34:
	.align	2
.L33:
	.word	stderr
	.word	.LC1
	.word	10000
	.word	.LC2
	.size	bisection3, .-bisection3
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bisection2, %function
bisection2:
	@ args = 24, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #68
	str	r0, [fp, #-72]
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	blx	r6
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	blx	r6
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L58
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	b	.L38
.L58:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L59
	ldmib	fp, {r2-r3}
	b	.L38
.L59:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L60
	ldr	r3, .L63
	ldr	r3, [r3]
	mov	r2, #36
	mov	r1, #1
	ldr	r0, .L63+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L60:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L61
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L45
.L61:
	ldmib	fp, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldmib	fp, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
.L45:
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L46
.L52:
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r6, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	blx	r6
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L47
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L47:
	ldr	r4, [fp, #-60]
	ldr	r3, [fp, #-56]
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L49
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L62
.L49:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	b	.L38
.L62:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L46:
	ldr	r3, [fp, #-64]
	ldr	r2, .L63+8
	cmp	r3, r2
	ble	.L52
	ldr	r3, .L63
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L63+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L38:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L64:
	.align	2
.L63:
	.word	stderr
	.word	.LC1
	.word	10000
	.word	.LC2
	.size	bisection2, .-bisection2
	.global	__aeabi_i2d
	.section	.rodata
	.align	2
.LC3:
	.ascii	"Too many steps in get_rootdef\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_rootdef, %function
get_rootdef:
	@ args = 48, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L66
.L75:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #12]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L79
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L69
.L79:
	ldr	r0, [fp, #36]
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L80
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stmib	fp, {r2-r3}
	b	.L72
.L80:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L72:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	add	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L81
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L69
.L81:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L66:
	ldr	r3, [fp, #-32]
	ldr	r2, .L82
	cmp	r3, r2
	ble	.L75
	ldr	r3, .L82+4
	ldr	r3, [r3]
	mov	r2, #29
	mov	r1, #1
	ldr	r0, .L82+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L69:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L83:
	.align	2
.L82:
	.word	10000
	.word	stderr
	.word	.LC3
	.size	get_rootdef, .-get_rootdef
	.section	.rodata
	.align	2
.LC4:
	.ascii	"Too many steps in get_rootdefm\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_rootdefm, %function
get_rootdefm:
	@ args = 64, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L85
.L94:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #12]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L98
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L88
.L98:
	ldr	r0, [fp, #52]
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L99
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stmib	fp, {r2-r3}
	b	.L91
.L99:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L91:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	add	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L100
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L88
.L100:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L85:
	ldr	r3, [fp, #-32]
	ldr	r2, .L101
	cmp	r3, r2
	ble	.L94
	ldr	r3, .L101+4
	ldr	r3, [r3]
	mov	r2, #30
	mov	r1, #1
	ldr	r0, .L101+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L88:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L102:
	.align	2
.L101:
	.word	10000
	.word	stderr
	.word	.LC4
	.size	get_rootdefm, .-get_rootdefm
	.section	.rodata
	.align	2
.LC5:
	.ascii	"Too many steps in get_rootdef_lu\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_rootdef_lu, %function
get_rootdef_lu:
	@ args = 56, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L104
.L113:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #12]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L117
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #40]
	stm	r1, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	bic	r7, r3, #-2147483648
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #44]
	stm	r1, {r2-r3}
	b	.L103
.L117:
	ldr	r0, [fp, #36]
	bl	__aeabi_i2d
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L118
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stmib	fp, {r2-r3}
	b	.L110
.L118:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
.L110:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	bic	r9, r3, #-2147483648
	mov	r2, r8
	mov	r3, r9
	add	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L119
	ldr	r1, [fp, #40]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #44]
	ldmib	fp, {r2-r3}
	stm	r1, {r2-r3}
	b	.L103
.L119:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L104:
	ldr	r3, [fp, #-48]
	ldr	r2, .L120
	cmp	r3, r2
	ble	.L113
	ldr	r3, .L120+4
	ldr	r3, [r3]
	mov	r2, #32
	mov	r1, #1
	ldr	r0, .L120+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L103:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L121:
	.align	2
.L120:
	.word	10000
	.word	stderr
	.word	.LC5
	.size	get_rootdef_lu, .-get_rootdef_lu
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Too many trials in grid_brack\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	grid_brack, %function
grid_brack:
	@ args = 48, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L127:
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L126:
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #12]
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r0, [fp, #36]
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L129
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	b	.L130
.L129:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldmib	fp, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L126
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	ldr	r2, .L131
	ldr	r3, .L131+4
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L127
	ldr	r3, .L131+8
	ldr	r3, [r3]
	mov	r2, #29
	mov	r1, #1
	ldr	r0, .L131+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L130:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L132:
	.align	2
.L131:
	.word	-500134854
	.word	1044740494
	.word	stderr
	.word	.LC6
	.size	grid_brack, .-grid_brack
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erdl_coeff, %function
erdl_coeff:
	@ args = 20, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #80
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldmib	fp, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldmib	fp, {r2-r3}
	mov	r0, #0
	ldr	r1, .L141
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L140
	mov	r2, #0
	ldr	r3, .L141
	stmib	fp, {r2-r3}
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	b	.L136
.L140:
	mov	r2, #0
	ldr	r3, .L141
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L136
	mov	r2, #0
	mov	r3, #0
	stmib	fp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L141
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
.L136:
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #92
	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, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L141
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldmib	fp, {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, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #60
	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, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r1, fp, #44
	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, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #16]
	stm	r1, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #60
	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, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #12]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L142:
	.align	2
.L141:
	.word	1072693248
	.size	erdl_coeff, .-erdl_coeff
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erdl_dp, %function
erdl_dp:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, .L146
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #28
	str	r3, [sp, #16]
	sub	r3, fp, #36
	str	r3, [sp, #12]
	sub	r3, fp, #44
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	erdl_coeff
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L146+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L146
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L145
	bl	__stack_chk_fail
.L145:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L147:
	.align	2
.L146:
	.word	.LC7
	.word	1074790400
	.size	erdl_dp, .-erdl_dp
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erdl_pm, %function
erdl_pm:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, .L151
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #20
	str	r3, [sp, #16]
	sub	r3, fp, #28
	str	r3, [sp, #12]
	sub	r3, fp, #36
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	erdl_coeff
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L151
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L150
	bl	__stack_chk_fail
.L150:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L152:
	.align	2
.L151:
	.word	.LC8
	.size	erdl_pm, .-erdl_pm
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erdl_pp, %function
erdl_pp:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, .L156
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #20
	str	r3, [sp, #16]
	sub	r3, fp, #28
	str	r3, [sp, #12]
	sub	r3, fp, #36
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	erdl_coeff
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	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_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L156
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L155
	bl	__stack_chk_fail
.L155:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L157:
	.align	2
.L156:
	.word	.LC9
	.size	erdl_pp, .-erdl_pp
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cosplus, %function
cosplus:
	@ args = 8, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #96
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, .L173
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #52
	str	r3, [sp, #16]
	sub	r3, fp, #60
	str	r3, [sp, #12]
	sub	r3, fp, #68
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	erdl_coeff
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L171
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L172
	mov	r2, #0
	ldr	r3, .L173+4
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L163
.L172:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L163
.L171:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L173+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L164
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L164:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L173+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L163:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, .L173
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L167
	bl	__stack_chk_fail
.L167:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L174:
	.align	2
.L173:
	.word	.LC10
	.word	1072693248
	.word	1074790400
	.word	-1075838976
	.size	cosplus, .-cosplus
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cosminus, %function
cosminus:
	@ args = 8, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #96
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r3, .L190
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #52
	str	r3, [sp, #16]
	sub	r3, fp, #60
	str	r3, [sp, #12]
	sub	r3, fp, #68
	str	r3, [sp, #8]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	erdl_coeff
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L188
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L189
	mov	r2, #0
	ldr	r3, .L190+4
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L180
.L189:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L180
.L188:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L190+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L181
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L181:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L190+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L180:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, .L190
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L184
	bl	__stack_chk_fail
.L184:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L191:
	.align	2
.L190:
	.word	.LC11
	.word	1072693248
	.word	1074790400
	.word	-1075838976
	.size	cosminus, .-cosminus
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_cos, %function
get_cos:
	@ args = 16, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L193
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	b	.L194
.L193:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
.L194:
	mov	r2, #0
	ldr	r3, .L202
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L195
	mov	r2, #0
	ldr	r3, .L202
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
.L195:
	mov	r2, #0
	ldr	r3, .L202+4
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L197
	mov	r2, #0
	ldr	r3, .L202+4
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
.L197:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L203:
	.align	2
.L202:
	.word	-1074790400
	.word	1072693248
	.size	get_cos, .-get_cos
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	d1func, %function
d1func:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L206
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L206+4
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	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	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L206
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #1069547520
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L207:
	.align	2
.L206:
	.word	1072693248
	.word	1074266112
	.size	d1func, .-d1func
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	calc_d1, %function
calc_d1:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r2, #0
	ldr	r3, .L210
	stm	sp, {r2-r3}
	mov	r2, #0
	mov	r3, #0
	ldr	r0, .L210+4
	bl	bisection2
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	1072693248
	.word	d1func
	.size	calc_d1, .-calc_d1
	.global	__aeabi_dcmpge
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	close_binary, %function
close_binary:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	erdl_dp
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	erdl_dp
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L213
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	erdl_dp
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	erdl_dp
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L217
.L213:
	mov	r3, #0
	b	.L216
.L217:
	mov	r3, #1
.L216:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	close_binary, .-close_binary
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	wide_binary, %function
wide_binary:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	erdl_pp
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	erdl_pp
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L219
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	erdl_pp
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	erdl_pp
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L223
.L219:
	mov	r3, #0
	b	.L222
.L223:
	mov	r3, #1
.L222:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	wide_binary, .-wide_binary
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erdl_limits, %function
erdl_limits:
	@ args = 28, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #96
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	ldr	r2, .L233
	ldr	r3, .L233+4
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	pow
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L233+8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233
	ldr	r3, .L233+4
	bl	pow
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233
	ldr	r3, .L233+4
	bl	pow
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	ldr	r2, .L233+12
	ldr	r3, .L233+16
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	calc_d1
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233
	ldr	r3, .L233+4
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L232
	ldr	r1, [fp, #4]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #8]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #12]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #16]
	mov	r2, #0
	ldr	r3, .L233+8
	stm	r1, {r2-r3}
	ldr	r1, [fp, #20]
	mov	r2, #0
	ldr	r3, .L233+8
	stm	r1, {r2-r3}
	ldr	r1, [fp, #24]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #24]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L224
.L232:
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r2, #0
	ldr	r3, .L233+8
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldr	r0, .L233+28
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #16]
	stm	r1, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	stm	sp, {r0-r1}
	ldr	r2, .L233+32
	ldr	r3, .L233+36
	ldr	r0, .L233+40
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #4]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L233+8
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L233+44
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	close_binary
	mov	r3, r0
	cmp	r3, #0
	beq	.L228
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L233+40
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #8]
	stm	r1, {r2-r3}
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, .L233+40
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #12]
	stm	r1, {r2-r3}
	b	.L229
.L228:
	ldr	r1, [fp, #8]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #12]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
.L229:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	wide_binary
	mov	r3, r0
	cmp	r3, #0
	beq	.L230
	sub	r3, fp, #44
	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
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L233+44
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	ldr	r2, .L233+20
	ldr	r3, .L233+24
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldr	r0, .L233+44
	bl	bisection3
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	b	.L224
.L230:
	ldr	r1, [fp, #24]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #28]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
.L224:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L234:
	.align	2
.L233:
	.word	1431655765
	.word	1070945621
	.word	1072693248
	.word	-1629006314
	.word	1020396463
	.word	-1747416644
	.word	1016910514
	.word	erdl_pm
	.word	-18103648
	.word	968116299
	.word	erdl_dp
	.word	erdl_pp
	.size	erdl_limits, .-erdl_limits
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	x1x2, %function
x1x2:
	@ args = 24, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #32
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L248
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L236
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L236:
	mov	r2, #0
	ldr	r3, .L248+4
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L246
	mov	r2, #0
	ldr	r3, .L248+4
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L240
.L246:
	mov	r2, #0
	ldr	r3, .L248
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L247
	mov	r2, #0
	ldr	r3, .L248
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L240
.L247:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L248
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
.L240:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L249:
	.align	2
.L248:
	.word	1072693248
	.word	-1074790400
	.size	x1x2, .-x1x2
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	perp_caust, %function
perp_caust:
	@ args = 32, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #112
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	str	r2, [fp, #-96]
	ldr	r3, .L255
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L251
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	b	.L252
.L251:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
.L252:
	sub	r3, fp, #76
	str	r3, [sp, #20]
	sub	r3, fp, #84
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	sub	r5, fp, #76
	ldmia	r5, {r4-r5}
	sub	r3, fp, #44
	str	r3, [sp, #20]
	sub	r3, fp, #52
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlens
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	sub	r5, fp, #76
	ldmia	r5, {r4-r5}
	sub	r3, fp, #60
	str	r3, [sp, #20]
	sub	r3, fp, #68
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r1, .L255
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L254
	bl	__stack_chk_fail
.L254:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L256:
	.align	2
.L255:
	.word	.LC12
	.size	perp_caust, .-perp_caust
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	perp_caustd1, %function
perp_caustd1:
	@ args = 32, pretend = 0, frame = 248
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #288
	str	r0, [fp, #-260]
	str	r1, [fp, #-256]
	str	r2, [fp, #-264]
	ldr	r3, .L262
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-264]
	cmp	r3, #0
	beq	.L258
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	b	.L259
.L258:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
.L259:
	sub	r3, fp, #132
	str	r3, [sp, #20]
	sub	r3, fp, #140
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	sub	r3, fp, #116
	str	r3, [sp, #20]
	sub	r3, fp, #124
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	normal
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	sub	r3, fp, #244
	str	r3, [sp, #20]
	sub	r3, fp, #252
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlens
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	sub	r3, fp, #220
	str	r3, [sp, #24]
	sub	r3, fp, #228
	str	r3, [sp, #20]
	sub	r3, fp, #236
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd1
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #28]
	sub	r3, fp, #196
	str	r3, [sp, #24]
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd2
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	sub	r3, fp, #148
	str	r3, [sp, #32]
	sub	r3, fp, #156
	str	r3, [sp, #28]
	sub	r3, fp, #164
	str	r3, [sp, #24]
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd3
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #204
	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, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #196
	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, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #172
	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, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #212
	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, #196
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #204
	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, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #164
	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, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #156
	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, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #204
	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, #188
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #196
	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, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, .L262
	ldr	r0, [r1]
	ldr	r1, [fp, #-24]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L261
	bl	__stack_chk_fail
.L261:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L263:
	.align	2
.L262:
	.word	.LC13
	.size	perp_caustd1, .-perp_caustd1
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	perp_caustd2, %function
perp_caustd2:
	@ args = 32, pretend = 0, frame = 432
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #472
	str	r0, [fp, #-444]
	str	r1, [fp, #-440]
	str	r2, [fp, #-448]
	ldr	r3, .L269
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-448]
	cmp	r3, #0
	beq	.L265
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-244]
	str	r1, [fp, #-240]
	b	.L266
.L270:
	.align	2
.L269:
	.word	.LC14
	.word	1075314688
	.word	1074266112
.L265:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-244]
	str	r1, [fp, #-240]
.L266:
	sub	r3, fp, #268
	str	r3, [sp, #20]
	sub	r3, fp, #276
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	normal
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #428
	str	r3, [sp, #20]
	sub	r3, fp, #436
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlens
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #404
	str	r3, [sp, #24]
	sub	r3, fp, #412
	str	r3, [sp, #20]
	sub	r3, fp, #420
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd1
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #372
	str	r3, [sp, #28]
	sub	r3, fp, #380
	str	r3, [sp, #24]
	sub	r3, fp, #388
	str	r3, [sp, #20]
	sub	r3, fp, #396
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd2
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #332
	str	r3, [sp, #32]
	sub	r3, fp, #340
	str	r3, [sp, #28]
	sub	r3, fp, #348
	str	r3, [sp, #24]
	sub	r3, fp, #356
	str	r3, [sp, #20]
	sub	r3, fp, #364
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r3, fp, #284
	str	r3, [sp, #36]
	sub	r3, fp, #292
	str	r3, [sp, #32]
	sub	r3, fp, #300
	str	r3, [sp, #28]
	sub	r3, fp, #308
	str	r3, [sp, #24]
	sub	r3, fp, #316
	str	r3, [sp, #20]
	sub	r3, fp, #324
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd4
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	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, #380
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	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, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #340
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	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, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	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, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #316
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #308
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #340
	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, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #300
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	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, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #292
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L269+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	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
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	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
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	ldr	r3, .L271
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L271
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, .L271+4
	ldr	r0, [r1]
	ldr	r1, [fp, #-24]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L268
	bl	__stack_chk_fail
.L268:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L272:
	.align	2
.L271:
	.word	1074266112
	.word	.LC14
	.size	perp_caustd2, .-perp_caustd2
	.section	.rodata
	.align	2
.LC15:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	curvature_der, %function
curvature_der:
	@ args = 16, pretend = 0, frame = 448
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #488
	str	r0, [fp, #-468]
	str	r1, [fp, #-464]
	str	r2, [fp, #-472]
	ldr	r3, .L278
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-472]
	cmp	r3, #0
	beq	.L274
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-268]
	str	r1, [fp, #-264]
	b	.L275
.L279:
	.align	2
.L278:
	.word	.LC15
	.word	1075314688
	.word	1074266112
.L274:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-268]
	str	r1, [fp, #-264]
.L275:
	sub	r3, fp, #292
	str	r3, [sp, #20]
	sub	r3, fp, #300
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #276
	str	r3, [sp, #20]
	sub	r3, fp, #284
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	normal
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #452
	str	r3, [sp, #20]
	sub	r3, fp, #460
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlens
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #428
	str	r3, [sp, #24]
	sub	r3, fp, #436
	str	r3, [sp, #20]
	sub	r3, fp, #444
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd1
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #396
	str	r3, [sp, #28]
	sub	r3, fp, #404
	str	r3, [sp, #24]
	sub	r3, fp, #412
	str	r3, [sp, #20]
	sub	r3, fp, #420
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd2
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #356
	str	r3, [sp, #32]
	sub	r3, fp, #364
	str	r3, [sp, #28]
	sub	r3, fp, #372
	str	r3, [sp, #24]
	sub	r3, fp, #380
	str	r3, [sp, #20]
	sub	r3, fp, #388
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd3
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	sub	r5, fp, #292
	ldmia	r5, {r4-r5}
	sub	r3, fp, #308
	str	r3, [sp, #36]
	sub	r3, fp, #316
	str	r3, [sp, #32]
	sub	r3, fp, #324
	str	r3, [sp, #28]
	sub	r3, fp, #332
	str	r3, [sp, #24]
	sub	r3, fp, #340
	str	r3, [sp, #20]
	sub	r3, fp, #348
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd4
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	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, #404
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	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, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	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, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	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, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #340
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #332
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	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, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #324
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #380
	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, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #316
	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, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L278+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #252
	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
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #252
	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
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	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
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L280
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r1, .L280+4
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L277
	bl	__stack_chk_fail
.L277:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L281:
	.align	2
.L280:
	.word	1074266112
	.word	.LC15
	.size	curvature_der, .-curvature_der
	.section	.rodata
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_to_list, %function
add_to_list:
	@ args = 28, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, .L289
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L283
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	b	.L284
.L283:
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
.L284:
	sub	r3, fp, #36
	str	r3, [sp, #20]
	sub	r3, fp, #44
	str	r3, [sp, #16]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	x1x2
	ldr	r3, [fp, #28]
	cmp	r3, #0
	beq	.L285
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
	stm	sp, {r4-r5}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-48]
	bl	add_ptlist
	b	.L288
.L285:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-48]
	bl	add_ptlist
.L288:
	nop
	ldr	r3, .L289
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L287
	bl	__stack_chk_fail
.L287:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L290:
	.align	2
.L289:
	.word	.LC16
	.size	add_to_list, .-add_to_list
	.global	__aeabi_d2iz
	.section	.rodata
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_crit, %function
add_crit:
	@ args = 84, pretend = 0, frame = 616
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #680
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	ldr	r3, [fp, #84]
	str	r3, [fp, #-288]
	ldr	r3, .L414
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	add	r3, fp, #76
	ldmia	r3, {r2-r3}
	add	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #36]
	cmp	r3, #0
	beq	.L292
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-236]
	str	r1, [fp, #-232]
	b	.L293
.L292:
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-236]
	str	r1, [fp, #-232]
.L293:
	sub	r3, fp, #260
	str	r3, [sp, #20]
	sub	r3, fp, #268
	str	r3, [sp, #16]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	str	r3, [sp, #20]
	sub	r3, fp, #252
	str	r3, [sp, #16]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	binlens
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	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, #-188]
	str	r3, [fp, #-184]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	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, #-180]
	str	r3, [fp, #-176]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #36]
	cmp	r3, #0
	beq	.L294
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	cosplus
	str	r0, [fp, #-236]
	str	r1, [fp, #-232]
	b	.L295
.L294:
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	cosminus
	str	r0, [fp, #-236]
	str	r1, [fp, #-232]
.L295:
	sub	r3, fp, #260
	str	r3, [sp, #20]
	sub	r3, fp, #268
	str	r3, [sp, #16]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #268
	ldmia	r5, {r4-r5}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	str	r3, [sp, #20]
	sub	r3, fp, #252
	str	r3, [sp, #16]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	binlens
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	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, #-156]
	str	r3, [fp, #-152]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	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, #-148]
	str	r3, [fp, #-144]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-124]
	str	r1, [fp, #-120]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-116]
	str	r1, [fp, #-112]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	perp_caustd2
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	perp_caustd2
	str	r0, [fp, #-100]
	str	r1, [fp, #-96]
	ldr	r8, [fp, #68]
	ldr	r3, [fp, #72]
	eor	r9, r3, #-2147483648
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-300]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-296]
	sub	r4, fp, #300
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-308]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-304]
	sub	r4, fp, #308
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	perp_caustd2
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-312]
	sub	r4, fp, #316
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	perp_caustd2
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L405
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-324]
	ldr	r3, [fp, #-96]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-320]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+8
	bl	get_rootdefm
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L406
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
	b	.L300
.L406:
	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	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L301
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-332]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-328]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+20
	bl	get_rootdefm
	str	r0, [fp, #-228]
	str	r1, [fp, #-224]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
.L301:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L300
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-340]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-336]
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-344]
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+20
	bl	get_rootdefm
	str	r0, [fp, #-220]
	str	r1, [fp, #-216]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-204]
	str	r1, [fp, #-200]
	b	.L300
.L415:
	.align	2
.L414:
	.word	.LC17
	.word	perp_caust
	.word	perp_caustd2
	.word	-2036257893
	.word	1023837339
	.word	perp_caustd1
.L405:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L300
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-356]
	ldr	r3, [fp, #-112]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-352]
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+20
	bl	get_rootdefm
	str	r0, [fp, #-228]
	str	r1, [fp, #-224]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
.L300:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L305
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L407
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
	b	.L305
.L407:
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L309
	ldr	r3, [fp, #-212]
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-208]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-360]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L309:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L305
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L305
	ldr	r3, [fp, #-212]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-208]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-368]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-380]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-376]
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L305:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L313
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L408
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
	b	.L313
.L408:
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L317
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-384]
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-396]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-392]
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L317:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L313
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L313
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-404]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-400]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L313:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L321
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L321
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L321
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-408]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L321:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L325
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L325
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L325
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-420]
	ldr	r3, [fp, #-136]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-416]
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	add	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+4
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #0
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L325:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L409
	ldr	r3, [fp, #68]
	str	r3, [fp, #-428]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-424]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-436]
	ldr	r3, [fp, #-64]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-432]
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #428
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+8
	bl	get_rootdefm
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-444]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-440]
	sub	r4, fp, #444
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	perp_caustd1
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L410
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-452]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-448]
	sub	r4, fp, #452
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
	b	.L333
.L410:
	sub	r3, fp, #52
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L334
	ldr	r3, [fp, #68]
	str	r3, [fp, #-460]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-468]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-464]
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L414+12
	ldr	r3, .L414+16
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #460
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L414+20
	bl	get_rootdefm
	str	r0, [fp, #-228]
	str	r1, [fp, #-224]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-476]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-472]
	sub	r4, fp, #476
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
.L334:
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L333
	ldr	r3, [fp, #68]
	str	r3, [fp, #-484]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-480]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-492]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-488]
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-500]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-496]
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #484
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+8
	bl	get_rootdefm
	str	r0, [fp, #-220]
	str	r1, [fp, #-216]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-508]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-504]
	sub	r4, fp, #508
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-204]
	str	r1, [fp, #-200]
	b	.L333
.L409:
	sub	r3, fp, #84
	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
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L333
	ldr	r3, [fp, #68]
	str	r3, [fp, #-516]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-512]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-524]
	ldr	r3, [fp, #-80]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-520]
	sub	r3, fp, #524
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #516
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+8
	bl	get_rootdefm
	str	r0, [fp, #-228]
	str	r1, [fp, #-224]
	ldr	r3, [fp, #68]
	str	r3, [fp, #-532]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-528]
	sub	r4, fp, #532
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #36]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	perp_caust
	str	r0, [fp, #-212]
	str	r1, [fp, #-208]
.L333:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L338
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L411
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
	b	.L338
.L411:
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L342
	ldr	r3, [fp, #68]
	str	r3, [fp, #-540]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-536]
	ldr	r3, [fp, #-212]
	str	r3, [fp, #-548]
	ldr	r3, [fp, #-208]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-544]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #540
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L342:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L338
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L338
	ldr	r3, [fp, #68]
	str	r3, [fp, #-556]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-552]
	ldr	r3, [fp, #-212]
	str	r3, [fp, #-564]
	ldr	r3, [fp, #-208]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-560]
	sub	r3, fp, #564
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-568]
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #556
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L338:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L346
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L412
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
	b	.L346
.L412:
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L350
	ldr	r3, [fp, #68]
	str	r3, [fp, #-580]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-576]
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-588]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-584]
	sub	r3, fp, #588
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-592]
	sub	r1, fp, #596
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #580
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L350:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L346
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L346
	ldr	r3, [fp, #68]
	str	r3, [fp, #-604]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-612]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-608]
	sub	r3, fp, #612
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #604
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L346:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L354
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L354
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L354
	ldr	r3, [fp, #68]
	str	r3, [fp, #-620]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-616]
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-628]
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-624]
	sub	r3, fp, #628
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #620
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L354:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L402
	b	.L413
.L402:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L403
	b	.L413
.L403:
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L404
	b	.L413
.L404:
	ldr	r3, [fp, #68]
	str	r3, [fp, #-636]
	ldr	r3, [fp, #72]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-632]
	ldr	r3, [fp, #-132]
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-128]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-640]
	sub	r3, fp, #644
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r2, .L416
	ldr	r3, .L416+4
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r1, [sp, #48]
	sub	r4, fp, #636
	ldmia	r4, {r3-r4}
	str	r3, [sp, #40]
	str	r4, [sp, #44]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #36]
	str	r3, [sp, #8]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, .L416+12
	bl	get_rootdefm
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	mov	r3, #1
	str	r3, [sp, #24]
	add	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #36]
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-288]
	bl	add_to_list
.L413:
	nop
	ldr	r3, .L416+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L362
	bl	__stack_chk_fail
.L362:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L417:
	.align	2
.L416:
	.word	-2036257893
	.word	1023837339
	.word	perp_caustd1
	.word	perp_caust
	.word	.LC17
	.size	add_crit, .-add_crit
	.section	.rodata
	.align	2
.LC18:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_crit_circ
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_crit_circ, %function
get_crit_circ:
	@ args = 28, pretend = 0, frame = 448
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #536
	str	r0, [fp, #-324]
	str	r1, [fp, #-320]
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #28]
	str	r3, [fp, #-336]
	ldr	r3, .L575
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	sub	r3, fp, #268
	str	r3, [sp, #24]
	sub	r3, fp, #276
	str	r3, [sp, #20]
	sub	r3, fp, #284
	str	r3, [sp, #16]
	sub	r3, fp, #292
	str	r3, [sp, #12]
	sub	r3, fp, #300
	str	r3, [sp, #8]
	sub	r3, fp, #308
	str	r3, [sp, #4]
	sub	r3, fp, #316
	str	r3, [sp]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	bl	erdl_limits
	ldr	r2, .L575+4
	ldr	r3, .L575+8
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	bl	calc_d1
	str	r0, [fp, #-124]
	str	r1, [fp, #-120]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L575+12
	ldr	r3, .L575+16
	bl	pow
	str	r0, [fp, #-116]
	str	r1, [fp, #-112]
	ldr	r2, .L575+12
	ldr	r3, .L575+16
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	bl	pow
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L575+20
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L575+12
	ldr	r3, .L575+16
	bl	pow
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	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	sqrt
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L575+12
	ldr	r3, .L575+16
	bl	pow
	str	r0, [fp, #-100]
	str	r1, [fp, #-96]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	bl	close_binary
	mov	r3, r0
	cmp	r3, #0
	beq	.L419
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+24
	bl	get_rootdef
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	ldr	r2, .L575+28
	ldr	r3, .L575+32
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+36
	bl	get_rootdef_lu
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L565
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	stm	sp, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+40
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L422
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L422:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-348]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-344]
	sub	r4, fp, #348
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L424
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L424:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r9, fp, #196
	ldmia	r9, {r8-r9}
	sub	r7, fp, #188
	ldmia	r7, {r6-r7}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L426
.L565:
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #196
	ldmia	r9, {r8-r9}
	sub	r7, fp, #188
	ldmia	r7, {r6-r7}
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L426:
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #140
	str	r3, [sp, #20]
	sub	r3, fp, #148
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L566
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L575+40
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L429
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L429:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-356]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-352]
	sub	r4, fp, #356
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L431
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L431:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r5, fp, #148
	ldmia	r5, {r4-r5}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L433
.L576:
	.align	2
.L575:
	.word	.LC18
	.word	-1629006314
	.word	1020396463
	.word	1431655765
	.word	1070945621
	.word	1072693248
	.word	offdiag
	.word	-640172613
	.word	1037794527
	.word	cspf
	.word	curvature_der
	.word	-2036257893
	.word	1023837339
.L566:
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r5, fp, #148
	ldmia	r5, {r4-r5}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
.L433:
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+24
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L575+28
	ldr	r3, .L575+32
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+36
	bl	get_rootdef_lu
	ldr	r2, .L575+28
	ldr	r3, .L575+32
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #220
	str	r3, [sp, #40]
	sub	r3, fp, #228
	str	r3, [sp, #36]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+36
	bl	get_rootdef_lu
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L567
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	stm	sp, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L575+40
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L436
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L436:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-364]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-360]
	sub	r4, fp, #364
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L438
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L438:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r9, fp, #196
	ldmia	r9, {r8-r9}
	sub	r7, fp, #188
	ldmia	r7, {r6-r7}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L440
.L567:
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #196
	ldmia	r9, {r8-r9}
	sub	r7, fp, #188
	ldmia	r7, {r6-r7}
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L440:
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #140
	str	r3, [sp, #20]
	sub	r3, fp, #148
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L568
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L575+40
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L443
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L443:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-368]
	sub	r4, fp, #372
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L445
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L445:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r4, fp, #220
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r5, fp, #148
	ldmia	r5, {r4-r5}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L447
.L568:
	sub	r4, fp, #220
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r5, fp, #148
	ldmia	r5, {r4-r5}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
.L447:
	sub	r5, fp, #236
	ldmia	r5, {r4-r5}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	ldr	r2, .L575+44
	ldr	r3, .L575+48
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	stm	sp, {r0-r1}
	mov	r2, r4
	mov	r3, r5
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L448
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L448:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-376]
	sub	r4, fp, #380
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L450
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L450:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r5, fp, #260
	ldmia	r5, {r4-r5}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	sub	r3, fp, #156
	str	r3, [sp, #20]
	sub	r3, fp, #164
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #228
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r5, fp, #164
	ldmia	r5, {r4-r5}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r8-r9}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	cosplus
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-388]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-384]
	mov	r2, #0
	ldr	r3, .L577
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L452
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
.L452:
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+4
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L577+8
	ldr	r3, .L577+12
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+16
	bl	get_rootdef_lu
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+24
	ldr	r1, .L577+28
	str	r0, [sp, #40]
	str	r1, [sp, #44]
	mvn	r1, #0
	str	r1, [sp, #32]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r1, #1
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L454
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L454:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-396]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-392]
	sub	r4, fp, #396
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L456
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L456:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r5, fp, #188
	ldmia	r5, {r4-r5}
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r8, [sp, #16]
	str	r9, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r4-r5}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L458
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L458:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-404]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-400]
	sub	r4, fp, #404
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L460
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
	b	.L578
.L579:
	.align	2
.L577:
	.word	1072693248
	.word	offdiag
	.word	-640172613
	.word	1037794527
	.word	cspf
	.word	-1074790400
	.word	-2036257893
	.word	1023837339
	.word	curvature_der
.L578:
.L460:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r5, fp, #204
	ldmia	r5, {r4-r5}
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #1
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L577+20
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	cosplus
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-412]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-408]
	mov	r2, #0
	ldr	r3, .L577
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L539
	b	.L574
.L539:
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L569
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L466
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L466:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-420]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-416]
	sub	r4, fp, #420
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L468
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L468:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r9, fp, #20
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	add	r9, fp, #12
	ldmia	r9, {r8-r9}
	str	r8, [sp, #64]
	str	r9, [sp, #68]
	ldmib	fp, {r8-r9}
	str	r8, [sp, #56]
	str	r9, [sp, #60]
	sub	r9, fp, #332
	ldmia	r9, {r8-r9}
	str	r8, [sp, #48]
	str	r9, [sp, #52]
	sub	r9, fp, #324
	ldmia	r9, {r8-r9}
	str	r8, [sp, #40]
	str	r9, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L577+20
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L574
.L569:
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L577+20
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L574
.L419:
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	bl	wide_binary
	mov	r3, r0
	cmp	r3, #0
	beq	.L470
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+4
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L577+8
	ldr	r3, .L577+12
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+16
	bl	get_rootdef_lu
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	stm	sp, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L471
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L471:
	ldr	r8, [fp, #12]
	ldr	r3, [fp, #16]
	eor	r9, r3, #-2147483648
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L473
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L473:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	sub	r5, fp, #172
	ldmia	r5, {r4-r5}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r2, #0
	mov	r3, #0
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r2, #0
	ldr	r3, .L577+20
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r8, [sp, #8]
	str	r9, [sp, #12]
	stm	sp, {r6-r7}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L577+24
	ldr	r3, .L577+28
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L577+32
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L475
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L475:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-428]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-424]
	sub	r4, fp, #428
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L477
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L477:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r5, fp, #212
	ldmia	r5, {r4-r5}
	sub	r7, fp, #204
	ldmia	r7, {r6-r7}
	sub	r9, fp, #180
	ldmia	r9, {r8-r9}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r8, [sp, #16]
	str	r9, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r4-r5}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #1
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L580
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L570
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L481
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L481:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-436]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-432]
	sub	r4, fp, #436
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L483
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L483:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r5, fp, #188
	ldmia	r5, {r4-r5}
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #1
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L580
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L485
.L570:
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #1
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L580
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L485:
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+4
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L580+8
	ldr	r3, .L580+12
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+16
	bl	get_rootdef_lu
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L571
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+20
	ldr	r1, .L580+24
	str	r0, [sp, #40]
	str	r1, [sp, #44]
	mvn	r1, #0
	str	r1, [sp, #32]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r1, #0
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L488
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L488:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-444]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-440]
	sub	r4, fp, #444
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L490
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L490:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r9, fp, #20
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	add	r9, fp, #12
	ldmia	r9, {r8-r9}
	str	r8, [sp, #64]
	str	r9, [sp, #68]
	ldmib	fp, {r8-r9}
	str	r8, [sp, #56]
	str	r9, [sp, #60]
	sub	r9, fp, #332
	ldmia	r9, {r8-r9}
	str	r8, [sp, #48]
	str	r9, [sp, #52]
	sub	r9, fp, #324
	ldmia	r9, {r8-r9}
	str	r8, [sp, #40]
	str	r9, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	sub	r5, fp, #172
	ldmia	r5, {r4-r5}
	sub	r7, fp, #212
	ldmia	r7, {r6-r7}
	sub	r9, fp, #204
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L492
.L581:
	.align	2
.L580:
	.word	-1074790400
	.word	offdiag
	.word	-640172613
	.word	1037794527
	.word	cspf
	.word	-2036257893
	.word	1023837339
	.word	curvature_der
.L571:
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r5, fp, #188
	ldmia	r5, {r4-r5}
	sub	r7, fp, #212
	ldmia	r7, {r6-r7}
	sub	r9, fp, #204
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L492:
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L580+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L493
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L493:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-452]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-448]
	sub	r4, fp, #452
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L495
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L495:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r9, fp, #20
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	add	r9, fp, #12
	ldmia	r9, {r8-r9}
	str	r8, [sp, #64]
	str	r9, [sp, #68]
	ldmib	fp, {r8-r9}
	str	r8, [sp, #56]
	str	r9, [sp, #60]
	sub	r9, fp, #332
	ldmia	r9, {r8-r9}
	str	r8, [sp, #48]
	str	r9, [sp, #52]
	sub	r9, fp, #324
	ldmia	r9, {r8-r9}
	str	r8, [sp, #40]
	str	r9, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L580
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L574
.L470:
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+4
	bl	grid_brack
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+4
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+4
	bl	get_rootdef
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	ldr	r2, .L580+8
	ldr	r3, .L580+12
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+16
	bl	get_rootdef_lu
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L572
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+20
	ldr	r1, .L580+24
	str	r0, [sp, #40]
	str	r1, [sp, #44]
	mvn	r1, #0
	str	r1, [sp, #32]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r1, #1
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L580+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L499
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L499:
	ldr	r6, [fp, #12]
	ldr	r3, [fp, #16]
	eor	r7, r3, #-2147483648
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L501
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L501:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r5, fp, #188
	ldmia	r5, {r4-r5}
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r8, [sp, #16]
	str	r9, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r4-r5}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L503
.L572:
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r5, fp, #196
	ldmia	r5, {r4-r5}
	sub	r7, fp, #188
	ldmia	r7, {r6-r7}
	sub	r9, fp, #212
	ldmia	r9, {r8-r9}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r8, [sp, #16]
	str	r9, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	stm	sp, {r4-r5}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L503:
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L580+20
	ldr	r3, .L580+24
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #1
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L580+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L504
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L504:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-460]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-456]
	sub	r4, fp, #460
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L506
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #1
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L506:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #1
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r5, fp, #204
	ldmia	r5, {r4-r5}
	sub	r7, fp, #180
	ldmia	r7, {r6-r7}
	sub	r9, fp, #172
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #1
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #1
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L582
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L582+4
	ldr	r3, .L582+8
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L582+12
	bl	get_rootdef
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	ldr	r2, .L582+16
	ldr	r3, .L582+20
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #236
	str	r3, [sp, #40]
	sub	r3, fp, #244
	str	r3, [sp, #36]
	mov	r3, #1
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L582+24
	bl	get_rootdef_lu
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #188
	str	r3, [sp, #20]
	sub	r3, fp, #196
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	curvature_der
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L573
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	ldr	r0, .L582+4
	ldr	r1, .L582+8
	str	r0, [sp, #40]
	str	r1, [sp, #44]
	mvn	r1, #0
	str	r1, [sp, #32]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	mov	r1, #0
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, .L582+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L510
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L510:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-468]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-464]
	sub	r4, fp, #468
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L512
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L512:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r9, fp, #20
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	add	r9, fp, #12
	ldmia	r9, {r8-r9}
	str	r8, [sp, #64]
	str	r9, [sp, #68]
	ldmib	fp, {r8-r9}
	str	r8, [sp, #56]
	str	r9, [sp, #60]
	sub	r9, fp, #332
	ldmia	r9, {r8-r9}
	str	r8, [sp, #48]
	str	r9, [sp, #52]
	sub	r9, fp, #324
	ldmia	r9, {r8-r9}
	str	r8, [sp, #40]
	str	r9, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	sub	r5, fp, #172
	ldmia	r5, {r4-r5}
	sub	r7, fp, #212
	ldmia	r7, {r6-r7}
	sub	r9, fp, #204
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
	b	.L514
.L573:
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r5, fp, #188
	ldmia	r5, {r4-r5}
	sub	r7, fp, #212
	ldmia	r7, {r6-r7}
	sub	r9, fp, #204
	ldmia	r9, {r8-r9}
	ldr	r3, [fp, #-336]
	str	r3, [sp, #80]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #72]
	str	r3, [sp, #76]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #64]
	str	r3, [sp, #68]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #32]
	str	r8, [sp, #24]
	str	r9, [sp, #28]
	str	r6, [sp, #16]
	str	r7, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	stm	sp, {r0-r1}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	add_crit
.L514:
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	ldr	r2, .L582+4
	ldr	r3, .L582+8
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	mvn	r3, #0
	str	r3, [sp, #32]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #8]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L582+28
	bl	get_rootdef
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L515
	mov	r3, #0
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L515:
	ldr	r3, [fp, #12]
	str	r3, [fp, #-476]
	ldr	r3, [fp, #16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-472]
	sub	r4, fp, #476
	ldmia	r4, {r3-r4}
	str	r3, [sp, #24]
	str	r4, [sp, #28]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	perp_caust
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L517
	mov	r3, #1
	str	r3, [sp, #24]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	add_to_list
.L517:
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #172
	str	r3, [sp, #20]
	sub	r3, fp, #180
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	str	r3, [sp, #20]
	sub	r3, fp, #260
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	x1x2
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	sub	r5, fp, #252
	ldmia	r5, {r4-r5}
	sub	r3, fp, #204
	str	r3, [sp, #20]
	sub	r3, fp, #212
	str	r3, [sp, #16]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	tangent_y
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-348]
	str	r4, [fp, #-344]
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r5, fp, #180
	ldmia	r5, {r4-r5}
	sub	r7, fp, #172
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r9, fp, #20
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	add	r9, fp, #12
	ldmia	r9, {r8-r9}
	str	r8, [sp, #64]
	str	r9, [sp, #68]
	ldmib	fp, {r8-r9}
	str	r8, [sp, #56]
	str	r9, [sp, #60]
	sub	r9, fp, #332
	ldmia	r9, {r8-r9}
	str	r8, [sp, #48]
	str	r9, [sp, #52]
	sub	r9, fp, #324
	ldmia	r9, {r8-r9}
	str	r8, [sp, #40]
	str	r9, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	str	r6, [sp, #24]
	str	r7, [sp, #28]
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	add_crit
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-336]
	str	ip, [sp, #80]
	add	r5, fp, #20
	ldmia	r5, {r4-r5}
	str	r4, [sp, #72]
	str	r5, [sp, #76]
	add	r5, fp, #12
	ldmia	r5, {r4-r5}
	str	r4, [sp, #64]
	str	r5, [sp, #68]
	ldmib	fp, {r4-r5}
	str	r4, [sp, #56]
	str	r5, [sp, #60]
	sub	r5, fp, #332
	ldmia	r5, {r4-r5}
	str	r4, [sp, #48]
	str	r5, [sp, #52]
	sub	r5, fp, #324
	ldmia	r5, {r4-r5}
	str	r4, [sp, #40]
	str	r5, [sp, #44]
	mov	ip, #0
	str	ip, [sp, #32]
	mov	r4, #0
	mov	r5, #0
	str	r4, [sp, #24]
	str	r5, [sp, #28]
	mov	r4, #0
	ldr	r5, .L582
	str	r4, [sp, #16]
	str	r5, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	add_crit
.L574:
	nop
	ldr	r3, .L582+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L519
	bl	__stack_chk_fail
.L519:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L583:
	.align	2
.L582:
	.word	-1074790400
	.word	-2036257893
	.word	1023837339
	.word	offdiag
	.word	-640172613
	.word	1037794527
	.word	cspf
	.word	curvature_der
	.word	.LC18
	.size	get_crit_circ, .-get_crit_circ
	.section	.rodata
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	offdiag, %function
offdiag:
	@ args = 16, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #104
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	str	r2, [fp, #-80]
	ldr	r3, .L587
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-80]
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r3, fp, #60
	str	r3, [sp, #20]
	sub	r3, fp, #68
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	r5, fp, #60
	ldmia	r5, {r4-r5}
	sub	r3, fp, #36
	str	r3, [sp, #24]
	sub	r3, fp, #44
	str	r3, [sp, #20]
	sub	r3, fp, #52
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd1
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r1, .L587
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L586
	bl	__stack_chk_fail
.L586:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L588:
	.align	2
.L587:
	.word	.LC19
	.size	offdiag, .-offdiag
	.section	.rodata
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cspf, %function
cspf:
	@ args = 16, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #168
	str	r0, [fp, #-140]
	str	r1, [fp, #-136]
	str	r2, [fp, #-144]
	ldr	r3, .L592
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-144]
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	get_cos
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #124
	str	r3, [sp, #20]
	sub	r3, fp, #132
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	x1x2
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	sub	r5, fp, #124
	ldmia	r5, {r4-r5}
	sub	r3, fp, #100
	str	r3, [sp, #24]
	sub	r3, fp, #108
	str	r3, [sp, #20]
	sub	r3, fp, #116
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	sub	r5, fp, #124
	ldmia	r5, {r4-r5}
	sub	r3, fp, #68
	str	r3, [sp, #28]
	sub	r3, fp, #76
	str	r3, [sp, #24]
	sub	r3, fp, #84
	str	r3, [sp, #20]
	sub	r3, fp, #92
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	binlensd2
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #84
	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, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #76
	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, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	mov	r1, r2
	str	r1, [fp, #-28]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-24]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L592
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L591
	bl	__stack_chk_fail
.L591:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L593:
	.align	2
.L592:
	.word	.LC20
	.size	cspf, .-cspf
	.section	.rodata
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	normal, %function
normal:
	@ args = 24, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #144
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #20]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #24]
	str	r3, [fp, #-124]
	ldr	r3, .L596
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #84
	str	r3, [sp, #24]
	sub	r3, fp, #92
	str	r3, [sp, #20]
	sub	r3, fp, #100
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	binlensd1
	sub	r3, fp, #52
	str	r3, [sp, #28]
	sub	r3, fp, #60
	str	r3, [sp, #24]
	sub	r3, fp, #68
	str	r3, [sp, #20]
	sub	r3, fp, #76
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	binlensd2
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #68
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	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	r4, r2
	mov	r5, r3
	sub	r1, fp, #60
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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	sqrt
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	mov	r2, #0
	ldr	r3, .L596+4
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-120]
	stm	r1, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-124]
	stm	r1, {r2-r3}
	nop
	ldr	r3, .L596
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L595
	bl	__stack_chk_fail
.L595:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L597:
	.align	2
.L596:
	.word	.LC21
	.word	1072693248
	.size	normal, .-normal
	.section	.rodata
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tangent_y, %function
tangent_y:
	@ args = 24, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #104
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #20]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #24]
	str	r3, [fp, #-84]
	ldr	r3, .L600
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #52
	str	r3, [sp, #20]
	sub	r3, fp, #60
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	normal
	sub	r3, fp, #28
	str	r3, [sp, #24]
	sub	r3, fp, #36
	str	r3, [sp, #20]
	sub	r3, fp, #44
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	binlensd1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-80]
	stm	r1, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-84]
	stm	r1, {r2-r3}
	nop
	ldr	r3, .L600
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L599
	bl	__stack_chk_fail
.L599:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L601:
	.align	2
.L600:
	.word	.LC22
	.size	tangent_y, .-tangent_y
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlens, %function
binlens:
	@ args = 24, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L611
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L603
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L611
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L603:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	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, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	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, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L605
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L610
.L605:
	ldr	r1, [fp, #20]
	ldr	r2, .L611+4
	ldr	r3, .L611+8
	stm	r1, {r2-r3}
	ldr	r1, [fp, #24]
	ldr	r2, .L611+4
	ldr	r3, .L611+8
	stm	r1, {r2-r3}
	b	.L602
.L610:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
.L602:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L612:
	.align	2
.L611:
	.word	1072693248
	.word	966823146
	.word	-970375591
	.size	binlens, .-binlens
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlensd1, %function
binlensd1:
	@ args = 28, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #112
	str	r0, [fp, #-116]
	str	r1, [fp, #-112]
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L617
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L614
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r2, #0
	ldr	r3, .L617
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L614:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	add	r1, fp, #12
	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, #100
	ldmia	r3, {r2-r3}
	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
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #108
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	add	r1, fp, #12
	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, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #108
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	add	r1, fp, #12
	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, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #108
	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, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L617
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	ldr	r1, [fp, #24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L617
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L618:
	.align	2
.L617:
	.word	1072693248
	.size	binlensd1, .-binlensd1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlensd2, %function
binlensd2:
	@ args = 32, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #144
	str	r0, [fp, #-148]
	str	r1, [fp, #-144]
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L623
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L620
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	ldr	r3, .L623
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L620:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	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
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	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
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	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
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	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
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L623+4
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L623+8
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L623+8
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L623+8
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L623+4
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L623+8
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #32]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L624:
	.align	2
.L623:
	.word	1072693248
	.word	1075314688
	.word	1075838976
	.size	binlensd2, .-binlensd2
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlensd3, %function
binlensd3:
	@ args = 36, pretend = 0, frame = 248
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #248
	str	r0, [fp, #-252]
	str	r1, [fp, #-248]
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L629
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L626
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	mov	r2, #0
	ldr	r3, .L629
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L626:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L629+4
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L629+12
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+16
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+16
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L629+12
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #32]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L629+4
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L629+8
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #36]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L630:
	.align	2
.L629:
	.word	1072693248
	.word	1075314688
	.word	1078460416
	.word	-1070071808
	.word	1075838976
	.size	binlensd3, .-binlensd3
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlensd4, %function
binlensd4:
	@ args = 40, pretend = 0, frame = 312
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #312
	str	r0, [fp, #-316]
	str	r1, [fp, #-312]
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L635
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L632
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	mov	r2, #0
	ldr	r3, .L635
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L632:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L635+4
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+8
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L635+12
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+16
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L635+12
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+20
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+24
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L635+12
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+20
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+24
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #32]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L635+12
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+16
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #36]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L635+4
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+8
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	b	.L636
.L637:
	.align	2
.L635:
	.word	1072693248
	.word	-1067581440
	.word	1081999360
	.word	-1070071808
	.word	1081212928
	.word	1078460416
	.word	1080164352
	.word	1081606144
.L636:
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L635+28
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #40]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	binlensd4, .-binlensd4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binlensd5, %function
binlensd5:
	@ args = 44, pretend = 0, frame = 384
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #384
	str	r0, [fp, #-388]
	str	r1, [fp, #-384]
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L642
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L639
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	mov	r2, #0
	ldr	r3, .L642
	str	r2, [fp, #12]
	str	r3, [fp, #16]
.L639:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #260
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	sub	r1, fp, #268
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L642+36
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+40
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	b	.L643
.L644:
	.align	2
.L642:
	.word	1072693248
	.word	1081802752
	.word	1083310080
	.word	-1070071808
	.word	1081212928
	.word	1080164352
	.word	1081606144
	.word	1084358656
	.word	1082556416
	.word	-1067581440
	.word	1084284928
	.word	1085702144
	.word	1085145088
.L643:
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+44
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+32
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+12
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+16
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+20
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+24
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+28
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+4
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+8
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+8
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #32]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+12
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+16
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+20
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+24
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+28
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #36]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+32
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #40]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L642+36
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+40
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	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	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+44
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L642+48
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #44]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	binlensd5, .-binlensd5
	.section	.rodata
	.align	2
.LC23:
	.ascii	"%-8.6le %-8.6le\012\000"
	.align	2
.LC24:
	.ascii	"\012x2-der\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	test_der
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_der, %function
test_der:
	@ args = 0, pretend = 0, frame = 280
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #328
	ldr	r3, .L647
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L647+4
	ldr	r3, .L647+8
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r2, .L647+12
	ldr	r3, .L647+16
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r2, .L647+20
	ldr	r3, .L647+24
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r2, .L647+28
	ldr	r3, .L647+32
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r2, .L647+36
	ldr	r3, .L647+40
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #252
	str	r3, [sp, #32]
	sub	r3, fp, #260
	str	r3, [sp, #28]
	sub	r3, fp, #268
	str	r3, [sp, #24]
	sub	r3, fp, #276
	str	r3, [sp, #20]
	sub	r3, fp, #284
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	str	r3, [sp, #32]
	sub	r3, fp, #220
	str	r3, [sp, #28]
	sub	r3, fp, #228
	str	r3, [sp, #24]
	sub	r3, fp, #236
	str	r3, [sp, #20]
	sub	r3, fp, #244
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	binlensd3
	sub	r3, fp, #164
	str	r3, [sp, #36]
	sub	r3, fp, #172
	str	r3, [sp, #32]
	sub	r3, fp, #180
	str	r3, [sp, #28]
	sub	r3, fp, #188
	str	r3, [sp, #24]
	sub	r3, fp, #196
	str	r3, [sp, #20]
	sub	r3, fp, #204
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd4
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	ldr	r0, .L647+48
	bl	puts
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #212
	str	r3, [sp, #32]
	sub	r3, fp, #220
	str	r3, [sp, #28]
	sub	r3, fp, #228
	str	r3, [sp, #24]
	sub	r3, fp, #236
	str	r3, [sp, #20]
	sub	r3, fp, #244
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd3
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #236
	ldmia	r1, {r0-r1}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	mov	r0, #10
	bl	putchar
	sub	r3, fp, #164
	str	r3, [sp, #36]
	sub	r3, fp, #172
	str	r3, [sp, #32]
	sub	r3, fp, #180
	str	r3, [sp, #28]
	sub	r3, fp, #188
	str	r3, [sp, #24]
	sub	r3, fp, #196
	str	r3, [sp, #20]
	sub	r3, fp, #204
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd4
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	str	r3, [sp, #36]
	sub	r3, fp, #124
	str	r3, [sp, #32]
	sub	r3, fp, #132
	str	r3, [sp, #28]
	sub	r3, fp, #140
	str	r3, [sp, #24]
	sub	r3, fp, #148
	str	r3, [sp, #20]
	sub	r3, fp, #156
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	binlensd4
	sub	r3, fp, #60
	str	r3, [sp, #40]
	sub	r3, fp, #68
	str	r3, [sp, #36]
	sub	r3, fp, #76
	str	r3, [sp, #32]
	sub	r3, fp, #84
	str	r3, [sp, #28]
	sub	r3, fp, #92
	str	r3, [sp, #24]
	sub	r3, fp, #100
	str	r3, [sp, #20]
	sub	r3, fp, #108
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd5
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	ldr	r0, .L647+48
	bl	puts
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	str	r3, [sp, #36]
	sub	r3, fp, #124
	str	r3, [sp, #32]
	sub	r3, fp, #132
	str	r3, [sp, #28]
	sub	r3, fp, #140
	str	r3, [sp, #24]
	sub	r3, fp, #148
	str	r3, [sp, #20]
	sub	r3, fp, #156
	str	r3, [sp, #16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	binlensd4
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L647+44
	bl	printf
	nop
	ldr	r3, .L647
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L646
	bl	__stack_chk_fail
.L646:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L648:
	.align	2
.L647:
	.word	.LC25
	.word	1717986918
	.word	1072064102
	.word	-1717986918
	.word	1071225241
	.word	858993459
	.word	1070805811
	.word	-858993459
	.word	1071434956
	.word	-640172613
	.word	1037794527
	.word	.LC23
	.word	.LC24
	.size	test_der, .-test_der
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
