// File: /workspace/github_cpp_makefile_star2_O3/millanek[P]Dsuite/KolmogorovSmirnovDist.cpp
// Function: KScdf(int, double)
double KScdf (int n, double x)
{
   const double w = n * x * x;
   double u = cdfSpecial (n, x);
   if (u >= 0.0)
      return u;

   if (n <= NEXACT) {
      if (w < 0.754693)
         return DurbinMatrix (n, x);
      if (w < 4.0)
         return Pomeranz (n, x);
      return 1.0 - KSfbar (n, x);
   }

   /* if (n * x * sqrt(x) <= 1.4) */
   if ((w * x * n <= 2.0) && (n <= NKOLMO))
      return DurbinMatrix(n, x);

   return Pelz(n, x);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movsd 0x2b67(%rip), %xmm3     # 0x41470
ucomisd %xmm3, %xmm0
jae 0x3fe59
movapd %xmm0, %xmm2
movl %edi, %r12d
cvtsi2sd %edi, %xmm1
movapd %xmm1, %xmm4
mulsd %xmm0, %xmm4
movapd %xmm4, %xmm5
mulsd %xmm0, %xmm5
ucomisd 0x7b52(%rip), %xmm5     # 0x46488
jae 0x3fe59
movsd 0x2b34(%rip), %xmm0     # 0x41478
divsd %xmm1, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm2, %xmm0
jae 0x3fe59
cmpl $0x1, %r12d
jne 0x3e971
movapd %xmm2, %xmm3
addsd %xmm2, %xmm3
addsd 0x2b24(%rip), %xmm3     # 0x41490
jmp 0x3ea88
movsd 0x2af7(%rip), %xmm3     # 0x41470
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
ucomisd %xmm2, %xmm0
movapd %xmm1, 0x30(%rsp)
jae 0x3e9f4
movapd %xmm3, %xmm1
subsd %xmm0, %xmm1
ucomisd %xmm1, %xmm2
movapd 0x30(%rsp), %xmm1
jb 0x3ea96
movapd %xmm3, %xmm0
subsd %xmm2, %xmm0
movaps 0x30(%rsp), %xmm1
movapd %xmm2, 0x60(%rsp)
movapd %xmm4, (%rsp)
movapd %xmm5, 0x10(%rsp)
callq 0x7730
movapd 0x10(%rsp), %xmm5
movapd (%rsp), %xmm4
movsd 0x2a95(%rip), %xmm3     # 0x41470
movapd 0x60(%rsp), %xmm2
movapd 0x30(%rsp), %xmm1
addsd %xmm0, %xmm0
subsd %xmm0, %xmm3
jmp 0x3ea88
movapd %xmm5, 0x10(%rsp)
movapd %xmm4, (%rsp)
movapd %xmm2, 0x60(%rsp)
addsd %xmm2, %xmm2
subsd %xmm0, %xmm2
cmpl $0x14, %r12d
jg 0x3ea3d
movslq %r12d, %rbx
leaq 0x7bf3(%rip), %r14      # 0x46610
movapd %xmm2, %xmm0
movaps 0x30(%rsp), %xmm1
callq 0x7730
movapd 0x30(%rsp), %xmm1
movapd %xmm0, %xmm3
mulsd (%r14,%rbx,8), %xmm3
jmp 0x3ea77
movl %r12d, %edi
movsd %xmm2, 0x40(%rsp)
callq 0x407bc
movsd %xmm0, 0x20(%rsp)
movsd 0x40(%rsp), %xmm0
callq 0x7360
mulsd 0x30(%rsp), %xmm0
addsd 0x20(%rsp), %xmm0
callq 0x7750
movapd 0x30(%rsp), %xmm1
movapd %xmm0, %xmm3
movapd 0x60(%rsp), %xmm2
movapd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm5
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm3
jae 0x3fe59
cmpl $0x8c, %r12d
jg 0x3ee55
movsd 0x7a85(%rip), %xmm0     # 0x46530
ucomisd %xmm5, %xmm0
ja 0x3ee74
movsd 0x7a7b(%rip), %xmm0     # 0x46538
ucomisd %xmm5, %xmm0
jbe 0x3f4f5
movapd %xmm1, 0x30(%rsp)
movsd 0x299b(%rip), %xmm0     # 0x41470
movl $0x15e, %edi            # imm = 0x15E
movapd %xmm4, (%rsp)
callq 0x7620
movsd %xmm0, 0x58(%rsp)
leal (%r12,%r12), %eax
movq %rax, 0x20(%rsp)
leal 0x3(,%r12,2), %eax
movslq %eax, %r15
movl $0x8, %esi
movq %r15, %rdi
callq 0x72b0
movq %rax, %rbx
movl $0x8, %esi
movq %r15, %rdi
callq 0x72b0
movq %rax, %rbp
movl $0x8, %esi
movq %r15, %rdi
callq 0x72b0
movq %rax, %r14
leal 0x2(%r12), %r13d
movl $0x2, %edi
movl %r13d, %esi
callq 0x4086f
movq %rax, %r15
movl $0x4, %edi
movl %r13d, 0xb0(%rsp)
movl %r13d, %esi
callq 0x4086f
movq %rax, 0x10(%rsp)
movapd (%rsp), %xmm0
cvttsd2si %xmm0, %r13d
cvttpd2dq %xmm0, %xmm1
cvtdq2pd %xmm1, %xmm1
movapd %xmm0, %xmm2
subsd %xmm1, %xmm2
movapd %xmm2, 0x40(%rsp)
callq 0x7090
movapd 0x40(%rsp), %xmm10
subsd (%rsp), %xmm0
ucomisd 0x28e1(%rip), %xmm10    # 0x41478
movq %r12, 0xd0(%rsp)
jbe 0x3f512
testl %r12d, %r12d
movsd 0x58(%rsp), %xmm8
movq 0x20(%rsp), %r10
movsd 0x28b3(%rip), %xmm9     # 0x41470
js 0x3f937
movl %r10d, %eax
movl %r10d, %edx
shrl %edx
leal 0x2(%rdx), %ecx
andl $0x7ffffffe, %ecx       # imm = 0x7FFFFFFE
movd %edx, %xmm1
pshufd $0x44, %xmm1, %xmm3     # xmm3 = xmm1[0,1,0,1]
movl %r13d, %edx
negl %edx
leaq 0x20(%rbp), %rsi
xorl %edi, %edi
movdqa 0x2900(%rip), %xmm1     # 0x414f0
movdqa 0x2908(%rip), %xmm2     # 0x41500
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3ec4f
leal -0x1(%rdx), %r8d
xorps %xmm6, %xmm6
cvtsi2sd %r8d, %xmm6
movsd %xmm6, -0x10(%rsi)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3ec6a
xorps %xmm5, %xmm5
cvtsi2sd %edx, %xmm5
movsd %xmm5, (%rsi)
addq $0x2, %rdi
addl $0x2, %edx
addq $0x20, %rsi
cmpq %rdi, %rcx
jne 0x3ec00
movl %eax, %edx
shrl %edx
movd %edx, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
movl %r13d, %edx
negl %edx
movq %rbp, %rsi
addq $0x18, %rsi
xorl %edi, %edi
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3ecec
leal -0x1(%rdx), %r8d
xorps %xmm6, %xmm6
cvtsi2sd %r8d, %xmm6
movsd %xmm6, -0x10(%rsi)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3ed07
xorps %xmm5, %xmm5
cvtsi2sd %edx, %xmm5
movsd %xmm5, (%rsi)
addq $0x2, %rdi
addl $0x2, %edx
addq $0x20, %rsi
cmpq %rdi, %rcx
jne 0x3ec9d
movl %eax, %edx
shrl %edx
movd %edx, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
leal 0x2(%r13), %edx
leaq 0x20(%r14), %rsi
xorl %edi, %edi
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3ed85
leal -0x1(%rdx), %r8d
xorps %xmm6, %xmm6
cvtsi2sd %r8d, %xmm6
movsd %xmm6, -0x10(%rsi)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3eda0
xorps %xmm5, %xmm5
cvtsi2sd %edx, %xmm5
movsd %xmm5, (%rsi)
addq $0x2, %rdi
addl $0x2, %edx
addq $0x20, %rsi
cmpq %rdi, %rcx
jne 0x3ed36
incl %r13d
shrl %eax
leal 0x2(%rax), %ecx
andl $0x7ffffffe, %ecx       # imm = 0x7FFFFFFE
movd %eax, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
movq %r14, %rax
addq $0x18, %rax
xorl %edx, %edx
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdx, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %esi
notl %esi
testb $0x1, %sil
je 0x3ee21
xorps %xmm6, %xmm6
cvtsi2sd %r13d, %xmm6
movsd %xmm6, -0x10(%rax)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %esi
testb $0x1, %sil
je 0x3ee3f
leal 0x1(%r13), %esi
xorps %xmm5, %xmm5
cvtsi2sd %esi, %xmm5
movsd %xmm5, (%rax)
addq $0x2, %rdx
addl $0x2, %r13d
addq $0x20, %rax
cmpq %rdx, %rcx
jne 0x3edd8
jmp 0x3f937
cmpl $0x186a0, %r12d         # imm = 0x186A0
ja 0x3ee91
mulsd %xmm2, %xmm5
mulsd %xmm1, %xmm5
movsd 0x7622(%rip), %xmm0     # 0x46490
ucomisd %xmm5, %xmm0
jb 0x3ee91
movl %r12d, %edi
movapd %xmm2, %xmm0
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3fe6f
movapd %xmm1, 0x30(%rsp)
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
movapd %xmm0, 0x100(%rsp)
mulsd %xmm0, %xmm2
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm0
movapd %xmm0, 0x90(%rsp)
movapd %xmm2, %xmm0
addsd %xmm2, %xmm0
movapd %xmm2, 0x60(%rsp)
mulsd %xmm2, %xmm0
movsd 0x75c2(%rip), %xmm1     # 0x46498
divsd %xmm0, %xmm1
movsd %xmm1, 0x10(%rsp)
xorpd %xmm0, %xmm0
movsd %xmm0, (%rsp)
xorl %ebx, %ebx
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
addsd 0x257e(%rip), %xmm1     # 0x41478
movapd %xmm1, %xmm0
xorpd 0x25aa(%rip), %xmm0     # 0x414b0
mulsd %xmm1, %xmm0
mulsd 0x10(%rsp), %xmm0
callq 0x7750
movsd (%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
mulsd 0x7575(%rip), %xmm1     # 0x464a0
cmpl $0x13, %ebx
ja 0x3ef38
incl %ebx
ucomisd %xmm1, %xmm0
ja 0x3eeeb
movapd 0x90(%rsp), %xmm0
movapd %xmm0, %xmm1
mulsd %xmm0, %xmm1
movapd %xmm0, %xmm2
movapd %xmm1, 0xf0(%rsp)
mulsd %xmm1, %xmm2
movapd %xmm2, 0xe0(%rsp)
movapd 0x2545(%rip), %xmm1     # 0x414b0
xorpd %xmm0, %xmm1
movapd %xmm1, 0x40(%rsp)
movsd 0x24f3(%rip), %xmm0     # 0x41470
xorpd %xmm2, %xmm2
xorl %ebx, %ebx
movapd 0x32f5(%rip), %xmm3     # 0x42280
andpd %xmm3, %xmm0
movapd %xmm2, %xmm1
andpd %xmm3, %xmm1
mulsd 0x7501(%rip), %xmm1     # 0x464a0
ucomisd %xmm1, %xmm0
jbe 0x3f012
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
addsd 0x24c4(%rip), %xmm1     # 0x41478
movapd %xmm1, %xmm0
mulsd 0x74d8(%rip), %xmm0     # 0x46498
mulsd %xmm1, %xmm0
addsd 0x40(%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movapd %xmm1, %xmm0
xorpd 0x24d4(%rip), %xmm0     # 0x414b0
mulsd %xmm1, %xmm0
mulsd 0x10(%rsp), %xmm0
movapd %xmm2, 0xb0(%rsp)
callq 0x7750
movapd 0xb0(%rsp), %xmm2
mulsd 0x20(%rsp), %xmm0
addsd %xmm0, %xmm2
incl %ebx
cmpl $0x15, %ebx
jne 0x3ef83
movapd %xmm2, 0xb0(%rsp)
movapd 0xf0(%rsp), %xmm0
addsd %xmm0, %xmm0
movsd 0x7478(%rip), %xmm1     # 0x464a8
mulsd 0xe0(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x40(%rsp)
movsd 0x7465(%rip), %xmm2     # 0x464b0
movapd 0x90(%rsp), %xmm1
mulsd %xmm1, %xmm2
addsd %xmm0, %xmm2
mulsd 0x7434(%rip), %xmm2     # 0x46498
movsd %xmm2, 0x80(%rsp)
addsd %xmm1, %xmm1
movsd 0x23f7(%rip), %xmm0     # 0x41470
movapd %xmm0, %xmm2
subsd %xmm1, %xmm2
mulsd 0x742f(%rip), %xmm2     # 0x464b8
movsd %xmm2, 0x70(%rsp)
xorpd %xmm3, %xmm3
xorl %ebx, %ebx
movapd 0x31e3(%rip), %xmm2     # 0x42280
andpd %xmm2, %xmm0
movapd %xmm3, %xmm1
andpd %xmm2, %xmm1
mulsd 0x73ef(%rip), %xmm1     # 0x464a0
ucomisd %xmm1, %xmm0
jbe 0x3f143
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
addsd 0x23ae(%rip), %xmm1     # 0x41478
movsd 0x80(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
addsd 0x40(%rsp), %xmm0
movsd 0x70(%rsp), %xmm2
mulsd %xmm1, %xmm2
mulsd %xmm1, %xmm2
mulsd %xmm1, %xmm2
mulsd %xmm1, %xmm2
addsd %xmm0, %xmm2
movsd %xmm2, 0x20(%rsp)
movapd %xmm1, %xmm0
xorpd 0x23a3(%rip), %xmm0     # 0x414b0
mulsd %xmm1, %xmm0
mulsd 0x10(%rsp), %xmm0
movapd %xmm3, 0xa0(%rsp)
callq 0x7750
movapd 0xa0(%rsp), %xmm3
mulsd 0x20(%rsp), %xmm0
addsd %xmm0, %xmm3
incl %ebx
cmpl $0x15, %ebx
jne 0x3f095
movapd %xmm3, 0xa0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movl $0x1, %ebx
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
movapd %xmm1, %xmm0
mulsd 0x732a(%rip), %xmm0     # 0x46498
mulsd %xmm1, %xmm0
movapd %xmm0, 0x40(%rsp)
movapd %xmm1, %xmm0
xorpd 0x232c(%rip), %xmm0     # 0x414b0
mulsd %xmm1, %xmm0
mulsd 0x10(%rsp), %xmm0
callq 0x7750
mulsd 0x40(%rsp), %xmm0
movapd 0x20(%rsp), %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
mulsd 0x72ef(%rip), %xmm1     # 0x464a0
cmpl $0x13, %ebx
ja 0x3f1be
incl %ebx
ucomisd %xmm1, %xmm0
ja 0x3f15b
movsd 0x72fa(%rip), %xmm0     # 0x464c0
movapd 0xe0(%rsp), %xmm3
mulsd %xmm3, %xmm0
movapd 0x90(%rsp), %xmm2
mulsd %xmm2, %xmm0
movsd 0x72e0(%rip), %xmm4     # 0x464c8
movapd %xmm3, %xmm5
movsd 0x72dc(%rip), %xmm1     # 0x464d0
mulsd %xmm3, %xmm1
movsd 0x72d8(%rip), %xmm6     # 0x464d8
movapd 0xf0(%rsp), %xmm3
mulsd %xmm3, %xmm6
addsd %xmm1, %xmm6
mulsd 0x727f(%rip), %xmm6     # 0x46498
movsd %xmm6, 0x58(%rsp)
mulsd %xmm4, %xmm5
movsd 0x72b5(%rip), %xmm1     # 0x464e0
mulsd %xmm2, %xmm1
movsd 0x72b1(%rip), %xmm6     # 0x464e8
mulsd %xmm3, %xmm6
addsd %xmm1, %xmm6
mulsd 0x7271(%rip), %xmm6     # 0x464b8
movsd %xmm6, 0xc8(%rsp)
addsd %xmm0, %xmm5
movapd %xmm5, 0xd0(%rsp)
mulsd %xmm2, %xmm4
addsd 0x7287(%rip), %xmm4     # 0x464f0
movsd %xmm4, 0x70(%rsp)
movsd 0x21f9(%rip), %xmm0     # 0x41470
xorpd %xmm3, %xmm3
xorl %ebx, %ebx
movapd 0x2ffb(%rip), %xmm2     # 0x42280
andpd %xmm2, %xmm0
movapd %xmm3, %xmm1
andpd %xmm2, %xmm1
mulsd 0x7207(%rip), %xmm1     # 0x464a0
ucomisd %xmm1, %xmm0
jbe 0x3f33c
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
addsd 0x21c6(%rip), %xmm0     # 0x41478
mulsd %xmm0, %xmm0
movsd 0x58(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd 0xd0(%rsp), %xmm1
movsd 0xc8(%rsp), %xmm2
mulsd %xmm0, %xmm2
mulsd %xmm0, %xmm2
addsd %xmm1, %xmm2
movapd %xmm0, %xmm1
mulsd 0x720e(%rip), %xmm1     # 0x464f8
mulsd %xmm0, %xmm1
mulsd %xmm0, %xmm1
mulsd 0x70(%rsp), %xmm1
addsd %xmm2, %xmm1
movapd %xmm1, 0x80(%rsp)
xorpd 0x21a3(%rip), %xmm0     # 0x414b0
mulsd 0x10(%rsp), %xmm0
movapd %xmm3, 0x40(%rsp)
callq 0x7750
movapd 0x40(%rsp), %xmm3
mulsd 0x80(%rsp), %xmm0
addsd %xmm0, %xmm3
incl %ebx
cmpl $0x15, %ebx
jne 0x3f27d
movapd %xmm3, 0x40(%rsp)
movsd 0x2126(%rip), %xmm0     # 0x41470
xorpd %xmm4, %xmm4
movl $0x1, %ebx
movapd 0x60(%rsp), %xmm2
movapd 0x2f1f(%rip), %xmm3     # 0x42280
andpd %xmm3, %xmm0
movapd %xmm4, %xmm1
andpd %xmm3, %xmm1
mulsd 0x712b(%rip), %xmm1     # 0x464a0
ucomisd %xmm1, %xmm0
jbe 0x3f3f6
movl %ebx, %eax
imull %ebx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movapd %xmm0, %xmm2
mulsd 0x716d(%rip), %xmm2     # 0x46500
movapd %xmm0, %xmm1
mulsd 0x7169(%rip), %xmm1     # 0x46508
mulsd %xmm0, %xmm1
mulsd 0x90(%rsp), %xmm2
addsd %xmm1, %xmm2
movapd %xmm2, 0x70(%rsp)
orpd 0x20f2(%rip), %xmm0     # 0x414b0
mulsd 0x10(%rsp), %xmm0
movapd %xmm4, 0x80(%rsp)
callq 0x7750
movapd 0x80(%rsp), %xmm4
movapd 0x60(%rsp), %xmm2
mulsd 0x70(%rsp), %xmm0
addsd %xmm0, %xmm4
incl %ebx
cmpl $0x15, %ebx
jne 0x3f359
movapd 0x40(%rsp), %xmm8
unpcklpd %xmm4, %xmm8            # xmm8 = xmm8[0],xmm4[0]
movsd 0x7106(%rip), %xmm0     # 0x46510
divsd %xmm2, %xmm0
mulsd (%rsp), %xmm0
movapd 0xb0(%rsp), %xmm6
mulsd 0x70f4(%rip), %xmm6     # 0x46518
movsd 0x70f4(%rip), %xmm1     # 0x46520
movapd 0x100(%rsp), %xmm3
mulsd %xmm3, %xmm1
movapd 0xf0(%rsp), %xmm4
mulsd %xmm4, %xmm1
divsd %xmm1, %xmm6
addsd %xmm0, %xmm6
movapd 0xa0(%rsp), %xmm7
unpcklpd 0x20(%rsp), %xmm7       # xmm7 = xmm7[0],mem[0]
movapd 0x715b(%rip), %xmm0     # 0x465c0
mulpd %xmm0, %xmm7
movapd 0x30(%rsp), %xmm1
mulsd %xmm1, %xmm3
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd 0x7151(%rip), %xmm1     # 0x465d0
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd %xmm1, %xmm2
movapd 0xe0(%rsp), %xmm5
movapd %xmm5, %xmm1
unpcklpd 0x90(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
mulpd %xmm2, %xmm1
divpd %xmm1, %xmm7
addsd %xmm7, %xmm6
unpckhpd %xmm7, %xmm7            # xmm7 = xmm7[1,1]
subsd %xmm7, %xmm6
mulpd %xmm0, %xmm8
movsd 0x706a(%rip), %xmm0     # 0x46528
mulsd %xmm3, %xmm0
shufpd $0x2, 0x7115(%rip), %xmm4 # xmm4 = xmm4[0],mem[1]
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
movapd %xmm8, %xmm3
mulpd %xmm0, %xmm4
unpcklpd %xmm5, %xmm5            # xmm5 = xmm5[0,0]
mulpd %xmm4, %xmm5
divpd %xmm5, %xmm3
addsd %xmm3, %xmm6
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm6, %xmm3
jmp 0x3fe59
movl %r12d, %edi
movapd %xmm2, %xmm0
callq 0x40216
movsd 0x1f67(%rip), %xmm3     # 0x41470
subsd %xmm0, %xmm3
jmp 0x3fe59
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm10
movsd 0x58(%rsp), %xmm8
movsd 0x1f45(%rip), %xmm9     # 0x41470
jbe 0x3f69b
cmpl $0x0, 0xd0(%rsp)
movq 0x20(%rsp), %r10
js 0x3f685
leal 0x2(%r10), %eax
movl %r13d, %ecx
notl %ecx
cmpl $0x2, %eax
movl $0x1, %edx
cmovgel %eax, %edx
movl $0x1, %esi
cmpl $0x7ffffffe, %r10d      # imm = 0x7FFFFFFE
jae 0x3f5c6
movl %edx, %edi
andl $0x7ffffffe, %edi       # imm = 0x7FFFFFFE
movq %rdx, %rsi
orq $0x1, %rsi
movd %ecx, %xmm1
pshufd $0x50, %xmm1, %xmm1     # xmm1 = xmm1[0,0,1,1]
leaq (,%rdx,8), %r8
andq $-0x10, %r8
movq 0x705e(%rip), %xmm2     # 0x465f0
xorl %r9d, %r9d
movdqa 0x7063(%rip), %xmm3     # 0x46600
movdqa %xmm2, %xmm4
psrld $0x1, %xmm4
paddd %xmm1, %xmm4
cvtdq2pd %xmm4, %xmm4
movupd %xmm4, 0x8(%rbp,%r9)
paddd %xmm3, %xmm2
addq $0x10, %r9
cmpq %r9, %r8
jne 0x3f59d
cmpl %edx, %edi
je 0x3f5e3
incl %edx
movl %esi, %edi
shrl %edi
addl %ecx, %edi
xorps %xmm1, %xmm1
cvtsi2sd %edi, %xmm1
movsd %xmm1, (%rbp,%rsi,8)
incq %rsi
cmpq %rsi, %rdx
jne 0x3f5c8
cmpl $0x3, %eax
movl $0x2, %ecx
cmovgel %eax, %ecx
leaq -0x2(%rcx), %rax
movq %rax, %xmm1
pshufd $0x44, %xmm1, %xmm1     # xmm1 = xmm1[0,1,0,1]
leal 0x1(%r13), %eax
xorl %edx, %edx
movdqa 0x1ee6(%rip), %xmm2     # 0x414f0
movdqa 0x1eee(%rip), %xmm3     # 0x41500
pxor %xmm3, %xmm1
pcmpeqd %xmm4, %xmm4
movq %rdx, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm2, %xmm5
pxor %xmm3, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm1, %xmm6
pcmpeqd %xmm1, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %esi
notl %esi
xorps %xmm6, %xmm6
cvtsi2sd %eax, %xmm6
testb $0x1, %sil
je 0x3f664
movsd %xmm6, 0x10(%r14,%rdx,8)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %esi
testb $0x1, %sil
je 0x3f67a
movsd %xmm6, 0x18(%r14,%rdx,8)
addq $0x2, %rdx
incl %eax
cmpq %rdx, %rcx
jne 0x3f61a
incl %r13d
xorps %xmm1, %xmm1
cvtsi2sd %r13d, %xmm1
movsd %xmm1, 0x8(%r14)
jmp 0x3f937
cmpl $0x0, 0xd0(%rsp)
movq 0x20(%rsp), %r10
js 0x3f937
movl %r10d, %eax
movl %r10d, %edx
shrl %edx
leal 0x2(%rdx), %ecx
andl $0x7ffffffe, %ecx       # imm = 0x7FFFFFFE
movd %edx, %xmm1
pshufd $0x44, %xmm1, %xmm3     # xmm3 = xmm1[0,1,0,1]
movl %r13d, %edx
negl %edx
leaq 0x20(%rbp), %rsi
xorl %edi, %edi
movdqa 0x1e15(%rip), %xmm1     # 0x414f0
movdqa 0x1e1d(%rip), %xmm2     # 0x41500
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3f735
xorps %xmm6, %xmm6
cvtsi2sd %edx, %xmm6
movsd %xmm6, -0x10(%rsi)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3f755
leal 0x1(%rdx), %r8d
xorps %xmm5, %xmm5
cvtsi2sd %r8d, %xmm5
movsd %xmm5, (%rsi)
addq $0x2, %rdi
addl $0x2, %edx
addq $0x20, %rsi
cmpq %rdi, %rcx
jne 0x3f6eb
movl %eax, %edx
shrl %edx
movd %edx, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
movl %r13d, %edx
negl %edx
movq %rbp, %rsi
addq $0x18, %rsi
xorl %edi, %edi
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3f7d2
xorps %xmm6, %xmm6
cvtsi2sd %edx, %xmm6
movsd %xmm6, -0x10(%rsi)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3f7f2
leal 0x1(%rdx), %r8d
xorps %xmm5, %xmm5
cvtsi2sd %r8d, %xmm5
movsd %xmm5, (%rsi)
addq $0x2, %rdi
addl $0x2, %edx
addq $0x20, %rsi
cmpq %rdi, %rcx
jne 0x3f788
movl %eax, %edx
shrl %edx
movd %edx, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
leaq 0x20(%r14), %rdx
xorl %esi, %esi
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movl %r13d, %edi
movq %rsi, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %r8d
notl %r8d
testb $0x1, %r8b
je 0x3f86a
xorps %xmm6, %xmm6
cvtsi2sd %edi, %xmm6
movsd %xmm6, -0x10(%rdx)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %r8d
testb $0x1, %r8b
je 0x3f88a
leal 0x1(%rdi), %r8d
xorps %xmm5, %xmm5
cvtsi2sd %r8d, %xmm5
movsd %xmm5, (%rdx)
addq $0x2, %rsi
addl $0x2, %edi
addq $0x20, %rdx
cmpq %rsi, %rcx
jne 0x3f820
shrl %eax
leal 0x2(%rax), %ecx
andl $0x7ffffffe, %ecx       # imm = 0x7FFFFFFE
movd %eax, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
movq %r14, %rax
addq $0x18, %rax
xorl %edx, %edx
por %xmm2, %xmm3
pcmpeqd %xmm4, %xmm4
movq %rdx, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
por %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm3, %xmm6
pcmpeqd %xmm3, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %esi
notl %esi
testb $0x1, %sil
je 0x3f908
xorps %xmm6, %xmm6
cvtsi2sd %r13d, %xmm6
movsd %xmm6, -0x10(%rax)
pxor %xmm4, %xmm5
pextrw $0x4, %xmm5, %esi
testb $0x1, %sil
je 0x3f926
leal 0x1(%r13), %esi
xorps %xmm5, %xmm5
cvtsi2sd %esi, %xmm5
movsd %xmm5, (%rax)
addq $0x2, %rdx
addl $0x2, %r13d
addq $0x20, %rax
cmpq %rdx, %rcx
jne 0x3f8bf
minsd %xmm10, %xmm0
movsd %xmm0, 0x10(%rbx)
movapd %xmm9, %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, 0x18(%rbx)
movl %r10d, %eax
orl $0x1, %eax
cmpl $0x4, %eax
movq 0x10(%rsp), %r13
jl 0x3f9ab
leal 0x2(%r10), %eax
cmpl $0x4, %eax
je 0x3f98e
movupd 0x10(%rbx), %xmm0
movl $0x4, %ecx
movapd 0x28e6(%rip), %xmm1     # 0x42260
addpd %xmm1, %xmm0
movupd %xmm0, (%rbx,%rcx,8)
addq $0x2, %rcx
cmpq %rcx, %rax
jne 0x3f97a
jmp 0x3f9ab
movl $0x4, %ecx
movsd -0x10(%rbx,%rcx,8), %xmm0
addsd %xmm9, %xmm0
movsd %xmm0, (%rbx,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x3f993
movq %r14, 0xa0(%rsp)
movslq %r10d, %rax
movaps 0x30(%rsp), %xmm0
movsd %xmm0, 0x10(%rbx,%rax,8)
movq 0xd0(%rsp), %r14
leal 0x1(%r14), %edx
testl %r14d, %r14d
js 0x3fd69
movq %rbx, 0x80(%rsp)
movq (%r15), %rdi
addq $0x8, %rdi
movl %edx, 0x70(%rsp)
movl %edx, %edx
shlq $0x3, %rdx
xorl %esi, %esi
movq %rdx, %r12
callq 0x7220
movq 0x8(%r15), %rbx
testl %r14d, %r14d
je 0x3fa14
leaq 0x10(%rbx), %rdi
movl %r14d, %edx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x7220
movsd 0x58(%rsp), %xmm0
movsd %xmm0, 0x8(%rbx)
movq (%r13), %rdi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rdi)
movq 0x80(%rsp), %rbx
movsd 0x10(%rbx), %xmm0
movapd %xmm0, %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, %xmm2
divsd 0x30(%rsp), %xmm2
movl 0xb0(%rsp), %ecx
movl $0x1, %edx
movsd 0x1a0d(%rip), %xmm4     # 0x41470
mulsd %xmm2, %xmm4
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
divsd %xmm3, %xmm4
movsd %xmm4, (%rdi,%rdx,8)
incq %rdx
cmpq %rdx, %rcx
jne 0x3fa63
movq 0x8(%r13), %rdx
movq %rax, (%rdx)
movsd 0x19e2(%rip), %xmm2     # 0x41470
movapd %xmm2, %xmm3
subsd %xmm1, %xmm3
divsd 0x30(%rsp), %xmm3
movl $0x1, %esi
movq 0xa0(%rsp), %r14
mulsd %xmm3, %xmm2
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
divsd %xmm1, %xmm2
movsd %xmm2, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x3faa9
movq %rdi, 0xc8(%rsp)
movq 0x10(%r13), %rdx
movq %rax, (%rdx)
divsd 0x30(%rsp), %xmm0
movl $0x1, %esi
movsd 0x1989(%rip), %xmm1     # 0x41470
mulsd %xmm0, %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %esi, %xmm2
divsd %xmm2, %xmm1
movsd %xmm1, (%rdx,%rsi,8)
incq %rsi
cmpq %rsi, %rcx
jne 0x3fae7
movq 0x18(%r13), %rdi
movq %rax, (%rdi)
addq $0x8, %rdi
xorl %esi, %esi
movq %r12, %rdx
callq 0x7220
xorl %edi, %edi
movq 0x20(%rsp), %rcx
addl $0x2, %ecx
cmpl $0x3, %ecx
movl $0x2, %eax
cmovgel %ecx, %eax
orl $0x1, %eax
movq %rax, 0x40(%rsp)
movsd 0x8(%rbp), %xmm5
movsd 0x8(%r14), %xmm6
movsd 0x8(%rbx), %xmm3
movl $0x2, %r10d
movsd 0x693d(%rip), %xmm0     # 0x46490
movapd 0x2725(%rip), %xmm1     # 0x42280
movsd 0x69dd(%rip), %xmm2     # 0x46540
movsd 0x69dd(%rip), %xmm4     # 0x46548
movl $0x1, 0x60(%rsp)
movl $0x1, %r11d
movsd 0x58(%rsp), %xmm10
movl 0x70(%rsp), %edx
movq %rbp, 0x90(%rsp)
addsd %xmm0, %xmm5
cvttsd2si %xmm5, %r9d
movsd (%rbp,%r10,8), %xmm5
movapd %xmm5, %xmm7
addsd %xmm0, %xmm7
cvttsd2si %xmm7, %eax
cmpl $0x2, %eax
movl $0x1, %ecx
cmovll %ecx, %eax
cvttsd2si %xmm6, %esi
movsd (%r14,%r10,8), %xmm6
cvttsd2si %xmm6, %r8d
movapd %xmm3, %xmm8
cmpl %r8d, %edx
cmovll %edx, %r8d
cmpl $0x2, %r9d
cmovll %ecx, %r9d
movq %r10, (%rsp)
movsd (%rbx,%r10,8), %xmm3
movapd %xmm3, %xmm7
subsd %xmm8, %xmm7
divsd 0x30(%rsp), %xmm7
xorl %r10d, %r10d
movq (%r13,%r10,8), %rcx
movapd %xmm7, %xmm8
subsd 0x8(%rcx), %xmm8
andpd %xmm1, %xmm8
ucomisd %xmm8, %xmm2
jae 0x3fc1e
incq %r10
cmpq $0x4, %r10
jne 0x3fbf2
movq $-0x1, %r10
xorl $0x1, %edi
xorl $0x1, %r11d
cmpl %r8d, %eax
movl %r11d, 0x20(%rsp)
jle 0x3fc3f
ucomisd %xmm10, %xmm4
ja 0x3fd2d
jmp 0x3fd31
movq %rdi, 0xb0(%rsp)
movl %edi, %ecx
movl %r11d, %edi
movq %r15, %rbp
movq (%r15,%rdi,8), %r11
movl %eax, %r12d
movslq %esi, %rsi
movl %r9d, %eax
incl %r8d
leaq (,%r12,8), %r14
movq %r12, %r13
movapd %xmm10, %xmm7
cmpq %rsi, %r13
movq %rsi, %rdi
cmovlq %r13, %rdi
cmpl %esi, %r13d
movl %esi, %ebx
cmovll %r13d, %ebx
xorpd %xmm8, %xmm8
cmpl %r9d, %ebx
jl 0x3fcc5
leaq 0x1(%rdi), %r15
shlq $0x3, %rdi
movq %r14, %rbx
subq %rdi, %rbx
movq (%rbp,%rcx,8), %rdi
movq 0x10(%rsp), %rdx
addq (%rdx,%r10,8), %rbx
movsd -0x8(%rdi,%r15,8), %xmm9
mulsd (%rbx), %xmm9
addsd %xmm9, %xmm8
decq %r15
addq $0x8, %rbx
cmpq %rax, %r15
jg 0x3fca8
movsd %xmm8, (%r11,%r13,8)
minsd %xmm7, %xmm8
incq %r13
addq $0x8, %r14
movapd %xmm8, %xmm7
cmpq %r8, %r13
jne 0x3fc6f
ucomisd %xmm8, %xmm4
movq 0x80(%rsp), %rbx
movq %rbp, %r15
movq 0x90(%rsp), %rbp
movq 0xa0(%rsp), %r14
movq 0x10(%rsp), %r13
movl 0x70(%rsp), %edx
movq 0xb0(%rsp), %rdi
jbe 0x3fd31
movsd (%r11,%r12,8), %xmm7
mulsd %xmm10, %xmm7
movsd %xmm7, (%r11,%r12,8)
incq %r12
cmpq %r12, %r8
jne 0x3fd14
incl 0x60(%rsp)
movq (%rsp), %r10
incq %r10
cmpq 0x40(%rsp), %r10
movl 0x20(%rsp), %r11d
jne 0x3fb8c
movl %r11d, %eax
imull $0x15e, 0x60(%rsp), %ecx # imm = 0x15E
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
movsd %xmm0, (%rsp)
movq 0xc8(%rsp), %r12
jmp 0x3fdb4
movq 0x8(%r15), %rax
movsd %xmm8, 0x8(%rax)
movq (%r13), %r12
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%r12)
movq 0x8(%r13), %rcx
movq %rax, (%rcx)
movq 0x10(%r13), %rcx
movq %rax, (%rcx)
movq 0x18(%r13), %rcx
movq %rax, (%rcx)
movsd 0x67ae(%rip), %xmm0     # 0x46550
movsd %xmm0, (%rsp)
movl $0x1, %eax
movq 0xa0(%rsp), %r14
movq (%r15,%rax,8), %rax
movslq %edx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x10(%rsp)
movq %rbx, %rdi
callq 0x7500
movq %rbp, %rdi
callq 0x7500
movq %r14, %rdi
callq 0x7500
movq %r12, %rdi
callq 0x7500
movq %r13, %rdi
callq 0x7500
movq (%r15), %rdi
callq 0x7500
movq %r15, %rdi
callq 0x7500
movq 0xd0(%rsp), %rdi
callq 0x407bc
movsd (%rsp), %xmm1
mulsd 0x6740(%rip), %xmm1     # 0x46558
addsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x10(%rsp), %xmm0
callq 0x7360
addsd (%rsp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0x3fe51
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7750
movsd 0x1617(%rip), %xmm3     # 0x41470
movapd %xmm3, %xmm0
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq