// File: /workspace/github_c_makefile_star2_O1/ender672[P]liboil/test.c
// Function: test_scale
static void test_scale(long in_width, long in_height,
	unsigned char **input_image, long out_width, long out_height,
	enum oil_colorspace cs)
{
	long i, out_row_stride;
	unsigned char **oil_output_image;
	long double **ref_output_image;

	out_row_stride = OIL_CMP(cs) * out_width;

	/* oil scaling */
	oil_output_image = alloc_2d_uchar(out_row_stride, out_height);
	do_oil_scale(input_image, in_width, in_height, oil_output_image,
		out_width, out_height, cs);

	/* reference scaling */
	ref_output_image = alloc_2d_ld(out_row_stride, out_height);
	ref_scale(input_image, in_width, in_height, ref_output_image, out_width,
		out_height, cs);

	/* compare the two */
	for (i=0; i<out_height; i++) {
		validate_scanline8(oil_output_image[i], ref_output_image[i],
			out_width, OIL_CMP(cs));
	}

	free_2d_uchar(oil_output_image, out_height);
	free_2d_ld(ref_output_image, out_height);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
movl %r9d, %r12d
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, 0xc0(%rsp)
movq %rsi, %r13
movq %rdi, %rbp
movzbl %r12b, %r15d
movq %r15, %rdi
imulq %rcx, %rdi
movq %rdi, 0x28(%rsp)
movq %r8, %rsi
callq 0x334e
movq %rax, 0x90(%rsp)
leaq 0xd0(%rsp), %rdi
movq %r13, 0x88(%rsp)
movl %r13d, %esi
movl %ebx, %edx
movq %rbp, 0x98(%rsp)
movl %ebp, %ecx
movq %r14, 0x78(%rsp)
movl %r14d, %r8d
movl %r12d, %r9d
callq 0x137c
movq %rbx, 0x38(%rsp)
testq %rbx, %rbx
jle 0x3469
xorl %ebx, %ebx
leaq 0xd0(%rsp), %r14
xorl %r13d, %r13d
movq 0xc0(%rsp), %rbp
movq %r14, %rdi
callq 0x1980
testl %eax, %eax
je 0x344b
movq (%rbp,%rbx,8), %rsi
incq %rbx
movq %r14, %rdi
callq 0x19b2
jmp 0x342d
movq 0x90(%rsp), %rax
movq (%rax,%r13,8), %rsi
movq %r14, %rdi
callq 0x258c
incq %r13
cmpq 0x38(%rsp), %r13
jne 0x342d
leaq 0xd0(%rsp), %rdi
callq 0x1635
movq 0x28(%rsp), %r14
movq %r14, %rdi
movq 0x38(%rsp), %rsi
callq 0x41c2
movq %rax, 0x50(%rsp)
movq %r15, %rbx
imulq 0x98(%rsp), %rbx
movq %rbx, %rdi
shlq $0x4, %rdi
callq 0x1100
movq %rax, %r13
movq %r14, %rdi
movq 0x88(%rsp), %r14
movq %r14, %rsi
callq 0x41c2
movq %r14, %rdi
movq %rax, 0xa0(%rsp)
testq %r14, %r14
movq %r13, 0xb8(%rsp)
jle 0x3834
movl %r15d, %r14d
shll $0x4, %r14d
xorl %ebp, %ebp
movss 0x1ba0(%rip), %xmm1     # 0x5088
fldt 0x1c42(%rip)            # 0x5130
fstpt 0x28(%rsp)
fldt 0x1c58(%rip)            # 0x5150
fstpt 0x58(%rsp)
fldt 0x1c5e(%rip)            # 0x5160
fstpt 0x40(%rsp)
fldt 0x1c64(%rip)            # 0x5170
fstpt 0x68(%rsp)
testq %rbx, %rbx
movq 0xc0(%rsp), %rax
jle 0x3553
movq (%rax,%rbp,8), %rax
movq %r13, %rcx
xorl %edx, %edx
movzbl (%rax,%rdx), %esi
xorps %xmm0, %xmm0
cvtsi2ss %esi, %xmm0
divss %xmm1, %xmm0
movss %xmm0, 0xb4(%rsp)
flds 0xb4(%rsp)
fstpt (%rcx)
incq %rdx
addq $0x10, %rcx
cmpq %rdx, %rbx
jne 0x3526
movq %rbp, 0xc8(%rsp)
movq %r13, %rbp
movq 0x98(%rsp), %rax
movq %rax, %r13
testq %rax, %rax
jle 0x37e4
cmpl $0x3, %r12d
jg 0x35bc
cmpl $0x2, %r12d
je 0x3611
cmpl $0x3, %r12d
jne 0x37d8
fldt (%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x3651
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x3659
cmpl $0x4, %r12d
je 0x3621
cmpl $0x104, %r12d           # imm = 0x104
jne 0x37d8
fldt 0x30(%rbp)
fldt (%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
fld %st(1)
fstpt 0xa8(%rsp)
jae 0x3685
fstp %st(1)
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
fldt 0xa8(%rsp)
jmp 0x368f
fldt 0x10(%rbp)
fldt (%rbp)
fmulp %st, %st(1)
fstpt (%rbp)
jmp 0x37d8
fldt (%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x3760
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x3768
fldt 0x1ae9(%rip)            # 0x5140
fdivrp %st, %st(1)
fstpt (%rbp)
fldt 0x10(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x36c8
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x36d0
fldt 0x1ab5(%rip)            # 0x5140
fdivrp %st, %st(1)
fxch %st(1)
fmul %st, %st(1)
fxch %st(1)
fstpt (%rbp)
fldt 0x10(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x36fc
fstp %st(1)
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
fldt 0xa8(%rsp)
jmp 0x3706
fldt 0x1a72(%rip)            # 0x5140
fdivrp %st, %st(1)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x3745
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x375b
fldt 0x1a3e(%rip)            # 0x5140
fdivrp %st, %st(1)
fxch %st(1)
fmulp %st, %st(1)
fstpt 0x10(%rbp)
fldt 0x30(%rbp)
fldt 0x20(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x374f
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
fstpt 0xa8(%rsp)
callq 0x1110
fldt 0xa8(%rsp)
jmp 0x3759
fldt 0x19f5(%rip)            # 0x5140
fdivrp %st, %st(1)
jmp 0x375b
fldt 0x19eb(%rip)            # 0x5140
fdivrp %st, %st(1)
fxch %st(1)
fmulp %st, %st(1)
fstpt 0x20(%rbp)
jmp 0x37d8
fldt 0x19da(%rip)            # 0x5140
fdivrp %st, %st(1)
fstpt (%rbp)
fldt 0x10(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x3794
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x379c
fldt 0x19a6(%rip)            # 0x5140
fdivrp %st, %st(1)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fldt 0x28(%rsp)
fucompi %st(1), %st
jae 0x37c8
fldt 0x58(%rsp)
faddp %st, %st(1)
fldt 0x40(%rsp)
fdivrp %st, %st(1)
fldt 0x68(%rsp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
jmp 0x37d0
fldt 0x1972(%rip)            # 0x5140
fdivrp %st, %st(1)
fstpt 0x20(%rbp)
fldz
fstpt 0x30(%rbp)
addq %r14, %rbp
decq %r13
jne 0x3572
movq 0xa0(%rsp), %rax
movq 0xc8(%rsp), %rbp
movq (%rax,%rbp,8), %rdx
movq 0xb8(%rsp), %r13
movq %r13, %rdi
movq 0x98(%rsp), %rsi
movq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x4240
incq %rbp
movq 0x88(%rsp), %rdi
cmpq %rdi, %rbp
movss 0x185a(%rip), %xmm1     # 0x5088
jne 0x3510
imulq %r15, %rdi
shlq $0x4, %rdi
callq 0x1100
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rbx
movq %rbx, %rdi
imulq %r15, %rdi
shlq $0x4, %rdi
callq 0x1100
movq %rax, %r13
cmpq $0x0, 0x78(%rsp)
jle 0x391c
movq %rbx, %rcx
movl %r15d, %ebx
shll $0x4, %ebx
xorl %r14d, %r14d
xorl %ebp, %ebp
movq 0x88(%rsp), %rsi
testq %rsi, %rsi
jle 0x38bf
movq 0x28(%rsp), %rax
xorl %edi, %edi
testl %r15d, %r15d
je 0x38b4
movq 0xa0(%rsp), %rdx
movq (%rdx,%rdi,8), %rdx
addq %r14, %rdx
xorl %r8d, %r8d
fldt (%rdx,%r8)
fstpt (%rax,%r8)
addq $0x10, %r8
cmpq %r8, %rbx
jne 0x38a3
incq %rdi
addq %rbx, %rax
cmpq %rsi, %rdi
jne 0x388c
movq 0x28(%rsp), %rdi
movq %r13, %rdx
movq %r15, %r8
callq 0x4240
movq 0x38(%rsp), %rcx
testq %rcx, %rcx
movq 0x50(%rsp), %r8
jle 0x390b
movq %r13, %rax
xorl %edi, %edi
testl %r15d, %r15d
je 0x3900
movq (%r8,%rdi,8), %rdx
addq %r14, %rdx
xorl %esi, %esi
fldt (%rax,%rsi)
fstpt (%rdx,%rsi)
addq $0x10, %rsi
cmpq %rsi, %rbx
jne 0x38f1
incq %rdi
addq %rbx, %rax
cmpq %rcx, %rdi
jne 0x38e3
incq %rbp
addq %rbx, %r14
cmpq 0x78(%rsp), %rbp
jne 0x3878
movq 0x28(%rsp), %rdi
callq 0x1030
movq %r13, %rdi
callq 0x1030
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
testq %rcx, %rcx
fldz
fldz
fldz
jle 0x4012
fstp %st(2)
fstp %st(0)
fstp %st(0)
movl %r15d, %r14d
shll $0x4, %r14d
movq $0x0, 0x58(%rsp)
leal -0x1(%r12), %r13d
fld1
fldz
fldt 0x1814(%rip)            # 0x5180
leaq 0x185d(%rip), %rdi      # 0x51d0
fld %st(0)
fstpt 0x28(%rsp)
cmpq $0x0, 0x78(%rsp)
jle 0x3ffc
movq 0x58(%rsp), %rax
movq (%rdx,%rax,8), %rbp
movq 0x78(%rsp), %rbx
cmpl $0x3, %r13d
ja 0x39c1
movslq (%rdi,%r13,4), %rax
addq %rdi, %rax
jmpq *%rax
fldt (%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fstpt (%rbp)
jmp 0x3ff0
cmpl $0x104, %r12d           # imm = 0x104
je 0x3a41
cmpl $0x204, %r12d           # imm = 0x204
jne 0x3ff0
fldt (%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fstpt (%rbp)
fldt 0x10(%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fstpt 0x20(%rbp)
fldt 0x30(%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
jmp 0x3fed
fldt 0x30(%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fucomi %st(2), %st
jne 0x3a5e
jnp 0x3a76
fldt (%rbp)
fdiv %st(1), %st
fstpt (%rbp)
fldt 0x10(%rbp)
fdiv %st(1), %st
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fdiv %st(1), %st
fstpt 0x20(%rbp)
fldt (%rbp)
fxch %st(3)
fucomi %st(3), %st
fld %st(0)
jae 0x3c56
fstp %st(0)
fxch %st(3)
fucomi %st(4), %st
fld %st(4)
fxch %st(1)
fxch %st(4)
fxch %st(1)
jae 0x3c56
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
jae 0x3c44
fstp %st(4)
fstp %st(1)
fstp %st(2)
fldt 0x16df(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
fstpt 0x40(%rsp)
callq 0x1110
fldt 0x40(%rsp)
leaq 0x1704(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x167c(%rip)            # 0x5160
fmulp %st, %st(5)
fldt 0x16b4(%rip)            # 0x51a0
faddp %st, %st(5)
fldz
fxch %st(1)
fxch %st(5)
fxch %st(1)
fxch %st(4)
fxch %st(2)
jmp 0x3c54
fldt (%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3da2
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3da2
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3d90
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x1656(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x1683(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x15fb(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x1633(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3d9e
fldt (%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3ed2
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3ed2
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3ec0
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x15d7(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x1604(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x157c(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x15b4(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3ece
fldt 0x10(%rbp)
fucomi %st(3), %st
fld %st(0)
fcmovnb %st(4), %st
fxch %st(3)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(3), %st
fstp %st(3)
fxch %st(2)
fucomi %st(2), %st
jne 0x3c1a
jnp 0x3c22
fldt (%rbp)
fdiv %st(1), %st
fstpt (%rbp)
fldt (%rbp)
fucomi %st(4), %st
fld %st(0)
fcmovnb %st(5), %st
fxch %st(4)
fucomi %st(1), %st
fstp %st(1)
fld %st(0)
fcmovb %st(4), %st
fstp %st(4)
fxch %st(3)
fstpt (%rbp)
fstpt 0x10(%rbp)
jmp 0x3ff0
fldt 0x14f6(%rip)            # 0x5140
fmulp %st, %st(4)
fldz
fxch %st(4)
fxch %st(1)
fxch %st(3)
fxch %st(1)
fstp %st(4)
fxch %st(3)
fstpt (%rbp)
fldt 0x10(%rbp)
fxch %st(3)
fucomi %st(3), %st
fld %st(0)
jae 0x3ced
fstp %st(0)
fxch %st(3)
fucomi %st(4), %st
fld %st(4)
fxch %st(1)
fxch %st(4)
fxch %st(1)
jae 0x3ced
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
jae 0x3cdb
fstp %st(4)
fstp %st(1)
fstp %st(2)
fldt 0x1500(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
fstpt 0x40(%rsp)
callq 0x1110
fldt 0x40(%rsp)
leaq 0x1525(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x149d(%rip)            # 0x5160
fmulp %st, %st(5)
fldt 0x14d5(%rip)            # 0x51a0
faddp %st, %st(5)
fldz
fxch %st(1)
fxch %st(5)
fxch %st(1)
fxch %st(4)
fxch %st(2)
jmp 0x3ceb
fldt 0x145f(%rip)            # 0x5140
fmulp %st, %st(4)
fldz
fxch %st(4)
fxch %st(1)
fxch %st(3)
fxch %st(1)
fstp %st(4)
fxch %st(3)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fxch %st(3)
fucomi %st(3), %st
fld %st(0)
jae 0x3d84
fstp %st(0)
fxch %st(3)
fucomi %st(4), %st
fld %st(4)
fxch %st(1)
fxch %st(4)
fxch %st(1)
jae 0x3d84
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
jae 0x3d72
fstp %st(4)
fstp %st(1)
fstp %st(2)
fldt 0x1469(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
fstpt 0x40(%rsp)
callq 0x1110
fldt 0x40(%rsp)
leaq 0x148e(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x1406(%rip)            # 0x5160
fmulp %st, %st(5)
fldt 0x143e(%rip)            # 0x51a0
faddp %st, %st(5)
fldz
fxch %st(1)
fxch %st(5)
fxch %st(1)
fxch %st(4)
fxch %st(2)
jmp 0x3d82
fldt 0x13c8(%rip)            # 0x5140
fmulp %st, %st(4)
fldz
fxch %st(4)
fxch %st(1)
fxch %st(3)
fxch %st(1)
fstp %st(4)
fxch %st(3)
fstpt 0x20(%rbp)
jmp 0x3fed
fldt 0x13aa(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt (%rbp)
fldt 0x10(%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3e2b
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3e2b
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3e19
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x13b8(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x13e5(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x135d(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x1395(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3e27
fldt 0x1321(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3eb4
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3eb4
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3ea2
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x132f(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x135c(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x12d4(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x130c(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3eb0
fldt 0x1298(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt 0x20(%rbp)
jmp 0x3ff0
fldt 0x127a(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt (%rbp)
fldt 0x10(%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3f5b
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3f5b
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3f49
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x1288(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x12b5(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x122d(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x1265(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3f57
fldt 0x11f1(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt 0x10(%rbp)
fldt 0x20(%rbp)
fxch %st(2)
fucomi %st(2), %st
fld %st(0)
jae 0x3fe4
fstp %st(0)
fxch %st(2)
fucomi %st(3), %st
fld %st(3)
fxch %st(1)
fxch %st(3)
fxch %st(1)
jae 0x3fe4
fstp %st(0)
fxch %st(1)
fucomi %st(2), %st
jae 0x3fd2
fstp %st(3)
fstp %st(0)
fstp %st(1)
fldt 0x11ff(%rip)            # 0x5190
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x1110
leaq 0x122c(%rip), %rdi      # 0x51d0
fldt 0x28(%rsp)
fldz
fld1
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rcx
fldt 0x11a4(%rip)            # 0x5160
fmulp %st, %st(4)
fldt 0x11dc(%rip)            # 0x51a0
faddp %st, %st(4)
fldz
fxch %st(1)
fxch %st(4)
fxch %st(1)
fxch %st(3)
jmp 0x3fe0
fldt 0x1168(%rip)            # 0x5140
fmulp %st, %st(3)
fldz
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
fstp %st(3)
fxch %st(2)
fstpt 0x20(%rbp)
fld %st(1)
fstpt 0x30(%rbp)
addq %r14, %rbp
decq %rbx
jne 0x3993
movq 0x58(%rsp), %rsi
incq %rsi
movq %rsi, 0x58(%rsp)
cmpq %rcx, %rsi
jne 0x3979
fstp %st(2)
fstp %st(0)
fstp %st(0)
movq 0xb8(%rsp), %rdi
callq 0x1030
movq 0xa0(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x420f
movq 0x38(%rsp), %rbx
testq %rbx, %rbx
jle 0x4162
movl %r15d, %eax
shll $0x4, %eax
movq %rax, 0x40(%rsp)
fldt 0x1157(%rip)            # 0x51b0
fstpt 0x58(%rsp)
movq $0x0, 0x68(%rsp)
cmpq $0x0, 0x78(%rsp)
je 0x4147
movq 0x90(%rsp), %rax
movq 0x68(%rsp), %rcx
movq (%rax,%rcx,8), %r14
movq 0x50(%rsp), %rax
movq (%rax,%rcx,8), %rbx
xorl %r13d, %r13d
testq %r15, %r15
je 0x4131
movq %rbx, %r12
xorl %ebp, %ebp
fldt (%r12)
fmuls 0xfe1(%rip)             # 0x5088
fld %st(0)
fstpt 0x28(%rsp)
fstpt (%rsp)
callq 0x10f0
fldt 0x28(%rsp)
movzbl (%r14,%rbp), %r9d
movw %r9w, 0x86(%rsp)
fld %st(0)
fisubrs 0x86(%rsp)
fabs
fadds 0x1028(%rip)            # 0x5100
fldt 0xb802(%rip)            # 0xf8e0
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
jbe 0x40ee
fld %st(0)
fstpt 0xb7f2(%rip)            # 0xf8e0
fldt 0x58(%rsp)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
ja 0x410a
fstp %st(0)
incq %rbp
addq $0x10, %r12
cmpq %rbp, %r15
jne 0x409d
jmp 0x4131
movq 0x2ee7(%rip), %rcx      # 0x6ff8
movq (%rcx), %rdi
fstpt (%rsp)
leaq 0x116a(%rip), %rsi      # 0x5288
movl %r13d, %edx
movl %ebp, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x10e0
fldz
jmp 0x40fa
incq %r13
addq %r15, %r14
addq 0x40(%rsp), %rbx
cmpq 0x78(%rsp), %r13
jne 0x408f
movq 0x68(%rsp), %rcx
incq %rcx
movq 0x38(%rsp), %rbx
movq %rcx, 0x68(%rsp)
cmpq %rbx, %rcx
jne 0x4066
movq 0x90(%rsp), %rdi
movq %rbx, %rsi
callq 0x4191
movq 0x50(%rsp), %rdi
movq %rbx, %rsi
callq 0x420f
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq