// File: /workspace/github_cpp_makefile_star2_O3/kebwi[P]Trifid/src/ImageProcs.cpp
// Function: testRGBXYZLABRoutines()
void testRGBXYZLABRoutines()
{
	Float_t minorCutoff = .000001;
	Float_t majorCutoff = .001;
	
	cout.precision(8);
	
	cout << "RGB coordinates specified as input, then run through RGB->XYZ->LAB->XYZ->RGB." << endl
		<< "Final XYZ and RGB difs are presented and compared to originals with minor and major cutoffs: " << endl
		<< minorCutoff << " and " << majorCutoff << "." << endl << endl;
	
	cout << "Display legend:" << endl;
	cout	<< setw(12) << "R in"
			<< setw(12) << "G in"
			<< setw(12) << "B in" << "    "
			<< setw(12) << "X out"
			<< setw(12) << "Y out"
			<< setw(12) << "Z out" << "    " << endl
			<< setw(12) << "R2 out"
			<< setw(12) << "G2 out"
			<< setw(12) << "B2 out" << "    "
			<< setw(12) << "X2 out"
			<< setw(12) << "Y2 out"
			<< setw(12) << "Z2 out" << endl
			<< setw(12) << "|X2 - X|"
			<< setw(12) << "|Y2 - Y|"
			<< setw(12) << "|Z2 - Z|" << "    "
			<< setw(12) << "|R2 - R|"
			<< setw(12) << "|G2 - G|"
			<< setw(12) << "|B2 - B|" << endl << endl;
			
	for (Float_t r = 0; r <= 1.0; r += .25)
		for (Float_t g = 0; g <= 1.0; g += .25)
			for (Float_t b = 0; b <= 1.0; b += .25)
			{
				Float_t x, y, z;
				Float_t l, a, bb;
				Float_t x2, y2, z2;
				Float_t r2, g2, b2;
				
				rgb2xyz(r, g, b, x, y, z);
				xyz2cielab(x, y, z, l, a, bb);
				cielab2xyz(l, a, bb, x2, y2, z2);
				xyz2rgb(x2, y2, z2, r2, g2, b2);
				
				cout	<< setw(12) << r
						<< setw(12) << g
						<< setw(12) << b << "    "
						<< setw(12) << x
						<< setw(12) << y
						<< setw(12) << z << endl
						<< setw(12) << r2
						<< setw(12) << g2
						<< setw(12) << b2 << "    "
						<< setw(12) << x2
						<< setw(12) << y2
						<< setw(12) << z2 << endl
						<< setw(12) << fabs(x2 - x)
						<< setw(12) << fabs(y2 - y)
						<< setw(12) << fabs(z2 - z) << "    "
						<< setw(12) << fabs(r2 - r)
						<< setw(12) << fabs(g2 - g)
						<< setw(12) << fabs(b2 - b) << endl;
				
				if (fabs(r2 - r) > minorCutoff || fabs(g2 - g) > minorCutoff || fabs(b2 - b) > minorCutoff ||
					fabs(x2 - x) > minorCutoff || fabs(y2 - y) > minorCutoff || fabs(z2 - z) > minorCutoff)
					cout << "    -------- minor error in previous test --------" << endl;
				
				if (fabs(r2 - r) > majorCutoff || fabs(g2 - g) > majorCutoff || fabs(b2 - b) > majorCutoff ||
					fabs(x2 - x) > majorCutoff || fabs(y2 - y) > majorCutoff || fabs(z2 - z) > majorCutoff)
					cout << "    ******** MAJOR ERROR IN PREVIOUS TEST ********" << endl;
				
				cout << endl;
			}
	
	exit(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
movq 0x24922(%rip), %rbx     # 0x36fd0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x8(%rbx,%rax)
leaq 0x19665(%rip), %rsi     # 0x2bd2a
movl $0x4d, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r14
leaq 0x19675(%rip), %rsi     # 0x2bd78
movl $0x5d, %edx
movq %rax, %rdi
callq 0x3360
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movsd 0x194a9(%rip), %xmm0    # 0x2bbe8
movq %rax, %rdi
callq 0x3480
movq %rax, %r14
leaq 0x19685(%rip), %rsi     # 0x2bdd6
movl $0x5, %edx
movq %rax, %rdi
callq 0x3360
movsd 0x1948a(%rip), %xmm0    # 0x2bbf0
movq %r14, %rdi
callq 0x3480
movq %rax, %r14
leaq 0x18a8d(%rip), %rsi     # 0x2b205
movl $0x1, %edx
movq %rax, %rdi
callq 0x3360
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
leaq 0x195ff(%rip), %rsi     # 0x2bddc
movl $0xf, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl $0xc, %r13d
movq %r13, 0x10(%rbx,%rax)
leaq 0x195c2(%rip), %rsi     # 0x2bdec
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x195a7(%rip), %rsi     # 0x2bdf1
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1958c(%rip), %rsi     # 0x2bdf6
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
leaq 0x1806e(%rip), %r14     # 0x2a8ec
movl $0x4, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1955a(%rip), %rsi     # 0x2bdfb
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x19540(%rip), %rsi     # 0x2be01
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x19526(%rip), %rsi     # 0x2be07
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movl $0x4, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x194d2(%rip), %rsi     # 0x2be0d
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x194b9(%rip), %rsi     # 0x2be14
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x194a0(%rip), %rsi     # 0x2be1b
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movl $0x4, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x19477(%rip), %rsi     # 0x2be22
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1945e(%rip), %rsi     # 0x2be29
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x19445(%rip), %rsi     # 0x2be30
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x19402(%rip), %rsi     # 0x2be37
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x193eb(%rip), %rsi     # 0x2be40
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x193d4(%rip), %rsi     # 0x2be49
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movl $0x4, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x193ad(%rip), %rsi     # 0x2be52
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x19396(%rip), %rsi     # 0x2be5b
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1937f(%rip), %rsi     # 0x2be64
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
leaq 0x68(%rsp), %rbp
leaq 0x60(%rsp), %r15
xorps %xmm1, %xmm1
movaps 0x20(%rsp), %xmm0
movlhps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, 0x110(%rsp)
xorps %xmm2, %xmm2
movaps %xmm1, 0xd0(%rsp)
movaps 0x20(%rsp), %xmm0
movaps %xmm2, 0xa0(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x121d0
movsd 0x88(%rsp), %xmm0
movsd 0x80(%rsp), %xmm1
movsd 0x78(%rsp), %xmm2
movaps %xmm0, 0x100(%rsp)
movsd %xmm1, 0x58(%rsp)
movsd %xmm2, 0x90(%rsp)
leaq 0xc8(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x123e5
movsd 0xc8(%rsp), %xmm0
movsd 0xc0(%rsp), %xmm1
movsd 0xb8(%rsp), %xmm2
leaq 0x70(%rsp), %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x1254b
movsd 0x70(%rsp), %xmm2
movsd 0x68(%rsp), %xmm8
movsd 0x60(%rsp), %xmm7
movapd %xmm8, %xmm0
mulsd 0x18eed(%rip), %xmm0    # 0x2bb20
movapd %xmm2, %xmm1
mulsd 0x18ee9(%rip), %xmm1    # 0x2bb28
addsd %xmm0, %xmm1
movapd %xmm7, %xmm6
mulsd 0x18ee1(%rip), %xmm6    # 0x2bb30
addsd %xmm1, %xmm6
movapd %xmm8, %xmm4
mulsd 0x18ed8(%rip), %xmm4    # 0x2bb38
movapd %xmm2, %xmm5
mulsd 0x18ed4(%rip), %xmm5    # 0x2bb40
movapd %xmm7, %xmm3
mulsd 0x18ed0(%rip), %xmm3    # 0x2bb48
movapd %xmm8, %xmm1
mulsd 0x18ecb(%rip), %xmm1    # 0x2bb50
movapd %xmm2, 0xf0(%rsp)
mulsd 0x18ec2(%rip), %xmm2    # 0x2bb58
movapd %xmm7, 0x30(%rsp)
movapd %xmm7, %xmm0
mulsd 0x18eb8(%rip), %xmm0    # 0x2bb60
xorpd %xmm7, %xmm7
ucomisd %xmm6, %xmm7
ja 0x12cc8
ucomisd 0x1739e(%rip), %xmm6    # 0x2a058
movapd %xmm6, %xmm7
jbe 0x12cc8
movsd 0x17390(%rip), %xmm7    # 0x2a058
addsd %xmm4, %xmm5
addsd %xmm5, %xmm3
xorpd %xmm4, %xmm4
ucomisd %xmm3, %xmm4
xorpd %xmm5, %xmm5
ja 0x12cf4
ucomisd 0x17372(%rip), %xmm3    # 0x2a058
movapd %xmm3, %xmm5
jbe 0x12cf4
movsd 0x17364(%rip), %xmm5    # 0x2a058
movapd %xmm5, 0xe0(%rsp)
movapd %xmm8, 0x40(%rsp)
movapd %xmm7, 0x10(%rsp)
addsd %xmm1, %xmm2
addsd %xmm2, %xmm0
ucomisd %xmm0, %xmm4
ja 0x12d2e
ucomisd 0x17338(%rip), %xmm0    # 0x2a058
movapd %xmm0, %xmm4
jbe 0x12d2e
movsd 0x1732a(%rip), %xmm4    # 0x2a058
movapd %xmm4, (%rsp)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movq %rbx, %rdi
movaps 0x20(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0xd0(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0xa0(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movq %r12, %rdi
movaps 0x100(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x58(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x90(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x10(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0xe0(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps (%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movq %r12, %rdi
movaps 0xf0(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x40(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x30(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0x10(%rsp), %xmm0
unpcklpd 0xe0(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
subpd 0x110(%rsp), %xmm0
movapd %xmm0, %xmm2
movaps (%rsp), %xmm0
unpcklpd 0xf0(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
movaps %xmm0, (%rsp)
movapd 0xa0(%rsp), %xmm0
unpcklpd 0x100(%rsp), %xmm0      # xmm0 = xmm0[0],mem[0]
movapd (%rsp), %xmm1
subpd %xmm0, %xmm1
movapd %xmm1, (%rsp)
movapd 0x40(%rsp), %xmm1
subsd 0x58(%rsp), %xmm1
movapd 0x170b5(%rip), %xmm0    # 0x2a010
andpd %xmm0, %xmm1
movapd %xmm1, 0x40(%rsp)
movapd 0x30(%rsp), %xmm1
subsd 0x90(%rsp), %xmm1
andpd %xmm0, %xmm1
movapd %xmm1, 0x30(%rsp)
movapd (%rsp), %xmm1
andpd %xmm0, %xmm1
movapd %xmm1, (%rsp)
andpd %xmm0, %xmm2
movapd %xmm2, 0x10(%rsp)
pshufd $0xee, (%rsp), %xmm0    # xmm0 = mem[2,3,2,3]
movq %rax, %rdi
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x40(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x30(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movq %r12, %rdi
movaps 0x10(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
pshufd $0xee, 0x10(%rsp), %xmm0 # xmm0 = mem[2,3,2,3]
movq %rax, %rdi
movdqa %xmm0, 0x90(%rsp)
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps (%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movapd (%rsp), %xmm3
movapd 0x10(%rsp), %xmm2
movapd 0x18c24(%rip), %xmm1    # 0x2bca0
movapd %xmm1, %xmm0
cmpltpd %xmm3, %xmm0
cmpltpd %xmm2, %xmm1
shufps $0x88, %xmm0, %xmm1     # xmm1 = xmm1[0,2],xmm0[0,2]
movmskps %xmm1, %eax
testl %eax, %eax
jne 0x130b5
movapd 0x40(%rsp), %xmm0
ucomisd 0x18b45(%rip), %xmm0    # 0x2bbe8
ja 0x130b5
movapd 0x30(%rsp), %xmm0
ucomisd 0x18b35(%rip), %xmm0    # 0x2bbe8
jbe 0x130fb
movl $0x32, %edx
movq %rbx, %rdi
leaq 0x18da9(%rip), %rsi     # 0x2be6d
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movapd (%rsp), %xmm3
movapd 0x10(%rsp), %xmm2
movsd 0x18aed(%rip), %xmm1    # 0x2bbf0
ucomisd %xmm1, %xmm2
ja 0x13172
movapd 0x90(%rsp), %xmm0
ucomisd %xmm1, %xmm0
ja 0x13172
ucomisd %xmm1, %xmm3
ja 0x13172
movsd 0x70(%rsp), %xmm0
subsd 0x88(%rsp), %xmm0
andpd 0x16edb(%rip), %xmm0    # 0x2a010
ucomisd %xmm1, %xmm0
ja 0x13172
movsd 0x68(%rsp), %xmm0
subsd 0x80(%rsp), %xmm0
andpd 0x16ebe(%rip), %xmm0    # 0x2a010
ucomisd %xmm1, %xmm0
ja 0x13172
movsd 0x60(%rsp), %xmm0
subsd 0x78(%rsp), %xmm0
andpd 0x16ea4(%rip), %xmm0    # 0x2a010
ucomisd %xmm1, %xmm0
jbe 0x131ad
movl $0x32, %edx
movq %rbx, %rdi
leaq 0x18d1f(%rip), %rsi     # 0x2bea0
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movapd 0xa0(%rsp), %xmm2
addsd 0x18a13(%rip), %xmm2    # 0x2bbf8
movsd 0x16e6b(%rip), %xmm0    # 0x2a058
ucomisd %xmm2, %xmm0
movapd 0xd0(%rsp), %xmm1
jae 0x12b75
addsd 0x189f0(%rip), %xmm1    # 0x2bbf8
movsd 0x16e48(%rip), %xmm0    # 0x2a058
ucomisd %xmm1, %xmm0
jae 0x12b5a
movapd 0x20(%rsp), %xmm0
addsd 0x189d0(%rip), %xmm0    # 0x2bbf8
movapd %xmm0, 0x20(%rsp)
movsd 0x16e22(%rip), %xmm1    # 0x2a058
ucomisd %xmm0, %xmm1
jae 0x12b57
xorl %edi, %edi
callq 0x3390