	.file	"452781.c"
	.intel_syntax noprefix
	.text
	.globl	memset
	.type	memset, @function
memset:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2
.L3:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -28[rbp]
	mov	BYTE PTR [rax], dl
.L2:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -40[rbp], rdx
	test	rax, rax
	jne	.L3
	mov	rax, QWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	memset, .-memset
	.globl	__aeabi_memset
	.type	__aeabi_memset, @function
__aeabi_memset:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	memset
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	__aeabi_memset, .-__aeabi_memset
	.globl	__aeabi_memset4
	.type	__aeabi_memset4, @function
__aeabi_memset4:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	memset
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	__aeabi_memset4, .-__aeabi_memset4
	.globl	memcpy
	.type	memcpy, @function
memcpy:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L8
.L9:
	mov	rdx, QWORD PTR -8[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -16[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L8:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -40[rbp], rdx
	test	rax, rax
	jne	.L9
	mov	rax, QWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	memcpy, .-memcpy
	.globl	__aeabi_memcpy4
	.type	__aeabi_memcpy4, @function
__aeabi_memcpy4:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	__aeabi_memcpy4, .-__aeabi_memcpy4
	.globl	strcmp
	.type	strcmp, @function
strcmp:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L13
.L15:
	add	QWORD PTR -8[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L13:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L14
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L15
.L14:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	strcmp, .-strcmp
	.globl	strlen
	.type	strlen, @function
strlen:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L18
.L19:
	add	DWORD PTR -4[rbp], 1
.L18:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L19
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	strlen, .-strlen
	.globl	memcmp
	.type	memcmp, @function
memcmp:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L22
.L25:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L23
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	jmp	.L24
.L23:
	add	QWORD PTR -16[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L22:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -40[rbp], rdx
	test	rax, rax
	jne	.L25
	mov	eax, 0
.L24:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	memcmp, .-memcmp
	.globl	stdin
	.bss
	.align 4
	.type	stdin, @object
	.size	stdin, 4
stdin:
	.zero	4
	.globl	stdout
	.data
	.align 4
	.type	stdout, @object
	.size	stdout, 4
stdout:
	.long	1
	.globl	stderr
	.align 4
	.type	stderr, @object
	.size	stderr, 4
stderr:
	.long	2
	.text
	.globl	__aeabi_memclr8
	.type	__aeabi_memclr8, @function
__aeabi_memclr8:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	__aeabi_memclr8, .-__aeabi_memclr8
	.globl	__aeabi_memclr4
	.type	__aeabi_memclr4, @function
__aeabi_memclr4:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	__aeabi_memclr4, .-__aeabi_memclr4
	.globl	fabs
	.type	fabs, @function
fabs:
.LFB10:
	.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 -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -8[rbp]
	movabs	rdx, 9223372036854775807
	and	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	fabs, .-fabs
	.type	__DOUBLE_BITS, @function
__DOUBLE_BITS:
.LFB12:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	__DOUBLE_BITS, .-__DOUBLE_BITS
	.globl	trunc
	.type	trunc, @function
trunc:
.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 -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 52
	and	eax, 2047
	sub	eax, 1011
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 63
	jle	.L33
	movsd	xmm0, QWORD PTR -56[rbp]
	jmp	.L37
.L33:
	cmp	DWORD PTR -36[rbp], 11
	jg	.L35
	mov	DWORD PTR -36[rbp], 1
.L35:
	mov	eax, DWORD PTR -36[rbp]
	mov	rdx, -1
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L36
	movsd	xmm0, QWORD PTR -56[rbp]
	jmp	.L37
.L36:
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC0[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -32[rbp]
.L37:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	trunc, .-trunc
	.globl	truncf
	.type	truncf, @function
truncf:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movss	DWORD PTR -36[rbp], xmm0
	movss	xmm0, DWORD PTR -36[rbp]
	movss	DWORD PTR -28[rbp], xmm0
	mov	eax, DWORD PTR -28[rbp]
	shr	eax, 23
	movzx	eax, al
	sub	eax, 118
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 31
	jle	.L39
	movss	xmm0, DWORD PTR -36[rbp]
	jmp	.L43
.L39:
	cmp	DWORD PTR -24[rbp], 8
	jg	.L41
	mov	DWORD PTR -24[rbp], 1
.L41:
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, -1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jne	.L42
	movss	xmm0, DWORD PTR -36[rbp]
	jmp	.L43
.L42:
	movss	xmm1, DWORD PTR -36[rbp]
	movss	xmm0, DWORD PTR .LC1[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR -16[rbp], xmm0
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	not	eax
	and	eax, edx
	mov	DWORD PTR -28[rbp], eax
	movss	xmm0, DWORD PTR -28[rbp]
.L43:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	truncf, .-truncf
	.section	.rodata
	.align 8
	.type	toint, @object
	.size	toint, 8
toint:
	.long	0
	.long	1127219200
	.text
	.globl	floor
	.type	floor, @function
floor:
.LFB15:
	.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	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 52
	and	eax, 2047
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 1074
	jg	.L45
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L46
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jne	.L46
.L45:
	movsd	xmm0, QWORD PTR -56[rbp]
	jmp	.L56
.L46:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jns	.L49
	movsd	xmm2, QWORD PTR .LC3[rip]
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC3[rip]
	addsd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L50
.L49:
	movsd	xmm0, QWORD PTR .LC3[rip]
	addsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC3[rip]
	subsd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
.L50:
	cmp	DWORD PTR -36[rbp], 1022
	jg	.L51
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jns	.L52
	movsd	xmm0, QWORD PTR .LC4[rip]
	jmp	.L56
.L52:
	pxor	xmm0, xmm0
	jmp	.L56
.L51:
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L58
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	jmp	.L56
.L58:
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
.L56:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	floor, .-floor
	.globl	fabsf
	.type	fabsf, @function
fabsf:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movss	DWORD PTR -20[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	movss	DWORD PTR -4[rbp], xmm0
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 2147483647
	mov	DWORD PTR -4[rbp], eax
	movss	xmm0, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	fabsf, .-fabsf
	.globl	scalbn
	.type	scalbn, @function
scalbn:
.LFB17:
	.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 -24[rbp], xmm0
	mov	DWORD PTR -28[rbp], edi
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	cmp	DWORD PTR -28[rbp], 1023
	jle	.L62
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	sub	DWORD PTR -28[rbp], 1023
	cmp	DWORD PTR -28[rbp], 1023
	jle	.L63
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	sub	DWORD PTR -28[rbp], 1023
	cmp	DWORD PTR -28[rbp], 1023
	jle	.L63
	mov	DWORD PTR -28[rbp], 1023
	jmp	.L63
.L62:
	cmp	DWORD PTR -28[rbp], -1022
	jge	.L63
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC7[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	add	DWORD PTR -28[rbp], 969
	cmp	DWORD PTR -28[rbp], -1022
	jge	.L63
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC7[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	add	DWORD PTR -28[rbp], 969
	cmp	DWORD PTR -28[rbp], -1022
	jge	.L63
	mov	DWORD PTR -28[rbp], -1022
.L63:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1023
	cdqe
	sal	rax, 52
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR -8[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	scalbn, .-scalbn
	.section	.rodata
	.align 8
	.type	tiny, @object
	.size	tiny, 8
tiny:
	.long	-1023872167
	.long	27618847
	.text
	.globl	sqrt
	.type	sqrt, @function
sqrt:
.LFB18:
	.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
	mov	DWORD PTR -28[rbp], -2147483648
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 32
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 2146435072
	cmp	eax, 2146435072
	jne	.L66
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	addsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L67
.L66:
	cmp	DWORD PTR -64[rbp], 0
	jg	.L68
	mov	eax, DWORD PTR -28[rbp]
	not	eax
	and	eax, DWORD PTR -64[rbp]
	or	eax, DWORD PTR -36[rbp]
	test	eax, eax
	jne	.L69
	movsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L67
.L69:
	cmp	DWORD PTR -64[rbp], 0
	jns	.L68
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm0
	divsd	xmm1, xmm2
	movapd	xmm0, xmm1
	jmp	.L67
.L68:
	mov	eax, DWORD PTR -64[rbp]
	sar	eax, 20
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L70
	jmp	.L71
.L72:
	sub	DWORD PTR -52[rbp], 21
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	or	eax, edx
	mov	DWORD PTR -64[rbp], eax
	sal	DWORD PTR -36[rbp], 21
.L71:
	cmp	DWORD PTR -64[rbp], 0
	je	.L72
	mov	DWORD PTR -48[rbp], 0
	jmp	.L73
.L74:
	sal	DWORD PTR -64[rbp]
	add	DWORD PTR -48[rbp], 1
.L73:
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 1048576
	test	eax, eax
	je	.L74
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, 1
	sub	DWORD PTR -52[rbp], eax
	mov	eax, 32
	sub	eax, DWORD PTR -48[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	ecx, eax
	shr	edx, cl
	mov	eax, DWORD PTR -64[rbp]
	or	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	ecx, eax
	sal	DWORD PTR -36[rbp], cl
.L70:
	sub	DWORD PTR -52[rbp], 1023
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 1048575
	or	eax, 1048576
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L75
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -36[rbp]
	shr	eax, 31
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	sal	DWORD PTR -36[rbp]
.L75:
	sar	DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -36[rbp]
	shr	eax, 31
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	sal	DWORD PTR -36[rbp]
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -44[rbp], 2097152
	jmp	.L76
.L78:
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jg	.L77
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	sub	DWORD PTR -64[rbp], eax
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
.L77:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -36[rbp]
	shr	eax, 31
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	sal	DWORD PTR -36[rbp]
	shr	DWORD PTR -44[rbp]
.L76:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L78
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L79
.L84:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L80
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jne	.L81
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	ja	.L81
.L80:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -24[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	cmp	edx, eax
	jne	.L82
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -40[rbp]
	test	eax, eax
	jne	.L82
	add	DWORD PTR -60[rbp], 1
.L82:
	mov	eax, DWORD PTR -20[rbp]
	sub	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jnb	.L83
	sub	DWORD PTR -64[rbp], 1
.L83:
	mov	eax, DWORD PTR -24[rbp]
	sub	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	add	DWORD PTR -32[rbp], eax
.L81:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -36[rbp]
	shr	eax, 31
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	sal	DWORD PTR -36[rbp]
	shr	DWORD PTR -44[rbp]
.L79:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L84
	mov	eax, DWORD PTR -64[rbp]
	or	eax, DWORD PTR -36[rbp]
	test	eax, eax
	je	.L85
	movsd	xmm1, QWORD PTR .LC8[rip]
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	comisd	xmm0, xmm1
	jb	.L85
	movsd	xmm1, QWORD PTR .LC8[rip]
	movsd	xmm0, QWORD PTR .LC5[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	cmp	DWORD PTR -32[rbp], -1
	jne	.L87
	mov	DWORD PTR -32[rbp], 0
	add	DWORD PTR -56[rbp], 1
	jmp	.L85
.L87:
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	comisd	xmm0, xmm1
	jbe	.L94
	cmp	DWORD PTR -32[rbp], -2
	jne	.L90
	add	DWORD PTR -56[rbp], 1
.L90:
	add	DWORD PTR -32[rbp], 2
	jmp	.L85
.L94:
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	and	eax, -2
	mov	DWORD PTR -32[rbp], eax
.L85:
	mov	eax, DWORD PTR -56[rbp]
	sar	eax
	add	eax, 1071644672
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	shr	eax
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 1
	test	eax, eax
	je	.L91
	mov	eax, DWORD PTR -28[rbp]
	or	DWORD PTR -36[rbp], eax
.L91:
	mov	eax, DWORD PTR -52[rbp]
	sal	eax, 20
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	mov	eax, eax
	sal	rax, 32
	mov	rdx, rax
	mov	eax, DWORD PTR -36[rbp]
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
.L67:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	sqrt, .-sqrt
	.section	.rodata
	.align 16
	.type	init_jk, @object
	.size	init_jk, 16
init_jk:
	.long	3
	.long	4
	.long	4
	.long	6
	.align 32
	.type	ipio2, @object
	.size	ipio2, 264
ipio2:
	.long	10680707
	.long	7228996
	.long	1387004
	.long	2578385
	.long	16069853
	.long	12639074
	.long	9804092
	.long	4427841
	.long	16666979
	.long	11263675
	.long	12935607
	.long	2387514
	.long	4345298
	.long	14681673
	.long	3074569
	.long	13734428
	.long	16653803
	.long	1880361
	.long	10960616
	.long	8533493
	.long	3062596
	.long	8710556
	.long	7349940
	.long	6258241
	.long	3772886
	.long	3769171
	.long	3798172
	.long	8675211
	.long	12450088
	.long	3874808
	.long	9961438
	.long	366607
	.long	15675153
	.long	9132554
	.long	7151469
	.long	3571407
	.long	2607881
	.long	12013382
	.long	4155038
	.long	6285869
	.long	7677882
	.long	13102053
	.long	15825725
	.long	473591
	.long	9065106
	.long	15363067
	.long	6271263
	.long	9264392
	.long	5636912
	.long	4652155
	.long	7056368
	.long	13614112
	.long	10155062
	.long	1944035
	.long	9527646
	.long	15080200
	.long	6658437
	.long	6231200
	.long	6832269
	.long	16767104
	.long	5075751
	.long	3212806
	.long	1398474
	.long	7579849
	.long	6349435
	.long	12618859
	.align 32
	.type	PIo2, @object
	.size	PIo2, 64
PIo2:
	.long	1073741824
	.long	1073291771
	.long	0
	.long	1047807021
	.long	-2147483648
	.long	1022903960
	.long	1610612736
	.long	997772369
	.long	-2147483648
	.long	972036995
	.long	1073741824
	.long	947528992
	.long	-2147483648
	.long	920879650
	.long	0
	.long	896135965
	.text
	.globl	__rem_pio2_large
	.type	__rem_pio2_large, @function
__rem_pio2_large:
.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, 688
	mov	QWORD PTR -664[rbp], rdi
	mov	QWORD PTR -672[rbp], rsi
	mov	DWORD PTR -676[rbp], edx
	mov	DWORD PTR -680[rbp], ecx
	mov	DWORD PTR -684[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -684[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, init_jk[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -608[rbp], eax
	mov	eax, DWORD PTR -608[rbp]
	mov	DWORD PTR -604[rbp], eax
	mov	eax, DWORD PTR -680[rbp]
	sub	eax, 1
	mov	DWORD PTR -600[rbp], eax
	mov	eax, DWORD PTR -676[rbp]
	sub	eax, 3
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -640[rbp], eax
	cmp	DWORD PTR -640[rbp], 0
	jns	.L96
	mov	DWORD PTR -640[rbp], 0
.L96:
	mov	eax, DWORD PTR -640[rbp]
	lea	edx, 1[rax]
	mov	eax, edx
	sal	edx, 2
	sub	eax, edx
	sal	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -676[rbp]
	add	eax, edx
	mov	DWORD PTR -616[rbp], eax
	mov	eax, DWORD PTR -640[rbp]
	sub	eax, DWORD PTR -600[rbp]
	mov	DWORD PTR -624[rbp], eax
	mov	edx, DWORD PTR -600[rbp]
	mov	eax, DWORD PTR -608[rbp]
	add	eax, edx
	mov	DWORD PTR -596[rbp], eax
	mov	DWORD PTR -628[rbp], 0
	jmp	.L97
.L100:
	cmp	DWORD PTR -624[rbp], 0
	js	.L98
	mov	eax, DWORD PTR -624[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, ipio2[rip]
	mov	eax, DWORD PTR [rdx+rax]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	jmp	.L99
.L98:
	pxor	xmm0, xmm0
.L99:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	QWORD PTR -496[rbp+rax*8], xmm0
	add	DWORD PTR -628[rbp], 1
	add	DWORD PTR -624[rbp], 1
.L97:
	mov	eax, DWORD PTR -628[rbp]
	cmp	eax, DWORD PTR -596[rbp]
	jle	.L100
	mov	DWORD PTR -628[rbp], 0
	jmp	.L101
.L104:
	mov	DWORD PTR -624[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	jmp	.L102
.L103:
	mov	eax, DWORD PTR -624[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -664[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	edx, DWORD PTR -600[rbp]
	mov	eax, DWORD PTR -628[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -624[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -496[rbp+rax*8]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	add	DWORD PTR -624[rbp], 1
.L102:
	mov	eax, DWORD PTR -624[rbp]
	cmp	eax, DWORD PTR -600[rbp]
	jle	.L103
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -176[rbp+rax*8], xmm0
	add	DWORD PTR -628[rbp], 1
.L101:
	mov	eax, DWORD PTR -628[rbp]
	cmp	eax, DWORD PTR -608[rbp]
	jle	.L104
	mov	eax, DWORD PTR -608[rbp]
	mov	DWORD PTR -644[rbp], eax
.L105:
	mov	DWORD PTR -628[rbp], 0
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -624[rbp], eax
	mov	eax, DWORD PTR -644[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -176[rbp+rax*8]
	movsd	QWORD PTR -592[rbp], xmm0
	jmp	.L106
.L107:
	movsd	xmm1, QWORD PTR -592[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR .LC10[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	subsd	xmm0, xmm1
	cvttsd2si	edx, xmm0
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
	mov	eax, DWORD PTR -624[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -176[rbp+rax*8]
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -592[rbp], xmm0
	add	DWORD PTR -628[rbp], 1
	sub	DWORD PTR -624[rbp], 1
.L106:
	cmp	DWORD PTR -624[rbp], 0
	jg	.L107
	mov	edx, DWORD PTR -616[rbp]
	mov	rax, QWORD PTR -592[rbp]
	mov	edi, edx
	movq	xmm0, rax
	call	scalbn
	movq	rax, xmm0
	mov	QWORD PTR -592[rbp], rax
	movsd	xmm1, QWORD PTR -592[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	floor
	movsd	xmm1, QWORD PTR .LC12[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -592[rbp], xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -632[rbp], eax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -632[rbp]
	movsd	xmm0, QWORD PTR -592[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -592[rbp], xmm0
	mov	DWORD PTR -612[rbp], 0
	cmp	DWORD PTR -616[rbp], 0
	jle	.L108
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*4]
	mov	eax, 24
	sub	eax, DWORD PTR -616[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	mov	DWORD PTR -628[rbp], eax
	mov	eax, DWORD PTR -628[rbp]
	add	DWORD PTR -632[rbp], eax
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*4]
	mov	eax, 24
	sub	eax, DWORD PTR -616[rbp]
	mov	esi, DWORD PTR -628[rbp]
	mov	ecx, eax
	sal	esi, cl
	mov	ecx, esi
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	sub	edx, ecx
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*4]
	mov	eax, 23
	sub	eax, DWORD PTR -616[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	mov	DWORD PTR -612[rbp], eax
	jmp	.L109
.L108:
	cmp	DWORD PTR -616[rbp], 0
	jne	.L110
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	sar	eax, 23
	mov	DWORD PTR -612[rbp], eax
	jmp	.L109
.L110:
	movsd	xmm0, QWORD PTR -592[rbp]
	comisd	xmm0, QWORD PTR .LC13[rip]
	jb	.L109
	mov	DWORD PTR -612[rbp], 2
.L109:
	cmp	DWORD PTR -612[rbp], 0
	jle	.L112
	add	DWORD PTR -632[rbp], 1
	mov	DWORD PTR -636[rbp], 0
	mov	DWORD PTR -628[rbp], 0
	jmp	.L113
.L116:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	mov	DWORD PTR -624[rbp], eax
	cmp	DWORD PTR -636[rbp], 0
	jne	.L114
	cmp	DWORD PTR -624[rbp], 0
	je	.L115
	mov	DWORD PTR -636[rbp], 1
	mov	eax, 16777216
	sub	eax, DWORD PTR -624[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
	jmp	.L115
.L114:
	mov	eax, 16777215
	sub	eax, DWORD PTR -624[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
.L115:
	add	DWORD PTR -628[rbp], 1
.L113:
	mov	eax, DWORD PTR -628[rbp]
	cmp	eax, DWORD PTR -644[rbp]
	jl	.L116
	cmp	DWORD PTR -616[rbp], 0
	jle	.L175
	cmp	DWORD PTR -616[rbp], 1
	je	.L118
	cmp	DWORD PTR -616[rbp], 2
	je	.L119
	jmp	.L117
.L118:
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	mov	edx, DWORD PTR -644[rbp]
	lea	ecx, -1[rdx]
	and	eax, 8388607
	mov	edx, eax
	movsx	rax, ecx
	mov	DWORD PTR -576[rbp+rax*4], edx
	jmp	.L117
.L119:
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	mov	edx, DWORD PTR -644[rbp]
	lea	ecx, -1[rdx]
	and	eax, 4194303
	mov	edx, eax
	movsx	rax, ecx
	mov	DWORD PTR -576[rbp+rax*4], edx
	jmp	.L117
.L175:
	nop
.L117:
	cmp	DWORD PTR -612[rbp], 2
	jne	.L112
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, QWORD PTR -592[rbp]
	movsd	QWORD PTR -592[rbp], xmm0
	cmp	DWORD PTR -636[rbp], 0
	je	.L112
	mov	edx, DWORD PTR -616[rbp]
	mov	rax, QWORD PTR .LC5[rip]
	mov	edi, edx
	movq	xmm0, rax
	call	scalbn
	movapd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -592[rbp], xmm0
.L112:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -592[rbp]
	jp	.L120
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -592[rbp]
	jne	.L120
	mov	DWORD PTR -624[rbp], 0
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, 1
	mov	DWORD PTR -628[rbp], eax
	jmp	.L122
.L123:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	or	DWORD PTR -624[rbp], eax
	sub	DWORD PTR -628[rbp], 1
.L122:
	mov	eax, DWORD PTR -628[rbp]
	cmp	eax, DWORD PTR -608[rbp]
	jge	.L123
	cmp	DWORD PTR -624[rbp], 0
	jne	.L120
	mov	DWORD PTR -620[rbp], 1
	jmp	.L124
.L125:
	add	DWORD PTR -620[rbp], 1
.L124:
	mov	eax, DWORD PTR -608[rbp]
	sub	eax, DWORD PTR -620[rbp]
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	test	eax, eax
	je	.L125
	mov	eax, DWORD PTR -644[rbp]
	add	eax, 1
	mov	DWORD PTR -628[rbp], eax
	jmp	.L126
.L129:
	mov	edx, DWORD PTR -640[rbp]
	mov	eax, DWORD PTR -628[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, ipio2[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR -600[rbp]
	mov	eax, DWORD PTR -628[rbp]
	add	eax, ecx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, edx
	cdqe
	movsd	QWORD PTR -496[rbp+rax*8], xmm0
	mov	DWORD PTR -624[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	jmp	.L127
.L128:
	mov	eax, DWORD PTR -624[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -664[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	edx, DWORD PTR -600[rbp]
	mov	eax, DWORD PTR -628[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -624[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -496[rbp+rax*8]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	add	DWORD PTR -624[rbp], 1
.L127:
	mov	eax, DWORD PTR -624[rbp]
	cmp	eax, DWORD PTR -600[rbp]
	jle	.L128
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -176[rbp+rax*8], xmm0
	add	DWORD PTR -628[rbp], 1
.L126:
	mov	edx, DWORD PTR -644[rbp]
	mov	eax, DWORD PTR -620[rbp]
	add	eax, edx
	cmp	DWORD PTR -628[rbp], eax
	jle	.L129
	mov	eax, DWORD PTR -620[rbp]
	add	DWORD PTR -644[rbp], eax
	jmp	.L105
.L120:
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -592[rbp]
	jp	.L130
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -592[rbp]
	jne	.L130
	sub	DWORD PTR -644[rbp], 1
	sub	DWORD PTR -616[rbp], 24
	jmp	.L132
.L133:
	sub	DWORD PTR -644[rbp], 1
	sub	DWORD PTR -616[rbp], 24
.L132:
	mov	eax, DWORD PTR -644[rbp]
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	test	eax, eax
	je	.L133
	jmp	.L134
.L130:
	mov	eax, DWORD PTR -616[rbp]
	neg	eax
	mov	edx, eax
	mov	rax, QWORD PTR -592[rbp]
	mov	edi, edx
	movq	xmm0, rax
	call	scalbn
	movq	rax, xmm0
	mov	QWORD PTR -592[rbp], rax
	movsd	xmm0, QWORD PTR -592[rbp]
	comisd	xmm0, QWORD PTR .LC10[rip]
	jb	.L173
	movsd	xmm1, QWORD PTR -592[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -584[rbp], xmm0
	movsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR .LC10[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -592[rbp]
	subsd	xmm0, xmm1
	cvttsd2si	edx, xmm0
	mov	eax, DWORD PTR -644[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
	add	DWORD PTR -644[rbp], 1
	add	DWORD PTR -616[rbp], 24
	movsd	xmm0, QWORD PTR -584[rbp]
	cvttsd2si	edx, xmm0
	mov	eax, DWORD PTR -644[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
	jmp	.L134
.L173:
	movsd	xmm0, QWORD PTR -592[rbp]
	cvttsd2si	edx, xmm0
	mov	eax, DWORD PTR -644[rbp]
	cdqe
	mov	DWORD PTR -576[rbp+rax*4], edx
.L134:
	mov	edx, DWORD PTR -616[rbp]
	mov	rax, QWORD PTR .LC5[rip]
	mov	edi, edx
	movq	xmm0, rax
	call	scalbn
	movq	rax, xmm0
	mov	QWORD PTR -584[rbp], rax
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L137
.L138:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	mov	eax, DWORD PTR -576[rbp+rax*4]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -584[rbp]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	QWORD PTR -176[rbp+rax*8], xmm0
	movsd	xmm1, QWORD PTR -584[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	sub	DWORD PTR -628[rbp], 1
.L137:
	cmp	DWORD PTR -628[rbp], 0
	jns	.L138
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L139
.L143:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	mov	DWORD PTR -620[rbp], 0
	jmp	.L140
.L142:
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, PIo2[rip]
	movsd	xmm1, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -628[rbp]
	mov	eax, DWORD PTR -620[rbp]
	add	eax, edx
	cdqe
	movsd	xmm0, QWORD PTR -176[rbp+rax*8]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	add	DWORD PTR -620[rbp], 1
.L140:
	mov	eax, DWORD PTR -620[rbp]
	cmp	eax, DWORD PTR -604[rbp]
	jg	.L141
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, DWORD PTR -628[rbp]
	cmp	DWORD PTR -620[rbp], eax
	jle	.L142
.L141:
	mov	eax, DWORD PTR -644[rbp]
	sub	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -336[rbp+rax*8], xmm0
	sub	DWORD PTR -628[rbp], 1
.L139:
	cmp	DWORD PTR -628[rbp], 0
	jns	.L143
	cmp	DWORD PTR -684[rbp], 3
	je	.L144
	cmp	DWORD PTR -684[rbp], 3
	jg	.L145
	cmp	DWORD PTR -684[rbp], 0
	je	.L146
	cmp	DWORD PTR -684[rbp], 0
	js	.L145
	mov	eax, DWORD PTR -684[rbp]
	sub	eax, 1
	cmp	eax, 1
	ja	.L145
	jmp	.L174
.L146:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L148
.L149:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	sub	DWORD PTR -628[rbp], 1
.L148:
	cmp	DWORD PTR -628[rbp], 0
	jns	.L149
	cmp	DWORD PTR -612[rbp], 0
	je	.L150
	movsd	xmm0, QWORD PTR -584[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	jmp	.L151
.L150:
	movsd	xmm0, QWORD PTR -584[rbp]
.L151:
	mov	rax, QWORD PTR -672[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L145
.L174:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L152
.L153:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	sub	DWORD PTR -628[rbp], 1
.L152:
	cmp	DWORD PTR -628[rbp], 0
	jns	.L153
	cmp	DWORD PTR -612[rbp], 0
	je	.L154
	movsd	xmm0, QWORD PTR -584[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	jmp	.L155
.L154:
	movsd	xmm0, QWORD PTR -584[rbp]
.L155:
	mov	rax, QWORD PTR -672[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -336[rbp]
	subsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -584[rbp], xmm0
	mov	DWORD PTR -628[rbp], 1
	jmp	.L156
.L157:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	add	DWORD PTR -628[rbp], 1
.L156:
	mov	eax, DWORD PTR -628[rbp]
	cmp	eax, DWORD PTR -644[rbp]
	jle	.L157
	cmp	DWORD PTR -612[rbp], 0
	je	.L158
	movsd	xmm0, QWORD PTR -584[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	jmp	.L159
.L158:
	movsd	xmm0, QWORD PTR -584[rbp]
.L159:
	mov	rax, QWORD PTR -672[rbp]
	add	rax, 8
	movsd	QWORD PTR [rax], xmm0
	jmp	.L145
.L144:
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L160
.L161:
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm1, QWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	subsd	xmm0, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	QWORD PTR -336[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -336[rbp+rax*8], xmm0
	sub	DWORD PTR -628[rbp], 1
.L160:
	cmp	DWORD PTR -628[rbp], 0
	jg	.L161
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L162
.L163:
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm1, QWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm1, QWORD PTR -336[rbp+rax*8]
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	subsd	xmm0, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	QWORD PTR -336[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -628[rbp]
	sub	eax, 1
	cdqe
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR -336[rbp+rax*8], xmm0
	sub	DWORD PTR -628[rbp], 1
.L162:
	cmp	DWORD PTR -628[rbp], 1
	jg	.L163
	pxor	xmm0, xmm0
	movsd	QWORD PTR -584[rbp], xmm0
	mov	eax, DWORD PTR -644[rbp]
	mov	DWORD PTR -628[rbp], eax
	jmp	.L164
.L165:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -336[rbp+rax*8]
	movsd	xmm1, QWORD PTR -584[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -584[rbp], xmm0
	sub	DWORD PTR -628[rbp], 1
.L164:
	cmp	DWORD PTR -628[rbp], 1
	jg	.L165
	cmp	DWORD PTR -612[rbp], 0
	jne	.L166
	movsd	xmm0, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -672[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -672[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -328[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -672[rbp]
	add	rax, 16
	movsd	xmm0, QWORD PTR -584[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L145
.L166:
	movsd	xmm0, QWORD PTR -336[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR -672[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -672[rbp]
	add	rax, 8
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -672[rbp]
	add	rax, 16
	movsd	xmm0, QWORD PTR -584[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
.L145:
	mov	eax, DWORD PTR -632[rbp]
	and	eax, 7
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L168
	call	__stack_chk_fail@PLT
.L168:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	__rem_pio2_large, .-__rem_pio2_large
	.section	.rodata
	.align 8
	.type	invpio2, @object
	.size	invpio2, 8
invpio2:
	.long	1841940611
	.long	1071931184
	.align 8
	.type	pio2_1, @object
	.size	pio2_1, 8
pio2_1:
	.long	1413480448
	.long	1073291771
	.align 8
	.type	pio2_1t, @object
	.size	pio2_1t, 8
pio2_1t:
	.long	442655537
	.long	1037087841
	.align 8
	.type	pio2_2, @object
	.size	pio2_2, 8
pio2_2:
	.long	442499072
	.long	1037087841
	.align 8
	.type	pio2_2t, @object
	.size	pio2_2t, 8
pio2_2t:
	.long	771977331
	.long	1000544650
	.align 8
	.type	pio2_3, @object
	.size	pio2_3, 8
pio2_3:
	.long	771751936
	.long	1000544650
	.align 8
	.type	pio2_3t, @object
	.size	pio2_3t, 8
pio2_3t:
	.long	622873025
	.long	964395930
	.text
	.globl	__rem_pio2
	.type	__rem_pio2, @function
__rem_pio2:
.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, 144
	movsd	QWORD PTR -136[rbp], xmm0
	mov	QWORD PTR -144[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 63
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 32
	and	eax, 2147483647
	mov	DWORD PTR -112[rbp], eax
	cmp	DWORD PTR -112[rbp], 1074752122
	ja	.L177
	mov	eax, DWORD PTR -112[rbp]
	and	eax, 1048575
	cmp	eax, 598523
	je	.L202
	cmp	DWORD PTR -112[rbp], 1073928572
	ja	.L180
	cmp	DWORD PTR -116[rbp], 0
	jne	.L181
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC16[rip]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 1
	jmp	.L199
.L181:
	movsd	xmm0, QWORD PTR .LC15[rip]
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC16[rip]
	addsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC16[rip]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, -1
	jmp	.L199
.L180:
	cmp	DWORD PTR -116[rbp], 0
	jne	.L183
	movsd	xmm0, QWORD PTR .LC15[rip]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC16[rip]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC16[rip]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 2
	jmp	.L199
.L183:
	movsd	xmm0, QWORD PTR .LC15[rip]
	addsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC16[rip]
	addsd	xmm0, xmm0
	addsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC16[rip]
	addsd	xmm0, xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, -2
	jmp	.L199
.L177:
	cmp	DWORD PTR -112[rbp], 1075594811
	ja	.L184
	cmp	DWORD PTR -112[rbp], 1075183036
	ja	.L185
	cmp	DWORD PTR -112[rbp], 1074977148
	je	.L203
	cmp	DWORD PTR -116[rbp], 0
	jne	.L187
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC16[rip]
	movsd	xmm1, QWORD PTR .LC17[rip]
	mulsd	xmm1, xmm2
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 3
	jmp	.L199
.L187:
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm2
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, -3
	jmp	.L199
.L185:
	cmp	DWORD PTR -112[rbp], 1075388923
	je	.L204
	cmp	DWORD PTR -116[rbp], 0
	jne	.L189
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR .LC18[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC18[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC16[rip]
	movsd	xmm1, QWORD PTR .LC18[rip]
	mulsd	xmm1, xmm2
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 4
	jmp	.L199
.L189:
	movsd	xmm1, QWORD PTR .LC15[rip]
	movsd	xmm0, QWORD PTR .LC18[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC18[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR .LC16[rip]
	movsd	xmm0, QWORD PTR .LC18[rip]
	mulsd	xmm0, xmm2
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, -4
	jmp	.L199
.L184:
	cmp	DWORD PTR -112[rbp], 1094263290
	ja	.L190
	jmp	.L179
.L202:
	nop
	jmp	.L179
.L203:
	nop
	jmp	.L179
.L204:
	nop
.L179:
	movsd	xmm0, QWORD PTR .LC19[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR .LC3[rip]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC3[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -108[rbp], eax
	movsd	xmm0, QWORD PTR .LC15[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC16[rip]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 52
	and	eax, 2047
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	shr	eax, 20
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, DWORD PTR -104[rbp]
	cmp	eax, 16
	jle	.L191
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC20[rip]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC21[rip]
	mulsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	subsd	xmm1, QWORD PTR -72[rbp]
	subsd	xmm1, QWORD PTR -80[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 52
	and	eax, 2047
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, DWORD PTR -104[rbp]
	cmp	eax, 49
	jle	.L191
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC22[rip]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC23[rip]
	mulsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	subsd	xmm1, QWORD PTR -72[rbp]
	subsd	xmm1, QWORD PTR -80[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
.L191:
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	subsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -108[rbp]
	jmp	.L199
.L190:
	cmp	DWORD PTR -112[rbp], 2146435071
	jbe	.L192
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 0
	jmp	.L199
.L192:
	movsd	xmm0, QWORD PTR -136[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	mov	rax, QWORD PTR -96[rbp]
	movabs	rdx, 4503599627370495
	and	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	movabs	rdx, 4710765210229538816
	or	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	movsd	xmm0, QWORD PTR -96[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	mov	DWORD PTR -120[rbp], 0
	jmp	.L193
.L194:
	movsd	xmm0, QWORD PTR -88[rbp]
	cvttsd2si	eax, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	movsd	QWORD PTR -32[rbp+rax*8], xmm0
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	movsd	xmm2, QWORD PTR -32[rbp+rax*8]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC10[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	add	DWORD PTR -120[rbp], 1
.L193:
	cmp	DWORD PTR -120[rbp], 1
	jle	.L194
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -32[rbp+rax*8], xmm0
	jmp	.L195
.L196:
	sub	DWORD PTR -120[rbp], 1
.L195:
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	movsd	xmm0, QWORD PTR -32[rbp+rax*8]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L201
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	je	.L196
.L201:
	mov	eax, DWORD PTR -120[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -112[rbp]
	shr	eax, 20
	lea	edx, -1046[rax]
	lea	rsi, -48[rbp]
	lea	rax, -32[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	__rem_pio2_large
	mov	DWORD PTR -108[rbp], eax
	cmp	DWORD PTR -116[rbp], 0
	je	.L198
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -108[rbp]
	neg	eax
	jmp	.L199
.L198:
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -108[rbp]
.L199:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L200
	call	__stack_chk_fail@PLT
.L200:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	__rem_pio2, .-__rem_pio2
	.section	.rodata
	.align 8
	.type	S1, @object
	.size	S1, 8
S1:
	.long	1431655753
	.long	-1077586603
	.align 8
	.type	S2, @object
	.size	S2, 8
S2:
	.long	286324902
	.long	1065423121
	.align 8
	.type	S3, @object
	.size	S3, 8
S3:
	.long	432103893
	.long	-1087766112
	.align 8
	.type	S4, @object
	.size	S4, 8
S4:
	.long	1471282813
	.long	1053236707
	.align 8
	.type	S5, @object
	.size	S5, 8
S5:
	.long	-1976853269
	.long	-1101339162
	.align 8
	.type	S6, @object
	.size	S6, 8
S6:
	.long	1523570044
	.long	1038473530
	.text
	.globl	__sin
	.type	__sin, @function
__sin:
.LFB21:
	.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 -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	mov	DWORD PTR -52[rbp], edi
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC24[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC25[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC26[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC27[rip]
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC28[rip]
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	cmp	DWORD PTR -52[rbp], 0
	jne	.L206
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC29[rip]
	addsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	jmp	.L207
.L206:
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -8[rbp]
	mulsd	xmm1, QWORD PTR -16[rbp]
	subsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC29[rip]
	movapd	xmm2, xmm1
	mulsd	xmm2, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, xmm1
.L207:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	__sin, .-__sin
	.section	.rodata
	.align 8
	.type	C1, @object
	.size	C1, 8
C1:
	.long	1431655756
	.long	1067799893
	.align 8
	.type	C2, @object
	.size	C2, 8
C2:
	.long	381768055
	.long	-1084833428
	.align 8
	.type	C3, @object
	.size	C3, 8
C3:
	.long	432739728
	.long	1056571808
	.align 8
	.type	C4, @object
	.size	C4, 8
C4:
	.long	-2137238867
	.long	-1097695665
	.align 8
	.type	C5, @object
	.size	C5, 8
C5:
	.long	-1112231484
	.long	1042411166
	.align 8
	.type	C6, @object
	.size	C6, 8
C6:
	.long	-1098368812
	.long	-1112999191
	.text
	.globl	__cos
	.type	__cos, @function
__cos:
.LFB22:
	.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 -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC30[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC31[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC32[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR .LC33[rip]
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC34[rip]
	addsd	xmm0, xmm3
	movapd	xmm3, xmm0
	mulsd	xmm3, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC35[rip]
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm1, QWORD PTR -48[rbp]
	subsd	xmm0, xmm1
	addsd	xmm0, xmm2
	addsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	__cos, .-__cos
	.globl	env_sin
	.type	env_sin, @function
env_sin:
.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, 80
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 32
	mov	DWORD PTR -56[rbp], eax
	and	DWORD PTR -56[rbp], 2147483647
	cmp	DWORD PTR -56[rbp], 1072243195
	jg	.L211
	cmp	DWORD PTR -56[rbp], 1045430271
	jg	.L212
	movsd	xmm0, QWORD PTR -72[rbp]
	cvttsd2si	eax, xmm0
	test	eax, eax
	jne	.L212
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L219
.L212:
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edi, 0
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__sin
	movq	rax, xmm0
	jmp	.L219
.L211:
	cmp	DWORD PTR -56[rbp], 2146435071
	jle	.L214
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, xmm0
	movq	rax, xmm0
	jmp	.L219
.L214:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rdx
	movq	xmm0, rax
	call	__rem_pio2
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 3
	cmp	eax, 2
	je	.L215
	cmp	eax, 2
	jg	.L216
	test	eax, eax
	je	.L217
	cmp	eax, 1
	je	.L218
	jmp	.L216
.L217:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__sin
	movq	rax, xmm0
	jmp	.L219
.L218:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__cos
	movq	rax, xmm0
	jmp	.L219
.L215:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__sin
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC14[rip]
	movq	xmm2, rax
	xorpd	xmm2, xmm0
	movq	rax, xmm2
	jmp	.L219
.L216:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__cos
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC14[rip]
	movq	xmm3, rax
	xorpd	xmm3, xmm0
	movq	rax, xmm3
.L219:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L220
	call	__stack_chk_fail@PLT
.L220:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	env_sin, .-env_sin
	.globl	cos
	.type	cos, @function
cos:
.LFB24:
	.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
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 32
	mov	DWORD PTR -56[rbp], eax
	and	DWORD PTR -56[rbp], 2147483647
	cmp	DWORD PTR -56[rbp], 1072243195
	ja	.L222
	cmp	DWORD PTR -56[rbp], 1044816029
	ja	.L223
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC0[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR .LC5[rip]
	jmp	.L230
.L223:
	mov	rax, QWORD PTR -72[rbp]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	__cos
	movq	rax, xmm0
	jmp	.L230
.L222:
	cmp	DWORD PTR -56[rbp], 2146435071
	jbe	.L225
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, xmm0
	movq	rax, xmm0
	jmp	.L230
.L225:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rdx
	movq	xmm0, rax
	call	__rem_pio2
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 3
	cmp	eax, 2
	je	.L226
	cmp	eax, 2
	ja	.L227
	test	eax, eax
	je	.L228
	cmp	eax, 1
	je	.L229
	jmp	.L227
.L228:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__cos
	movq	rax, xmm0
	jmp	.L230
.L229:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__sin
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC14[rip]
	movq	xmm2, rax
	xorpd	xmm2, xmm0
	movq	rax, xmm2
	jmp	.L230
.L226:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__cos
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC14[rip]
	movq	xmm3, rax
	xorpd	xmm3, xmm0
	movq	rax, xmm3
	jmp	.L230
.L227:
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	__sin
	movq	rax, xmm0
.L230:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L231
	call	__stack_chk_fail@PLT
.L231:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	cos, .-cos
	.section	.rodata
	.align 32
	.type	atanhi, @object
	.size	atanhi, 32
atanhi:
	.long	90291023
	.long	1071492199
	.long	1413754136
	.long	1072243195
	.long	-763234661
	.long	1072657163
	.long	1413754136
	.long	1073291771
	.align 32
	.type	atanlo, @object
	.size	atanlo, 32
atanlo:
	.long	573531618
	.long	1014639487
	.long	856972295
	.long	1015129638
	.long	2062601149
	.long	1013974920
	.long	856972295
	.long	1016178214
	.align 32
	.type	aT, @object
	.size	aT, 88
aT:
	.long	1431655693
	.long	1070945621
	.long	-1718031420
	.long	-1077306983
	.long	-1845459969
	.long	1069697316
	.long	-31254927
	.long	-1078169146
	.long	-984866706
	.long	1068975565
	.long	-1351312787
	.long	-1078742798
	.long	-1596965551
	.long	1068567910
	.long	1390345626
	.long	-1079124435
	.long	611716587
	.long	1068071755
	.long	745172015
	.long	-1079856060
	.long	-484255215
	.long	1066446138
	.text
	.globl	atan
	.type	atan, @function
atan:
.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, 80
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 32
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 31
	mov	DWORD PTR -52[rbp], eax
	and	DWORD PTR -56[rbp], 2147483647
	cmp	DWORD PTR -56[rbp], 1141899263
	jbe	.L233
	mov	rax, QWORD PTR -72[rbp]
	movq	xmm0, rax
	call	__DOUBLE_BITS
	movabs	rdx, 9223372036854775807
	and	rdx, rax
	movabs	rax, 9218868437227405312
	cmp	rdx, rax
	jbe	.L234
	movsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L235
.L234:
	movsd	xmm1, QWORD PTR .LC36[rip]
	movsd	xmm0, QWORD PTR .LC37[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	cmp	DWORD PTR -52[rbp], 0
	je	.L236
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	jmp	.L235
.L236:
	movsd	xmm0, QWORD PTR -48[rbp]
	jmp	.L235
.L233:
	cmp	DWORD PTR -56[rbp], 1071382527
	ja	.L238
	cmp	DWORD PTR -56[rbp], 1044381695
	ja	.L239
	cmp	DWORD PTR -56[rbp], 1048575
	ja	.L240
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, QWORD PTR -72[rbp]
	movss	DWORD PTR -16[rbp], xmm0
.L240:
	movsd	xmm0, QWORD PTR -72[rbp]
	jmp	.L235
.L239:
	mov	DWORD PTR -60[rbp], -1
	jmp	.L241
.L238:
	movsd	xmm0, QWORD PTR -72[rbp]
	movq	xmm1, QWORD PTR .LC38[rip]
	andpd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	cmp	DWORD PTR -56[rbp], 1072889855
	ja	.L242
	cmp	DWORD PTR -56[rbp], 1072037887
	ja	.L243
	mov	DWORD PTR -60[rbp], 0
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC39[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	jmp	.L241
.L243:
	mov	DWORD PTR -60[rbp], 1
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	jmp	.L241
.L242:
	cmp	DWORD PTR -56[rbp], 1073971199
	ja	.L244
	mov	DWORD PTR -60[rbp], 2
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC40[rip]
	subsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR .LC40[rip]
	mulsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR .LC5[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	jmp	.L241
.L244:
	mov	DWORD PTR -60[rbp], 3
	movsd	xmm0, QWORD PTR .LC4[rip]
	divsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
.L241:
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC41[rip]
	movsd	xmm2, QWORD PTR .LC42[rip]
	movsd	xmm3, QWORD PTR .LC43[rip]
	movsd	xmm4, QWORD PTR .LC44[rip]
	movsd	xmm5, QWORD PTR .LC45[rip]
	movsd	xmm0, QWORD PTR .LC46[rip]
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm5
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm4
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm3
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm1, QWORD PTR .LC47[rip]
	movsd	xmm2, QWORD PTR .LC48[rip]
	movsd	xmm3, QWORD PTR .LC49[rip]
	movsd	xmm4, QWORD PTR .LC50[rip]
	movsd	xmm0, QWORD PTR .LC51[rip]
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm4
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm3
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	cmp	DWORD PTR -60[rbp], 0
	jns	.L245
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, xmm1
	jmp	.L235
.L245:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, atanhi[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	movsd	xmm1, QWORD PTR -32[rbp]
	addsd	xmm1, QWORD PTR -24[rbp]
	mulsd	xmm1, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, atanlo[rip]
	movsd	xmm2, QWORD PTR [rdx+rax]
	subsd	xmm1, xmm2
	subsd	xmm1, QWORD PTR -72[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	cmp	DWORD PTR -52[rbp], 0
	je	.L246
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC14[rip]
	xorpd	xmm0, xmm1
	jmp	.L235
.L246:
	movsd	xmm0, QWORD PTR -48[rbp]
.L235:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	atan, .-atan
	.section	.rodata
	.align 8
	.type	pio2_hi, @object
	.size	pio2_hi, 8
pio2_hi:
	.long	1413754136
	.long	1073291771
	.align 8
	.type	pio2_lo, @object
	.size	pio2_lo, 8
pio2_lo:
	.long	856972295
	.long	1016178214
	.align 8
	.type	pS0, @object
	.size	pS0, 8
pS0:
	.long	1431655765
	.long	1069897045
	.align 8
	.type	pS1, @object
	.size	pS1, 8
pS1:
	.long	65761149
	.long	-1076570606
	.align 8
	.type	pS2, @object
	.size	pS2, 8
pS2:
	.long	243811413
	.long	1070186837
	.align 8
	.type	pS3, @object
	.size	pS3, 8
pS3:
	.long	-1251438789
	.long	-1079737816
	.align 8
	.type	pS4, @object
	.size	pS4, 8
pS4:
	.long	1963045512
	.long	1061810144
	.align 8
	.type	pS5, @object
	.size	pS5, 8
pS5:
	.long	234747657
	.long	1057111521
	.align 8
	.type	qS1, @object
	.size	qS1, 8
qS1:
	.long	478817611
	.long	-1073530329
	.align 8
	.type	qS2, @object
	.size	qS2, 8
qS2:
	.long	-1671853368
	.long	1073752805
	.align 8
	.type	qS3, @object
	.size	qS3, 8
qS3:
	.long	462225753
	.long	-1075444116
	.align 8
	.type	qS4, @object
	.size	qS4, 8
qS4:
	.long	-1322347902
	.long	1068742853
	.text
	.type	R, @function
R:
.LFB26:
	.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 -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC52[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC53[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC54[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC55[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC56[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC57[rip]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -24[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC58[rip]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC59[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC60[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC61[rip]
	addsd	xmm0, xmm1
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	divsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	R, .-R
	.globl	acos
	.type	acos, @function
acos:
.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, 88
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	shr	rax, 32
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 2147483647
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 1072693247
	jbe	.L251
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1072693248
	or	eax, DWORD PTR -52[rbp]
	test	eax, eax
	jne	.L252
	mov	eax, DWORD PTR -60[rbp]
	test	eax, eax
	jns	.L253
	movsd	xmm0, QWORD PTR .LC36[rip]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC37[rip]
	addsd	xmm0, xmm1
	jmp	.L254
.L253:
	pxor	xmm0, xmm0
	jmp	.L254
.L252:
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm0
	pxor	xmm0, xmm0
	divsd	xmm0, xmm1
	jmp	.L254
.L251:
	cmp	DWORD PTR -56[rbp], 1071644671
	ja	.L255
	cmp	DWORD PTR -56[rbp], 1012924416
	ja	.L256
	movsd	xmm1, QWORD PTR .LC36[rip]
	movsd	xmm0, QWORD PTR .LC37[rip]
	addsd	xmm0, xmm1
	jmp	.L254
.L256:
	movsd	xmm3, QWORD PTR .LC36[rip]
	movsd	QWORD PTR -80[rbp], xmm3
	movsd	xmm4, QWORD PTR .LC62[rip]
	movsd	QWORD PTR -88[rbp], xmm4
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm5, xmm0
	mulsd	xmm5, xmm0
	movq	rax, xmm5
	movq	xmm0, rax
	call	R
	movq	rax, xmm0
	movq	xmm6, rax
	mulsd	xmm6, QWORD PTR -72[rbp]
	movapd	xmm0, xmm6
	movsd	xmm2, QWORD PTR -88[rbp]
	subsd	xmm2, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, xmm1
	jmp	.L254
.L255:
	mov	eax, DWORD PTR -60[rbp]
	test	eax, eax
	jns	.L257
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	sqrt
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	R
	movq	rax, xmm0
	movq	xmm0, rax
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR .LC62[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC36[rip]
	movsd	xmm1, QWORD PTR -32[rbp]
	addsd	xmm1, QWORD PTR -8[rbp]
	subsd	xmm0, xmm1
	addsd	xmm0, xmm0
	jmp	.L254
.L257:
	movsd	xmm0, QWORD PTR .LC5[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	sqrt
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	movabs	rdx, -4294967296
	and	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -32[rbp]
	addsd	xmm1, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	R
	movq	rax, xmm0
	movq	xmm0, rax
	mulsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -8[rbp]
	addsd	xmm0, xmm0
.L254:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	acos, .-acos
	.globl	scalbnf
	.type	scalbnf, @function
scalbnf:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movss	DWORD PTR -20[rbp], xmm0
	mov	DWORD PTR -24[rbp], edi
	movss	xmm0, DWORD PTR -20[rbp]
	movss	DWORD PTR -4[rbp], xmm0
	cmp	DWORD PTR -24[rbp], 127
	jle	.L259
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC63[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	sub	DWORD PTR -24[rbp], 127
	cmp	DWORD PTR -24[rbp], 127
	jle	.L260
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC63[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	sub	DWORD PTR -24[rbp], 127
	cmp	DWORD PTR -24[rbp], 127
	jle	.L260
	mov	DWORD PTR -24[rbp], 127
	jmp	.L260
.L259:
	cmp	DWORD PTR -24[rbp], -126
	jge	.L260
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC64[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	add	DWORD PTR -24[rbp], 126
	cmp	DWORD PTR -24[rbp], -126
	jge	.L260
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC64[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	add	DWORD PTR -24[rbp], 126
	cmp	DWORD PTR -24[rbp], -126
	jge	.L260
	mov	DWORD PTR -24[rbp], -126
.L260:
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 127
	sal	eax, 23
	mov	DWORD PTR -8[rbp], eax
	movss	xmm0, DWORD PTR -8[rbp]
	movss	xmm1, DWORD PTR -4[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -20[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	scalbnf, .-scalbnf
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1198522368
	.align 4
.LC1:
	.long	2071986176
	.align 8
.LC3:
	.long	0
	.long	1127219200
	.align 8
.LC4:
	.long	0
	.long	-1074790400
	.align 8
.LC5:
	.long	0
	.long	1072693248
	.align 8
.LC6:
	.long	0
	.long	2145386496
	.align 8
.LC7:
	.long	0
	.long	56623104
	.align 8
.LC8:
	.long	-1023872167
	.long	27618847
	.align 8
.LC9:
	.long	0
	.long	1047527424
	.align 8
.LC10:
	.long	0
	.long	1097859072
	.align 8
.LC11:
	.long	0
	.long	1069547520
	.align 8
.LC12:
	.long	0
	.long	1075838976
	.align 8
.LC13:
	.long	0
	.long	1071644672
	.align 16
.LC14:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC15:
	.long	1413480448
	.long	1073291771
	.align 8
.LC16:
	.long	442655537
	.long	1037087841
	.align 8
.LC17:
	.long	0
	.long	1074266112
	.align 8
.LC18:
	.long	0
	.long	1074790400
	.align 8
.LC19:
	.long	1841940611
	.long	1071931184
	.align 8
.LC20:
	.long	442499072
	.long	1037087841
	.align 8
.LC21:
	.long	771977331
	.long	1000544650
	.align 8
.LC22:
	.long	771751936
	.long	1000544650
	.align 8
.LC23:
	.long	622873025
	.long	964395930
	.align 8
.LC24:
	.long	1471282813
	.long	1053236707
	.align 8
.LC25:
	.long	432103893
	.long	-1087766112
	.align 8
.LC26:
	.long	286324902
	.long	1065423121
	.align 8
.LC27:
	.long	1523570044
	.long	1038473530
	.align 8
.LC28:
	.long	-1976853269
	.long	-1101339162
	.align 8
.LC29:
	.long	1431655753
	.long	-1077586603
	.align 8
.LC30:
	.long	432739728
	.long	1056571808
	.align 8
.LC31:
	.long	381768055
	.long	-1084833428
	.align 8
.LC32:
	.long	1431655756
	.long	1067799893
	.align 8
.LC33:
	.long	-1098368812
	.long	-1112999191
	.align 8
.LC34:
	.long	-1112231484
	.long	1042411166
	.align 8
.LC35:
	.long	-2137238867
	.long	-1097695665
	.align 8
.LC36:
	.long	1413754136
	.long	1073291771
	.align 8
.LC37:
	.long	0
	.long	946864128
	.align 16
.LC38:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC39:
	.long	0
	.long	1073741824
	.align 8
.LC40:
	.long	0
	.long	1073217536
	.align 8
.LC41:
	.long	1431655693
	.long	1070945621
	.align 8
.LC42:
	.long	-1845459969
	.long	1069697316
	.align 8
.LC43:
	.long	-984866706
	.long	1068975565
	.align 8
.LC44:
	.long	-1596965551
	.long	1068567910
	.align 8
.LC45:
	.long	611716587
	.long	1068071755
	.align 8
.LC46:
	.long	-484255215
	.long	1066446138
	.align 8
.LC47:
	.long	-1718031420
	.long	-1077306983
	.align 8
.LC48:
	.long	-31254927
	.long	-1078169146
	.align 8
.LC49:
	.long	-1351312787
	.long	-1078742798
	.align 8
.LC50:
	.long	1390345626
	.long	-1079124435
	.align 8
.LC51:
	.long	745172015
	.long	-1079856060
	.align 8
.LC52:
	.long	234747657
	.long	1057111521
	.align 8
.LC53:
	.long	1963045512
	.long	1061810144
	.align 8
.LC54:
	.long	-1251438789
	.long	-1079737816
	.align 8
.LC55:
	.long	243811413
	.long	1070186837
	.align 8
.LC56:
	.long	65761149
	.long	-1076570606
	.align 8
.LC57:
	.long	1431655765
	.long	1069897045
	.align 8
.LC58:
	.long	-1322347902
	.long	1068742853
	.align 8
.LC59:
	.long	462225753
	.long	-1075444116
	.align 8
.LC60:
	.long	-1671853368
	.long	1073752805
	.align 8
.LC61:
	.long	478817611
	.long	-1073530329
	.align 8
.LC62:
	.long	856972295
	.long	1016178214
	.align 4
.LC63:
	.long	2130706432
	.align 4
.LC64:
	.long	8388608
	.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	"452781.c"
	.text
	.align	2
	.global	memset
	.syntax unified
	.arm
	.fpu softvfp
	.type	memset, %function
memset:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L2
.L3:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldr	r2, [fp, #-20]
	and	r2, r2, #255
	strb	r2, [r3]
.L2:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	str	r2, [fp, #-24]
	cmp	r3, #0
	bne	.L3
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	memset, .-memset
	.align	2
	.global	__aeabi_memset
	.syntax unified
	.arm
	.fpu softvfp
	.type	__aeabi_memset, %function
__aeabi_memset:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__aeabi_memset, .-__aeabi_memset
	.align	2
	.global	__aeabi_memset4
	.syntax unified
	.arm
	.fpu softvfp
	.type	__aeabi_memset4, %function
__aeabi_memset4:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__aeabi_memset4, .-__aeabi_memset4
	.align	2
	.global	memcpy
	.syntax unified
	.arm
	.fpu softvfp
	.type	memcpy, %function
memcpy:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L8
.L9:
	ldr	r2, [fp, #-8]
	add	r3, r2, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L8:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	str	r2, [fp, #-24]
	cmp	r3, #0
	bne	.L9
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	memcpy, .-memcpy
	.align	2
	.global	__aeabi_memcpy4
	.syntax unified
	.arm
	.fpu softvfp
	.type	__aeabi_memcpy4, %function
__aeabi_memcpy4:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	memcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__aeabi_memcpy4, .-__aeabi_memcpy4
	.align	2
	.global	strcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	strcmp, %function
strcmp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L13
.L15:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L13:
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L14
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L15
.L14:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	strcmp, .-strcmp
	.align	2
	.global	strlen
	.syntax unified
	.arm
	.fpu softvfp
	.type	strlen, %function
strlen:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L18
.L19:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L18:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L19
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	strlen, .-strlen
	.align	2
	.global	memcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	memcmp, %function
memcmp:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L22
.L25:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L23
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r2, r3
	b	.L24
.L23:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L22:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	str	r2, [fp, #-24]
	cmp	r3, #0
	bne	.L25
	mov	r3, #0
.L24:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	memcmp, .-memcmp
	.global	stdin
	.bss
	.align	2
	.type	stdin, %object
	.size	stdin, 4
stdin:
	.space	4
	.global	stdout
	.data
	.align	2
	.type	stdout, %object
	.size	stdout, 4
stdout:
	.word	1
	.global	stderr
	.align	2
	.type	stderr, %object
	.size	stderr, 4
stderr:
	.word	2
	.text
	.align	2
	.global	__aeabi_memclr8
	.syntax unified
	.arm
	.fpu softvfp
	.type	__aeabi_memclr8, %function
__aeabi_memclr8:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__aeabi_memclr8, .-__aeabi_memclr8
	.align	2
	.global	__aeabi_memclr4
	.syntax unified
	.arm
	.fpu softvfp
	.type	__aeabi_memclr4, %function
__aeabi_memclr4:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__aeabi_memclr4, .-__aeabi_memclr4
	.align	2
	.global	fabs
	.syntax unified
	.arm
	.fpu softvfp
	.type	fabs, %function
fabs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mvn	r4, #0
	mvn	r5, #-2147483648
	and	r2, r0, r4
	and	r3, r1, r5
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	fabs, .-fabs
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	__DOUBLE_BITS, %function
__DOUBLE_BITS:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	__DOUBLE_BITS, .-__DOUBLE_BITS
	.global	__aeabi_dadd
	.align	2
	.global	trunc
	.syntax unified
	.arm
	.fpu softvfp
	.type	trunc, %function
trunc:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #52
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	mov	r0, #0
	mov	r1, #0
	ldr	ip, [fp, #-80]
	lsr	r0, ip, #20
	mov	r1, #0
	mov	r1, r0
	lsl	r1, r1, #21
	lsr	r1, r1, #21
	sub	r1, r1, #1008
	sub	r1, r1, #3
	str	r1, [fp, #-64]
	ldr	r1, [fp, #-64]
	cmp	r1, #63
	ble	.L33
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	b	.L37
.L33:
	ldr	r1, [fp, #-64]
	cmp	r1, #11
	bgt	.L35
	mov	r1, #1
	str	r1, [fp, #-64]
.L35:
	mvn	r0, #0
	mvn	r1, #0
	ldr	ip, [fp, #-64]
	rsb	r10, ip, #32
	sub	lr, ip, #32
	lsr	r2, r0, ip
	orr	r2, r2, r1, lsl r10
	orr	r2, r2, r1, lsr lr
	lsr	r3, r1, ip
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	and	r8, r0, r2
	and	r9, r1, r3
	orrs	r3, r8, r9
	bne	.L36
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	b	.L37
.L36:
	mov	r2, #0
	ldr	r3, .L38
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mvn	r4, r0
	mvn	r5, r1
	and	r6, r2, r4
	and	r7, r3, r5
	str	r6, [fp, #-60]
	str	r7, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
.L37:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L39:
	.align	2
.L38:
	.word	1198522368
	.size	trunc, .-trunc
	.global	__aeabi_fadd
	.align	2
	.global	truncf
	.syntax unified
	.arm
	.fpu softvfp
	.type	truncf, %function
truncf:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]	@ float
	ldr	r3, [fp, #-32]	@ float
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #23
	and	r3, r3, #255
	sub	r3, r3, #118
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #31
	ble	.L41
	ldr	r3, [fp, #-32]	@ float
	b	.L45
.L41:
	ldr	r3, [fp, #-20]
	cmp	r3, #8
	bgt	.L43
	mov	r3, #1
	str	r3, [fp, #-20]
.L43:
	mvn	r2, #0
	ldr	r3, [fp, #-20]
	lsr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L44
	ldr	r3, [fp, #-32]	@ float
	b	.L45
.L44:
	ldr	r1, .L46
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-12]	@ float
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	mvn	r3, r3
	and	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]	@ float
.L45:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L47:
	.align	2
.L46:
	.word	2071986176
	.size	truncf, .-truncf
	.section	.rodata
	.align	3
	.type	toint, %object
	.size	toint, 8
toint:
	.word	0
	.word	1127219200
	.global	__aeabi_dcmpeq
	.global	__aeabi_dsub
	.global	__aeabi_dcmpgt
	.text
	.align	2
	.global	floor
	.syntax unified
	.arm
	.fpu softvfp
	.type	floor, %function
floor:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r1, #20
	mov	r3, #0
	mov	r3, r2
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, .L64
	cmp	r3, r2
	bgt	.L49
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L62
.L49:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L60
.L62:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	cmp	r2, #0
	sbcs	r3, r3, #0
	bge	.L53
	mov	r2, #0
	ldr	r3, .L64+4
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L64+4
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L54
.L53:
	mov	r0, #0
	ldr	r1, .L64+4
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L64+4
	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_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
.L54:
	ldr	r3, [fp, #-32]
	ldr	r2, .L64+8
	cmp	r3, r2
	bgt	.L55
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	cmp	r2, #0
	sbcs	r3, r3, #0
	bge	.L56
	mov	r2, #0
	ldr	r3, .L64+12
	b	.L60
.L56:
	mov	r2, #0
	mov	r3, #0
	b	.L60
.L55:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	sub	r3, fp, #12
	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
	mov	r2, #0
	ldr	r3, .L64+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	b	.L60
.L63:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
.L60:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	1074
	.word	1127219200
	.word	1022
	.word	-1074790400
	.word	1072693248
	.size	floor, .-floor
	.align	2
	.global	fabsf
	.syntax unified
	.arm
	.fpu softvfp
	.type	fabsf, %function
fabsf:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]	@ float
	ldr	r3, [fp, #-16]	@ float
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-8]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]	@ float
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fabsf, .-fabsf
	.global	__aeabi_dmul
	.align	2
	.global	scalbn
	.syntax unified
	.arm
	.fpu softvfp
	.type	scalbn, %function
scalbn:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	str	r2, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	cmp	r3, #1024
	blt	.L69
	mov	r2, #0
	ldr	r3, .L72
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1020
	sub	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #1024
	blt	.L70
	mov	r2, #0
	ldr	r3, .L72
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1020
	sub	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #1024
	blt	.L70
	ldr	r3, .L72+4
	str	r3, [fp, #-32]
	b	.L70
.L69:
	ldr	r3, [fp, #-32]
	ldr	r2, .L72+8
	cmp	r3, r2
	bge	.L70
	mov	r2, #0
	mov	r3, #56623104
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #968
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, .L72+8
	cmp	r3, r2
	bge	.L70
	mov	r2, #0
	mov	r3, #56623104
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #968
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, .L72+8
	cmp	r3, r2
	bge	.L70
	ldr	r3, .L72+8
	str	r3, [fp, #-32]
.L70:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1020
	add	r3, r3, #3
	mov	r0, r3
	asr	r1, r0, #31
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r0, #20
	mov	r2, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L73:
	.align	2
.L72:
	.word	2145386496
	.word	1023
	.word	-1022
	.size	scalbn, .-scalbn
	.section	.rodata
	.align	3
	.type	tiny, %object
	.size	tiny, 8
tiny:
	.word	3271095129
	.word	27618847
	.global	__aeabi_ddiv
	.global	__aeabi_dcmpge
	.text
	.align	2
	.global	sqrt
	.syntax unified
	.arm
	.fpu softvfp
	.type	sqrt, %function
sqrt:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-84]
	str	r1, [fp, #-80]
	mov	r3, #-2147483648
	str	r3, [fp, #-40]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-76]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r3, r2
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-76]
	ldr	r3, .L104
	and	r3, r3, r2
	ldr	r2, .L104
	cmp	r3, r2
	bne	.L75
	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
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L76
.L75:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bgt	.L77
	ldr	r3, [fp, #-40]
	mvn	r2, r3
	ldr	r3, [fp, #-76]
	and	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-48]
	orr	r3, r2, r3
	cmp	r3, #0
	bne	.L78
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	b	.L76
.L78:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bge	.L77
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	b	.L76
.L77:
	ldr	r3, [fp, #-76]
	asr	r3, r3, #20
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L79
	b	.L80
.L81:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #21
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-48]
	lsr	r2, r3, #11
	ldr	r3, [fp, #-76]
	orr	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #21
	str	r3, [fp, #-48]
.L80:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L81
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L82
.L83:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L82:
	ldr	r3, [fp, #-76]
	and	r3, r3, #1048576
	cmp	r3, #0
	beq	.L83
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	ldr	r2, [fp, #-64]
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-60]
	rsb	r3, r3, #32
	ldr	r2, [fp, #-48]
	lsr	r2, r2, r3
	ldr	r3, [fp, #-76]
	orr	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-60]
	lsl	r3, r2, r3
	str	r3, [fp, #-48]
.L79:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1020
	sub	r3, r3, #3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	bic	r3, r3, #-16777216
	bic	r3, r3, #15728640
	orr	r3, r3, #1048576
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-64]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L84
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	and	r3, r3, r2
	lsr	r2, r3, #31
	ldr	r3, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	str	r3, [fp, #-48]
.L84:
	ldr	r3, [fp, #-64]
	asr	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	and	r3, r3, r2
	lsr	r2, r3, #31
	ldr	r3, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-68]
	mov	r3, #2097152
	str	r3, [fp, #-56]
	b	.L85
.L87:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bgt	.L86
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-68]
.L86:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	and	r3, r3, r2
	lsr	r2, r3, #31
	ldr	r3, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #1
	str	r3, [fp, #-56]
.L85:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-56]
	b	.L88
.L93:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L89
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bne	.L90
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bhi	.L90
.L89:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	and	r2, r2, r3
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bne	.L91
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-52]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L91
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L91:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcs	.L92
	ldr	r3, [fp, #-76]
	sub	r3, r3, #1
	str	r3, [fp, #-76]
.L92:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-44]
.L90:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	and	r3, r3, r2
	lsr	r2, r3, #31
	ldr	r3, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #1
	str	r3, [fp, #-56]
.L88:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L93
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-48]
	orr	r3, r2, r3
	cmp	r3, #0
	beq	.L94
	ldr	r2, .L104+4
	ldr	r3, .L104+8
	mov	r0, #0
	ldr	r1, .L104+12
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L104+12
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L94
	ldr	r0, .L104+4
	ldr	r1, .L104+8
	mov	r2, #0
	ldr	r3, .L104+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L96
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L94
.L96:
	mov	r2, #0
	ldr	r3, .L104+12
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L103
	ldr	r3, [fp, #-44]
	cmn	r3, #2
	bne	.L99
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L99:
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
	b	.L94
.L103:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	bic	r3, r3, #1
	str	r3, [fp, #-44]
.L94:
	ldr	r3, [fp, #-68]
	asr	r3, r3, #1
	add	r3, r3, #1069547520
	add	r3, r3, #2097152
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-68]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L100
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
.L100:
	ldr	r3, [fp, #-64]
	lsl	r2, r3, #20
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	mov	r3, r0
	mov	r2, #0
	ldr	r1, [fp, #-48]
	mov	r0, r1
	mov	r1, #0
	orr	r4, r2, r0
	orr	r5, r3, r1
	str	r4, [fp, #-28]
	str	r5, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
.L76:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L105:
	.align	2
.L104:
	.word	2146435072
	.word	-1023872167
	.word	27618847
	.word	1072693248
	.size	sqrt, .-sqrt
	.section	.rodata
	.align	2
	.type	init_jk, %object
	.size	init_jk, 16
init_jk:
	.word	3
	.word	4
	.word	4
	.word	6
	.align	2
	.type	ipio2, %object
	.size	ipio2, 264
ipio2:
	.word	10680707
	.word	7228996
	.word	1387004
	.word	2578385
	.word	16069853
	.word	12639074
	.word	9804092
	.word	4427841
	.word	16666979
	.word	11263675
	.word	12935607
	.word	2387514
	.word	4345298
	.word	14681673
	.word	3074569
	.word	13734428
	.word	16653803
	.word	1880361
	.word	10960616
	.word	8533493
	.word	3062596
	.word	8710556
	.word	7349940
	.word	6258241
	.word	3772886
	.word	3769171
	.word	3798172
	.word	8675211
	.word	12450088
	.word	3874808
	.word	9961438
	.word	366607
	.word	15675153
	.word	9132554
	.word	7151469
	.word	3571407
	.word	2607881
	.word	12013382
	.word	4155038
	.word	6285869
	.word	7677882
	.word	13102053
	.word	15825725
	.word	473591
	.word	9065106
	.word	15363067
	.word	6271263
	.word	9264392
	.word	5636912
	.word	4652155
	.word	7056368
	.word	13614112
	.word	10155062
	.word	1944035
	.word	9527646
	.word	15080200
	.word	6658437
	.word	6231200
	.word	6832269
	.word	16767104
	.word	5075751
	.word	3212806
	.word	1398474
	.word	7579849
	.word	6349435
	.word	12618859
	.align	3
	.type	PIo2, %object
	.size	PIo2, 64
PIo2:
	.word	1073741824
	.word	1073291771
	.word	0
	.word	1047807021
	.word	2147483648
	.word	1022903960
	.word	1610612736
	.word	997772369
	.word	2147483648
	.word	972036995
	.word	1073741824
	.word	947528992
	.word	2147483648
	.word	920879650
	.word	0
	.word	896135965
	.global	__aeabi_i2d
	.global	__aeabi_d2iz
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	__rem_pio2_large
	.syntax unified
	.arm
	.fpu softvfp
	.type	__rem_pio2_large, %function
__rem_pio2_large:
	@ args = 4, pretend = 0, frame = 688
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #688
	str	r0, [fp, #-672]
	str	r1, [fp, #-676]
	str	r2, [fp, #-680]
	str	r3, [fp, #-684]
	ldr	r3, .L188
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r2, .L188+4
	ldr	r3, [fp, #4]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-628]
	ldr	r3, [fp, #-628]
	str	r3, [fp, #-624]
	ldr	r3, [fp, #-684]
	sub	r3, r3, #1
	str	r3, [fp, #-620]
	ldr	r3, [fp, #-680]
	sub	r1, r3, #3
	ldr	r3, .L188+8
	smull	r2, r3, r1, r3
	asr	r2, r3, #2
	asr	r3, r1, #31
	sub	r3, r2, r3
	str	r3, [fp, #-660]
	ldr	r3, [fp, #-660]
	cmp	r3, #0
	bge	.L107
	mov	r3, #0
	str	r3, [fp, #-660]
.L107:
	ldr	r3, [fp, #-660]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r2, r2, #2
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-680]
	add	r3, r3, r2
	str	r3, [fp, #-636]
	ldr	r2, [fp, #-660]
	ldr	r3, [fp, #-620]
	sub	r3, r2, r3
	str	r3, [fp, #-644]
	ldr	r2, [fp, #-620]
	ldr	r3, [fp, #-628]
	add	r3, r2, r3
	str	r3, [fp, #-616]
	mov	r3, #0
	str	r3, [fp, #-648]
	b	.L108
.L111:
	ldr	r3, [fp, #-644]
	cmp	r3, #0
	blt	.L109
	ldr	r2, .L188+12
	ldr	r3, [fp, #-644]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	__aeabi_i2d
	b	.L110
.L109:
	mov	r0, #0
	mov	r1, #0
.L110:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #488
	stm	r3, {r0-r1}
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
	ldr	r3, [fp, #-644]
	add	r3, r3, #1
	str	r3, [fp, #-644]
.L108:
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-616]
	cmp	r2, r3
	ble	.L111
	mov	r3, #0
	str	r3, [fp, #-648]
	b	.L112
.L115:
	mov	r3, #0
	str	r3, [fp, #-644]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	b	.L113
.L114:
	ldr	r3, [fp, #-644]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-672]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-620]
	ldr	r3, [fp, #-648]
	add	r2, r2, r3
	ldr	r3, [fp, #-644]
	sub	r3, r2, r3
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #488
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-644]
	add	r3, r3, #1
	str	r3, [fp, #-644]
.L113:
	ldr	r2, [fp, #-644]
	ldr	r3, [fp, #-620]
	cmp	r2, r3
	ble	.L114
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #168
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
.L112:
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-628]
	cmp	r2, r3
	ble	.L115
	ldr	r3, [fp, #-628]
	str	r3, [fp, #-664]
.L116:
	mov	r3, #0
	str	r3, [fp, #-648]
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-664]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #168
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	b	.L117
.L118:
	mov	r2, #0
	ldr	r3, .L188+16
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	mov	r2, #0
	ldr	r3, .L188+20
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r2, r0
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	ldr	r3, [fp, #-644]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #168
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
	ldr	r3, [fp, #-644]
	sub	r3, r3, #1
	str	r3, [fp, #-644]
.L117:
	ldr	r3, [fp, #-644]
	cmp	r3, #0
	bgt	.L118
	ldr	r2, [fp, #-636]
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	scalbn
	str	r0, [fp, #-612]
	str	r1, [fp, #-608]
	mov	r2, #0
	mov	r3, #1069547520
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	floor
	mov	r2, #0
	ldr	r3, .L188+24
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-652]
	ldr	r0, [fp, #-652]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	mov	r3, #0
	str	r3, [fp, #-632]
	ldr	r3, [fp, #-636]
	cmp	r3, #0
	ble	.L119
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-568]
	ldr	r3, [fp, #-636]
	rsb	r3, r3, #24
	asr	r3, r2, r3
	str	r3, [fp, #-648]
	ldr	r2, [fp, #-652]
	ldr	r3, [fp, #-648]
	add	r3, r2, r3
	str	r3, [fp, #-652]
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r1, [r3, #-568]
	ldr	r3, [fp, #-636]
	rsb	r2, r3, #24
	ldr	r3, [fp, #-648]
	lsl	r2, r3, r2
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	sub	r2, r1, r2
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-568]
	ldr	r3, [fp, #-636]
	rsb	r3, r3, #23
	asr	r3, r2, r3
	str	r3, [fp, #-632]
	b	.L120
.L119:
	ldr	r3, [fp, #-636]
	cmp	r3, #0
	bne	.L121
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	asr	r3, r3, #23
	str	r3, [fp, #-632]
	b	.L120
.L121:
	mov	r2, #0
	ldr	r3, .L188+28
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	mov	r3, #2
	str	r3, [fp, #-632]
.L120:
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	ble	.L123
	ldr	r3, [fp, #-652]
	add	r3, r3, #1
	str	r3, [fp, #-652]
	mov	r3, #0
	str	r3, [fp, #-656]
	mov	r3, #0
	str	r3, [fp, #-648]
	b	.L124
.L127:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-656]
	cmp	r3, #0
	bne	.L125
	ldr	r3, [fp, #-644]
	cmp	r3, #0
	beq	.L126
	mov	r3, #1
	str	r3, [fp, #-656]
	ldr	r3, [fp, #-644]
	rsb	r2, r3, #16777216
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	b	.L126
.L125:
	ldr	r3, [fp, #-644]
	mvn	r2, #-16777216
	sub	r2, r2, r3
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
.L126:
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
.L124:
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-664]
	cmp	r2, r3
	blt	.L127
	ldr	r3, [fp, #-636]
	cmp	r3, #0
	ble	.L187
	ldr	r3, [fp, #-636]
	cmp	r3, #1
	beq	.L129
	ldr	r3, [fp, #-636]
	cmp	r3, #2
	beq	.L130
	b	.L128
.L129:
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-568]
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	bic	r2, r2, #-16777216
	bic	r2, r2, #8388608
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	b	.L128
.L130:
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-568]
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	bic	r2, r2, #-16777216
	bic	r2, r2, #12582912
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	b	.L128
.L187:
	nop
.L128:
	ldr	r3, [fp, #-632]
	cmp	r3, #2
	bne	.L123
	sub	r3, fp, #612
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L188+32
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
	ldr	r3, [fp, #-656]
	cmp	r3, #0
	beq	.L123
	ldr	r2, [fp, #-636]
	mov	r0, #0
	ldr	r1, .L188+32
	bl	scalbn
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-612]
	str	r3, [fp, #-608]
.L123:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L131
	mov	r3, #0
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
	b	.L133
.L134:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	ldr	r2, [fp, #-644]
	orr	r3, r2, r3
	str	r3, [fp, #-644]
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L133:
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-628]
	cmp	r2, r3
	bge	.L134
	ldr	r3, [fp, #-644]
	cmp	r3, #0
	bne	.L131
	mov	r3, #1
	str	r3, [fp, #-640]
	b	.L135
.L136:
	ldr	r3, [fp, #-640]
	add	r3, r3, #1
	str	r3, [fp, #-640]
.L135:
	ldr	r2, [fp, #-628]
	ldr	r3, [fp, #-640]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	cmp	r3, #0
	beq	.L136
	ldr	r3, [fp, #-664]
	add	r3, r3, #1
	str	r3, [fp, #-648]
	b	.L137
.L140:
	ldr	r2, [fp, #-660]
	ldr	r3, [fp, #-648]
	add	r3, r2, r3
	ldr	r2, .L188+12
	ldr	r1, [r2, r3, lsl #2]
	ldr	r2, [fp, #-620]
	ldr	r3, [fp, #-648]
	add	r4, r2, r3
	mov	r0, r1
	bl	__aeabi_i2d
	lsl	r3, r4, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #488
	stm	r3, {r0-r1}
	mov	r3, #0
	str	r3, [fp, #-644]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	b	.L138
.L139:
	ldr	r3, [fp, #-644]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-672]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-620]
	ldr	r3, [fp, #-648]
	add	r2, r2, r3
	ldr	r3, [fp, #-644]
	sub	r3, r2, r3
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #488
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-644]
	add	r3, r3, #1
	str	r3, [fp, #-644]
.L138:
	ldr	r2, [fp, #-644]
	ldr	r3, [fp, #-620]
	cmp	r2, r3
	ble	.L139
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #168
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
.L137:
	ldr	r2, [fp, #-664]
	ldr	r3, [fp, #-640]
	add	r3, r2, r3
	ldr	r2, [fp, #-648]
	cmp	r2, r3
	ble	.L140
	ldr	r2, [fp, #-664]
	ldr	r3, [fp, #-640]
	add	r3, r2, r3
	str	r3, [fp, #-664]
	b	.L116
.L131:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L184
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	str	r3, [fp, #-664]
	ldr	r3, [fp, #-636]
	sub	r3, r3, #24
	str	r3, [fp, #-636]
	b	.L143
.L144:
	ldr	r3, [fp, #-664]
	sub	r3, r3, #1
	str	r3, [fp, #-664]
	ldr	r3, [fp, #-636]
	sub	r3, r3, #24
	str	r3, [fp, #-636]
.L143:
	ldr	r3, [fp, #-664]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	cmp	r3, #0
	beq	.L144
	b	.L145
.L184:
	ldr	r3, [fp, #-636]
	rsb	r3, r3, #0
	mov	r2, r3
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	scalbn
	str	r0, [fp, #-612]
	str	r1, [fp, #-608]
	mov	r2, #0
	ldr	r3, .L188+20
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L185
	mov	r2, #0
	ldr	r3, .L188+16
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	mov	r2, #0
	ldr	r3, .L188+20
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r2, r0
	ldr	r3, [fp, #-664]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	ldr	r3, [fp, #-664]
	add	r3, r3, #1
	str	r3, [fp, #-664]
	ldr	r3, [fp, #-636]
	add	r3, r3, #24
	str	r3, [fp, #-636]
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r2, r0
	ldr	r3, [fp, #-664]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
	b	.L145
.L185:
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r2, r0
	ldr	r3, [fp, #-664]
	lsl	r3, r3, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-568]
.L145:
	ldr	r2, [fp, #-636]
	mov	r0, #0
	ldr	r1, .L188+32
	bl	scalbn
	str	r0, [fp, #-604]
	str	r1, [fp, #-600]
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L148
.L149:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-568]
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #168
	stm	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L188+16
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L148:
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	bge	.L149
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L150
.L154:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	mov	r3, #0
	str	r3, [fp, #-640]
	b	.L151
.L153:
	ldr	r2, .L188+36
	ldr	r3, [fp, #-640]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-640]
	add	r3, r2, r3
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #168
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-640]
	add	r3, r3, #1
	str	r3, [fp, #-640]
.L151:
	ldr	r2, [fp, #-640]
	ldr	r3, [fp, #-624]
	cmp	r2, r3
	bgt	.L152
	ldr	r2, [fp, #-664]
	ldr	r3, [fp, #-648]
	sub	r3, r2, r3
	ldr	r2, [fp, #-640]
	cmp	r2, r3
	ble	.L153
.L152:
	ldr	r2, [fp, #-664]
	ldr	r3, [fp, #-648]
	sub	r3, r2, r3
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #328
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L150:
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	bge	.L154
	ldr	r3, [fp, #4]
	cmp	r3, #3
	beq	.L155
	ldr	r3, [fp, #4]
	cmp	r3, #3
	bgt	.L156
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L157
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L156
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	cmp	r3, #1
	bhi	.L156
	b	.L186
.L157:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L159
.L160:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L159:
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	bge	.L160
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	beq	.L161
	ldr	r3, [fp, #-604]
	str	r3, [fp, #-692]
	ldr	r3, [fp, #-600]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-688]
	b	.L162
.L161:
	sub	r4, fp, #604
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-692]
	str	r4, [fp, #-688]
.L162:
	ldr	r3, [fp, #-676]
	sub	r2, fp, #692
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	b	.L156
.L186:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L163
.L164:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L163:
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	bge	.L164
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	beq	.L165
	ldr	r8, [fp, #-604]
	ldr	r3, [fp, #-600]
	eor	r9, r3, #-2147483648
	b	.L166
.L165:
	sub	r9, fp, #604
	ldmia	r9, {r8-r9}
.L166:
	ldr	r3, [fp, #-676]
	stm	r3, {r8-r9}
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	mov	r3, #1
	str	r3, [fp, #-648]
	b	.L167
.L168:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	add	r3, r3, #1
	str	r3, [fp, #-648]
.L167:
	ldr	r2, [fp, #-648]
	ldr	r3, [fp, #-664]
	cmp	r2, r3
	ble	.L168
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	beq	.L169
	ldr	r6, [fp, #-604]
	ldr	r3, [fp, #-600]
	eor	r7, r3, #-2147483648
	b	.L170
.L169:
	sub	r7, fp, #604
	ldmia	r7, {r6-r7}
.L170:
	ldr	r3, [fp, #-676]
	add	r3, r3, #8
	stm	r3, {r6-r7}
	b	.L156
.L155:
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L171
.L172:
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r0-r1}
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-648]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #328
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #328
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L171:
	ldr	r3, [fp, #-648]
	cmp	r3, #0
	bgt	.L172
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L173
.L189:
	.align	2
.L188:
	.word	.LC0
	.word	init_jk
	.word	715827883
	.word	ipio2
	.word	1047527424
	.word	1097859072
	.word	1075838976
	.word	1071644672
	.word	1072693248
	.word	PIo2
	.word	.LC0
.L174:
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r0-r1}
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-648]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #328
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #328
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L173:
	ldr	r3, [fp, #-648]
	cmp	r3, #1
	bgt	.L174
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-664]
	str	r3, [fp, #-648]
	b	.L175
.L176:
	ldr	r3, [fp, #-648]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #328
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-604]
	str	r3, [fp, #-600]
	ldr	r3, [fp, #-648]
	sub	r3, r3, #1
	str	r3, [fp, #-648]
.L175:
	ldr	r3, [fp, #-648]
	cmp	r3, #1
	bgt	.L176
	ldr	r3, [fp, #-632]
	cmp	r3, #0
	bne	.L177
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-676]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-676]
	add	r1, r3, #8
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-676]
	add	r1, r3, #16
	sub	r3, fp, #604
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L156
.L177:
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-700]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-696]
	ldr	r3, [fp, #-676]
	sub	r2, fp, #700
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-676]
	add	r1, r1, #8
	str	r2, [fp, #-708]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-704]
	sub	r4, fp, #708
	ldmia	r4, {r3-r4}
	stm	r1, {r3-r4}
	ldr	r3, [fp, #-676]
	add	r3, r3, #16
	ldr	r2, [fp, #-604]
	str	r2, [fp, #-716]
	ldr	r2, [fp, #-600]
	eor	r2, r2, #-2147483648
	str	r2, [fp, #-712]
	sub	r2, fp, #716
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
.L156:
	ldr	r3, [fp, #-652]
	and	r3, r3, #7
	ldr	r2, .L188+40
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L179
	bl	__stack_chk_fail
.L179:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	__rem_pio2_large, .-__rem_pio2_large
	.section	.rodata
	.align	3
	.type	invpio2, %object
	.size	invpio2, 8
invpio2:
	.word	1841940611
	.word	1071931184
	.align	3
	.type	pio2_1, %object
	.size	pio2_1, 8
pio2_1:
	.word	1413480448
	.word	1073291771
	.align	3
	.type	pio2_1t, %object
	.size	pio2_1t, 8
pio2_1t:
	.word	442655537
	.word	1037087841
	.align	3
	.type	pio2_2, %object
	.size	pio2_2, 8
pio2_2:
	.word	442499072
	.word	1037087841
	.align	3
	.type	pio2_2t, %object
	.size	pio2_2t, 8
pio2_2t:
	.word	771977331
	.word	1000544650
	.align	3
	.type	pio2_3, %object
	.size	pio2_3, 8
pio2_3:
	.word	771751936
	.word	1000544650
	.align	3
	.type	pio2_3t, %object
	.size	pio2_3t, 8
pio2_3t:
	.word	622873025
	.word	964395930
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	__rem_pio2
	.syntax unified
	.arm
	.fpu softvfp
	.type	__rem_pio2, %function
__rem_pio2:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #152
	str	r0, [fp, #-156]
	str	r1, [fp, #-152]
	str	r2, [fp, #-160]
	ldr	r3, .L217
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r1, #31
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-144]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+4
	cmp	r3, r2
	bhi	.L191
	ldr	r3, [fp, #-140]
	bic	r3, r3, #-16777216
	bic	r3, r3, #15728640
	ldr	r2, .L217+8
	cmp	r3, r2
	beq	.L214
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+12
	cmp	r3, r2
	bhi	.L194
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L195
	ldr	r2, .L217+16
	ldr	r3, .L217+20
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r2, .L217+24
	ldr	r3, .L217+28
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r2, .L217+24
	ldr	r3, .L217+28
	ldr	r1, [fp, #-160]
	add	r4, r1, #8
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mov	r3, #1
	b	.L212
.L195:
	ldr	r2, .L217+16
	ldr	r3, .L217+20
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r2, .L217+24
	ldr	r3, .L217+28
	ldr	r1, [fp, #-160]
	add	r4, r1, #8
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mvn	r3, #0
	b	.L212
.L194:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L197
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mov	r3, #2
	b	.L212
.L197:
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mvn	r3, #1
	b	.L212
.L191:
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+32
	cmp	r3, r2
	bhi	.L198
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+36
	cmp	r3, r2
	bhi	.L199
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+40
	cmp	r3, r2
	beq	.L215
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L201
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, #0
	ldr	r3, .L217+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+44
	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
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mov	r3, #3
	b	.L212
.L201:
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, #0
	ldr	r3, .L217+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+44
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mvn	r3, #2
	b	.L212
.L199:
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+48
	cmp	r3, r2
	beq	.L216
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L203
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, #0
	ldr	r3, .L217+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+52
	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
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mov	r3, #4
	b	.L212
.L203:
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	mov	r2, #0
	ldr	r3, .L217+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L217+24
	ldr	r1, .L217+28
	mov	r2, #0
	ldr	r3, .L217+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	mvn	r3, #3
	b	.L212
.L198:
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+56
	cmp	r3, r2
	bhi	.L204
	b	.L193
.L214:
	nop
	b	.L193
.L215:
	nop
	b	.L193
.L216:
	nop
.L193:
	ldr	r0, .L217+60
	ldr	r1, .L217+64
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L217+68
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L217+68
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-136]
	ldr	r0, .L217+16
	ldr	r1, .L217+20
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r2, .L217+24
	ldr	r3, .L217+28
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	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, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r1, #20
	mov	r3, #0
	mov	r3, r2
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-140]
	lsr	r3, r3, #20
	str	r3, [fp, #-128]
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-132]
	sub	r3, r2, r3
	cmp	r3, #16
	ble	.L205
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r2, .L217+72
	ldr	r3, .L217+28
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	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, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r0, .L217+76
	ldr	r1, .L217+80
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	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	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r1, #20
	mov	r3, #0
	mov	r3, r2
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	str	r3, [fp, #-132]
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-132]
	sub	r3, r2, r3
	cmp	r3, #49
	ble	.L205
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	mov	r2, #771751936
	ldr	r3, .L217+80
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	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, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r0, .L217+84
	ldr	r1, .L217+88
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	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	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
.L205:
	ldr	r3, [fp, #-160]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-136]
	b	.L212
.L204:
	ldr	r3, [fp, #-140]
	ldr	r2, .L217+92
	cmp	r3, r2
	bls	.L206
	ldr	r3, [fp, #-160]
	add	r4, r3, #8
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldmia	r4, {r2-r3}
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	mov	r3, #0
	b	.L212
.L206:
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	ldr	r1, .L217+96
	and	r6, r2, r0
	and	r7, r3, r1
	str	r6, [fp, #-124]
	str	r7, [fp, #-120]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L217+100
	orr	r4, r2, r0
	orr	r5, r3, r1
	str	r4, [fp, #-124]
	str	r5, [fp, #-120]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-148]
	b	.L207
.L208:
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-148]
	lsl	r1, r1, #3
	sub	r0, fp, #28
	add	r1, r0, r1
	sub	r1, r1, #32
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L217+104
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
.L207:
	ldr	r3, [fp, #-148]
	cmp	r3, #1
	ble	.L208
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r1, r3, #32
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L209
.L210:
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
.L209:
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #32
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L210
	ldr	r3, [fp, #-140]
	lsr	r3, r3, #20
	sub	r2, r3, #1040
	sub	r2, r2, #6
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	sub	r1, fp, #76
	sub	r0, fp, #60
	mov	ip, #1
	str	ip, [sp]
	bl	__rem_pio2_large
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L211
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-172]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-160]
	sub	r2, fp, #172
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-160]
	add	r1, r1, #8
	mov	r8, r2
	eor	r9, r3, #-2147483648
	stm	r1, {r8-r9}
	ldr	r3, [fp, #-136]
	rsb	r3, r3, #0
	b	.L212
.L211:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-160]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-160]
	add	r1, r3, #8
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-136]
.L212:
	ldr	r2, .L217
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L213
	bl	__stack_chk_fail
.L213:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L218:
	.align	2
.L217:
	.word	.LC1
	.word	1074752122
	.word	598523
	.word	1073928572
	.word	1413480448
	.word	1073291771
	.word	442655537
	.word	1037087841
	.word	1075594811
	.word	1075183036
	.word	1074977148
	.word	1074266112
	.word	1075388923
	.word	1074790400
	.word	1094263290
	.word	1841940611
	.word	1071931184
	.word	1127219200
	.word	442499072
	.word	771977331
	.word	1000544650
	.word	622873025
	.word	964395930
	.word	2146435071
	.word	1048575
	.word	1096810496
	.word	1097859072
	.size	__rem_pio2, .-__rem_pio2
	.section	.rodata
	.align	3
	.type	S1, %object
	.size	S1, 8
S1:
	.word	1431655753
	.word	-1077586603
	.align	3
	.type	S2, %object
	.size	S2, 8
S2:
	.word	286324902
	.word	1065423121
	.align	3
	.type	S3, %object
	.size	S3, 8
S3:
	.word	432103893
	.word	-1087766112
	.align	3
	.type	S4, %object
	.size	S4, 8
S4:
	.word	1471282813
	.word	1053236707
	.align	3
	.type	S5, %object
	.size	S5, 8
S5:
	.word	2318114027
	.word	-1101339162
	.align	3
	.type	S6, %object
	.size	S6, 8
S6:
	.word	1523570044
	.word	1038473530
	.text
	.align	2
	.global	__sin
	.syntax unified
	.arm
	.fpu softvfp
	.type	__sin, %function
__sin:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #48
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	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
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	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
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r0, .L222
	ldr	r1, .L222+4
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L222+8
	ldr	r3, .L222+12
	bl	__aeabi_dadd
	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, r2
	mov	r1, r3
	ldr	r2, .L222+16
	ldr	r3, .L222+20
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, .L222+24
	ldr	r1, .L222+28
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L222+32
	ldr	r3, .L222+36
	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_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bne	.L220
	sub	r3, fp, #36
	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
	ldr	r2, .L222+40
	ldr	r3, .L222+44
	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
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L221
.L220:
	mov	r2, #0
	ldr	r3, .L222+48
	sub	r1, fp, #68
	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, #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
	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, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, .L222+40
	ldr	r1, .L222+44
	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
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
.L221:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L223:
	.align	2
.L222:
	.word	1471282813
	.word	1053236707
	.word	432103893
	.word	-1087766112
	.word	286324902
	.word	1065423121
	.word	1523570044
	.word	1038473530
	.word	-1976853269
	.word	-1101339162
	.word	1431655753
	.word	-1077586603
	.word	1071644672
	.size	__sin, .-__sin
	.section	.rodata
	.align	3
	.type	C1, %object
	.size	C1, 8
C1:
	.word	1431655756
	.word	1067799893
	.align	3
	.type	C2, %object
	.size	C2, 8
C2:
	.word	381768055
	.word	-1084833428
	.align	3
	.type	C3, %object
	.size	C3, 8
C3:
	.word	432739728
	.word	1056571808
	.align	3
	.type	C4, %object
	.size	C4, 8
C4:
	.word	2157728429
	.word	-1097695665
	.align	3
	.type	C5, %object
	.size	C5, 8
C5:
	.word	3182735812
	.word	1042411166
	.align	3
	.type	C6, %object
	.size	C6, 8
C6:
	.word	3196598484
	.word	-1112999191
	.text
	.align	2
	.global	__cos
	.syntax unified
	.arm
	.fpu softvfp
	.type	__cos, %function
__cos:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #48
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	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
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	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
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r0, .L226
	ldr	r1, .L226+4
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L226+8
	ldr	r3, .L226+12
	bl	__aeabi_dadd
	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, r2
	mov	r1, r3
	ldr	r2, .L226+16
	ldr	r3, .L226+20
	bl	__aeabi_dadd
	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	r4, r2
	mov	r5, r3
	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	r6, r2
	mov	r7, r3
	ldr	r0, .L226+24
	ldr	r1, .L226+28
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L226+32
	ldr	r3, .L226+36
	bl	__aeabi_dadd
	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, r2
	mov	r1, r3
	ldr	r2, .L226+40
	ldr	r3, .L226+44
	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_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	ldr	r3, .L226+48
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L226+52
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L226+52
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, 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, r6
	mov	r1, r7
	bl	__aeabi_dsub
	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
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L227:
	.align	2
.L226:
	.word	432739728
	.word	1056571808
	.word	381768055
	.word	-1084833428
	.word	1431655756
	.word	1067799893
	.word	-1098368812
	.word	-1112999191
	.word	-1112231484
	.word	1042411166
	.word	-2137238867
	.word	-1097695665
	.word	1071644672
	.word	1072693248
	.size	__cos, .-__cos
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	env_sin
	.syntax unified
	.arm
	.fpu softvfp
	.type	env_sin, %function
env_sin:
	@ args = 0, pretend = 0, frame = 56
	@ 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]
	ldr	r3, .L239
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldr	r2, .L239+4
	cmp	r3, r2
	bgt	.L229
	ldr	r3, [fp, #-60]
	ldr	r2, .L239+8
	cmp	r3, r2
	bgt	.L230
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	cmp	r3, #0
	bne	.L230
	sub	r5, fp, #68
	ldmia	r5, {r4-r5}
	b	.L237
.L230:
	mov	r3, #0
	str	r3, [sp]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__sin
	mov	r4, r0
	mov	r5, r1
	b	.L237
.L229:
	ldr	r3, [fp, #-60]
	ldr	r2, .L239+12
	cmp	r3, r2
	ble	.L232
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	b	.L237
.L232:
	sub	r3, fp, #36
	mov	r2, r3
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__rem_pio2
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	and	r3, r3, #3
	cmp	r3, #2
	beq	.L233
	cmp	r3, #2
	bgt	.L234
	cmp	r3, #0
	beq	.L235
	cmp	r3, #1
	beq	.L236
	b	.L234
.L235:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	ip, #1
	str	ip, [sp]
	bl	__sin
	mov	r4, r0
	mov	r5, r1
	b	.L237
.L236:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__cos
	mov	r4, r0
	mov	r5, r1
	b	.L237
.L233:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	ip, #1
	str	ip, [sp]
	bl	__sin
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	eor	r5, r3, #-2147483648
	b	.L237
.L234:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__cos
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	eor	r5, r3, #-2147483648
.L237:
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L239
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L238
	bl	__stack_chk_fail
.L238:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L240:
	.align	2
.L239:
	.word	.LC2
	.word	1072243195
	.word	1045430271
	.word	2146435071
	.size	env_sin, .-env_sin
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	cos
	.syntax unified
	.arm
	.fpu softvfp
	.type	cos, %function
cos:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r3, .L252
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r2, .L252+4
	cmp	r3, r2
	bhi	.L242
	ldr	r3, [fp, #-52]
	ldr	r2, .L252+8
	cmp	r3, r2
	bhi	.L243
	mov	r2, #0
	ldr	r3, .L252+12
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r4, #0
	ldr	r5, .L252+16
	b	.L250
.L243:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__cos
	mov	r4, r0
	mov	r5, r1
	b	.L250
.L242:
	ldr	r3, [fp, #-52]
	ldr	r2, .L252+20
	cmp	r3, r2
	bls	.L245
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	b	.L250
.L245:
	sub	r3, fp, #36
	mov	r2, r3
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__rem_pio2
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	and	r3, r3, #3
	cmp	r3, #2
	beq	.L246
	cmp	r3, #2
	bhi	.L247
	cmp	r3, #0
	beq	.L248
	cmp	r3, #1
	beq	.L249
	b	.L247
.L248:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__cos
	mov	r4, r0
	mov	r5, r1
	b	.L250
.L249:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	ip, #1
	str	ip, [sp]
	bl	__sin
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	eor	r5, r3, #-2147483648
	b	.L250
.L246:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__cos
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	eor	r5, r3, #-2147483648
	b	.L250
.L247:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	ip, #1
	str	ip, [sp]
	bl	__sin
	mov	r4, r0
	mov	r5, r1
.L250:
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L252
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L251
	bl	__stack_chk_fail
.L251:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L253:
	.align	2
.L252:
	.word	.LC3
	.word	1072243195
	.word	1044816029
	.word	1198522368
	.word	1072693248
	.word	2146435071
	.size	cos, .-cos
	.section	.rodata
	.align	3
	.type	atanhi, %object
	.size	atanhi, 32
atanhi:
	.word	90291023
	.word	1071492199
	.word	1413754136
	.word	1072243195
	.word	3531732635
	.word	1072657163
	.word	1413754136
	.word	1073291771
	.align	3
	.type	atanlo, %object
	.size	atanlo, 32
atanlo:
	.word	573531618
	.word	1014639487
	.word	856972295
	.word	1015129638
	.word	2062601149
	.word	1013974920
	.word	856972295
	.word	1016178214
	.align	3
	.type	aT, %object
	.size	aT, 88
aT:
	.word	1431655693
	.word	1070945621
	.word	2576935876
	.word	-1077306983
	.word	2449507327
	.word	1069697316
	.word	4263712369
	.word	-1078169146
	.word	3310100590
	.word	1068975565
	.word	2943654509
	.word	-1078742798
	.word	2698001745
	.word	1068567910
	.word	1390345626
	.word	-1079124435
	.word	611716587
	.word	1068071755
	.word	745172015
	.word	-1079856060
	.word	3810712081
	.word	1066446138
	.global	__aeabi_d2f
	.text
	.align	2
	.global	atan
	.syntax unified
	.arm
	.fpu softvfp
	.type	atan, %function
atan:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #88
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	lsr	r3, r3, #31
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r2, .L270
	cmp	r3, r2
	bls	.L255
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__DOUBLE_BITS
	mov	r2, r0
	mov	r3, r1
	mvn	r0, #0
	mvn	r1, #-2147483648
	and	r6, r2, r0
	and	r7, r3, r1
	mov	r2, #0
	ldr	r3, .L270+4
	cmp	r7, r3
	cmpeq	r6, r2
	bls	.L256
	sub	r9, fp, #92
	ldmia	r9, {r8-r9}
	b	.L257
.L256:
	ldr	r0, .L270+8
	ldr	r1, .L270+12
	mov	r2, #0
	ldr	r3, .L270+16
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L258
	ldr	r8, [fp, #-60]
	ldr	r3, [fp, #-56]
	eor	r9, r3, #-2147483648
	b	.L257
.L258:
	sub	r9, fp, #60
	ldmia	r9, {r8-r9}
	b	.L257
.L255:
	ldr	r3, [fp, #-76]
	ldr	r2, .L270+20
	cmp	r3, r2
	bhi	.L260
	ldr	r3, [fp, #-76]
	cmp	r3, #1044381696
	bcs	.L261
	ldr	r3, [fp, #-76]
	cmp	r3, #1048576
	bcs	.L262
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-68]	@ float
.L262:
	sub	r9, fp, #92
	ldmia	r9, {r8-r9}
	b	.L257
.L261:
	mvn	r3, #0
	str	r3, [fp, #-80]
	b	.L263
.L260:
	ldr	r4, [fp, #-92]
	ldr	r3, [fp, #-88]
	bic	r5, r3, #-2147483648
	str	r4, [fp, #-92]
	str	r5, [fp, #-88]
	ldr	r3, [fp, #-76]
	ldr	r2, .L270+24
	cmp	r3, r2
	bhi	.L264
	ldr	r3, [fp, #-76]
	ldr	r2, .L270+28
	cmp	r3, r2
	bhi	.L265
	mov	r3, #0
	str	r3, [fp, #-80]
	sub	r1, fp, #92
	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
	mov	r2, #0
	ldr	r3, .L270+32
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	b	.L263
.L265:
	mov	r3, #1
	str	r3, [fp, #-80]
	mov	r2, #0
	ldr	r3, .L270+32
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L270+32
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	b	.L263
.L264:
	ldr	r3, [fp, #-76]
	ldr	r2, .L270+36
	cmp	r3, r2
	bcs	.L266
	mov	r3, #2
	str	r3, [fp, #-80]
	mov	r2, #0
	ldr	r3, .L270+40
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L270+40
	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
	ldr	r3, .L270+32
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	b	.L263
.L266:
	mov	r3, #3
	str	r3, [fp, #-80]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L270+44
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
.L263:
	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]
	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
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, .L270+48
	ldr	r4, .L270+52
	str	r3, [fp, #-100]
	str	r4, [fp, #-96]
	ldr	r2, .L270+56
	ldr	r3, .L270+60
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r1, .L270+64
	ldr	r2, .L270+68
	str	r1, [fp, #-116]
	str	r2, [fp, #-112]
	ldr	r6, .L270+72
	ldr	r7, .L270+76
	ldr	r4, .L270+80
	ldr	r5, .L270+84
	ldr	r0, .L270+88
	ldr	r1, .L270+92
	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	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	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	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	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
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	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
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r6, .L270+96
	ldr	r7, .L270+100
	ldr	r3, .L270+104
	ldr	r4, .L270+108
	str	r3, [fp, #-100]
	str	r4, [fp, #-96]
	ldr	r2, .L270+112
	ldr	r3, .L270+116
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r4, .L270+120
	ldr	r5, .L270+124
	ldr	r0, .L270+128
	ldr	r1, .L270+132
	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	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	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
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	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, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bge	.L267
	sub	r3, fp, #36
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	b	.L257
.L267:
	ldr	r2, .L270+136
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	sub	r3, fp, #36
	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, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L270+140
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	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]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L268
	ldr	r8, [fp, #-60]
	ldr	r3, [fp, #-56]
	eor	r9, r3, #-2147483648
	b	.L257
.L268:
	sub	r9, fp, #60
	ldmia	r9, {r8-r9}
.L257:
	mov	r2, r8
	mov	r3, r9
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L271:
	.align	2
.L270:
	.word	1141899263
	.word	2146435072
	.word	1413754136
	.word	1073291771
	.word	946864128
	.word	1071382527
	.word	1072889855
	.word	1072037887
	.word	1072693248
	.word	1073971200
	.word	1073217536
	.word	-1074790400
	.word	1431655693
	.word	1070945621
	.word	-1845459969
	.word	1069697316
	.word	-984866706
	.word	1068975565
	.word	-1596965551
	.word	1068567910
	.word	611716587
	.word	1068071755
	.word	-484255215
	.word	1066446138
	.word	-1718031420
	.word	-1077306983
	.word	-31254927
	.word	-1078169146
	.word	-1351312787
	.word	-1078742798
	.word	1390345626
	.word	-1079124435
	.word	745172015
	.word	-1079856060
	.word	atanhi
	.word	atanlo
	.size	atan, .-atan
	.section	.rodata
	.align	3
	.type	pio2_hi, %object
	.size	pio2_hi, 8
pio2_hi:
	.word	1413754136
	.word	1073291771
	.align	3
	.type	pio2_lo, %object
	.size	pio2_lo, 8
pio2_lo:
	.word	856972295
	.word	1016178214
	.align	3
	.type	pS0, %object
	.size	pS0, 8
pS0:
	.word	1431655765
	.word	1069897045
	.align	3
	.type	pS1, %object
	.size	pS1, 8
pS1:
	.word	65761149
	.word	-1076570606
	.align	3
	.type	pS2, %object
	.size	pS2, 8
pS2:
	.word	243811413
	.word	1070186837
	.align	3
	.type	pS3, %object
	.size	pS3, 8
pS3:
	.word	3043528507
	.word	-1079737816
	.align	3
	.type	pS4, %object
	.size	pS4, 8
pS4:
	.word	1963045512
	.word	1061810144
	.align	3
	.type	pS5, %object
	.size	pS5, 8
pS5:
	.word	234747657
	.word	1057111521
	.align	3
	.type	qS1, %object
	.size	qS1, 8
qS1:
	.word	478817611
	.word	-1073530329
	.align	3
	.type	qS2, %object
	.size	qS2, 8
qS2:
	.word	2623113928
	.word	1073752805
	.align	3
	.type	qS3, %object
	.size	qS3, 8
qS3:
	.word	462225753
	.word	-1075444116
	.align	3
	.type	qS4, %object
	.size	qS4, 8
qS4:
	.word	2972619394
	.word	1068742853
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	R, %function
R:
	@ args = 0, 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, #-28]
	str	r1, [fp, #-24]
	ldr	r0, .L274
	ldr	r1, .L274+4
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+8
	ldr	r3, .L274+12
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+16
	ldr	r3, .L274+20
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+24
	ldr	r3, .L274+28
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+32
	ldr	r3, .L274+36
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+40
	ldr	r3, .L274+44
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	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]
	ldr	r0, .L274+48
	ldr	r1, .L274+52
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+56
	ldr	r3, .L274+60
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+64
	ldr	r3, .L274+68
	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
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L274+72
	ldr	r3, .L274+76
	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
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L274+80
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L275:
	.align	2
.L274:
	.word	234747657
	.word	1057111521
	.word	1963045512
	.word	1061810144
	.word	-1251438789
	.word	-1079737816
	.word	243811413
	.word	1070186837
	.word	65761149
	.word	-1076570606
	.word	1431655765
	.word	1069897045
	.word	-1322347902
	.word	1068742853
	.word	462225753
	.word	-1075444116
	.word	-1671853368
	.word	1073752805
	.word	478817611
	.word	-1073530329
	.word	1072693248
	.size	R, .-R
	.align	2
	.global	acos
	.syntax unified
	.arm
	.fpu softvfp
	.type	acos, %function
acos:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #72
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r2, .L284
	cmp	r3, r2
	bls	.L277
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r3, r2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	add	r3, r3, #-1073741824
	add	r3, r3, #1048576
	ldr	r2, [fp, #-72]
	orr	r3, r3, r2
	cmp	r3, #0
	bne	.L278
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bge	.L279
	ldr	r0, .L284+4
	ldr	r1, .L284+8
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L284+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L280
.L279:
	mov	r2, #0
	mov	r3, #0
	b	.L280
.L278:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #0
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	b	.L280
.L277:
	ldr	r3, [fp, #-76]
	ldr	r2, .L284+16
	cmp	r3, r2
	bhi	.L281
	ldr	r3, [fp, #-76]
	ldr	r2, .L284+20
	cmp	r3, r2
	bhi	.L282
	ldr	r0, .L284+4
	ldr	r1, .L284+8
	mov	r2, #0
	ldr	r3, .L284+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L280
.L282:
	ldr	r4, .L284+4
	ldr	r5, .L284+8
	ldr	r6, .L284+24
	ldr	r7, .L284+28
	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
	mov	r0, r2
	mov	r1, r3
	bl	R
	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
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	b	.L280
.L281:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bge	.L283
	mov	r2, #0
	ldr	r3, .L284+32
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L284+36
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	R
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L284+24
	ldr	r3, .L284+28
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r4, .L284+4
	ldr	r5, .L284+8
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	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
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L280
.L283:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L284+32
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L284+36
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mvn	r1, #0
	and	r4, r2, r0
	and	r5, r3, r1
	str	r4, [fp, #-68]
	str	r5, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	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, #60
	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, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	R
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	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, #28
	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
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
.L280:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L285:
	.align	2
.L284:
	.word	1072693247
	.word	1413754136
	.word	1073291771
	.word	946864128
	.word	1071644671
	.word	1012924416
	.word	856972295
	.word	1016178214
	.word	1072693248
	.word	1071644672
	.size	acos, .-acos
	.global	__aeabi_fmul
	.align	2
	.global	scalbnf
	.syntax unified
	.arm
	.fpu softvfp
	.type	scalbnf, %function
scalbnf:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]	@ float
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]	@ float
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-20]
	cmp	r3, #127
	ble	.L287
	mov	r1, #2130706432
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-20]
	sub	r3, r3, #127
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #127
	ble	.L288
	mov	r1, #2130706432
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-20]
	sub	r3, r3, #127
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #127
	ble	.L288
	mov	r3, #127
	str	r3, [fp, #-20]
	b	.L288
.L287:
	ldr	r3, [fp, #-20]
	cmn	r3, #126
	bge	.L288
	mov	r1, #8388608
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-20]
	add	r3, r3, #126
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #126
	bge	.L288
	mov	r1, #8388608
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-8]	@ float
	ldr	r3, [fp, #-20]
	add	r3, r3, #126
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #126
	bge	.L288
	mvn	r3, #125
	str	r3, [fp, #-20]
.L288:
	ldr	r3, [fp, #-20]
	add	r3, r3, #127
	lsl	r3, r3, #23
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-16]	@ float
	ldr	r3, [fp, #-16]	@ float
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	scalbnf, .-scalbnf
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
