// File: /workspace/github_c_makefile_star2_O2/PoulinV[P]AxiCLASS/build/../tools/hyperspherical.c
// Function: HypersphericalExplicit
int HypersphericalExplicit(int K,int l, double beta,double x, double *Phi){
   /** Explicit formulae for the Hyperspherical Besselfunctions of order
l<=9.
       phi_tilde = gam * beta * cos(x*beta) + delta * sin(x*beta),
       and Phi = phi_tilde *cscK/sqrt(NK). Gamma and delta are
polynomials in
       beta and cscK, containing only even powers.
   */
   double NK,xbeta,gamma,delta,CotK;
   double beta2,beta4,beta6,beta8,beta12,beta16;
   double CscK,CscK2,CscK4,CscK6,CscK8;
   //NK = prod(beta^2-K*(0:l).^2);
   beta2 = beta*beta;
   xbeta = x*beta;
   if (K==-1){
     CotK = 1.0/tanh(x);
     CscK = 1.0/sinh(x);
   }
   else if (K==1){
     CotK = 1.0/tan(x);
     CscK = 1.0/sin(x);
   }
   else{
     CotK = 1.0/x;
     CscK = CotK;
   }

   //Calculate polynomials:
   switch (l){
   case 0:
     gamma = 0;
     delta = 1;
     NK = beta2;
     break;
   case 1:
     gamma = -1;
     delta = CotK;
     NK = beta2*(beta2 - K);
     break;
   case 2:
     beta4 = beta2*beta2;
     CscK2 =CscK*CscK;
     gamma = -3*CotK;
     delta = -beta2 + 3*CscK2 - 2*K;
     NK = beta2*(4.0 + beta4 - 5.0*beta2*K);
     break;
   case 3:
     beta4 = beta2*beta2;
     CscK2 =CscK*CscK;
     gamma = beta2-15*CscK2+11*K;
     delta = CotK*(-6*beta2 + 15*CscK2 - 6*K);
     NK = beta2*(49*beta2 + beta2*beta4 - 36*K - 14*beta4*K);
     break;
   case 4:
     beta4 = beta2*beta2;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2;
     gamma = CotK*(10*beta2-105*CscK2+50*K);
     delta = 24 + beta4 + 105*CscK4 + CscK2*(-45*beta2 - 120*K) + 35*beta2*K;
     NK = beta2*(576 + 273*beta4 + beta4*beta4 - 10*beta2*(82 + 3*beta4)*K);
     break;
   case 5:
     beta2 = beta*beta; beta4 = beta2*beta2;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2;
     gamma = -274-beta4+105*beta2*CscK2-945*CscK4-85*beta2*K+1155*CscK2*K;
     delta = CotK*(120 + 15*beta4 + 945*CscK4 + CscK2*(-420*beta2 - 840*K) +
           225*beta2*K);
     NK = beta2*(beta2*(21076.0 + 1023*beta4 + beta4*beta4) -
         5.0*(2880.0 + 11*beta4*(139 + beta4))*K);
     break;
   case 6:
     beta2 = beta*beta; beta4 = beta2*beta2; beta6 = beta4*beta2; beta8 = beta4*beta4;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2; CscK6 = CscK4*CscK2;
     gamma = CotK*(-1764 - 21*beta4 + 1260*beta2*CscK2 - 10395*CscK4 -
           735*beta2*K + 10080*CscK2*K);
     delta = -1624*beta2 - beta6 + 10395*CscK6 + CscK4*(-4725*beta2 - 17010*K) -
       720*K - 175*beta4*K + CscK2*(7560 + 210*beta4 + 6090*beta2*K);
     NK = beta2*(518400 + beta8*beta4 + 296296*beta4 + 3003*beta8 -
         13*beta2*(59472 + 3421*beta4 + 7*beta8)*K);
     break;
   case 7:
     beta2 = beta*beta; beta4 = beta2*beta2; beta6 = beta4*beta2; beta8 = beta4*beta4;
     beta12 = beta6*beta6;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2; CscK6 = CscK4*CscK2;
     gamma = 6769*beta2 + beta6 - 112392*CscK2 - 378*beta4*CscK2 +
       17325*beta2*CscK4 - 135135*CscK6 + 13068*K + 322*beta4*K -
       23310*beta2*CscK2*K + 232155*CscK4*K;
     delta = CotK*(-13132*beta2 - 28*beta6 + 135135*CscK6 +
           CscK4*(-62370*beta2 - 187110*K) - 5040*K - 1960*beta4*K +
           CscK2*(68040 + 3150*beta4 + 64890*beta2*K));
     NK = beta2*(beta2*(38402064 + beta6*beta6 + 2475473*beta4 + 7462*beta8) -
         20*(1270080 + 7*beta12 + 764582*beta4 + 9581*beta8)*K);
     break;
   case 8:
     beta2 = beta*beta; beta4 = beta2*beta2; beta6 = beta4*beta2; beta8 = beta4*beta4;
     beta12 = beta6*beta6; beta16 = beta8*beta8;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2; CscK6 = CscK4*CscK2; CscK8 = CscK4*CscK4;
     gamma = CotK*(67284*beta2 + 36*beta6 - 1191960*CscK2 - 6930*beta4*CscK2 +
           270270*beta2*CscK4 - 2027025*CscK6 + 109584*K + 4536*beta4*K -
           297990*beta2*CscK2*K + 2972970*CscK4*K);
     delta = 40320 + 22449*beta4 + beta8 + 2027025*CscK8 +
       CscK6*(-945945*beta2 - 4324320*K) + 118124*beta2*K + 546*beta6*K +
       CscK4*(2993760 + 51975*beta4 + 1694385*beta2*K) +
       CscK2*(-879480*beta2 - 630*beta6 - 725760*K - 72450*beta4*K);
     NK = beta2*(1625702400 + 16422*beta12 + beta16 + 1017067024*beta4 + 14739153*beta8 -
         68*beta2*(36516672 + 3*beta12 + 2554734*beta4 + 9841*beta8)*K);
   break;
   case 9:
     beta2 = beta*beta; beta4 = beta2*beta2; beta6 = beta4*beta2; beta8 = beta4*beta4;
     beta12 = beta6*beta6; beta16 = beta8*beta8;
     CscK2 = CscK*CscK; CscK4 = CscK2*CscK2; CscK6 = CscK4*CscK2; CscK8 = CscK4*CscK4;
     gamma = -1026576 - 63273*beta4 - beta8 + 4830210*beta2*CscK2 +
       990*beta6*CscK2 - 55945890*CscK4 - 135135*beta4*CscK4 +
       4729725*beta2*CscK6 - 34459425*CscK8 - 723680*beta2*K - 870*beta6*K +
       14933160*CscK2*K + 194040*beta4*CscK2*K - 8783775*beta2*CscK4*K +
       76351275*CscK6*K;
     delta = CotK*(362880 + 269325*beta4 + 45*beta8 + 34459425*CscK8 +
           CscK6*(-16216200*beta2 - 64864800*K) + 1172700*beta2*K + 9450*beta6*K +
           CscK4*(38918880 + 945945*beta4 + 24999975*beta2*K) +
           CscK2*(-10866240*beta2 - 13860*beta6 - 7983360*K - 1094940*beta4*K));
     NK = beta2*(beta2*(202759531776.0 + 32946*beta12 + beta16 + 15088541896.0*beta4 + 68943381.0*beta8) -
         5*(26336378880.0 + 19*beta4*(893321712.0 + 3*beta12 + 14395719.0*beta4 + 21046.0*beta8))*K);
     break;
   default:
     *Phi = 0.0;
     //Failure
     return _FAILURE_;
   }
   beta2 = beta*beta;
   NK = beta*beta;
   int n;
   for (n=1; n<=l; n++)
     NK *=(beta*beta-K*n*n);

   *Phi = (gamma*beta*cos(xbeta)+delta*sin(xbeta))*CscK/sqrt(NK);
   return _SUCCESS_;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x50, %rsp
movq %rdx, %rbx
movapd %xmm0, %xmm11
movl %esi, %r14d
movl %edi, %r15d
cmpl $0x1, %edi
movsd %xmm1, 0x8(%rsp)
je 0x241a9
cmpl $-0x1, %r15d
jne 0x241eb
movapd %xmm1, %xmm0
movsd %xmm11, 0x20(%rsp)
callq 0x80d0
movapd %xmm0, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x8390
jmp 0x241ca
movapd %xmm1, %xmm0
movsd %xmm11, 0x20(%rsp)
callq 0x8230
movapd %xmm0, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x80a0
movsd 0x20(%rsp), %xmm11
movapd 0x10(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movapd 0xc466c(%rip), %xmm15   # 0xe8850
divpd %xmm1, %xmm15
jmp 0x241fe
movsd 0xc106c(%rip), %xmm15   # 0xe5260
divsd %xmm1, %xmm15
unpcklpd %xmm15, %xmm15          # xmm15 = xmm15[0,0]
xorpd %xmm14, %xmm14
cmpl $0x9, %r14d
ja 0x249ec
movapd %xmm11, %xmm12
mulsd %xmm11, %xmm12
movl %r14d, %eax
leaq 0xc469f(%rip), %rcx     # 0xe88c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xc102e(%rip), %xmm0    # 0xe5260
jmp 0x248a2
movapd %xmm12, %xmm0
mulsd %xmm12, %xmm0
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xc4559(%rip), %xmm2    # 0xe87b0
mulsd %xmm1, %xmm2
imull $0x78, %r15d, %eax
cvtsi2sd %eax, %xmm3
movsd 0xc454d(%rip), %xmm4    # 0xe87b8
mulsd %xmm12, %xmm4
subsd %xmm3, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm1
movsd 0xc156c(%rip), %xmm3    # 0xe57f0
mulsd %xmm12, %xmm3
addsd %xmm2, %xmm3
imull $0x32, %r15d, %eax
cvtsi2sd %eax, %xmm14
addsd %xmm3, %xmm14
mulsd %xmm15, %xmm14
addsd 0xc2420(%rip), %xmm0    # 0xe66c8
mulsd 0xc44c0(%rip), %xmm1    # 0xe8770
addsd %xmm0, %xmm1
addsd %xmm1, %xmm4
movsd 0xc4500(%rip), %xmm0    # 0xe87c0
mulsd %xmm12, %xmm0
cvtsi2sd %r15d, %xmm1
mulsd %xmm0, %xmm1
addsd %xmm4, %xmm1
jmp 0x24616
movapd %xmm12, %xmm1
mulsd %xmm12, %xmm1
movapd %xmm12, %xmm6
mulsd %xmm1, %xmm6
movapd %xmm1, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movapd %xmm15, %xmm3
mulpd %xmm15, %xmm3
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
movsd 0xc4202(%rip), %xmm2    # 0xe8510
mulsd %xmm1, %xmm2
addsd 0xc41fe(%rip), %xmm2    # 0xe8518
subsd %xmm0, %xmm2
movsd 0xc41fa(%rip), %xmm5    # 0xe8520
mulsd %xmm12, %xmm5
mulsd %xmm3, %xmm5
addsd %xmm2, %xmm5
movsd 0xc41ed(%rip), %xmm7    # 0xe8528
mulsd %xmm6, %xmm7
movsd 0xc41f0(%rip), %xmm10   # 0xe8538
mulsd %xmm1, %xmm10
cvtsi2sd %r15d, %xmm2
movsd 0xc41fd(%rip), %xmm8    # 0xe8558
mulsd %xmm6, %xmm8
movsd 0xc41ff(%rip), %xmm9    # 0xe8568
mulsd %xmm1, %xmm9
movsd 0xc420a(%rip), %xmm0    # 0xe8580
movsd %xmm11, 0x20(%rsp)
movsd 0xc422a(%rip), %xmm11   # 0xe85b0
mulsd %xmm6, %xmm11
mulsd 0xc423d(%rip), %xmm6    # 0xe85d0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rsp)
movapd %xmm12, %xmm0
movsd 0xc422d(%rip), %xmm12   # 0xe85d8
mulsd %xmm0, %xmm12
addsd %xmm6, %xmm12
imull $0x79d100, %r15d, %eax  # imm = 0x79D100
cvtsi2sd %eax, %xmm6
subsd %xmm6, %xmm12
movsd 0xc41ea(%rip), %xmm13   # 0xe85b8
mulsd %xmm1, %xmm13
mulsd 0xc4205(%rip), %xmm1    # 0xe85e0
mulsd %xmm3, %xmm7
mulsd %xmm2, %xmm1
addsd %xmm12, %xmm1
movsd 0xc4170(%rip), %xmm6    # 0xe8560
mulsd %xmm3, %xmm6
mulsd %xmm3, %xmm9
mulsd %xmm3, %xmm1
movapd %xmm3, %xmm12
mulsd %xmm3, %xmm12
movapd %xmm15, %xmm4
movapd %xmm3, %xmm15
mulsd %xmm12, %xmm15
addsd %xmm5, %xmm7
movsd 0xc410d(%rip), %xmm14   # 0xe8530
mulsd %xmm12, %xmm14
addsd %xmm7, %xmm14
addsd 0xc418a(%rip), %xmm13   # 0xe85c0
mulsd %xmm12, %xmm10
movsd 0xc4185(%rip), %xmm3    # 0xe85c8
mulsd %xmm0, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm13, %xmm3
movsd 0xc4118(%rip), %xmm7    # 0xe8570
mulsd %xmm0, %xmm7
mulsd %xmm12, %xmm7
mulsd %xmm12, %xmm3
movapd %xmm12, %xmm5
mulsd %xmm12, %xmm5
addsd %xmm14, %xmm10
movsd 0xc40c2(%rip), %xmm12   # 0xe8540
mulsd %xmm0, %xmm12
movapd %xmm15, %xmm13
movapd %xmm4, %xmm15
mulsd %xmm13, %xmm12
addsd %xmm10, %xmm12
movsd 0xc40a9(%rip), %xmm4    # 0xe8548
mulsd %xmm5, %xmm4
addsd %xmm12, %xmm4
movsd 0xc409f(%rip), %xmm12   # 0xe8550
mulsd %xmm0, %xmm12
mulsd %xmm2, %xmm12
addsd %xmm4, %xmm12
mulsd %xmm2, %xmm8
addsd %xmm12, %xmm8
movapd %xmm0, %xmm12
mulsd %xmm2, %xmm6
addsd %xmm8, %xmm6
mulsd %xmm2, %xmm9
addsd %xmm6, %xmm9
mulsd %xmm2, %xmm7
addsd %xmm9, %xmm7
movsd 0xc4084(%rip), %xmm14   # 0xe8578
mulsd %xmm13, %xmm14
mulsd %xmm2, %xmm14
movsd 0x38(%rsp), %xmm4
addsd 0xc407c(%rip), %xmm4    # 0xe8588
addsd %xmm7, %xmm14
movsd 0x10(%rsp), %xmm0
mulsd 0xc4071(%rip), %xmm0    # 0xe8590
addsd %xmm4, %xmm0
mulsd 0xc406d(%rip), %xmm5    # 0xe8598
addsd %xmm0, %xmm5
imull $0x3ddc220, %r15d, %eax # imm = 0x3DDC220
cvtsi2sd %eax, %xmm0
movsd 0xc405e(%rip), %xmm4    # 0xe85a0
mulsd %xmm12, %xmm4
subsd %xmm0, %xmm4
mulsd %xmm13, %xmm4
addsd %xmm5, %xmm4
movsd 0xc404c(%rip), %xmm0    # 0xe85a8
mulsd %xmm12, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm4, %xmm0
mulsd %xmm2, %xmm11
addsd %xmm0, %xmm11
addsd %xmm11, %xmm3
movsd 0x20(%rsp), %xmm11
addsd %xmm3, %xmm1
jmp 0x24611
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xc3ea1(%rip), %xmm14   # 0xe8440
mulsd %xmm15, %xmm14
mulsd 0xc219c(%rip), %xmm1    # 0xe6748
subsd %xmm12, %xmm1
leal (%r15,%r15), %eax
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm1
jmp 0x24616
movapd %xmm15, %xmm0
mulpd %xmm15, %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
movsd 0xc41f3(%rip), %xmm1    # 0xe87c8
mulsd %xmm0, %xmm1
imull $0xb, %r15d, %eax
cvtsi2sd %eax, %xmm14
addsd %xmm12, %xmm1
addsd %xmm1, %xmm14
mulsd 0xc3944(%rip), %xmm0    # 0xe7f38
movsd 0xc204c(%rip), %xmm1    # 0xe6648
mulsd %xmm12, %xmm1
addsd %xmm0, %xmm1
imull $0x6, %r15d, %eax
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm1
mulsd %xmm15, %xmm1
movapd %xmm1, 0x10(%rsp)
jmp 0x24bf5
movapd %xmm12, %xmm3
mulsd %xmm12, %xmm3
movapd %xmm12, %xmm1
mulsd %xmm3, %xmm1
movapd %xmm15, %xmm2
mulpd %xmm15, %xmm2
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
movapd %xmm2, %xmm0
movsd 0xc4042(%rip), %xmm4    # 0xe8690
mulsd %xmm12, %xmm4
addsd %xmm1, %xmm4
movsd 0xc4039(%rip), %xmm5    # 0xe8698
mulsd %xmm2, %xmm5
addsd %xmm4, %xmm5
movsd 0xc4031(%rip), %xmm6    # 0xe86a0
mulsd %xmm3, %xmm6
movsd 0xc4035(%rip), %xmm7    # 0xe86b0
mulsd %xmm3, %xmm7
cvtsi2sd %r15d, %xmm4
movsd 0xc405b(%rip), %xmm8    # 0xe86e8
mulsd %xmm3, %xmm8
mulsd 0xc4056(%rip), %xmm3    # 0xe86f0
addsd 0xc4056(%rip), %xmm3    # 0xe86f8
mulsd %xmm2, %xmm6
movsd 0xc4051(%rip), %xmm9    # 0xe8700
mulsd %xmm12, %xmm9
mulsd %xmm4, %xmm9
addsd %xmm3, %xmm9
movsd 0xc3ff2(%rip), %xmm3    # 0xe86b8
mulsd %xmm12, %xmm3
mulsd %xmm2, %xmm3
mulsd %xmm2, %xmm9
mulsd %xmm2, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm5, %xmm6
movsd 0xc3fc0(%rip), %xmm5    # 0xe86a8
mulsd %xmm12, %xmm5
mulsd %xmm2, %xmm5
addsd %xmm6, %xmm5
movsd 0xc3e3b(%rip), %xmm6    # 0xe8538
mulsd %xmm0, %xmm6
addsd %xmm5, %xmm6
imull $0x330c, %r15d, %eax    # imm = 0x330C
cvtsi2sd %eax, %xmm5
addsd %xmm6, %xmm5
mulsd %xmm4, %xmm7
addsd %xmm5, %xmm7
mulsd %xmm4, %xmm3
addsd %xmm7, %xmm3
movsd 0xc3f93(%rip), %xmm14   # 0xe86c0
mulsd %xmm2, %xmm14
mulsd %xmm4, %xmm14
addsd %xmm3, %xmm14
mulsd 0xc3f84(%rip), %xmm1    # 0xe86c8
movsd 0xc3f84(%rip), %xmm3    # 0xe86d0
mulsd %xmm12, %xmm3
addsd %xmm1, %xmm3
mulsd 0xc3f7b(%rip), %xmm0    # 0xe86d8
addsd %xmm3, %xmm0
imull $0x2dae6, %r15d, %eax   # imm = 0x2DAE6
cvtsi2sd %eax, %xmm1
movsd 0xc3f6c(%rip), %xmm3    # 0xe86e0
mulsd %xmm12, %xmm3
subsd %xmm1, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm0, %xmm3
imull $0x13b0, %r15d, %eax    # imm = 0x13B0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm3
mulsd %xmm4, %xmm8
addsd %xmm3, %xmm8
addsd %xmm8, %xmm9
mulsd %xmm15, %xmm9
movapd %xmm9, 0x10(%rsp)
jmp 0x24bf5
movsd 0xc102b(%rip), %xmm14   # 0xe57e8
movapd %xmm15, 0x10(%rsp)
jmp 0x24bf5
movapd %xmm12, %xmm0
mulsd %xmm12, %xmm0
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xc3f87(%rip), %xmm2    # 0xe8770
mulsd %xmm12, %xmm2
mulsd %xmm1, %xmm2
movsd 0xc3f8d(%rip), %xmm14   # 0xe8788
mulsd %xmm1, %xmm14
imull $0x348, %r15d, %eax     # imm = 0x348
cvtsi2sd %eax, %xmm4
movsd 0xc3f8d(%rip), %xmm3    # 0xe87a0
mulsd %xmm12, %xmm3
subsd %xmm4, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm1
movsd 0xc3f3c(%rip), %xmm4    # 0xe8768
subsd %xmm0, %xmm4
addsd %xmm4, %xmm2
movsd 0xc3f3c(%rip), %xmm4    # 0xe8778
mulsd %xmm1, %xmm4
cvtsi2sd %r15d, %xmm5
addsd %xmm2, %xmm4
movsd 0xc3f2f(%rip), %xmm2    # 0xe8780
mulsd %xmm12, %xmm2
mulsd %xmm5, %xmm2
addsd %xmm4, %xmm2
mulsd %xmm5, %xmm14
mulsd 0xc36cd(%rip), %xmm0    # 0xe7f38
addsd 0xc3f1d(%rip), %xmm0    # 0xe8790
mulsd 0xc3f1d(%rip), %xmm1    # 0xe8798
addsd %xmm2, %xmm14
addsd %xmm0, %xmm1
addsd %xmm1, %xmm3
movsd 0xc3f18(%rip), %xmm0    # 0xe87a8
mulsd %xmm12, %xmm0
mulsd %xmm5, %xmm0
addsd %xmm3, %xmm0
mulsd %xmm15, %xmm0
movapd %xmm0, 0x10(%rsp)
jmp 0x24bf5
movapd %xmm12, %xmm3
mulsd %xmm12, %xmm3
movapd %xmm15, %xmm2
mulpd %xmm15, %xmm2
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
movapd %xmm2, %xmm0
movsd 0xc1e3f(%rip), %xmm4    # 0xe6710
mulsd %xmm3, %xmm4
movsd 0xc3e33(%rip), %xmm5    # 0xe8710
mulsd %xmm12, %xmm5
mulsd %xmm2, %xmm5
cvtsi2sd %r15d, %xmm1
movapd %xmm12, %xmm6
mulsd %xmm3, %xmm6
movsd 0xc3e4c(%rip), %xmm7    # 0xe8748
mulsd %xmm3, %xmm7
mulsd 0xc3e48(%rip), %xmm3    # 0xe8750
addsd 0xc3e48(%rip), %xmm3    # 0xe8758
movsd 0xc3e47(%rip), %xmm8    # 0xe8760
mulsd %xmm12, %xmm8
mulsd %xmm1, %xmm8
addsd %xmm3, %xmm8
movsd 0xc3df7(%rip), %xmm14   # 0xe8728
mulsd %xmm2, %xmm14
mulsd %xmm2, %xmm8
mulsd %xmm2, %xmm2
addsd 0xc3dc1(%rip), %xmm4    # 0xe8708
addsd %xmm4, %xmm5
movsd 0xc3dc5(%rip), %xmm3    # 0xe8718
mulsd %xmm2, %xmm3
addsd %xmm5, %xmm3
movsd 0xc3dbd(%rip), %xmm4    # 0xe8720
mulsd %xmm12, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd %xmm2, %xmm0
mulsd %xmm1, %xmm14
addsd %xmm4, %xmm14
mulsd %xmm15, %xmm14
movsd 0xc3da5(%rip), %xmm3    # 0xe8730
mulsd %xmm12, %xmm3
subsd %xmm6, %xmm3
mulsd 0xc3d9c(%rip), %xmm0    # 0xe8738
addsd %xmm3, %xmm0
imull $0x4272, %r15d, %eax    # imm = 0x4272
cvtsi2sd %eax, %xmm3
movsd 0xc3d8d(%rip), %xmm4    # 0xe8740
mulsd %xmm12, %xmm4
subsd %xmm3, %xmm4
mulsd %xmm2, %xmm4
addsd %xmm0, %xmm4
imull $0x2d0, %r15d, %eax     # imm = 0x2D0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm4
mulsd %xmm1, %xmm7
addsd %xmm4, %xmm7
addsd %xmm7, %xmm8
movapd %xmm8, 0x10(%rsp)
jmp 0x24bf5
pushq $0x1
popq %rax
jmp 0x24ccd
movapd %xmm12, %xmm13
mulsd %xmm12, %xmm13
movapd %xmm12, %xmm5
mulsd %xmm13, %xmm5
movapd %xmm13, %xmm0
movapd %xmm15, %xmm2
mulpd %xmm15, %xmm2
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
movapd %xmm2, %xmm1
movsd 0xc3bc1(%rip), %xmm3    # 0xe85e8
mulsd %xmm5, %xmm3
movsd 0xc3bbd(%rip), %xmm6    # 0xe85f0
mulsd %xmm12, %xmm6
addsd %xmm3, %xmm6
movsd 0xc3bb4(%rip), %xmm4    # 0xe85f8
mulsd %xmm2, %xmm4
addsd %xmm6, %xmm4
movsd 0xc3bac(%rip), %xmm6    # 0xe8600
mulsd %xmm13, %xmm6
mulsd %xmm2, %xmm6
movsd 0xc3bb3(%rip), %xmm7    # 0xe8618
cvtsi2sd %r15d, %xmm3
mulsd %xmm13, %xmm7
movsd 0xc3bb8(%rip), %xmm8    # 0xe8630
movsd 0xc3bd7(%rip), %xmm9    # 0xe8658
mulsd %xmm5, %xmm9
mulsd 0xc3bea(%rip), %xmm5    # 0xe8678
movsd 0xc3be9(%rip), %xmm10   # 0xe8680
mulsd %xmm12, %xmm10
addsd %xmm5, %xmm10
imull $0xb1300, %r15d, %eax   # imm = 0xB1300
cvtsi2sd %eax, %xmm5
mulsd %xmm13, %xmm8
subsd %xmm5, %xmm10
movsd 0xc3ba2(%rip), %xmm5    # 0xe8660
mulsd %xmm13, %xmm5
mulsd 0xc3bbc(%rip), %xmm13   # 0xe8688
mulsd %xmm3, %xmm13
addsd %xmm10, %xmm13
movsd 0xc3b41(%rip), %xmm10   # 0xe8620
mulsd %xmm12, %xmm10
mulsd %xmm2, %xmm10
mulsd %xmm2, %xmm13
mulsd %xmm2, %xmm2
mulsd %xmm2, %xmm1
addsd %xmm4, %xmm6
movsd 0xc3b06(%rip), %xmm4    # 0xe8608
mulsd %xmm12, %xmm4
mulsd %xmm2, %xmm4
addsd %xmm6, %xmm4
movsd 0xc3af9(%rip), %xmm6    # 0xe8610
mulsd %xmm1, %xmm6
addsd %xmm4, %xmm6
imull $0x1ac10, %r15d, %eax   # imm = 0x1AC10
cvtsi2sd %eax, %xmm4
addsd %xmm6, %xmm4
mulsd %xmm3, %xmm7
addsd %xmm4, %xmm7
mulsd %xmm0, %xmm0
mulsd %xmm3, %xmm10
addsd %xmm7, %xmm10
addsd 0xc3b1c(%rip), %xmm5    # 0xe8668
movsd 0xc3b1c(%rip), %xmm4    # 0xe8670
mulsd %xmm12, %xmm4
mulsd %xmm3, %xmm4
addsd %xmm5, %xmm4
movsd 0xc3abe(%rip), %xmm14   # 0xe8628
mulsd %xmm2, %xmm14
mulsd %xmm2, %xmm4
mulsd %xmm2, %xmm2
mulsd %xmm3, %xmm14
addsd %xmm10, %xmm14
mulsd %xmm15, %xmm14
addsd 0xc3aa9(%rip), %xmm8    # 0xe8638
addsd %xmm0, %xmm8
mulsd 0xc3aa4(%rip), %xmm2    # 0xe8640
addsd %xmm8, %xmm2
imull $0x41fbe0, %r15d, %eax  # imm = 0x41FBE0
cvtsi2sd %eax, %xmm0
movsd 0xc3a94(%rip), %xmm5    # 0xe8648
mulsd %xmm12, %xmm5
subsd %xmm0, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm2, %xmm5
movsd 0xc3a83(%rip), %xmm0    # 0xe8650
mulsd %xmm12, %xmm0
mulsd %xmm3, %xmm0
addsd %xmm5, %xmm0
mulsd %xmm3, %xmm9
addsd %xmm0, %xmm9
addsd %xmm9, %xmm4
addsd %xmm4, %xmm13
movapd %xmm13, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
mulsd %xmm11, %xmm0
negl %r14d
pushq $0x1
popq %rax
movapd %xmm11, %xmm3
mulsd %xmm11, %xmm3
movl %r15d, %ecx
leal (%r14,%rax), %edx
cmpl $0x1, %edx
je 0x24c39
movl %ecx, %edx
imull %eax, %edx
cvtsi2sd %edx, %xmm1
movapd %xmm3, %xmm2
subsd %xmm1, %xmm2
mulsd %xmm2, %xmm12
incl %eax
addl %r15d, %ecx
jmp 0x24c13
mulsd %xmm11, %xmm14
movsd %xmm14, 0x48(%rsp)
movsd %xmm0, 0x8(%rsp)
movapd %xmm15, 0x20(%rsp)
movsd %xmm12, 0x38(%rsp)
callq 0x86d0
movsd %xmm0, 0x40(%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x80a0
movsd 0x38(%rsp), %xmm2
movapd 0x20(%rsp), %xmm1
movapd 0x10(%rsp), %xmm3
mulsd %xmm0, %xmm3
movsd 0x40(%rsp), %xmm0
mulsd 0x48(%rsp), %xmm0
addsd %xmm3, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
mulsd %xmm0, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm2
jb 0x24cad
sqrtsd %xmm2, %xmm0
jmp 0x24cc2
movapd %xmm2, %xmm0
movapd %xmm1, 0x20(%rsp)
callq 0x82d0
movapd 0x20(%rsp), %xmm1
divsd %xmm0, %xmm1
xorl %eax, %eax
movapd %xmm1, %xmm14
movsd %xmm14, (%rbx)
addq $0x50, %rsp
popq %rbx
popq %r14
popq %r15
retq