	.file	"271028.c"
	.intel_syntax noprefix
	.text
	.type	evaluate_quadratic_function, @function
evaluate_quadratic_function:
.LFB6:
	.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	QWORD PTR -56[rbp], xmm2
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	evaluate_quadratic_function, .-evaluate_quadratic_function
	.type	evaluate_cubic_function, @function
evaluate_cubic_function:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	evaluate_cubic_function, .-evaluate_cubic_function
	.type	evaluate_quartic_function, @function
evaluate_quartic_function:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	movsd	QWORD PTR -88[rbp], xmm4
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	evaluate_quartic_function, .-evaluate_quartic_function
	.type	evaluate_derivative_function_of_quadratic_function, @function
evaluate_derivative_function_of_quadratic_function:
.LFB9:
	.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 -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	movsd	xmm0, QWORD PTR -16[rbp]
	addsd	xmm0, xmm0
	addsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	evaluate_derivative_function_of_quadratic_function, .-evaluate_derivative_function_of_quadratic_function
	.type	evaluate_derivative_function_of_cubic_function, @function
evaluate_derivative_function_of_cubic_function:
.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 -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	movsd	QWORD PTR -56[rbp], xmm2
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	mulsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	evaluate_derivative_function_of_cubic_function, .-evaluate_derivative_function_of_cubic_function
	.type	evaluate_derivative_function_of_quartic_function, @function
evaluate_derivative_function_of_quartic_function:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	QWORD PTR -80[rbp], xmm3
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm1, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR .LC2[rip]
	mulsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	mulsd	xmm0, xmm1
	mulsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	addsd	xmm0, xmm0
	mulsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	evaluate_derivative_function_of_quartic_function, .-evaluate_derivative_function_of_quartic_function
	.type	refine_cubic_equation_solution, @function
refine_cubic_equation_solution:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	mov	QWORD PTR -80[rbp], rdi
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -40[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	mulsd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR .LC4[rip]
	ja	.L16
	jmp	.L17
.L16:
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	xmm1, QWORD PTR -40[rbp]
	divsd	xmm1, QWORD PTR -32[rbp]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -80[rbp]
	movsd	QWORD PTR [rax], xmm0
.L17:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	refine_cubic_equation_solution, .-refine_cubic_equation_solution
	.type	compute_real_solution_of_quadratic_equation, @function
compute_real_solution_of_quadratic_equation:
.LFB13:
	.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 -40[rbp], xmm0
	movsd	QWORD PTR -48[rbp], xmm1
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	movsd	QWORD PTR -72[rbp], xmm2
	movsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -72[rbp]
	jbe	.L30
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], 2
	mov	rax, QWORD PTR -24[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -40[rbp]
	movmskpd	eax, xmm0
	and	eax, 1
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L21
	movsd	xmm0, QWORD PTR .LC6[rip]
	jmp	.L22
.L21:
	movsd	xmm0, QWORD PTR .LC7[rip]
.L22:
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -8[rbp]
	mulsd	xmm1, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	subsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], 0
	jne	.L23
	mov	edx, 8
	jmp	.L24
.L23:
	mov	edx, 0
.L24:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -48[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	jmp	.L32
.L30:
	movsd	xmm0, QWORD PTR -72[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, xmm1
	jbe	.L31
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], 1
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR -56[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L32
.L31:
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], 0
.L32:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	compute_real_solution_of_quadratic_equation, .-compute_real_solution_of_quadratic_equation
	.section	.rodata
.LC10:
	.string	"the_stack_data/271028.c"
.LC11:
	.string	"p > 0.0"
	.text
	.type	compute_one_of_real_non_negative_solution_of_cubic_equation, @function
compute_one_of_real_non_negative_solution_of_cubic_equation:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	QWORD PTR -96[rbp], xmm1
	movsd	QWORD PTR -104[rbp], xmm2
	movsd	QWORD PTR -112[rbp], xmm3
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm0, xmm0
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -72[rbp]
	subsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -64[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L53
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L36
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 218
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L36:
	mov	rax, QWORD PTR -64[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	addsd	xmm0, xmm0
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movapd	xmm5, xmm0
	divsd	xmm5, QWORD PTR -48[rbp]
	movq	rax, xmm5
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm6, rax
	mulsd	xmm6, QWORD PTR -56[rbp]
	movq	rax, xmm6
	movq	xmm0, rax
	call	acos@PLT
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	movq	xmm7, rax
	divsd	xmm7, xmm0
	movq	rax, xmm7
	movq	xmm0, rax
	call	cos@PLT
	mulsd	xmm0, QWORD PTR -136[rbp]
	subsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	jmp	.L37
.L53:
	movsd	xmm0, QWORD PTR -112[rbp]
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L54
	mov	rax, QWORD PTR .LC0[rip]
	jmp	.L40
.L54:
	mov	rax, QWORD PTR -40[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
.L40:
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -56[rbp]
	movmskpd	eax, xmm0
	and	eax, 1
	test	eax, eax
	jne	.L41
	movsd	xmm0, QWORD PTR -56[rbp]
	addsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	cbrt@PLT
	movq	rax, xmm0
	jmp	.L42
.L41:
	movsd	xmm0, QWORD PTR -56[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	call	cbrt@PLT
	movq	rax, xmm0
.L42:
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -112[rbp]
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L55
	movsd	xmm0, QWORD PTR -24[rbp]
	jmp	.L45
.L55:
	movsd	xmm0, QWORD PTR -64[rbp]
	divsd	xmm0, QWORD PTR -24[rbp]
.L45:
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movmskpd	eax, xmm0
	and	eax, 1
	test	eax, eax
	je	.L37
	movsd	xmm0, QWORD PTR -112[rbp]
	comisd	xmm0, QWORD PTR -40[rbp]
	jbe	.L37
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC12[rip]
	mulsd	xmm0, xmm1
	subsd	xmm0, QWORD PTR -88[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
.L37:
	movsd	xmm0, QWORD PTR -80[rbp]
	movmskpd	eax, xmm0
	and	eax, 1
	test	eax, eax
	je	.L47
	mov	rax, QWORD PTR -128[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L56
.L47:
	mov	rax, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -128[rbp]
	mov	BYTE PTR [rax], 1
.L56:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	compute_one_of_real_non_negative_solution_of_cubic_equation, .-compute_one_of_real_non_negative_solution_of_cubic_equation
	.type	compute_real_solution_of_quartic_equation, @function
compute_real_solution_of_quartic_equation:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 272
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	QWORD PTR -208[rbp], xmm1
	movsd	QWORD PTR -216[rbp], xmm2
	movsd	QWORD PTR -224[rbp], xmm3
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	movsd	QWORD PTR -248[rbp], xmm4
	movsd	QWORD PTR -256[rbp], xmm5
	movsd	QWORD PTR -264[rbp], xmm6
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm1, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -200[rbp], xmm0
	movsd	xmm0, QWORD PTR -200[rbp]
	mulsd	xmm0, xmm0
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm1, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR .LC14[rip]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm0
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR .LC15[rip]
	mulsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -200[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm0, QWORD PTR -216[rbp]
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -224[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR -208[rbp]
	mulsd	xmm0, QWORD PTR -136[rbp]
	addsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR .LC1[rip]
	mulsd	xmm1, xmm2
	mulsd	xmm1, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -256[rbp]
	comisd	xmm0, xmm1
	jbe	.L88
	mov	QWORD PTR -168[rbp], 0
	movsd	xmm1, QWORD PTR -248[rbp]
	lea	rcx, -168[rbp]
	lea	rdx, -32[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -128[rbp]
	movapd	xmm2, xmm1
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_real_solution_of_quadratic_equation
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -168[rbp]
	test	rax, rax
	je	.L68
	mov	BYTE PTR -185[rbp], 0
	movsd	xmm0, QWORD PTR -32[rbp]
	comisd	xmm0, QWORD PTR -264[rbp]
	jbe	.L89
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L63
.L89:
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	movq	xmm2, QWORD PTR .LC8[rip]
	xorpd	xmm1, xmm2
	comisd	xmm0, xmm1
	jbe	.L63
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	mov	BYTE PTR -185[rbp], 1
.L63:
	mov	rax, QWORD PTR -168[rbp]
	cmp	rax, 2
	jne	.L68
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -264[rbp]
	jbe	.L90
	mov	rax, QWORD PTR -24[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L68
.L90:
	cmp	BYTE PTR -185[rbp], 0
	jne	.L68
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -264[rbp]
	movq	xmm2, QWORD PTR .LC8[rip]
	xorpd	xmm1, xmm2
	comisd	xmm0, xmm1
	jbe	.L68
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	jmp	.L68
.L88:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -184[rbp], xmm0
	mov	BYTE PTR -186[rbp], 0
	movsd	xmm0, QWORD PTR -128[rbp]
	addsd	xmm0, xmm0
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -128[rbp]
	mulsd	xmm0, xmm0
	movsd	xmm2, QWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR .LC2[rip]
	mulsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -120[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	lea	rcx, -186[rbp]
	lea	rdx, -184[rbp]
	movsd	xmm2, QWORD PTR -248[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_one_of_real_non_negative_solution_of_cubic_equation
	movzx	eax, BYTE PTR -186[rbp]
	test	al, al
	jne	.L69
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rax], 0
	jmp	.L57
.L69:
	lea	rdx, -184[rbp]
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rdx
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	refine_cubic_equation_solution
	mov	rax, QWORD PTR -184[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	QWORD PTR -80[rbp], rax
	movsd	xmm0, QWORD PTR -184[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -184[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -64[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	mov	QWORD PTR -176[rbp], 0
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	lea	rcx, -176[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movapd	xmm2, xmm1
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_real_solution_of_quadratic_equation
	mov	QWORD PTR -168[rbp], 0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm3, xmm0
	addsd	xmm3, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	movq	xmm1, QWORD PTR .LC8[rip]
	xorpd	xmm0, xmm1
	movq	rax, xmm0
	movsd	xmm0, QWORD PTR -248[rbp]
	lea	rcx, -168[rbp]
	lea	rdx, -32[rbp]
	movapd	xmm2, xmm0
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm1, xmm3
	movq	xmm0, rax
	call	compute_real_solution_of_quadratic_equation
	mov	WORD PTR -10[rbp], 0
	mov	QWORD PTR -160[rbp], 0
	jmp	.L71
.L76:
	mov	QWORD PTR -152[rbp], 0
	jmp	.L72
.L75:
	mov	rax, QWORD PTR -160[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -32[rbp+rax*8]
	subsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -264[rbp]
	comisd	xmm0, xmm1
	jbe	.L73
	lea	rdx, -10[rbp]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
.L73:
	add	QWORD PTR -152[rbp], 1
.L72:
	mov	rax, QWORD PTR -168[rbp]
	cmp	QWORD PTR -152[rbp], rax
	jb	.L75
	add	QWORD PTR -160[rbp], 1
.L71:
	mov	rax, QWORD PTR -176[rbp]
	cmp	QWORD PTR -160[rbp], rax
	jb	.L76
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	test	rax, rax
	je	.L77
	movzx	eax, BYTE PTR -10[rbp]
	test	al, al
	jne	.L77
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
.L77:
	mov	rax, QWORD PTR -168[rbp]
	cmp	rax, 2
	jne	.L68
	movzx	eax, BYTE PTR -9[rbp]
	test	al, al
	jne	.L68
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rdx], rcx
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
.L68:
	mov	QWORD PTR -144[rbp], 0
	jmp	.L79
.L80:
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	subsd	xmm0, QWORD PTR -200[rbp]
	movsd	QWORD PTR [rax], xmm0
	add	QWORD PTR -144[rbp], 1
.L79:
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -144[rbp], rax
	jb	.L80
.L57:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L81
	call	__stack_chk_fail@PLT
.L81:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	compute_real_solution_of_quartic_equation, .-compute_real_solution_of_quartic_equation
	.section	.rodata
	.align 8
.LC19:
	.string	"error %.15e, when x_%lu is %.15f\n"
	.align 8
.LC20:
	.string	"x^4 + %f x^3 + %f x^2 + %f x + %f\n"
.LC21:
	.string	"num solution %lu\n"
.LC22:
	.string	"x_%lu = %f\n"
.LC23:
	.string	"q = %e\n"
	.text
	.type	test, @function
test:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	QWORD PTR -112[rbp], xmm1
	movsd	QWORD PTR -120[rbp], xmm2
	movsd	QWORD PTR -128[rbp], xmm3
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -96[rbp], 0
	movsd	xmm5, QWORD PTR .LC16[rip]
	movsd	xmm4, QWORD PTR .LC16[rip]
	movsd	xmm3, QWORD PTR .LC16[rip]
	lea	rcx, -96[rbp]
	lea	rdx, -48[rbp]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm6, xmm5
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_real_solution_of_quartic_equation
	mov	rax, QWORD PTR -96[rbp]
	test	rax, rax
	je	.L92
	mov	rax, QWORD PTR -96[rbp]
	cmp	rax, 2
	je	.L92
	mov	rax, QWORD PTR -96[rbp]
	cmp	rax, 4
	je	.L92
	mov	eax, 0
	jmp	.L100
.L92:
	movsd	xmm1, QWORD PTR -104[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm0, xmm0
	movapd	xmm2, xmm0
	mulsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm2, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC15[rip]
	mulsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -72[rbp]
	mulsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC17[rip]
	movsd	QWORD PTR -56[rbp], xmm0
	mov	QWORD PTR -88[rbp], 0
	jmp	.L94
.L99:
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -48[rbp+rax*8]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC18[rip]
	ucomisd	xmm0, xmm1
	setb	al
	xor	eax, 1
	test	al, al
	je	.L95
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm3, QWORD PTR -48[rbp+rax*8]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	evaluate_quartic_function
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC3[rip]
	movq	xmm7, rax
	andpd	xmm7, xmm0
	movapd	xmm0, xmm7
	comisd	xmm0, QWORD PTR -56[rbp]
	jbe	.L95
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm5, QWORD PTR -48[rbp+rax*8]
	movsd	QWORD PTR -136[rbp], xmm5
	mov	rax, QWORD PTR -88[rbp]
	movsd	xmm3, QWORD PTR -48[rbp+rax*8]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	evaluate_quartic_function
	movq	rax, xmm0
	movq	xmm0, QWORD PTR .LC3[rip]
	movq	xmm6, rax
	andpd	xmm6, xmm0
	movq	rax, xmm6
	mov	rdx, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	mov	rsi, rdx
	movq	xmm0, rax
	lea	rdi, .LC19[rip]
	mov	eax, 2
	call	printf@PLT
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC20[rip]
	mov	eax, 4
	call	printf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	QWORD PTR -80[rbp], 0
	jmp	.L97
.L98:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -48[rbp+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rdx
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 1
	call	printf@PLT
	add	QWORD PTR -80[rbp], 1
.L97:
	mov	rax, QWORD PTR -96[rbp]
	cmp	QWORD PTR -80[rbp], rax
	jb	.L98
	mov	rax, QWORD PTR -64[rbp]
	movq	xmm0, rax
	lea	rdi, .LC23[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, 0
	jmp	.L100
.L95:
	add	QWORD PTR -88[rbp], 1
.L94:
	mov	rax, QWORD PTR -96[rbp]
	cmp	QWORD PTR -88[rbp], rax
	jb	.L99
	mov	eax, 1
.L100:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L101
	call	__stack_chk_fail@PLT
.L101:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	test, .-test
	.type	compare_double, @function
compare_double:
.LFB17:
	.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	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC24[rip]
	comisd	xmm0, xmm1
	jbe	.L111
	mov	eax, -1
	jmp	.L106
.L111:
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR .LC25[rip]
	jbe	.L112
	mov	eax, 1
	jmp	.L106
.L112:
	mov	eax, 0
.L106:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	compare_double, .-compare_double
	.section	.rodata
.LC26:
	.string	"number of soluton: %lu\n"
.LC27:
	.string	"x_%lu = %f, f(x) = %.15e\n"
	.align 8
.LC28:
	.string	"the number of solutions is wrong. (%lu (result) vs %lu (gt)\n"
	.align 8
.LC29:
	.string	"the solution is wrong. (%.15f (result) vs %.15f (gt))\n"
	.text
	.type	test_and_output, @function
test_and_output:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	QWORD PTR -112[rbp], xmm1
	movsd	QWORD PTR -120[rbp], xmm2
	movsd	QWORD PTR -128[rbp], xmm3
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -88[rbp], 0
	movsd	xmm5, QWORD PTR .LC16[rip]
	movsd	xmm4, QWORD PTR .LC16[rip]
	movsd	xmm3, QWORD PTR .LC16[rip]
	lea	rcx, -88[rbp]
	lea	rdx, -48[rbp]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm6, xmm5
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_real_solution_of_quartic_equation
	mov	rsi, QWORD PTR -88[rbp]
	lea	rax, -48[rbp]
	lea	rcx, compare_double[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	QWORD PTR -80[rbp], 0
	jmp	.L114
.L115:
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm3, QWORD PTR -48[rbp+rax*8]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	evaluate_quartic_function
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp+rax*8]
	mov	rdx, QWORD PTR -80[rbp]
	add	rdx, 1
	movsd	xmm0, QWORD PTR -56[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	mov	rsi, rdx
	lea	rdi, .LC27[rip]
	mov	eax, 2
	call	printf@PLT
	add	QWORD PTR -80[rbp], 1
.L114:
	mov	rax, QWORD PTR -88[rbp]
	cmp	QWORD PTR -80[rbp], rax
	jb	.L115
	mov	rax, QWORD PTR -88[rbp]
	cmp	QWORD PTR -136[rbp], rax
	je	.L116
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L122
.L116:
	mov	rsi, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -144[rbp]
	lea	rcx, compare_double[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	movsd	xmm0, QWORD PTR .LC25[rip]
	movsd	QWORD PTR -64[rbp], xmm0
	mov	QWORD PTR -72[rbp], 0
	jmp	.L118
.L121:
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR -48[rbp+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	subsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR -64[rbp]
	jbe	.L125
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -48[rbp+rax*8]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC29[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, 0
	jmp	.L122
.L125:
	add	QWORD PTR -72[rbp], 1
.L118:
	mov	rax, QWORD PTR -88[rbp]
	cmp	QWORD PTR -72[rbp], rax
	jb	.L121
	mov	edi, 10
	call	putchar@PLT
	mov	eax, 1
.L122:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L123
	call	__stack_chk_fail@PLT
.L123:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	test_and_output, .-test_and_output
	.type	benchmark, @function
benchmark:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	QWORD PTR -112[rbp], xmm1
	movsd	QWORD PTR -120[rbp], xmm2
	movsd	QWORD PTR -128[rbp], xmm3
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -88[rbp], 0
	lea	rax, -80[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	timespec_get@PLT
	movsd	xmm5, QWORD PTR .LC16[rip]
	movsd	xmm4, QWORD PTR .LC16[rip]
	movsd	xmm3, QWORD PTR .LC16[rip]
	lea	rcx, -88[rbp]
	lea	rdx, -48[rbp]
	movsd	xmm2, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movapd	xmm6, xmm5
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	compute_real_solution_of_quartic_equation
	lea	rax, -64[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	timespec_get@PLT
	mov	rax, QWORD PTR -64[rbp]
	imul	rdx, rax, 1000000000
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	imul	rax, rax, 1000000000
	sub	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, rax
	mov	rax, rdx
	sub	rax, rcx
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L128
	call	__stack_chk_fail@PLT
.L128:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	benchmark, .-benchmark
	.type	xor128, @function
xor128:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR x.3[rip]
	sal	rax, 11
	mov	rdx, rax
	mov	rax, QWORD PTR x.3[rip]
	xor	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR y.2[rip]
	mov	QWORD PTR x.3[rip], rax
	mov	rax, QWORD PTR z.1[rip]
	mov	QWORD PTR y.2[rip], rax
	mov	rax, QWORD PTR w.0[rip]
	mov	QWORD PTR z.1[rip], rax
	mov	rax, QWORD PTR w.0[rip]
	shr	rax, 19
	mov	rdx, rax
	mov	rax, QWORD PTR w.0[rip]
	xor	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 8
	xor	rax, QWORD PTR -8[rbp]
	xor	rax, rdx
	mov	QWORD PTR w.0[rip], rax
	mov	rax, QWORD PTR w.0[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	xor128, .-xor128
	.section	.rodata
.LC32:
	.string	"Test failed"
.LC33:
	.string	"Pass Test"
.LC34:
	.string	"bench %f ns\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 624
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -592[rbp], 10000000
	mov	QWORD PTR -584[rbp], 10000000
	mov	QWORD PTR -616[rbp], 0
	jmp	.L132
.L143:
	call	xor128
	test	rax, rax
	js	.L133
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L134
.L133:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L134:
	movsd	xmm1, QWORD PTR .LC30[rip]
	divsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC5[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L135
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L136
.L135:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L136:
	movsd	xmm1, QWORD PTR .LC30[rip]
	divsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC5[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L137
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L138
.L137:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L138:
	movsd	xmm1, QWORD PTR .LC30[rip]
	divsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC5[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L139
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L140
.L139:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L140:
	movsd	xmm1, QWORD PTR .LC30[rip]
	divsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR .LC5[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm2, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test
	xor	eax, 1
	test	al, al
	je	.L141
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L142
.L141:
	add	QWORD PTR -616[rbp], 1
.L132:
	mov	rax, QWORD PTR -616[rbp]
	cmp	rax, QWORD PTR -592[rbp]
	jb	.L143
	lea	rdi, .LC33[rip]
	call	puts@PLT
	mov	QWORD PTR -608[rbp], 0
	mov	QWORD PTR -600[rbp], 0
	jmp	.L144
.L153:
	call	xor128
	test	rax, rax
	js	.L145
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L146
.L145:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L146:
	movsd	xmm2, QWORD PTR .LC30[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -112[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L147
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L148
.L147:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L148:
	movsd	xmm2, QWORD PTR .LC30[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L149
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L150
.L149:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L150:
	movsd	xmm2, QWORD PTR .LC30[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	call	xor128
	test	rax, rax
	js	.L151
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L152
.L151:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L152:
	movsd	xmm2, QWORD PTR .LC30[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC31[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm2, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	benchmark
	add	QWORD PTR -608[rbp], rax
	add	QWORD PTR -600[rbp], 1
.L144:
	mov	rax, QWORD PTR -600[rbp]
	cmp	rax, QWORD PTR -584[rbp]
	jb	.L153
	mov	rax, QWORD PTR -608[rbp]
	test	rax, rax
	js	.L154
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L155
.L154:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L155:
	mov	rax, QWORD PTR -584[rbp]
	test	rax, rax
	js	.L156
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L157
.L156:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L157:
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC34[rip]
	mov	eax, 1
	call	printf@PLT
	pxor	xmm0, xmm0
	movsd	QWORD PTR -576[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC35[rip]
	movsd	QWORD PTR -568[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -560[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -552[rbp], xmm0
	mov	QWORD PTR -544[rbp], 4
	movsd	xmm0, QWORD PTR .LC36[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC37[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -544[rbp]
	movsd	xmm2, QWORD PTR -552[rbp]
	movsd	xmm1, QWORD PTR -560[rbp]
	movsd	xmm0, QWORD PTR -568[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L158
	mov	eax, 1
	jmp	.L142
.L158:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -536[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -528[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -520[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC38[rip]
	movsd	QWORD PTR -512[rbp], xmm0
	mov	QWORD PTR -504[rbp], 2
	movsd	xmm0, QWORD PTR .LC39[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC40[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -504[rbp]
	movsd	xmm2, QWORD PTR -512[rbp]
	movsd	xmm1, QWORD PTR -520[rbp]
	movsd	xmm0, QWORD PTR -528[rbp]
	mov	rax, QWORD PTR -536[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L159
	mov	eax, 1
	jmp	.L142
.L159:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -496[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -488[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -480[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC38[rip]
	movsd	QWORD PTR -472[rbp], xmm0
	mov	QWORD PTR -464[rbp], 2
	movsd	xmm0, QWORD PTR .LC41[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC42[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -464[rbp]
	movsd	xmm2, QWORD PTR -472[rbp]
	movsd	xmm1, QWORD PTR -480[rbp]
	movsd	xmm0, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR -496[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L160
	mov	eax, 1
	jmp	.L142
.L160:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -456[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC43[rip]
	movsd	QWORD PTR -448[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -440[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -432[rbp], xmm0
	movsd	xmm2, QWORD PTR -432[rbp]
	movsd	xmm1, QWORD PTR -440[rbp]
	movsd	xmm0, QWORD PTR -448[rbp]
	mov	rax, QWORD PTR -456[rbp]
	mov	esi, 0
	mov	edi, 0
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L161
	mov	eax, 1
	jmp	.L142
.L161:
	movsd	xmm0, QWORD PTR .LC44[rip]
	movsd	QWORD PTR -424[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC45[rip]
	movsd	QWORD PTR -416[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC46[rip]
	movsd	QWORD PTR -408[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC47[rip]
	movsd	QWORD PTR -400[rbp], xmm0
	mov	QWORD PTR -392[rbp], 4
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC37[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	movsd	xmm2, QWORD PTR -400[rbp]
	movsd	xmm1, QWORD PTR -408[rbp]
	movsd	xmm0, QWORD PTR -416[rbp]
	mov	rax, QWORD PTR -424[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L162
	mov	eax, 1
	jmp	.L142
.L162:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -384[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC48[rip]
	movsd	QWORD PTR -376[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC44[rip]
	movsd	QWORD PTR -368[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC47[rip]
	movsd	QWORD PTR -360[rbp], xmm0
	mov	QWORD PTR -352[rbp], 4
	movsd	xmm0, QWORD PTR .LC49[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC36[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC2[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -352[rbp]
	movsd	xmm2, QWORD PTR -360[rbp]
	movsd	xmm1, QWORD PTR -368[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR -384[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L163
	mov	eax, 1
	jmp	.L142
.L163:
	movsd	xmm0, QWORD PTR .LC50[rip]
	movsd	QWORD PTR -344[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC51[rip]
	movsd	QWORD PTR -336[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC49[rip]
	movsd	QWORD PTR -328[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC52[rip]
	movsd	QWORD PTR -320[rbp], xmm0
	mov	QWORD PTR -312[rbp], 3
	movsd	xmm0, QWORD PTR .LC49[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC36[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -312[rbp]
	movsd	xmm2, QWORD PTR -320[rbp]
	movsd	xmm1, QWORD PTR -328[rbp]
	movsd	xmm0, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L164
	mov	eax, 1
	jmp	.L142
.L164:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -304[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC38[rip]
	movsd	QWORD PTR -296[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC53[rip]
	movsd	QWORD PTR -288[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC49[rip]
	movsd	QWORD PTR -280[rbp], xmm0
	mov	QWORD PTR -272[rbp], 2
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -272[rbp]
	movsd	xmm2, QWORD PTR -280[rbp]
	movsd	xmm1, QWORD PTR -288[rbp]
	movsd	xmm0, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -304[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L165
	mov	eax, 1
	jmp	.L142
.L165:
	movsd	xmm0, QWORD PTR .LC54[rip]
	movsd	QWORD PTR -264[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC36[rip]
	movsd	QWORD PTR -256[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC55[rip]
	movsd	QWORD PTR -248[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC56[rip]
	movsd	QWORD PTR -240[rbp], xmm0
	mov	QWORD PTR -232[rbp], 2
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC1[rip]
	movsd	QWORD PTR -40[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	movsd	xmm2, QWORD PTR -240[rbp]
	movsd	xmm1, QWORD PTR -248[rbp]
	movsd	xmm0, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L166
	mov	eax, 1
	jmp	.L142
.L166:
	movsd	xmm0, QWORD PTR .LC57[rip]
	movsd	QWORD PTR -224[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC58[rip]
	movsd	QWORD PTR -216[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC59[rip]
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC60[rip]
	movsd	QWORD PTR -200[rbp], xmm0
	mov	QWORD PTR -192[rbp], 1
	movsd	xmm0, QWORD PTR .LC43[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	movsd	xmm2, QWORD PTR -200[rbp]
	movsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -224[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L167
	mov	eax, 1
	jmp	.L142
.L167:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC61[rip]
	movsd	QWORD PTR -176[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC54[rip]
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC62[rip]
	movsd	QWORD PTR -160[rbp], xmm0
	mov	QWORD PTR -152[rbp], 1
	movsd	xmm0, QWORD PTR .LC37[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	movsd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	movsd	xmm0, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L168
	mov	eax, 1
	jmp	.L142
.L168:
	movsd	xmm0, QWORD PTR .LC37[rip]
	movsd	QWORD PTR -144[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC50[rip]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC63[rip]
	movsd	QWORD PTR -128[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC64[rip]
	movsd	QWORD PTR -120[rbp], xmm0
	movsd	xmm2, QWORD PTR -120[rbp]
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, 0
	mov	edi, 0
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	test_and_output
	xor	eax, 1
	test	al, al
	je	.L169
	mov	eax, 1
	jmp	.L142
.L169:
	mov	eax, 0
.L142:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L170
	call	__stack_chk_fail@PLT
.L170:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	main, .-main
	.section	.rodata
	.align 32
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 60
__PRETTY_FUNCTION__.4:
	.string	"compute_one_of_real_non_negative_solution_of_cubic_equation"
	.data
	.align 8
	.type	x.3, @object
	.size	x.3, 8
x.3:
	.quad	123456789
	.align 8
	.type	y.2, @object
	.size	y.2, 8
y.2:
	.quad	362436069
	.align 8
	.type	z.1, @object
	.size	z.1, 8
z.1:
	.quad	521288629
	.align 8
	.type	w.0, @object
	.size	w.0, 8
w.0:
	.quad	88675123
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	0
	.align 8
.LC1:
	.long	0
	.long	1074266112
	.align 8
.LC2:
	.long	0
	.long	1074790400
	.align 16
.LC3:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC4:
	.long	0
	.long	1018167296
	.align 8
.LC5:
	.long	0
	.long	1071644672
	.align 8
.LC6:
	.long	0
	.long	-1074790400
	.align 8
.LC7:
	.long	0
	.long	1072693248
	.align 16
.LC8:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC9:
	.long	1431655765
	.long	1070945621
	.align 8
.LC12:
	.long	0
	.long	-1075838976
	.align 8
.LC13:
	.long	0
	.long	1070596096
	.align 8
.LC14:
	.long	0
	.long	1075314688
	.align 8
.LC15:
	.long	0
	.long	1075838976
	.align 8
.LC16:
	.long	-2036257893
	.long	1023837339
	.align 8
.LC17:
	.long	-2127697391
	.long	1030854553
	.align 8
.LC18:
	.long	-1
	.long	2146435071
	.align 8
.LC24:
	.long	640942080
	.long	-1022596107
	.align 8
.LC25:
	.long	-1629006314
	.long	1020396463
	.align 8
.LC30:
	.long	0
	.long	1139802112
	.align 8
.LC31:
	.long	0
	.long	1076101120
	.align 8
.LC35:
	.long	0
	.long	-1072431104
	.align 8
.LC36:
	.long	0
	.long	-1073741824
	.align 8
.LC37:
	.long	0
	.long	1073741824
	.align 8
.LC38:
	.long	0
	.long	-1072168960
	.align 8
.LC39:
	.long	1719614413
	.long	-1074356066
	.align 8
.LC40:
	.long	1719614413
	.long	1073127582
	.align 8
.LC41:
	.long	-396866390
	.long	-1074022790
	.align 8
.LC42:
	.long	-396866390
	.long	1073460858
	.align 8
.LC43:
	.long	0
	.long	1075052544
	.align 8
.LC44:
	.long	0
	.long	-1071382528
	.align 8
.LC45:
	.long	0
	.long	1078034432
	.align 8
.LC46:
	.long	0
	.long	-1068957696
	.align 8
.LC47:
	.long	0
	.long	1077411840
	.align 8
.LC48:
	.long	0
	.long	-1070727168
	.align 8
.LC49:
	.long	0
	.long	-1073217536
	.align 8
.LC50:
	.long	0
	.long	1075576832
	.align 8
.LC51:
	.long	0
	.long	1076494336
	.align 8
.LC52:
	.long	0
	.long	-1070465024
	.align 8
.LC53:
	.long	0
	.long	-1071644672
	.align 8
.LC54:
	.long	0
	.long	-1072693248
	.align 8
.LC55:
	.long	0
	.long	1076363264
	.align 8
.LC56:
	.long	0
	.long	1075970048
	.align 8
.LC57:
	.long	0
	.long	-1070333952
	.align 8
.LC58:
	.long	0
	.long	1080213504
	.align 8
.LC59:
	.long	0
	.long	-1065402368
	.align 8
.LC60:
	.long	0
	.long	1082361856
	.align 8
.LC61:
	.long	0
	.long	-1071906816
	.align 8
.LC62:
	.long	0
	.long	1077149696
	.align 8
.LC63:
	.long	0
	.long	1077805056
	.align 8
.LC64:
	.long	0
	.long	1078525952
	.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	"271028.c"
	.text
	.global	__aeabi_dmul
	.global	__aeabi_dsub
	.global	__aeabi_dadd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_quadratic_function, %function
evaluate_quadratic_function:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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]
	ldmib	fp, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldmib	fp, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	evaluate_quadratic_function, .-evaluate_quadratic_function
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_cubic_function, %function
evaluate_cubic_function:
	@ args = 16, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	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	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	evaluate_cubic_function, .-evaluate_cubic_function
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_quartic_function, %function
evaluate_quartic_function:
	@ args = 24, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	add	r3, fp, #20
	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
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	evaluate_quartic_function, .-evaluate_quartic_function
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_derivative_function_of_quadratic_function, %function
evaluate_derivative_function_of_quadratic_function:
	@ 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, #-12]
	str	r1, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	evaluate_derivative_function_of_quadratic_function, .-evaluate_derivative_function_of_quadratic_function
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_derivative_function_of_cubic_function, %function
evaluate_derivative_function_of_cubic_function:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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]
	mov	r2, #0
	ldr	r3, .L11
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	1074266112
	.size	evaluate_derivative_function_of_cubic_function, .-evaluate_derivative_function_of_cubic_function
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate_derivative_function_of_quartic_function, %function
evaluate_derivative_function_of_quartic_function:
	@ args = 16, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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]
	mov	r2, #0
	ldr	r3, .L15
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	ldr	r3, .L15+4
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	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}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L16:
	.align	2
.L15:
	.word	1074790400
	.word	1074266112
	.size	evaluate_derivative_function_of_quartic_function, .-evaluate_derivative_function_of_quartic_function
	.global	__aeabi_dcmpgt
	.global	__aeabi_ddiv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	refine_cubic_equation_solution, %function
refine_cubic_equation_solution:
	@ args = 12, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #12]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #12]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [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, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #12]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #12]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	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
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #12]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	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
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	ldr	r3, .L22
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	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
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r4, [fp, #-44]
	ldr	r3, [fp, #-40]
	bic	r5, r3, #-2147483648
	mov	r2, #0
	ldr	r3, .L22+4
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L20
	b	.L21
.L20:
	ldr	r3, [fp, #12]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #12]
	stm	r1, {r2-r3}
.L21:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L23:
	.align	2
.L22:
	.word	1074266112
	.word	1018167296
	.size	refine_cubic_equation_solution, .-refine_cubic_equation_solution
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_real_solution_of_quadratic_equation, %function
compute_real_solution_of_quadratic_equation:
	@ args = 16, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #48
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	ldr	r3, .L39
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L36
	ldr	r3, [fp, #8]
	mov	r2, #2
	str	r2, [r3]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	sqrt
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	ldr	r3, [fp, #-64]
	and	r3, r3, #-2147483648
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L27
	mov	r2, #0
	ldr	r3, .L39+4
	b	.L28
.L27:
	mov	r2, #0
	ldr	r3, .L39+8
.L28:
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r8, [fp, #-68]
	ldr	r3, [fp, #-64]
	eor	r9, r3, #-2147483648
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r4, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #3
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-56]
	cmp	r1, #0
	bne	.L29
	mov	r1, #8
	b	.L30
.L29:
	mov	r1, #0
.L30:
	ldr	r0, [fp, #4]
	add	r4, r0, r1
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	b	.L38
.L36:
	ldr	r6, [fp, #12]
	ldr	r3, [fp, #16]
	eor	r7, r3, #-2147483648
	mov	r2, r6
	mov	r3, r7
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r4, [fp, #-68]
	ldr	r3, [fp, #-64]
	eor	r5, r3, #-2147483648
	ldr	r3, [fp, #4]
	stm	r3, {r4-r5}
	b	.L38
.L37:
	ldr	r3, [fp, #8]
	mov	r2, #0
	str	r2, [r3]
.L38:
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L40:
	.align	2
.L39:
	.word	1071644672
	.word	-1074790400
	.word	1072693248
	.size	compute_real_solution_of_quadratic_equation, .-compute_real_solution_of_quadratic_equation
	.global	__aeabi_dcmplt
	.section	.rodata
	.align	2
.LC7:
	.ascii	"the_stack_data/271028.c\000"
	.align	2
.LC8:
	.ascii	"p > 0.0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_one_of_real_non_negative_solution_of_cubic_equation, %function
compute_one_of_real_non_negative_solution_of_cubic_equation:
	@ args = 24, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #96
	str	r0, [fp, #-108]
	str	r1, [fp, #-104]
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r2, .L65
	ldr	r3, .L65+4
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L65
	ldr	r3, .L65+4
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	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
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L65+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L65+12
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r4, [fp, #12]
	ldr	r3, [fp, #16]
	eor	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L61
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L44
	ldr	r3, .L65+16
	mov	r2, #218
	ldr	r1, .L65+20
	ldr	r0, .L65+24
	bl	__assert_fail
.L44:
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L65+28
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	acos
	mov	r2, #0
	ldr	r3, .L65+32
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	b	.L45
.L61:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L62
	mov	r2, #0
	mov	r3, #0
	b	.L48
.L62:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
.L48:
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	and	r3, r3, #-2147483648
	cmp	r3, #0
	bne	.L49
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cbrt
	mov	r2, r0
	mov	r3, r1
	b	.L50
.L49:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cbrt
	mov	r2, r0
	mov	r3, r1
.L50:
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	b	.L53
.L63:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
.L53:
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	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
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	and	r3, r3, #-2147483648
	cmp	r3, #0
	beq	.L45
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L45
	mov	r2, #0
	ldr	r3, .L65+36
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
.L45:
	ldr	r3, [fp, #-96]
	and	r3, r3, #-2147483648
	cmp	r3, #0
	beq	.L55
	ldr	r3, [fp, #24]
	mov	r2, #0
	strb	r2, [r3]
	b	.L64
.L55:
	ldr	r1, [fp, #20]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #24]
	mov	r2, #1
	strb	r2, [r3]
.L64:
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L66:
	.align	2
.L65:
	.word	1431655765
	.word	1070945621
	.word	1071644672
	.word	-1074790400
	.word	__PRETTY_FUNCTION__.6402
	.word	.LC7
	.word	.LC8
	.word	1072693248
	.word	1074266112
	.word	-1075838976
	.size	compute_one_of_real_non_negative_solution_of_cubic_equation, .-compute_one_of_real_non_negative_solution_of_cubic_equation
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_real_solution_of_quartic_equation, %function
compute_real_solution_of_quartic_equation:
	@ args = 48, pretend = 0, frame = 232
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #256
	str	r0, [fp, #-196]
	str	r1, [fp, #-192]
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #20]
	str	r3, [fp, #-208]
	ldr	r3, [fp, #24]
	str	r3, [fp, #-212]
	ldr	r3, .L101
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r2, #0
	ldr	r3, .L101+4
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	mov	r2, #0
	ldr	r3, .L101+8
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L101+12
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L101+16
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-136]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-216]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	add	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L98
	mov	r3, #0
	str	r3, [fp, #-164]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #164
	str	r3, [sp, #4]
	sub	r3, fp, #52
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quadratic_equation
	ldr	r3, [fp, #-212]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	beq	.L78
	mov	r3, #0
	strb	r3, [fp, #-185]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	add	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L99
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	ldr	r8, [fp, #-68]
	ldr	r2, [fp, #-64]
	eor	r9, r2, #-2147483648
	stm	r3, {r8-r9}
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L73
.L99:
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #44]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #48]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-224]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L73
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	mov	r3, #1
	strb	r3, [fp, #-185]
.L73:
	ldr	r3, [fp, #-164]
	cmp	r3, #2
	bne	.L78
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	add	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L100
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	ldr	r6, [fp, #-60]
	ldr	r2, [fp, #-56]
	eor	r7, r2, #-2147483648
	stm	r3, {r6-r7}
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L78
.L100:
	ldrb	r3, [fp, #-185]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L78
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #44]
	str	r3, [fp, #-236]
	ldr	r3, [fp, #48]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-232]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L78
.L98:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	mov	r3, #0
	strb	r3, [fp, #-186]
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L101+20
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-136]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-240]
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #186
	str	r3, [sp, #20]
	sub	r3, fp, #164
	str	r3, [sp, #16]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	compute_one_of_real_non_negative_solution_of_cubic_equation
	ldrb	r3, [fp, #-186]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L79
	ldr	r3, [fp, #-212]
	mov	r2, #0
	str	r2, [r3]
	b	.L67
.L79:
	sub	r3, fp, #164
	str	r3, [sp, #8]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	refine_cubic_equation_solution
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	str	r0, [fp, #-100]
	str	r1, [fp, #-96]
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L101+24
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	mov	r2, #0
	ldr	r3, .L101+24
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-184]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #184
	str	r3, [sp, #4]
	ldr	r3, [fp, #-208]
	str	r3, [sp]
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quadratic_equation
	mov	r3, #0
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-96]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-248]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #180
	str	r3, [sp, #4]
	sub	r3, fp, #52
	str	r3, [sp]
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #252
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quadratic_equation
	mov	r3, #0
	strh	r3, [fp, #-36]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L81
.L86:
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L82
.L85:
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	sub	r3, r3, #24
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-260]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-256]
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	add	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L83
	sub	r2, fp, #36
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
.L83:
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L82:
	ldr	r3, [fp, #-180]
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	bcc	.L85
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L81:
	ldr	r3, [fp, #-184]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L86
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-212]
	str	r2, [r3]
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	beq	.L87
	ldrb	r3, [fp, #-36]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L87:
	ldr	r3, [fp, #-180]
	cmp	r3, #2
	bne	.L78
	ldrb	r3, [fp, #-35]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L78
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-212]
	str	r1, [r2]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r1, r2, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L78:
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L89
.L90:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-208]
	add	r4, r2, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L89:
	ldr	r3, [fp, #-212]
	ldr	r3, [r3]
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	bcc	.L90
.L67:
	ldr	r3, .L101
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L91
	bl	__stack_chk_fail
.L91:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L102:
	.align	2
.L101:
	.word	.LC9
	.word	1070596096
	.word	1075314688
	.word	1075838976
	.word	1074266112
	.word	1074790400
	.word	1071644672
	.size	compute_real_solution_of_quartic_equation, .-compute_real_solution_of_quartic_equation
	.global	__aeabi_dcmpun
	.section	.rodata
	.align	2
.LC10:
	.ascii	"error %.15e, when x_%lu is %.15f\012\000"
	.align	2
.LC11:
	.ascii	"x^4 + %f x^3 + %f x^2 + %f x + %f\012\000"
	.align	2
.LC12:
	.ascii	"num solution %lu\012\000"
	.align	2
.LC13:
	.ascii	"x_%lu = %f\012\000"
	.align	2
.LC14:
	.ascii	"q = %e\012\000"
	.align	2
.LC15:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test, %function
test:
	@ args = 16, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #156
	str	r0, [fp, #-124]
	str	r1, [fp, #-120]
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	ldr	r3, .L116
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r2, .L116+4
	ldr	r3, .L116+8
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	ldr	r2, .L116+4
	ldr	r3, .L116+8
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	ldr	r2, .L116+4
	ldr	r3, .L116+8
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #112
	str	r3, [sp, #20]
	sub	r3, fp, #76
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quartic_equation
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L104
	ldr	r3, [fp, #-112]
	cmp	r3, #2
	beq	.L104
	ldr	r3, [fp, #-112]
	cmp	r3, #4
	beq	.L104
	mov	r3, #0
	b	.L113
.L104:
	mov	r2, #0
	ldr	r3, .L116+12
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	ldr	r3, .L116+16
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r2, .L116+20
	ldr	r3, .L116+24
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L106
.L112:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	sub	r2, fp, #36
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	mov	r4, r2
	bic	r5, r3, #-2147483648
	mov	r3, #1
	mov	r10, r3
	mvn	r2, #0
	ldr	r3, .L116+28
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmpun
	mov	r3, r0
	cmp	r3, #0
	bne	.L107
	mvn	r2, #0
	ldr	r3, .L116+28
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L107
	mov	r3, #0
	mov	r10, r3
.L107:
	and	r3, r10, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	sub	r2, fp, #36
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	evaluate_quartic_function
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	bic	r7, r3, #-2147483648
	mov	r2, r6
	mov	r3, r7
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	sub	r2, fp, #36
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	evaluate_quartic_function
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	bic	r9, r3, #-2147483648
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	sub	r2, fp, #36
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-108]
	str	r3, [sp]
	mov	r2, r8
	mov	r3, r9
	ldr	r0, .L116+32
	bl	printf
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldmib	fp, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	ldr	r0, .L116+36
	bl	printf
	ldr	r3, [fp, #-112]
	mov	r1, r3
	ldr	r0, .L116+40
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L110
.L111:
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #3
	sub	r2, fp, #36
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-104]
	ldr	r0, .L116+44
	bl	printf
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L110:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bcc	.L111
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	ldr	r0, .L116+48
	bl	printf
	mov	r3, #0
	b	.L113
.L108:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L106:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	bcc	.L112
	mov	r3, #1
.L113:
	ldr	r2, .L116
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L114
	bl	__stack_chk_fail
.L114:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L117:
	.align	2
.L116:
	.word	.LC15
	.word	-2036257893
	.word	1023837339
	.word	1070596096
	.word	1075838976
	.word	-2127697391
	.word	1030854553
	.word	2146435071
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.size	test, .-test
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	compare_double, %function
compare_double:
	@ 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, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	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_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L128
	ldr	r3, .L128+4
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L126
	mvn	r3, #0
	b	.L121
.L126:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L128+8
	ldr	r3, .L128+12
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L127
	mov	r3, #1
	b	.L121
.L127:
	mov	r3, #0
.L121:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L129:
	.align	2
.L128:
	.word	640942080
	.word	-1022596107
	.word	-1629006314
	.word	1020396463
	.size	compare_double, .-compare_double
	.section	.rodata
	.align	2
.LC16:
	.ascii	"number of soluton: %lu\012\000"
	.align	2
.LC17:
	.ascii	"x_%lu = %f, f(x) = %.15e\012\000"
	.align	2
.LC18:
	.ascii	"the number of solutions is wrong. (%lu (result) vs "
	.ascii	"%lu (gt)\012\000"
	.align	2
.LC19:
	.ascii	"the solution is wrong. (%.15f (result) vs %.15f (gt"
	.ascii	"))\012\000"
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_and_output, %function
test_and_output:
	@ args = 24, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #144
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #24]
	str	r3, [fp, #-104]
	ldr	r3, .L143
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r2, .L143+4
	ldr	r3, .L143+8
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	ldr	r2, .L143+4
	ldr	r3, .L143+8
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	ldr	r2, .L143+4
	ldr	r3, .L143+8
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #80
	str	r3, [sp, #20]
	sub	r3, fp, #52
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quartic_equation
	ldr	r1, [fp, #-80]
	sub	r0, fp, #52
	ldr	r3, .L143+12
	mov	r2, #8
	bl	qsort
	ldr	r3, [fp, #-80]
	mov	r1, r3
	ldr	r0, .L143+16
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L131
.L132:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	evaluate_quartic_function
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r3, [fp, #-76]
	add	ip, r3, #1
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	mov	r1, ip
	ldr	r0, .L143+20
	bl	printf
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L131:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcc	.L132
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #20]
	cmp	r2, r3
	beq	.L133
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #20]
	mov	r1, r3
	ldr	r0, .L143+24
	bl	printf
	mov	r3, #0
	b	.L139
.L133:
	ldr	r3, .L143+12
	mov	r2, #8
	ldr	r1, [fp, #20]
	ldr	r0, [fp, #-104]
	bl	qsort
	ldr	r2, .L143+28
	ldr	r3, .L143+32
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L135
.L138:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L142
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	sub	r2, fp, #12
	add	r3, r2, r3
	sub	r3, r3, #40
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L143+36
	bl	printf
	mov	r3, #0
	b	.L139
.L142:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L135:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bcc	.L138
	mov	r0, #10
	bl	putchar
	mov	r3, #1
.L139:
	ldr	r2, .L143
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L140
	bl	__stack_chk_fail
.L140:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L144:
	.align	2
.L143:
	.word	.LC20
	.word	-2036257893
	.word	1023837339
	.word	compare_double
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	-1629006314
	.word	1020396463
	.word	.LC19
	.size	test_and_output, .-test_and_output
	.section	.rodata
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	benchmark, %function
benchmark:
	@ args = 16, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #128
	str	r0, [fp, #-100]
	str	r1, [fp, #-96]
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, .L148
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-88]
	sub	r3, fp, #84
	mov	r1, #1
	mov	r0, r3
	bl	timespec_get
	ldr	r2, .L148+4
	ldr	r3, .L148+8
	str	r2, [sp, #40]
	str	r3, [sp, #44]
	ldr	r2, .L148+4
	ldr	r3, .L148+8
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	ldr	r2, .L148+4
	ldr	r3, .L148+8
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #88
	str	r3, [sp, #20]
	sub	r3, fp, #68
	str	r3, [sp, #16]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	compute_real_solution_of_quartic_equation
	sub	r3, fp, #76
	mov	r1, #1
	mov	r0, r3
	bl	timespec_get
	ldr	r3, [fp, #-76]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, .L148+12
	mul	r2, r3, r1
	mov	r3, #0
	mul	r3, r0, r3
	add	ip, r2, r3
	ldr	lr, .L148+12
	umull	r2, r3, r0, lr
	add	r1, ip, r3
	mov	r3, r1
	ldr	r1, [fp, #-72]
	mov	r0, r1
	asr	r1, r0, #31
	adds	r6, r2, r0
	adc	r7, r3, r1
	ldr	r3, [fp, #-84]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, .L148+12
	mul	r2, r3, r1
	mov	r3, #0
	mul	r3, r0, r3
	add	ip, r2, r3
	ldr	lr, .L148+12
	umull	r2, r3, r0, lr
	add	r1, ip, r3
	mov	r3, r1
	subs	r4, r6, r2
	sbc	r5, r7, r3
	ldr	r3, [fp, #-80]
	mov	r2, r3
	asr	r3, r2, #31
	subs	r8, r4, r2
	sbc	r9, r5, r3
	mov	r2, r8
	mov	r3, r9
	ldr	r1, .L148
	ldr	r0, [r1]
	ldr	r1, [fp, #-32]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L147
	bl	__stack_chk_fail
.L147:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L149:
	.align	2
.L148:
	.word	.LC21
	.word	-2036257893
	.word	1023837339
	.word	1000000000
	.size	benchmark, .-benchmark
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	xor128, %function
xor128:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #20
	ldr	r3, .L152
	ldmia	r3, {r6-r7}
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r7, #11
	orr	r3, r3, r6, lsr #21
	lsl	r2, r6, #11
	ldr	ip, .L152
	ldmia	ip, {r6-r7}
	eor	ip, r2, r6
	str	ip, [fp, #-44]
	eor	r3, r3, r7
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, .L152+4
	ldmia	r3, {r2-r3}
	ldr	ip, .L152
	stm	ip, {r2-r3}
	ldr	r3, .L152+8
	ldmia	r3, {r2-r3}
	ldr	ip, .L152+4
	stm	ip, {r2-r3}
	ldr	r3, .L152+12
	ldmia	r3, {r2-r3}
	ldr	ip, .L152+8
	stm	ip, {r2-r3}
	ldr	r3, .L152+12
	ldmia	r3, {r6-r7}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r6, #19
	orr	r2, r2, r7, lsl #13
	lsr	r3, r7, #19
	ldr	ip, .L152+12
	ldmia	ip, {r6-r7}
	eor	r4, r2, r6
	eor	r5, r3, r7
	sub	r7, fp, #36
	ldmia	r7, {r6-r7}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r6, #8
	orr	r2, r2, r7, lsl #24
	lsr	r3, r7, #8
	sub	r7, fp, #36
	ldmia	r7, {r6-r7}
	eor	r0, r2, r6
	eor	r1, r3, r7
	eor	r8, r4, r0
	eor	r9, r5, r1
	ldr	r3, .L152+12
	stm	r3, {r8-r9}
	ldr	r3, .L152+12
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L153:
	.align	2
.L152:
	.word	x.6510
	.word	y.6511
	.word	z.6512
	.word	w.6513
	.size	xor128, .-xor128
	.global	__aeabi_ul2d
	.section	.rodata
	.align	2
.LC22:
	.ascii	"Test failed\000"
	.align	2
.LC23:
	.ascii	"Pass Test\000"
	.global	__aeabi_ui2d
	.align	2
.LC24:
	.ascii	"bench %f ns\012\000"
	.align	3
.LC0:
	.word	0
	.word	-1073741824
	.word	0
	.word	-1074790400
	.word	0
	.word	1072693248
	.word	0
	.word	1073741824
	.align	3
.LC1:
	.word	1719614413
	.word	-1074356066
	.word	1719614413
	.word	1073127582
	.align	3
.LC2:
	.word	3898100906
	.word	-1074022790
	.word	3898100906
	.word	1073460858
	.align	3
.LC3:
	.word	0
	.word	1072693248
	.word	0
	.word	1073741824
	.word	0
	.word	1074266112
	.word	0
	.word	1074790400
	.align	3
.LC4:
	.word	0
	.word	-1073217536
	.word	0
	.word	-1073741824
	.word	0
	.word	1072693248
	.word	0
	.word	1074790400
	.align	3
.LC5:
	.word	0
	.word	-1073217536
	.word	0
	.word	-1073741824
	.word	0
	.word	1072693248
	.align	3
.LC6:
	.word	0
	.word	-1074790400
	.word	0
	.word	1074266112
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 552
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #576
	ldr	r3, .L174
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L174+4
	str	r3, [fp, #-556]
	ldr	r3, .L174+4
	str	r3, [fp, #-552]
	mov	r3, #0
	str	r3, [fp, #-564]
	b	.L155
.L158:
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+12
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+12
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+12
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+12
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	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}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	test
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L156
	ldr	r0, .L174+20
	bl	puts
	mov	r3, #1
	b	.L157
.L156:
	ldr	r3, [fp, #-564]
	add	r3, r3, #1
	str	r3, [fp, #-564]
.L155:
	ldr	r2, [fp, #-564]
	ldr	r3, [fp, #-556]
	cmp	r2, r3
	bcc	.L158
	ldr	r0, .L174+24
	bl	puts
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	mov	r3, #0
	str	r3, [fp, #-560]
	b	.L159
.L160:
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	bl	xor128
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L174+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L174+16
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	benchmark
	sub	r3, fp, #508
	ldmia	r3, {r2-r3}
	adds	r4, r2, r0
	adc	r5, r3, r1
	str	r4, [fp, #-508]
	str	r5, [fp, #-504]
	ldr	r3, [fp, #-560]
	add	r3, r3, #1
	str	r3, [fp, #-560]
.L159:
	ldr	r2, [fp, #-560]
	ldr	r3, [fp, #-552]
	cmp	r2, r3
	bcc	.L160
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	bl	__aeabi_ul2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-552]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L174+28
	bl	printf
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	mov	r2, #0
	ldr	r3, .L174+32
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	mov	r2, #0
	ldr	r3, .L174+36
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	mov	r3, #4
	str	r3, [fp, #-548]
	ldr	r3, .L174+40
	sub	ip, fp, #52
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-548]
	str	r3, [sp, #16]
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L161
	mov	r3, #1
	b	.L157
.L161:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	mov	r2, #0
	ldr	r3, .L174+44
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	mov	r2, #0
	ldr	r3, .L174+48
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	mov	r3, #2
	str	r3, [fp, #-544]
	ldr	r3, .L174+52
	sub	ip, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-544]
	str	r3, [sp, #16]
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L162
	mov	r3, #1
	b	.L157
.L162:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	mov	r2, #0
	ldr	r3, .L174+56
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	mov	r2, #0
	ldr	r3, .L174+48
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	mov	r3, #2
	str	r3, [fp, #-540]
	ldr	r3, .L174+60
	sub	ip, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-540]
	str	r3, [sp, #16]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L163
	mov	r3, #1
	b	.L157
.L163:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	mov	r2, #0
	ldr	r3, .L174+64
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	mov	r2, #0
	ldr	r3, .L174+36
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	mov	r3, #0
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #16]
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L164
	mov	r3, #1
	b	.L157
.L164:
	mov	r2, #0
	ldr	r3, .L174+68
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	mov	r2, #0
	ldr	r3, .L174+72
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	mov	r2, #0
	ldr	r3, .L174+76
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	mov	r2, #0
	ldr	r3, .L174+80
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	mov	r3, #4
	str	r3, [fp, #-536]
	ldr	r3, .L174+84
	sub	ip, fp, #52
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-536]
	str	r3, [sp, #16]
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L165
	mov	r3, #1
	b	.L157
.L165:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	mov	r2, #0
	ldr	r3, .L174+88
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	mov	r2, #0
	ldr	r3, .L174+68
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	mov	r2, #0
	ldr	r3, .L174+80
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	mov	r3, #4
	str	r3, [fp, #-532]
	ldr	r3, .L174+92
	sub	ip, fp, #52
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-532]
	str	r3, [sp, #16]
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L166
	mov	r3, #1
	b	.L157
.L166:
	mov	r2, #0
	ldr	r3, .L174+96
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	mov	r2, #0
	ldr	r3, .L174+100
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	mov	r2, #0
	ldr	r3, .L174+104
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	mov	r2, #0
	ldr	r3, .L174+108
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	mov	r3, #3
	str	r3, [fp, #-528]
	ldr	r3, .L174+112
	sub	ip, fp, #52
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-528]
	str	r3, [sp, #16]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L167
	mov	r3, #1
	b	.L157
.L167:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	mov	r2, #0
	ldr	r3, .L174+48
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	mov	r2, #0
	ldr	r3, .L174+116
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	mov	r2, #0
	ldr	r3, .L174+104
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	mov	r3, #2
	str	r3, [fp, #-524]
	ldr	r3, .L174+120
	sub	ip, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-524]
	str	r3, [sp, #16]
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L168
	mov	r3, #1
	b	.L157
.L168:
	mov	r2, #0
	ldr	r3, .L174+124
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	mov	r2, #0
	mov	r3, #-1073741824
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	mov	r2, #0
	ldr	r3, .L174+128
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	mov	r2, #0
	ldr	r3, .L174+132
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	mov	r3, #2
	str	r3, [fp, #-520]
	ldr	r3, .L174+120
	sub	ip, fp, #52
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-520]
	str	r3, [sp, #16]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L169
	mov	r3, #1
	b	.L157
.L169:
	mov	r2, #0
	ldr	r3, .L174+136
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	mov	r2, #0
	ldr	r3, .L174+140
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	mov	r2, #0
	ldr	r3, .L174+144
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	mov	r2, #0
	ldr	r3, .L174+148
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	mov	r3, #1
	str	r3, [fp, #-516]
	mov	r2, #0
	ldr	r3, .L174+64
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-516]
	str	r3, [sp, #16]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L170
	mov	r3, #1
	b	.L157
.L170:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	mov	r2, #0
	ldr	r3, .L174+152
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	mov	r2, #0
	ldr	r3, .L174+124
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	mov	r2, #0
	ldr	r3, .L174+156
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	mov	r3, #1
	str	r3, [fp, #-512]
	mov	r2, #0
	mov	r3, #1073741824
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	str	r3, [sp, #20]
	ldr	r3, [fp, #-512]
	str	r3, [sp, #16]
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L171
	mov	r3, #1
	b	.L157
.L171:
	mov	r2, #0
	mov	r3, #1073741824
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	mov	r2, #0
	ldr	r3, .L174+96
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	ldr	r3, .L174+160
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	mov	r2, #0
	ldr	r3, .L174+164
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [sp, #20]
	mov	r3, #0
	str	r3, [sp, #16]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	test_and_output
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L172
	mov	r3, #1
	b	.L157
.L172:
	mov	r3, #0
.L157:
	ldr	r2, .L174
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L173
	bl	__stack_chk_fail
.L173:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L175:
	.align	2
.L174:
	.word	.LC25
	.word	10000000
	.word	1139802112
	.word	1071644672
	.word	1076101120
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	-1072431104
	.word	1074790400
	.word	.LC0
	.word	1072693248
	.word	-1072168960
	.word	.LC1
	.word	-1074790400
	.word	.LC2
	.word	1075052544
	.word	-1071382528
	.word	1078034432
	.word	-1068957696
	.word	1077411840
	.word	.LC3
	.word	-1070727168
	.word	.LC4
	.word	1075576832
	.word	1076494336
	.word	-1073217536
	.word	-1070465024
	.word	.LC5
	.word	-1071644672
	.word	.LC6
	.word	-1072693248
	.word	1076363264
	.word	1075970048
	.word	-1070333952
	.word	1080213504
	.word	-1065402368
	.word	1082361856
	.word	-1071906816
	.word	1077149696
	.word	1077805056
	.word	1078525952
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6402, %object
	.size	__PRETTY_FUNCTION__.6402, 60
__PRETTY_FUNCTION__.6402:
	.ascii	"compute_one_of_real_non_negative_solution_of_cubic_"
	.ascii	"equation\000"
	.data
	.align	3
	.type	x.6510, %object
	.size	x.6510, 8
x.6510:
	.word	123456789
	.word	0
	.align	3
	.type	y.6511, %object
	.size	y.6511, 8
y.6511:
	.word	362436069
	.word	0
	.align	3
	.type	z.6512, %object
	.size	z.6512, 8
z.6512:
	.word	521288629
	.word	0
	.align	3
	.type	w.6513, %object
	.size	w.6513, 8
w.6513:
	.word	88675123
	.word	0
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
