	.file	"282296.c"
	.intel_syntax noprefix
	.text
	.globl	getreal
	.type	getreal, @function
getreal:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	getreal, .-getreal
	.globl	getimag
	.type	getimag, @function
getimag:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	getimag, .-getimag
	.globl	constructor
	.type	constructor, @function
constructor:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	.cfi_offset 3, -24
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	QWORD PTR -40[rbp], xmm1
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	constructor, .-constructor
	.globl	constructor2
	.type	constructor2, @function
constructor2:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	.cfi_offset 3, -24
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	constructor2, .-constructor2
	.globl	assign
	.type	assign, @function
assign:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	.cfi_offset 3, -24
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	assign, .-assign
	.globl	assignObj
	.type	assignObj, @function
assignObj:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	.cfi_offset 3, -24
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	assignObj, .-assignObj
	.globl	plus
	.type	plus, @function
plus:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movapd	xmm1, xmm2
	movapd	xmm0, xmm3
	mov	eax, 0
	mov	edx, 0
	movq	rax, xmm1
	movq	rdx, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	addsd	xmm2, xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm1, xmm0
	movq	rax, xmm1
	movapd	xmm1, xmm2
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	plus, .-plus
	.globl	minus
	.type	minus, @function
minus:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movapd	xmm1, xmm2
	movapd	xmm0, xmm3
	mov	eax, 0
	mov	edx, 0
	movq	rax, xmm1
	movq	rdx, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm1
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -48[rbp]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movapd	xmm1, xmm2
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	minus, .-minus
	.globl	multiply
	.type	multiply, @function
multiply:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movapd	xmm1, xmm2
	movapd	xmm0, xmm3
	mov	eax, 0
	mov	edx, 0
	movq	rax, xmm1
	movq	rdx, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm2
	movapd	xmm3, xmm1
	addsd	xmm3, xmm0
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movapd	xmm1, xmm3
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	multiply, .-multiply
	.globl	divide
	.type	divide, @function
divide:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	movapd	xmm1, xmm2
	movapd	xmm0, xmm3
	mov	eax, 0
	mov	edx, 0
	movq	rax, xmm1
	movq	rdx, xmm0
	mov	QWORD PTR -64[rbp], rax
	mov	QWORD PTR -56[rbp], rdx
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sqrt@PLT
	addsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	round@PLT
	movq	rdx, xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm2, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm1, rdx
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	divide, .-divide
	.globl	cs
	.bss
	.align 16
	.type	cs, @object
	.size	cs, 16
cs:
	.zero	16
	.section	.rodata
.LC10:
	.string	"cf failed in frenel"
.LC12:
	.string	"maxits exceeded in cisi"
	.text
	.globl	snippet
	.type	snippet, @function
snippet:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 248
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	movsd	QWORD PTR -264[rbp], xmm0
	mov	DWORD PTR -244[rbp], 100
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC3[rip]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR .LC5[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -152[rbp]
	jbe	.L22
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -264[rbp]
	jbe	.L22
	mov	rax, QWORD PTR -152[rbp]
	movq	xmm0, rax
	call	assign
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
	jmp	.L25
.L22:
	movsd	xmm0, QWORD PTR -160[rbp]
	comisd	xmm0, QWORD PTR -152[rbp]
	jb	.L43
	pxor	xmm0, xmm0
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC8[rip]
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	mov	BYTE PTR -253[rbp], 1
	movsd	xmm0, QWORD PTR -152[rbp]
	movsd	QWORD PTR -208[rbp], xmm0
	mov	DWORD PTR -248[rbp], 3
	mov	DWORD PTR -252[rbp], 1
	jmp	.L28
.L31:
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -252[rbp]
	movsd	xmm0, QWORD PTR -128[rbp]
	divsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -208[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	mulsd	xmm0, QWORD PTR -208[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -248[rbp]
	divsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -232[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	cmp	BYTE PTR -253[rbp], 0
	je	.L29
	movsd	xmm0, QWORD PTR -240[rbp]
	movq	xmm1, QWORD PTR .LC9[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR -224[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	jmp	.L30
.L29:
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
.L30:
	movzx	eax, BYTE PTR -253[rbp]
	test	eax, eax
	setne	al
	xor	eax, 1
	movzx	eax, al
	mov	BYTE PTR -253[rbp], al
	and	BYTE PTR -253[rbp], 1
	add	DWORD PTR -248[rbp], 2
	add	DWORD PTR -252[rbp], 1
.L28:
	mov	eax, DWORD PTR -252[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	jle	.L31
	mov	eax, DWORD PTR -252[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	jle	.L32
	lea	rdi, .LC10[rip]
	call	puts@PLT
.L32:
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
	jmp	.L25
.L43:
	movsd	xmm0, QWORD PTR -176[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	movq	xmm1, QWORD PTR .LC9[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR .LC8[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -112[rbp], rax
	movsd	QWORD PTR -104[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	movq	xmm0, rax
	call	assign
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -96[rbp], rax
	movsd	QWORD PTR -88[rbp], xmm0
	mov	rax, QWORD PTR .LC8[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm4, rbx
	movapd	xmm2, xmm1
	movapd	xmm3, xmm0
	movq	xmm0, rax
	movapd	xmm1, xmm4
	call	divide
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	QWORD PTR -72[rbp], rdx
	mov	DWORD PTR -248[rbp], -1
	mov	DWORD PTR -252[rbp], 2
	jmp	.L33
.L37:
	add	DWORD PTR -248[rbp], 2
	mov	eax, DWORD PTR -248[rbp]
	neg	eax
	mov	edx, eax
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 1
	imul	eax, edx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR .LC11[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	call	assignObj
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -112[rbp], rax
	movsd	QWORD PTR -104[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	movsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm4, rbx
	movapd	xmm2, xmm1
	movapd	xmm3, xmm0
	movq	xmm0, rax
	movapd	xmm1, xmm4
	call	plus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	r12d, 0
	mov	r13d, 0
	mov	r12, rax
	movq	r13, xmm0
	mov	rax, QWORD PTR .LC8[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, r12
	mov	rdi, r13
	mov	rcx, r12
	mov	rbx, r13
	movq	xmm2, rsi
	movq	xmm0, rbx
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	divide
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movq	xmm0, rax
	call	assignObj
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -80[rbp], rax
	movsd	QWORD PTR -72[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm4, rbx
	movapd	xmm2, xmm1
	movapd	xmm3, xmm0
	movq	xmm0, rax
	movapd	xmm1, xmm4
	call	divide
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -96[rbp], rax
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -48[rbp], rax
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm2, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR .LC8[rip]
	movq	xmm0, rax
	subsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	movsd	QWORD PTR -272[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	getimag
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC7[rip]
	movq	xmm5, rax
	andpd	xmm5, xmm0
	movapd	xmm0, xmm5
	movsd	xmm1, QWORD PTR -272[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	comisd	xmm0, xmm1
	jnb	.L44
	add	DWORD PTR -252[rbp], 1
.L33:
	mov	eax, DWORD PTR -252[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	jle	.L37
	jmp	.L36
.L44:
	nop
.L36:
	mov	eax, DWORD PTR -252[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	jle	.L38
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
.L38:
	movsd	xmm0, QWORD PTR -152[rbp]
	movq	xmm1, QWORD PTR .LC9[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR -152[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	sin@PLT
	movq	rbx, xmm0
	movsd	xmm1, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	cos@PLT
	movq	rax, xmm0
	movq	xmm1, rbx
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm4, rbx
	movapd	xmm2, xmm1
	movapd	xmm3, xmm0
	movq	xmm0, rax
	movapd	xmm1, xmm4
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	r12d, 0
	mov	r13d, 0
	mov	r12, rax
	movq	r13, xmm0
	mov	rax, QWORD PTR .LC8[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, r12
	mov	rdi, r13
	mov	rcx, r12
	mov	rbx, r13
	movq	xmm2, rsi
	movq	xmm0, rbx
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	minus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	r12d, 0
	mov	r13d, 0
	mov	r12, rax
	movq	r13, xmm0
	movsd	xmm0, QWORD PTR .LC13[rip]
	mov	rax, QWORD PTR .LC13[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rsi, r12
	mov	rdi, r13
	mov	rcx, r12
	mov	rbx, r13
	movq	xmm2, rsi
	movq	xmm0, rbx
	mov	rsi, rax
	mov	rdi, rdx
	mov	rcx, rax
	mov	rbx, rdx
	mov	rax, rsi
	movq	xmm1, rbx
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
.L25:
	mov	rax, QWORD PTR cs[rip]
	movsd	xmm1, QWORD PTR cs[rip+8]
	movq	xmm0, rax
	call	getimag
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC9[rip]
	movq	xmm6, rax
	xorpd	xmm6, xmm0
	movsd	QWORD PTR -272[rbp], xmm6
	mov	rax, QWORD PTR cs[rip]
	movsd	xmm1, QWORD PTR cs[rip+8]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC9[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movq	rax, xmm7
	movsd	xmm1, QWORD PTR -272[rbp]
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
	nop
	add	rsp, 248
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	snippet, .-snippet
	.section	.rodata
.LC17:
	.string	"cf failed in cisi"
	.text
	.globl	cisi
	.type	cisi, @function
cisi:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 296
	.cfi_offset 3, -24
	movsd	QWORD PTR -296[rbp], xmm0
	mov	DWORD PTR -268[rbp], 100
	movsd	xmm0, QWORD PTR .LC14[rip]
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC15[rip]
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC16[rip]
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC3[rip]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -296[rbp]
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	movsd	QWORD PTR -176[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jp	.L46
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -176[rbp]
	jne	.L46
	movsd	xmm0, QWORD PTR -184[rbp]
	movq	xmm1, QWORD PTR .LC9[rip]
	xorpd	xmm0, xmm1
	movq	rax, xmm0
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
	jmp	.L45
.L46:
	movsd	xmm0, QWORD PTR -176[rbp]
	comisd	xmm0, QWORD PTR -208[rbp]
	jbe	.L74
	movsd	xmm0, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR .LC8[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -128[rbp], rax
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -184[rbp]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -112[rbp], rax
	movsd	QWORD PTR -104[rbp], xmm0
	mov	rax, QWORD PTR .LC8[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	divide
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -144[rbp], rax
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -276[rbp], 1
	jmp	.L51
.L55:
	mov	eax, DWORD PTR -276[rbp]
	neg	eax
	imul	eax, DWORD PTR -276[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -152[rbp], xmm0
	mov	rax, QWORD PTR .LC5[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -128[rbp], rax
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR .LC8[rip]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -152[rbp]
	pxor	xmm1, xmm1
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -48[rbp], rax
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -32[rbp], rax
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	divide
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -96[rbp], rax
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	divide
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -112[rbp], rax
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm2, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR -104[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -80[rbp], rax
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm2, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -144[rbp], rax
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR .LC8[rip]
	movq	xmm0, rax
	subsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm0, xmm1
	movsd	QWORD PTR -304[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC7[rip]
	movq	xmm4, rax
	andpd	xmm4, xmm0
	movapd	xmm0, xmm4
	movsd	xmm1, QWORD PTR -304[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	comisd	xmm0, xmm1
	jnb	.L76
	add	DWORD PTR -276[rbp], 1
.L51:
	mov	eax, DWORD PTR -276[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jl	.L55
	jmp	.L54
.L76:
	nop
.L54:
	mov	eax, DWORD PTR -276[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jl	.L56
	lea	rdi, .LC17[rip]
	call	puts@PLT
.L56:
	mov	rax, QWORD PTR -176[rbp]
	movq	xmm0, rax
	call	sin@PLT
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC9[rip]
	movq	xmm5, rax
	xorpd	xmm5, xmm0
	movsd	QWORD PTR -304[rbp], xmm5
	mov	rax, QWORD PTR -176[rbp]
	movq	xmm0, rax
	call	cos@PLT
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm2, QWORD PTR -144[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	multiply
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -144[rbp], rax
	movsd	QWORD PTR -136[rbp], xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	movq	xmm0, rax
	call	getimag
	movq	rbx, xmm0
	mov	rax, QWORD PTR -144[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC9[rip]
	movq	xmm6, rax
	xorpd	xmm6, xmm0
	movq	rax, xmm6
	movq	xmm1, rbx
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR -64[rbp], rax
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	pxor	xmm0, xmm0
	call	constructor
	movq	rcx, xmm0
	movapd	xmm0, xmm1
	mov	eax, 0
	mov	edx, 0
	mov	rax, rcx
	movq	rdx, xmm0
	mov	rcx, rax
	mov	rbx, rdx
	movq	xmm2, rcx
	movq	xmm0, rdx
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -56[rbp]
	movapd	xmm3, xmm0
	movq	xmm0, rax
	call	plus
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
	jmp	.L57
.L74:
	mov	rax, QWORD PTR -192[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm4, rax
	comisd	xmm4, QWORD PTR -176[rbp]
	jbe	.L75
	pxor	xmm0, xmm0
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -176[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	jmp	.L60
.L75:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC8[rip]
	movsd	QWORD PTR -264[rbp], xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	movsd	QWORD PTR -256[rbp], xmm0
	mov	BYTE PTR -277[rbp], 1
	mov	DWORD PTR -272[rbp], 1
	jmp	.L61
.L67:
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -272[rbp]
	movsd	xmm0, QWORD PTR -176[rbp]
	divsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -264[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -264[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -272[rbp]
	movsd	xmm0, QWORD PTR -264[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	mulsd	xmm0, QWORD PTR -168[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm0, QWORD PTR -248[rbp]
	movq	xmm1, QWORD PTR .LC7[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -160[rbp], xmm0
	cmp	BYTE PTR -277[rbp], 0
	je	.L62
	movsd	xmm0, QWORD PTR -256[rbp]
	movq	xmm1, QWORD PTR .LC9[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -256[rbp], xmm0
	movsd	xmm0, QWORD PTR -248[rbp]
	movsd	QWORD PTR -232[rbp], xmm0
	movsd	xmm0, QWORD PTR -240[rbp]
	movsd	QWORD PTR -248[rbp], xmm0
	jmp	.L63
.L62:
	movsd	xmm0, QWORD PTR -248[rbp]
	movsd	QWORD PTR -240[rbp], xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	movsd	QWORD PTR -248[rbp], xmm0
.L63:
	movsd	xmm0, QWORD PTR -200[rbp]
	comisd	xmm0, QWORD PTR -160[rbp]
	ja	.L77
	movzx	eax, BYTE PTR -277[rbp]
	test	eax, eax
	setne	al
	xor	eax, 1
	movzx	eax, al
	mov	BYTE PTR -277[rbp], al
	and	BYTE PTR -277[rbp], 1
	add	DWORD PTR -272[rbp], 1
.L61:
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jle	.L67
	jmp	.L66
.L77:
	nop
.L66:
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jle	.L60
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
.L60:
	mov	rax, QWORD PTR -176[rbp]
	movq	xmm0, rax
	call	log@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	addsd	xmm0, QWORD PTR -240[rbp]
	addsd	xmm0, QWORD PTR -224[rbp]
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR -232[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
.L57:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -296[rbp]
	ja	.L68
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -296[rbp]
	jp	.L45
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -296[rbp]
	jne	.L45
.L68:
	mov	rax, QWORD PTR cs[rip]
	movsd	xmm1, QWORD PTR cs[rip+8]
	movq	xmm0, rax
	call	getimag
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC9[rip]
	movq	xmm7, rax
	xorpd	xmm7, xmm0
	movsd	QWORD PTR -304[rbp], xmm7
	mov	rax, QWORD PTR cs[rip]
	movsd	xmm1, QWORD PTR cs[rip+8]
	movq	xmm0, rax
	call	getreal
	movq	rax, xmm0
	movsd	xmm1, QWORD PTR -304[rbp]
	movq	xmm0, rax
	call	constructor
	movq	rax, xmm0
	movapd	xmm0, xmm1
	mov	QWORD PTR cs[rip], rax
	movsd	QWORD PTR cs[rip+8], xmm0
.L45:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	cisi, .-cisi
	.section	.rodata
	.align 8
.LC1:
	.long	-2036257893
	.long	1023837339
	.align 8
.LC2:
	.long	1
	.long	0
	.align 8
.LC3:
	.long	-2036257894
	.long	2097579163
	.align 8
.LC4:
	.long	1413754136
	.long	1074340347
	.align 8
.LC5:
	.long	0
	.long	1073741824
	.align 8
.LC6:
	.long	0
	.long	1073217536
	.align 16
.LC7:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC8:
	.long	0
	.long	1072693248
	.align 16
.LC9:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC11:
	.long	0
	.long	1074790400
	.align 8
.LC13:
	.long	0
	.long	1071644672
	.align 8
.LC14:
	.long	-59787750
	.long	1071806604
	.align 8
.LC15:
	.long	1413754138
	.long	1073291771
	.align 8
.LC16:
	.long	4
	.long	0
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"282296.c"
	.text
	.align	2
	.global	getreal
	.syntax unified
	.arm
	.fpu softvfp
	.type	getreal, %function
getreal:
	@ 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
	sub	ip, fp, #20
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getreal, .-getreal
	.align	2
	.global	getimag
	.syntax unified
	.arm
	.fpu softvfp
	.type	getimag, %function
getimag:
	@ 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
	sub	ip, fp, #20
	stm	ip, {r0, r1, r2, r3}
	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	getimag, .-getimag
	.align	2
	.global	constructor
	.syntax unified
	.arm
	.fpu softvfp
	.type	constructor, %function
constructor:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldmib	fp, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-24]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	constructor, .-constructor
	.align	2
	.global	constructor2
	.syntax unified
	.arm
	.fpu softvfp
	.type	constructor2, %function
constructor2:
	@ 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, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-24]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	constructor2, .-constructor2
	.align	2
	.global	assign
	.syntax unified
	.arm
	.fpu softvfp
	.type	assign, %function
assign:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-24]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	assign, .-assign
	.align	2
	.global	assignObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	assignObj, %function
assignObj:
	@ args = 16, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldmib	fp, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-24]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	assignObj, .-assignObj
	.global	__aeabi_dadd
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	plus
	.syntax unified
	.arm
	.fpu softvfp
	.type	plus, %function
plus:
	@ args = 32, pretend = 8, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, .L16
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldmib	fp, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-24]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	ldr	r3, .L16
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L15
	bl	__stack_chk_fail
.L15:
	ldr	r0, [fp, #-24]
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, lr}
	add	sp, sp, #8
	bx	lr
.L17:
	.align	2
.L16:
	.word	.LC0
	.size	plus, .-plus
	.global	__aeabi_dsub
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	minus
	.syntax unified
	.arm
	.fpu softvfp
	.type	minus, %function
minus:
	@ args = 32, pretend = 8, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldmib	fp, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-24]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	ldr	r3, .L21
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L20
	bl	__stack_chk_fail
.L20:
	ldr	r0, [fp, #-24]
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, lr}
	add	sp, sp, #8
	bx	lr
.L22:
	.align	2
.L21:
	.word	.LC1
	.size	minus, .-minus
	.global	__aeabi_dmul
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	multiply
	.syntax unified
	.arm
	.fpu softvfp
	.type	multiply, %function
multiply:
	@ args = 32, pretend = 8, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, .L26
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldmib	fp, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	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
	ldr	r1, [fp, #-32]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	ldr	r3, .L26
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L25
	bl	__stack_chk_fail
.L25:
	ldr	r0, [fp, #-32]
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, lr}
	add	sp, sp, #8
	bx	lr
.L27:
	.align	2
.L26:
	.word	.LC2
	.size	multiply, .-multiply
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	divide
	.syntax unified
	.arm
	.fpu softvfp
	.type	divide, %function
divide:
	@ args = 32, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	str	r0, [fp, #-40]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, .L31
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r4, r0
	mov	r5, r1
	add	r1, fp, #28
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	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]
	ldmib	fp, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r0-r1}
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-40]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	ldr	r3, .L31
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L30
	bl	__stack_chk_fail
.L30:
	ldr	r0, [fp, #-40]
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, lr}
	add	sp, sp, #8
	bx	lr
.L32:
	.align	2
.L31:
	.word	.LC3
	.size	divide, .-divide
	.comm	cs,16,8
	.global	__aeabi_dcmplt
	.global	__aeabi_dcmple
	.global	__aeabi_i2d
	.section	.rodata
	.align	2
.LC4:
	.ascii	"cf failed in frenel\000"
	.global	__aeabi_dcmpge
	.align	2
.LC5:
	.ascii	"maxits exceeded in cisi\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	snippet
	.syntax unified
	.arm
	.fpu softvfp
	.type	snippet, %function
snippet:
	@ args = 0, pretend = 0, frame = 568
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #592
	str	r0, [fp, #-524]
	str	r1, [fp, #-520]
	ldr	r3, .L58
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #100
	str	r3, [fp, #-504]
	ldr	r2, .L58+4
	ldr	r3, .L58+8
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	ldr	r2, .L58+12
	ldr	r3, .L58+16
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	ldr	r2, .L58+20
	ldr	r3, .L58+24
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	mov	r2, #0
	mov	r3, #1073741824
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	mov	r2, #0
	ldr	r3, .L58+28
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	ldr	r4, [fp, #-524]
	ldr	r3, [fp, #-520]
	bic	r5, r3, #-2147483648
	str	r4, [fp, #-412]
	str	r5, [fp, #-408]
	ldr	r6, [fp, #-452]
	ldr	r3, [fp, #-448]
	bic	r7, r3, #-2147483648
	mov	r2, r6
	mov	r3, r7
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #524
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r4, .L58+32
	sub	r1, fp, #540
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	assign
	mov	ip, r4
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L37
.L34:
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L56
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	mov	r2, #0
	ldr	r3, .L58+36
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	mov	r3, #1
	strb	r3, [fp, #-513]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	mov	r3, #3
	str	r3, [fp, #-508]
	mov	r3, #1
	str	r3, [fp, #-512]
	b	.L40
.L43:
	ldr	r0, [fp, #-512]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-508]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	ldr	r3, [fp, #-492]
	str	r3, [fp, #-548]
	ldr	r3, [fp, #-488]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-544]
	sub	r3, fp, #548
	ldmia	r3, {r2-r3}
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	ldrb	r3, [fp, #-513]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L41
	ldr	r8, [fp, #-500]
	ldr	r3, [fp, #-496]
	eor	r9, r3, #-2147483648
	str	r8, [fp, #-500]
	str	r9, [fp, #-496]
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	b	.L42
.L41:
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
.L42:
	ldrb	r3, [fp, #-513]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	strb	r3, [fp, #-513]
	ldrb	r3, [fp, #-513]
	and	r3, r3, #1
	strb	r3, [fp, #-513]
	ldr	r3, [fp, #-508]
	add	r3, r3, #2
	str	r3, [fp, #-508]
	ldr	r3, [fp, #-512]
	add	r3, r3, #1
	str	r3, [fp, #-512]
.L40:
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-504]
	cmp	r2, r3
	ble	.L43
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-504]
	cmp	r2, r3
	ble	.L44
	ldr	r0, .L58+40
	bl	puts
.L44:
	ldr	r4, .L58+32
	sub	r1, fp, #540
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	mov	ip, r4
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L37
.L56:
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-404]
	str	r3, [fp, #-556]
	ldr	r3, [fp, #-400]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-552]
	sub	r1, fp, #372
	sub	r4, fp, #556
	ldmia	r4, {r3-r4}
	stm	sp, {r3-r4}
	mov	r2, #0
	ldr	r3, .L58+36
	mov	r0, r1
	bl	constructor
	sub	r1, fp, #356
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	assign
	sub	r1, fp, #292
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L58+36
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #324
	add	ip, sp, #8
	sub	r3, fp, #372
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #284
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #292
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	ip, fp, #340
	sub	r3, fp, #324
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mvn	r3, #0
	str	r3, [fp, #-508]
	mov	r3, #2
	str	r3, [fp, #-512]
	b	.L45
.L49:
	ldr	r3, [fp, #-508]
	add	r3, r3, #2
	str	r3, [fp, #-508]
	ldr	r3, [fp, #-508]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-508]
	add	r2, r2, #1
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	sub	r1, fp, #276
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L58+44
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #260
	add	ip, sp, #8
	sub	r3, fp, #276
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #364
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #372
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	ip, fp, #540
	mov	r2, sp
	sub	r3, fp, #252
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #260
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	assignObj
	sub	ip, fp, #372
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r1, fp, #244
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L58+36
	mov	r0, r1
	bl	constructor
	sub	r1, fp, #228
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #212
	add	ip, sp, #8
	sub	r3, fp, #228
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #332
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #340
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	lr, fp, #196
	add	ip, sp, #8
	sub	r3, fp, #372
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #204
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #212
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	lr, fp, #180
	add	ip, sp, #8
	sub	r3, fp, #196
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #236
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #244
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	ip, fp, #340
	mov	r2, sp
	sub	r3, fp, #172
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #180
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	assignObj
	sub	r1, fp, #164
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #148
	add	ip, sp, #8
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #156
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #164
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	lr, fp, #540
	add	ip, sp, #8
	sub	r3, fp, #148
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #364
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #372
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	ip, fp, #356
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	lr, fp, #308
	add	ip, sp, #8
	sub	r3, fp, #340
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #348
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #356
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	lr, fp, #540
	add	ip, sp, #8
	sub	r3, fp, #308
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #316
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #324
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	ip, fp, #324
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #308
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r2, #0
	ldr	r3, .L58+36
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-564]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-560]
	sub	r3, fp, #308
	ldm	r3, {r0, r1, r2, r3}
	bl	getimag
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-572]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-568]
	sub	r3, fp, #572
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L57
	ldr	r3, [fp, #-512]
	add	r3, r3, #1
	str	r3, [fp, #-512]
.L45:
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-504]
	cmp	r2, r3
	ble	.L49
	b	.L48
.L57:
	nop
.L48:
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-504]
	cmp	r2, r3
	ble	.L50
	ldr	r0, .L58+48
	bl	printf
.L50:
	ldr	r3, [fp, #-412]
	str	r3, [fp, #-580]
	ldr	r3, [fp, #-408]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-576]
	sub	r1, fp, #132
	sub	r4, fp, #580
	ldmia	r4, {r3-r4}
	stm	sp, {r3-r4}
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #540
	add	ip, sp, #8
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #316
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #324
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	ip, fp, #324
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r1, fp, #116
	mov	r2, #0
	ldr	r3, .L58+52
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L58+52
	mov	r0, r1
	bl	constructor
	sub	r1, fp, #100
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L58+36
	mov	r0, r1
	bl	constructor
	mov	r2, #0
	ldr	r3, .L58+52
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r4, r0
	mov	r5, r1
	mov	r2, #0
	ldr	r3, .L58+52
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #84
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #68
	add	ip, sp, #8
	sub	r3, fp, #324
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #76
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #84
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	lr, fp, #52
	add	ip, sp, #8
	sub	r3, fp, #68
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #92
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #100
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	minus
	ldr	r4, .L58+32
	sub	lr, fp, #540
	add	ip, sp, #8
	sub	r3, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	mov	ip, r4
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L37:
	ldr	r3, .L58+32
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-588]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-584]
	ldr	r3, .L58+32
	ldm	r3, {r0, r1, r2, r3}
	bl	getimag
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-596]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-592]
	ldr	r4, .L58+32
	sub	r1, fp, #540
	sub	r3, fp, #596
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #588
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	mov	ip, r4
	sub	r3, fp, #540
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	nop
	ldr	r3, .L58
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L52
	bl	__stack_chk_fail
.L52:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L59:
	.align	2
.L58:
	.word	.LC6
	.word	-2036257893
	.word	1023837339
	.word	-2036257894
	.word	2097579163
	.word	1413754136
	.word	1074340347
	.word	1073217536
	.word	cs
	.word	1072693248
	.word	.LC4
	.word	1074790400
	.word	.LC5
	.word	1071644672
	.size	snippet, .-snippet
	.global	__aeabi_dcmpeq
	.global	__aeabi_dcmpgt
	.section	.rodata
	.align	2
.LC7:
	.ascii	"cf failed in cisi\000"
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	cisi
	.syntax unified
	.arm
	.fpu softvfp
	.type	cisi, %function
cisi:
	@ args = 0, pretend = 0, frame = 376
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #400
	str	r0, [fp, #-340]
	str	r1, [fp, #-336]
	ldr	r3, .L95
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #100
	str	r3, [fp, #-320]
	ldr	r2, .L95+4
	ldr	r3, .L95+8
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	ldr	r2, .L95+12
	ldr	r3, .L95+16
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	mov	r2, #0
	mov	r3, #1073741824
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	ldr	r2, .L95+20
	ldr	r3, .L95+24
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	mov	r2, #4
	mov	r3, #0
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	ldr	r2, .L95+28
	ldr	r3, .L95+32
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	ldr	r4, [fp, #-340]
	ldr	r3, [fp, #-336]
	bic	r5, r3, #-2147483648
	str	r4, [fp, #-228]
	str	r5, [fp, #-224]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	ldr	r6, [fp, #-236]
	ldr	r3, [fp, #-232]
	eor	r7, r3, #-2147483648
	ldr	r4, .L95+36
	sub	r1, fp, #356
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	mov	r0, r1
	bl	constructor
	mov	ip, r4
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L60
.L90:
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L91
	sub	r1, fp, #180
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L95+40
	mov	r0, r1
	bl	constructor
	sub	r1, fp, #164
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	r1, fp, #116
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L95+40
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #196
	add	ip, sp, #8
	sub	r3, fp, #180
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	ip, fp, #148
	sub	r3, fp, #196
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #1
	str	r3, [fp, #-328]
	b	.L66
.L70:
	ldr	r3, [fp, #-328]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-328]
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r1, fp, #356
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	mov	r3, #1073741824
	mov	r0, r1
	bl	constructor
	sub	ip, fp, #116
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	lr, fp, #356
	add	ip, sp, #8
	sub	r3, fp, #180
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	ip, fp, #180
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r1, fp, #356
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, #0
	ldr	r3, .L95+40
	mov	r0, r1
	bl	constructor
	sub	ip, fp, #116
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r1, fp, #100
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	lr, fp, #52
	add	ip, sp, #8
	sub	r3, fp, #148
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #92
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #100
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	lr, fp, #84
	add	ip, sp, #8
	sub	r3, fp, #180
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #44
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #52
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	lr, fp, #148
	add	ip, sp, #8
	sub	r3, fp, #84
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	lr, fp, #68
	add	ip, sp, #8
	sub	r3, fp, #164
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #92
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #100
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	divide
	sub	lr, fp, #356
	add	ip, sp, #8
	sub	r3, fp, #68
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #172
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #180
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	sub	ip, fp, #164
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	lr, fp, #132
	add	ip, sp, #8
	sub	r3, fp, #148
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #156
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #164
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	lr, fp, #356
	add	ip, sp, #8
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #188
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #196
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	ip, fp, #196
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r2, #0
	ldr	r3, .L95+40
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-364]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-360]
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-372]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-368]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L93
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L66:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-320]
	cmp	r2, r3
	blt	.L70
	b	.L69
.L93:
	nop
.L69:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-320]
	cmp	r2, r3
	blt	.L71
	ldr	r0, .L95+44
	bl	puts
.L71:
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	cos
	mov	r4, r0
	mov	r5, r1
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	sin
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-380]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-376]
	sub	r1, fp, #356
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	sub	ip, fp, #116
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	lr, fp, #356
	add	ip, sp, #8
	sub	r3, fp, #196
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	multiply
	sub	ip, fp, #196
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #196
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-388]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-384]
	sub	r3, fp, #196
	ldm	r3, {r0, r1, r2, r3}
	bl	getimag
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #356
	stm	sp, {r2-r3}
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	constructor
	sub	ip, fp, #116
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r1, fp, #52
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, #0
	mov	r3, #0
	mov	r0, r1
	bl	constructor
	ldr	r4, .L95+36
	sub	lr, fp, #356
	add	ip, sp, #8
	sub	r3, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, sp
	sub	r3, fp, #108
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #116
	ldm	r3, {r2, r3}
	mov	r0, lr
	bl	plus
	mov	ip, r4
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L72
.L91:
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L92
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	b	.L75
.L92:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	mov	r2, #0
	ldr	r3, .L95+40
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	mov	r3, #1
	strb	r3, [fp, #-329]
	mov	r3, #1
	str	r3, [fp, #-324]
	b	.L76
.L82:
	ldr	r0, [fp, #-324]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	ldr	r0, [fp, #-324]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-300]
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-296]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-392]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	ldrb	r3, [fp, #-329]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L77
	ldr	r8, [fp, #-308]
	ldr	r3, [fp, #-304]
	eor	r9, r3, #-2147483648
	str	r8, [fp, #-308]
	str	r9, [fp, #-304]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	b	.L78
.L77:
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
.L78:
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L94
	ldrb	r3, [fp, #-329]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	strb	r3, [fp, #-329]
	ldrb	r3, [fp, #-329]
	and	r3, r3, #1
	strb	r3, [fp, #-329]
	ldr	r3, [fp, #-324]
	add	r3, r3, #1
	str	r3, [fp, #-324]
.L76:
	ldr	r2, [fp, #-324]
	ldr	r3, [fp, #-320]
	cmp	r2, r3
	ble	.L82
	b	.L81
.L94:
	nop
.L81:
	ldr	r2, [fp, #-324]
	ldr	r3, [fp, #-320]
	cmp	r2, r3
	ble	.L75
	ldr	r0, .L95+48
	bl	printf
.L75:
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	log
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r6, .L95+36
	sub	r1, fp, #356
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	mov	ip, r6
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L72:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L83
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L60
.L83:
	ldr	r3, .L95+36
	ldm	r3, {r0, r1, r2, r3}
	bl	getreal
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L95+36
	ldm	r3, {r0, r1, r2, r3}
	bl	getimag
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-404]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-400]
	ldr	r6, .L95+36
	sub	r1, fp, #356
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, r1
	bl	constructor
	mov	ip, r6
	sub	r3, fp, #356
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L60:
	ldr	r3, .L95
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L86
	bl	__stack_chk_fail
.L86:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L96:
	.align	2
.L95:
	.word	.LC8
	.word	-59787750
	.word	1071806604
	.word	1413754138
	.word	1073291771
	.word	-2036257893
	.word	1023837339
	.word	-2036257894
	.word	2097579163
	.word	cs
	.word	1072693248
	.word	.LC7
	.word	.LC5
	.size	cisi, .-cisi
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
