// File: /workspace/github_c_makefile_star2_O1/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 $0x40, %rsp
movq %rdx, %rbx
movapd %xmm0, %xmm11
movl %esi, %r14d
movl %edi, %r15d
cmpl $0x1, %edi
movsd %xmm1, (%rsp)
je 0x26aca
cmpl $-0x1, %r15d
jne 0x26b0b
movapd %xmm1, %xmm0
movsd %xmm11, 0x8(%rsp)
callq 0x80d0
movapd %xmm0, 0x20(%rsp)
movsd (%rsp), %xmm0
callq 0x8370
jmp 0x26aea
movapd %xmm1, %xmm0
movsd %xmm11, 0x8(%rsp)
callq 0x8210
movapd %xmm0, 0x20(%rsp)
movsd (%rsp), %xmm0
callq 0x80a0
movsd 0x8(%rsp), %xmm11
movapd 0x20(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movapd 0xcde1c(%rip), %xmm15   # 0xf4920
divpd %xmm1, %xmm15
jmp 0x26b1e
movsd 0xca74c(%rip), %xmm15   # 0xf1260
divsd %xmm1, %xmm15
unpcklpd %xmm15, %xmm15          # xmm15 = xmm15[0,0]
xorpd %xmm14, %xmm14
cmpl $0x9, %r14d
ja 0x27342
movapd %xmm11, %xmm12
mulsd %xmm11, %xmm12
movl %r14d, %eax
leaq 0xcde4f(%rip), %rcx     # 0xf4990
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xca70e(%rip), %xmm0    # 0xf1260
jmp 0x271ef
movapd %xmm12, %xmm0
mulsd %xmm12, %xmm0
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xcdca9(%rip), %xmm2    # 0xf4820
mulsd %xmm1, %xmm2
imull $0x78, %r15d, %eax
cvtsi2sd %eax, %xmm3
movsd 0xcdc9d(%rip), %xmm4    # 0xf4828
mulsd %xmm12, %xmm4
subsd %xmm3, %xmm4
mulsd %xmm1, %xmm4
mulsd %xmm1, %xmm1
movsd 0xcac4c(%rip), %xmm3    # 0xf17f0
mulsd %xmm12, %xmm3
addsd %xmm2, %xmm3
imull $0x32, %r15d, %eax
xorps %xmm14, %xmm14
cvtsi2sd %eax, %xmm14
addsd %xmm3, %xmm14
mulsd %xmm15, %xmm14
addsd 0xcbb24(%rip), %xmm0    # 0xf26f0
mulsd 0xcdc0c(%rip), %xmm1    # 0xf47e0
addsd %xmm0, %xmm1
addsd %xmm1, %xmm4
movsd 0xcdc4c(%rip), %xmm0    # 0xf4830
mulsd %xmm12, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %r15d, %xmm1
mulsd %xmm0, %xmm1
addsd %xmm4, %xmm1
jmp 0x26f57
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 0xcd94b(%rip), %xmm2    # 0xf4580
mulsd %xmm1, %xmm2
addsd 0xcd947(%rip), %xmm2    # 0xf4588
subsd %xmm0, %xmm2
movsd 0xcd943(%rip), %xmm5    # 0xf4590
mulsd %xmm12, %xmm5
mulsd %xmm3, %xmm5
addsd %xmm2, %xmm5
movsd 0xcd936(%rip), %xmm7    # 0xf4598
mulsd %xmm6, %xmm7
movsd 0xcd939(%rip), %xmm10   # 0xf45a8
mulsd %xmm1, %xmm10
xorps %xmm2, %xmm2
cvtsi2sd %r15d, %xmm2
movsd 0xcd943(%rip), %xmm8    # 0xf45c8
mulsd %xmm6, %xmm8
movsd 0xcd945(%rip), %xmm9    # 0xf45d8
mulsd %xmm1, %xmm9
movsd 0xcd950(%rip), %xmm0    # 0xf45f0
movsd %xmm11, 0x8(%rsp)
movsd 0xcd970(%rip), %xmm11   # 0xf4620
mulsd %xmm6, %xmm11
mulsd 0xcd983(%rip), %xmm6    # 0xf4640
mulsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movapd %xmm12, %xmm0
movsd 0xcd973(%rip), %xmm12   # 0xf4648
mulsd %xmm0, %xmm12
addsd %xmm6, %xmm12
imull $0x79d100, %r15d, %eax  # imm = 0x79D100
xorps %xmm6, %xmm6
cvtsi2sd %eax, %xmm6
subsd %xmm6, %xmm12
movsd 0xcd92d(%rip), %xmm13   # 0xf4628
mulsd %xmm1, %xmm13
mulsd 0xcd948(%rip), %xmm1    # 0xf4650
mulsd %xmm3, %xmm7
mulsd %xmm2, %xmm1
addsd %xmm12, %xmm1
movsd 0xcd8b3(%rip), %xmm6    # 0xf45d0
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 0xcd850(%rip), %xmm14   # 0xf45a0
mulsd %xmm12, %xmm14
addsd %xmm7, %xmm14
addsd 0xcd8cd(%rip), %xmm13   # 0xf4630
mulsd %xmm12, %xmm10
movsd 0xcd8c8(%rip), %xmm3    # 0xf4638
mulsd %xmm0, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm13, %xmm3
movsd 0xcd85b(%rip), %xmm7    # 0xf45e0
mulsd %xmm0, %xmm7
mulsd %xmm12, %xmm7
mulsd %xmm12, %xmm3
movapd %xmm12, %xmm5
mulsd %xmm12, %xmm5
addsd %xmm14, %xmm10
movsd 0xcd805(%rip), %xmm12   # 0xf45b0
mulsd %xmm0, %xmm12
movapd %xmm15, %xmm13
movapd %xmm4, %xmm15
mulsd %xmm13, %xmm12
addsd %xmm10, %xmm12
movsd 0xcd7ec(%rip), %xmm4    # 0xf45b8
mulsd %xmm5, %xmm4
addsd %xmm12, %xmm4
movsd 0xcd7e2(%rip), %xmm12   # 0xf45c0
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 0xcd7c7(%rip), %xmm14   # 0xf45e8
mulsd %xmm13, %xmm14
mulsd %xmm2, %xmm14
movsd 0x30(%rsp), %xmm4
addsd 0xcd7bf(%rip), %xmm4    # 0xf45f8
addsd %xmm7, %xmm14
movsd 0x10(%rsp), %xmm0
mulsd 0xcd7b4(%rip), %xmm0    # 0xf4600
addsd %xmm4, %xmm0
mulsd 0xcd7b0(%rip), %xmm5    # 0xf4608
addsd %xmm0, %xmm5
imull $0x3ddc220, %r15d, %eax # imm = 0x3DDC220
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd 0xcd79e(%rip), %xmm4    # 0xf4610
mulsd %xmm12, %xmm4
subsd %xmm0, %xmm4
mulsd %xmm13, %xmm4
addsd %xmm5, %xmm4
movsd 0xcd78c(%rip), %xmm0    # 0xf4618
mulsd %xmm12, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm4, %xmm0
mulsd %xmm2, %xmm11
addsd %xmm0, %xmm11
addsd %xmm11, %xmm3
movsd 0x8(%rsp), %xmm11
addsd %xmm3, %xmm1
jmp 0x26f52
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xcd5a1(%rip), %xmm14   # 0xf4470
mulsd %xmm15, %xmm14
mulsd 0xcb7a4(%rip), %xmm1    # 0xf2680
subsd %xmm12, %xmm1
leal (%r15,%r15), %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm1
jmp 0x26f57
movapd %xmm15, %xmm0
mulpd %xmm15, %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
movsd 0xcd930(%rip), %xmm1    # 0xf4838
mulsd %xmm0, %xmm1
addsd %xmm12, %xmm1
leal (%r15,%r15,4), %eax
leal (%r15,%rax,2), %eax
xorps %xmm14, %xmm14
cvtsi2sd %eax, %xmm14
addsd %xmm1, %xmm14
mulsd 0xcd039(%rip), %xmm0    # 0xf3f68
movsd 0xcb731(%rip), %xmm1    # 0xf2668
mulsd %xmm12, %xmm1
addsd %xmm0, %xmm1
leal (%r15,%r15), %eax
leal (%rax,%rax,2), %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm1
mulsd %xmm15, %xmm1
movapd %xmm1, 0x10(%rsp)
jmp 0x27559
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 0xcd771(%rip), %xmm4    # 0xf4700
mulsd %xmm12, %xmm4
addsd %xmm1, %xmm4
movsd 0xcd768(%rip), %xmm5    # 0xf4708
mulsd %xmm2, %xmm5
addsd %xmm4, %xmm5
movsd 0xcd760(%rip), %xmm6    # 0xf4710
mulsd %xmm3, %xmm6
movsd 0xcd764(%rip), %xmm7    # 0xf4720
mulsd %xmm3, %xmm7
xorps %xmm4, %xmm4
cvtsi2sd %r15d, %xmm4
movsd 0xcd787(%rip), %xmm8    # 0xf4758
mulsd %xmm3, %xmm8
mulsd 0xcd782(%rip), %xmm3    # 0xf4760
addsd 0xcd782(%rip), %xmm3    # 0xf4768
mulsd %xmm2, %xmm6
movsd 0xcd77d(%rip), %xmm9    # 0xf4770
mulsd %xmm12, %xmm9
mulsd %xmm4, %xmm9
addsd %xmm3, %xmm9
movsd 0xcd71e(%rip), %xmm3    # 0xf4728
mulsd %xmm12, %xmm3
mulsd %xmm2, %xmm3
mulsd %xmm2, %xmm9
mulsd %xmm2, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm5, %xmm6
movsd 0xcd6ec(%rip), %xmm5    # 0xf4718
mulsd %xmm12, %xmm5
mulsd %xmm2, %xmm5
addsd %xmm6, %xmm5
movsd 0xcd567(%rip), %xmm6    # 0xf45a8
mulsd %xmm0, %xmm6
addsd %xmm5, %xmm6
imull $0x330c, %r15d, %eax    # imm = 0x330C
xorps %xmm5, %xmm5
cvtsi2sd %eax, %xmm5
addsd %xmm6, %xmm5
mulsd %xmm4, %xmm7
addsd %xmm5, %xmm7
mulsd %xmm4, %xmm3
addsd %xmm7, %xmm3
movsd 0xcd6bc(%rip), %xmm14   # 0xf4730
mulsd %xmm2, %xmm14
mulsd %xmm4, %xmm14
addsd %xmm3, %xmm14
mulsd 0xcd6ad(%rip), %xmm1    # 0xf4738
movsd 0xcd6ad(%rip), %xmm3    # 0xf4740
mulsd %xmm12, %xmm3
addsd %xmm1, %xmm3
mulsd 0xcd6a4(%rip), %xmm0    # 0xf4748
addsd %xmm3, %xmm0
imull $0x2dae6, %r15d, %eax   # imm = 0x2DAE6
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
movsd 0xcd692(%rip), %xmm3    # 0xf4750
mulsd %xmm12, %xmm3
subsd %xmm1, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm0, %xmm3
imull $0x13b0, %r15d, %eax    # imm = 0x13B0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm3
mulsd %xmm4, %xmm8
addsd %xmm3, %xmm8
addsd %xmm8, %xmm9
mulsd %xmm15, %xmm9
movapd %xmm9, 0x10(%rsp)
jmp 0x27559
movsd 0xca6de(%rip), %xmm14   # 0xf17e8
movapd %xmm15, 0x10(%rsp)
jmp 0x27559
movapd %xmm12, %xmm0
mulsd %xmm12, %xmm0
movapd %xmm15, %xmm1
mulpd %xmm15, %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
movsd 0xcd6aa(%rip), %xmm2    # 0xf47e0
mulsd %xmm12, %xmm2
mulsd %xmm1, %xmm2
movsd 0xcd6b0(%rip), %xmm14   # 0xf47f8
mulsd %xmm1, %xmm14
imull $0x348, %r15d, %eax     # imm = 0x348
cvtsi2sd %eax, %xmm4
movsd 0xcd6b0(%rip), %xmm3    # 0xf4810
mulsd %xmm12, %xmm3
subsd %xmm4, %xmm3
mulsd %xmm1, %xmm3
mulsd %xmm1, %xmm1
movsd 0xcd65f(%rip), %xmm4    # 0xf47d8
subsd %xmm0, %xmm4
addsd %xmm4, %xmm2
movsd 0xcd65f(%rip), %xmm4    # 0xf47e8
mulsd %xmm1, %xmm4
cvtsi2sd %r15d, %xmm5
addsd %xmm2, %xmm4
movsd 0xcd652(%rip), %xmm2    # 0xf47f0
mulsd %xmm12, %xmm2
mulsd %xmm5, %xmm2
addsd %xmm4, %xmm2
mulsd %xmm5, %xmm14
mulsd 0xccdb0(%rip), %xmm0    # 0xf3f68
addsd 0xcd640(%rip), %xmm0    # 0xf4800
mulsd 0xcd640(%rip), %xmm1    # 0xf4808
addsd %xmm2, %xmm14
addsd %xmm0, %xmm1
addsd %xmm1, %xmm3
movsd 0xcd63b(%rip), %xmm0    # 0xf4818
mulsd %xmm12, %xmm0
mulsd %xmm5, %xmm0
addsd %xmm3, %xmm0
mulsd %xmm15, %xmm0
movapd %xmm0, 0x10(%rsp)
jmp 0x27559
movapd %xmm12, %xmm3
mulsd %xmm12, %xmm3
movapd %xmm15, %xmm2
mulpd %xmm15, %xmm2
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
movapd %xmm2, %xmm0
movsd 0xcb512(%rip), %xmm4    # 0xf2730
mulsd %xmm3, %xmm4
movsd 0xcd556(%rip), %xmm5    # 0xf4780
mulsd %xmm12, %xmm5
mulsd %xmm2, %xmm5
xorps %xmm1, %xmm1
cvtsi2sd %r15d, %xmm1
movapd %xmm12, %xmm6
mulsd %xmm3, %xmm6
movsd 0xcd56c(%rip), %xmm7    # 0xf47b8
mulsd %xmm3, %xmm7
mulsd 0xcd568(%rip), %xmm3    # 0xf47c0
addsd 0xcd568(%rip), %xmm3    # 0xf47c8
movsd 0xcd567(%rip), %xmm8    # 0xf47d0
mulsd %xmm12, %xmm8
mulsd %xmm1, %xmm8
addsd %xmm3, %xmm8
movsd 0xcd517(%rip), %xmm14   # 0xf4798
mulsd %xmm2, %xmm14
mulsd %xmm2, %xmm8
mulsd %xmm2, %xmm2
addsd 0xcd4e1(%rip), %xmm4    # 0xf4778
addsd %xmm4, %xmm5
movsd 0xcd4e5(%rip), %xmm3    # 0xf4788
mulsd %xmm2, %xmm3
addsd %xmm5, %xmm3
movsd 0xcd4dd(%rip), %xmm4    # 0xf4790
mulsd %xmm12, %xmm4
mulsd %xmm1, %xmm4
addsd %xmm3, %xmm4
mulsd %xmm2, %xmm0
mulsd %xmm1, %xmm14
addsd %xmm4, %xmm14
mulsd %xmm15, %xmm14
movsd 0xcd4c5(%rip), %xmm3    # 0xf47a0
mulsd %xmm12, %xmm3
subsd %xmm6, %xmm3
mulsd 0xcd4bc(%rip), %xmm0    # 0xf47a8
addsd %xmm3, %xmm0
imull $0x4272, %r15d, %eax    # imm = 0x4272
xorps %xmm3, %xmm3
cvtsi2sd %eax, %xmm3
movsd 0xcd4aa(%rip), %xmm4    # 0xf47b0
mulsd %xmm12, %xmm4
subsd %xmm3, %xmm4
mulsd %xmm2, %xmm4
addsd %xmm0, %xmm4
imull $0x2d0, %r15d, %eax     # imm = 0x2D0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd %xmm0, %xmm4
mulsd %xmm1, %xmm7
addsd %xmm4, %xmm7
addsd %xmm7, %xmm8
movapd %xmm8, 0x10(%rsp)
jmp 0x27559
movl $0x1, %eax
jmp 0x2763b
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 0xcd2d9(%rip), %xmm3    # 0xf4658
mulsd %xmm5, %xmm3
movsd 0xcd2d5(%rip), %xmm6    # 0xf4660
mulsd %xmm12, %xmm6
addsd %xmm3, %xmm6
movsd 0xcd2cc(%rip), %xmm4    # 0xf4668
mulsd %xmm2, %xmm4
addsd %xmm6, %xmm4
movsd 0xcd2c4(%rip), %xmm6    # 0xf4670
mulsd %xmm13, %xmm6
mulsd %xmm2, %xmm6
movsd 0xcd2cb(%rip), %xmm7    # 0xf4688
xorps %xmm3, %xmm3
cvtsi2sd %r15d, %xmm3
mulsd %xmm13, %xmm7
movsd 0xcd2cd(%rip), %xmm8    # 0xf46a0
movsd 0xcd2ec(%rip), %xmm9    # 0xf46c8
mulsd %xmm5, %xmm9
mulsd 0xcd2ff(%rip), %xmm5    # 0xf46e8
movsd 0xcd2fe(%rip), %xmm10   # 0xf46f0
mulsd %xmm12, %xmm10
addsd %xmm5, %xmm10
imull $0xb1300, %r15d, %eax   # imm = 0xB1300
xorps %xmm5, %xmm5
cvtsi2sd %eax, %xmm5
mulsd %xmm13, %xmm8
subsd %xmm5, %xmm10
movsd 0xcd2b4(%rip), %xmm5    # 0xf46d0
mulsd %xmm13, %xmm5
mulsd 0xcd2ce(%rip), %xmm13   # 0xf46f8
mulsd %xmm3, %xmm13
addsd %xmm10, %xmm13
movsd 0xcd253(%rip), %xmm10   # 0xf4690
mulsd %xmm12, %xmm10
mulsd %xmm2, %xmm10
mulsd %xmm2, %xmm13
mulsd %xmm2, %xmm2
mulsd %xmm2, %xmm1
addsd %xmm4, %xmm6
movsd 0xcd218(%rip), %xmm4    # 0xf4678
mulsd %xmm12, %xmm4
mulsd %xmm2, %xmm4
addsd %xmm6, %xmm4
movsd 0xcd20b(%rip), %xmm6    # 0xf4680
mulsd %xmm1, %xmm6
addsd %xmm4, %xmm6
imull $0x1ac10, %r15d, %eax   # imm = 0x1AC10
xorps %xmm4, %xmm4
cvtsi2sd %eax, %xmm4
addsd %xmm6, %xmm4
mulsd %xmm3, %xmm7
addsd %xmm4, %xmm7
mulsd %xmm0, %xmm0
mulsd %xmm3, %xmm10
addsd %xmm7, %xmm10
addsd 0xcd22b(%rip), %xmm5    # 0xf46d8
movsd 0xcd22b(%rip), %xmm4    # 0xf46e0
mulsd %xmm12, %xmm4
mulsd %xmm3, %xmm4
addsd %xmm5, %xmm4
movsd 0xcd1cd(%rip), %xmm14   # 0xf4698
mulsd %xmm2, %xmm14
mulsd %xmm2, %xmm4
mulsd %xmm2, %xmm2
mulsd %xmm3, %xmm14
addsd %xmm10, %xmm14
mulsd %xmm15, %xmm14
addsd 0xcd1b8(%rip), %xmm8    # 0xf46a8
addsd %xmm0, %xmm8
mulsd 0xcd1b3(%rip), %xmm2    # 0xf46b0
addsd %xmm8, %xmm2
imull $0x41fbe0, %r15d, %eax  # imm = 0x41FBE0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd 0xcd1a0(%rip), %xmm5    # 0xf46b8
mulsd %xmm12, %xmm5
subsd %xmm0, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm2, %xmm5
movsd 0xcd18f(%rip), %xmm0    # 0xf46c0
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 (%rsp), %xmm0
mulsd %xmm11, %xmm0
testl %r14d, %r14d
movapd %xmm15, 0x20(%rsp)
jle 0x275ad
negl %r14d
movl $0x1, %ecx
movapd %xmm11, %xmm3
mulsd %xmm11, %xmm3
movl %r15d, %eax
movl %eax, %edx
imull %ecx, %edx
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
movapd %xmm3, %xmm2
subsd %xmm1, %xmm2
mulsd %xmm2, %xmm12
leal (%r14,%rcx), %edx
incl %edx
incl %ecx
addl %r15d, %eax
cmpl $0x1, %edx
jne 0x27584
movsd %xmm12, 0x8(%rsp)
mulsd %xmm11, %xmm14
movsd %xmm14, 0x30(%rsp)
movsd %xmm0, (%rsp)
callq 0x86a0
movsd %xmm0, 0x38(%rsp)
movsd (%rsp), %xmm0
callq 0x80a0
movsd 0x8(%rsp), %xmm2
movapd 0x10(%rsp), %xmm1
mulsd %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
mulsd 0x30(%rsp), %xmm0
addsd %xmm1, %xmm0
movapd 0x20(%rsp), %xmm1
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
mulsd %xmm0, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm2
jb 0x2761b
xorps %xmm0, %xmm0
sqrtsd %xmm2, %xmm0
jmp 0x27630
movapd %xmm2, %xmm0
movapd %xmm1, 0x20(%rsp)
callq 0x82b0
movapd 0x20(%rsp), %xmm1
divsd %xmm0, %xmm1
xorl %eax, %eax
movapd %xmm1, %xmm14
movsd %xmm14, (%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq