// File: /workspace/github_c_makefile_star2_O2/PoulinV[P]AxiCLASS/build/../source/distortions.c
// Function: distortions_add_effects_reio
int distortions_add_effects_reio(struct background * pba,
                                 struct thermodynamics * pth,
                                 struct distortions * psd,
                                 double T_e,
                                 double Dtau,
                                 double beta,
                                 double beta_z,
                                 double x,
                                 double * y_reio,
                                 double * DI_reio){

  /** Define local variables */
  double theta_e, cos_theta, P_1, P_2, x_tilde, S_tilde;
  double G_T, Y_SZ;
  double M_low, M_k, D_low, D_k, Q_low, Q_k;
  int index_k, index_n;
  double Y_0, Y_1, Y_2;
  double B_0, B_1, B_2, B_3;
  double C_0, C_1, C_2, C_3;
  double D_0, D_1, D_2, D_3;
  double DI_tSZ_non_rel, DI_tSZ_rel, DI_tSZ, DI_kSZ;

  /* Compute related quantities */
  theta_e = T_e*1.e3/(_m_e_/_GeV_over_kg_*1.e9);
  cos_theta = beta_z/beta;
  P_1 = cos_theta;
  P_2 = (3.*pow(cos_theta,2.)-1.)/2.;
  x_tilde = x/tanh(x/2.);  // coth=1/tanh
  S_tilde = x/sinh(x/2.);

  G_T = pow(x,4.)*exp(-x)/pow(1.-exp(-x),2.);
  Y_SZ = G_T*(x_tilde-4.);

  double Delta_x[8] = {-1.,
                       x_tilde,
                       -(pow(x_tilde,2.)
                         +pow(S_tilde,2.)/2.),
                       x_tilde*(pow(x_tilde,2.)
                                +pow(S_tilde,2.)*2.),
                       -(pow(x_tilde,4.)
                         +pow(x_tilde,2.)*pow(S_tilde,2.)*11./2.
                         +pow(S_tilde,4.)),
                       x_tilde*(pow(x_tilde,4.)
                                +pow(x_tilde,2.)*pow(S_tilde,2.)*13.
                                +pow(S_tilde,4.)*17./2.),
                       -(pow(x_tilde,6.)
                         +pow(x_tilde,4.)*pow(S_tilde,2.)*57./2.
                         +pow(x_tilde,2.)*pow(S_tilde,4.)*45.
                         +pow(S_tilde,6.)*17./4.),
                       x_tilde*(pow(x_tilde,6.)
                                +pow(x_tilde,4.)*pow(S_tilde,2.)*60.
                                +pow(x_tilde,2.)*pow(S_tilde,4.)*192.
                                +pow(S_tilde,6.)*62.)};

  /** Thermal SZ effect (TSZ) */
  /* Fill coefficient tables from appendix A1 of Chluba et al. 2012 */
  double a[6][3] = {{4., 10.,    15./2.},
                    {1., 47./2., 1023./8.},
                    {0., 42./5., 868./5.},
                    {0., 7./10., 329./5.},
                    {0., 0.,     44./5.},
                    {0., 0.,     11./30.}};

  double Y_k[3] = {0., 0., 0.};

  for (index_k=0; index_k<3; ++index_k){
    Y_k[index_k] = 0.;
    for (index_n=0; index_n<2*index_k+2; ++index_n){
      Y_k[index_k]+=a[index_n][index_k]*Delta_x[index_n];
    }
  }

  /** Non-relativistic TSZ */
  DI_tSZ_non_rel = Dtau*theta_e*G_T*Y_k[0];

  /** Relativistic TSZ */
  DI_tSZ_rel = 0.;
  for (index_k=1; index_k<3; ++index_k){
    DI_tSZ_rel += Dtau*pow(theta_e,index_k+1)*G_T*Y_k[index_k];
  }

  DI_tSZ = DI_tSZ_non_rel+DI_tSZ_rel;

  /** Kinematic SZ effect (kSZ) */
  /* Calculated according to Nozawa et al. 2005 */
  switch(psd->sd_reio_type){
  case sd_reio_Nozawa:
    Y_0 = Y_k[0];
    Y_1 = Y_k[1];
    Y_2 = Y_k[2];

    B_0 = 1.*Y_0/3.;
    B_1 = 5.*Y_0/6.
      +2.*Y_1/3.;
    B_2 = 5.*Y_0/8.
      +3.*Y_1/2.
      +Y_2;
    B_3 = -5.*Y_0/8.
      +5.*Y_1/4.
      +5.*Y_2/2.;

    C_0 = 1.;
    C_1 = 10.
      -47.*x_tilde/5.
      +7.*pow(x_tilde,2.)/5.
      +7.*pow(S_tilde,2.)/10.;
    C_2 = 25.
      -1117.*x_tilde/10.
      +847.*pow(x_tilde,2.)/10.
      -183.*pow(x_tilde,3.)/10.
      +11.*pow(x_tilde,4.)/10.
      +pow(S_tilde,2.)*(847./20.
                        -183.*x_tilde/5.
                        +121.*pow(x_tilde,2.)/20.)
      +11.*pow(S_tilde,4.)/10.;
    C_3 = 75./4.
      -21873.*x_tilde/40.
      +49161.*pow(x_tilde,2.)/40.
      -27519.*pow(x_tilde,3.)/35.
      +6684.*pow(x_tilde,4.)/35.
      -3917.*pow(x_tilde,5.)/210.
      +64.*pow(x_tilde,6.)/105.
      +pow(S_tilde,2.)*(49161./80.
                        -55038.*x_tilde/35.
                        +36762.*pow(x_tilde,2.)/35.
                        -50921.*pow(x_tilde,3.)/210.
                        +608.*pow(x_tilde,4.)/35.)
      +pow(S_tilde,4.)*(6684./35.
                        -66589.*x_tilde/420.
                        +192.*pow(x_tilde,2.)/7.)
      +272.*pow(S_tilde,6.)/105.;

    D_0 = -2./3.
      +11.*x_tilde/30.;
    D_1 = -4.
      +12.*x_tilde
      -6.*pow(x_tilde,2.)
      +19.*pow(x_tilde,3.)/30.
      +pow(S_tilde,2.)*(-3.
                        +19.*x_tilde/15.);
    D_2 = -10.
      +542.*x_tilde/5.
      -843.*pow(x_tilde,2.)/5.
      +10603.*pow(x_tilde,3.)/140.
      -409.*pow(x_tilde,4.)/35.
      +23.*pow(x_tilde,5.)/42.
      +pow(S_tilde,2.)*(-843./10.
                        +10603.*x_tilde/70.
                        -4499.*pow(x_tilde,2.)/70.
                        +299.*pow(x_tilde,3.)/42.)
      +pow(S_tilde,4.)*(-409./35.
                        +391.*x_tilde/84.);
    D_3 = -15./2.
      +4929.*x_tilde/40.
      -39777.*pow(x_tilde,2.)/20.
      +1199897.*pow(x_tilde,3.)/560.
      -4392.*pow(x_tilde,4.)/5.
      +16364.*pow(x_tilde,5.)/105.
      -3764.*pow(x_tilde,6.)/315.
      +101.*pow(x_tilde,7.)/315.
      +pow(S_tilde,2.)*(-39777./40.
                        +1199897.*x_tilde/280.
                        -24156.*pow(x_tilde,2.)/5.
                        +212732.*pow(x_tilde,3.)/105.
                        -35758.*pow(x_tilde,4.)/105.
                        +404.*pow(x_tilde,5.)/21.)
      +pow(S_tilde,4.)*(-4392./5.
                        +139094.*x_tilde/105.
                        -3764.*pow(x_tilde,2.)/7.
                        +6464.*pow(x_tilde,3.)/105.)
      +pow(S_tilde,6.)*(-15997./315.
                        +6262.*x_tilde/315.);

    M_low = G_T*(B_0+theta_e*B_1+pow(theta_e,2.)*B_2+pow(theta_e,3.)*B_3);
    D_low = G_T*(C_0+theta_e*C_1+pow(theta_e,2.)*C_2+pow(theta_e,3.)*C_3);
    Q_low = G_T*(D_0+theta_e*D_1+pow(theta_e,2.)*D_2+pow(theta_e,3.)*D_3);
    break;
    /* Calculated according to Chluba et al. 2012 */
  case sd_reio_Chluba:
    /* Low temperature approximation */
    if (T_e < 10.) {
      double d[7][3] = {{-2./5., -1./5.,   407./140.},
                        {-8./5., -24./5., -233./35.},
                        {-2./5., -66./5., -10433./140.},
                        { 0.,    -24./5., -3876./35.},
                        { 0.,    -2./5.,  -1513./35.},
                        { 0.,     0.,     -204./35.},
                        { 0.,     0.,     -17./70.}};

      double q[7][4] = {{-3./5.,   183./70., -429./40.},
                        { 2./5.,  -5./7.,     207./20.},
                        { 1./10.,  115./28.,  1647./80.},
                        { 0.,      12./7.,    44.},
                        { 0.,      1./7.,     19.},
                        { 0.,      0.,        92./35.},
                        { 0.,      0.,        23./210.}};

      M_low = 1./3.*(Y_SZ+G_T);
      for (index_k=0; index_k<3; ++index_k){
        M_k = 0.;
        for (index_n=0; index_n<2*index_k+2; ++index_n){
          M_k += (a[index_n][index_k]-d[index_n][index_k])
            *(index_n*(index_n+2)*Delta_x[index_n]+
              (2*index_n+3)*Delta_x[index_n+1]+
              Delta_x[index_n+2]
              );
        }
        M_k *= 1./3.;
        M_low += pow(theta_e,index_k+1)*M_k*G_T;
      }

      D_low = G_T;
      for (index_k=0; index_k<3; ++index_k){
        D_k = 0.;
        for (index_n=0; index_n<2*index_k+2; ++index_n){
          D_k += (d[index_n][index_k]-a[index_n][index_k])
            *(index_n*Delta_x[index_n]+
              Delta_x[index_n+1]
              );
        }
        D_low += pow(theta_e,index_k+1)*D_k*G_T;
      }

      Q_low = 11./30.*(x_tilde*G_T);
      for (index_k=0; index_k<3; ++index_k){
        Q_k = 0.;
        for (index_n=0; index_n<2*index_k+2; ++index_n){
          Q_k += (a[index_n][index_k]+q[index_n][index_k]-2.*d[index_n][index_k])
            *(index_n*(index_n-1)*Delta_x[index_n]+
              2*index_n*Delta_x[index_n+1]+
              Delta_x[index_n+2]
              );
        }
        Q_k *= 1./3.;
        Q_low += pow(theta_e,index_k+1)*Q_k*G_T;
      }
    }
    /* High temperature approximation (not implemented yet) */
    else {
      M_low = 0.;
      D_low = 0.;
      Q_low = 0.;
    }
    break;
  default:
    class_stop(psd->error_message,"Unrecognized sd_reio_type='%i'.",psd->sd_reio_type);
  }

  DI_kSZ = Dtau*beta*(beta*M_low+P_1*D_low+beta*P_2*Q_low);

  /** Total distortion */
  *y_reio = theta_e*Dtau;
  *DI_reio = DI_tSZ+DI_kSZ;

  return _SUCCESS_;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x11d8, %rsp           # imm = 0x11D8
movq %r8, %r12
movq %rcx, %r13
movapd %xmm4, (%rsp)
movsd %xmm1, 0xb8(%rsp)
movq %rdx, %r15
movsd 0x24e2c(%rip), %xmm1    # 0xe9ad8
movsd %xmm2, 0x180(%rsp)
divsd %xmm2, %xmm3
movsd %xmm3, 0x178(%rsp)
movapd %xmm3, %xmm2
mulsd %xmm3, %xmm2
mulsd 0x21a76(%rip), %xmm2    # 0xe6748
addsd 0x20b0e(%rip), %xmm2    # 0xe57e8
movsd %xmm2, 0x188(%rsp)
movsd %xmm0, 0x20(%rsp)
mulsd %xmm0, %xmm1
movapd %xmm1, 0x90(%rsp)
movapd %xmm4, %xmm0
mulsd 0x20fae(%rip), %xmm0    # 0xe5cb0
movapd %xmm0, 0x80(%rsp)
callq 0x80d0
movapd %xmm0, 0x30(%rsp)
movaps 0x80(%rsp), %xmm0
callq 0x8390
movaps %xmm0, 0x10(%rsp)
movsd 0x236c8(%rip), %xmm1    # 0xe83f8
movaps (%rsp), %xmm0
callq 0x8650
movaps %xmm0, 0x80(%rsp)
movaps (%rsp), %xmm0
xorps 0x204e4(%rip), %xmm0    # 0xe5230
movaps %xmm0, 0x40(%rsp)
callq 0x86a0
movsd %xmm0, 0xc0(%rsp)
movapd 0x40(%rsp), %xmm0
callq 0x86a0
movsd 0x204ee(%rip), %xmm1    # 0xe5260
subsd %xmm0, %xmm1
mulsd %xmm1, %xmm1
movsd %xmm1, 0x100(%rsp)
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, 0x130(%rsp)
movapd (%rsp), %xmm1
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
movapd 0x30(%rsp), %xmm0
unpcklpd 0x10(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
divpd %xmm0, %xmm1
movsd 0x23672(%rip), %xmm0    # 0xe8428
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movapd %xmm1, %xmm3
movapd %xmm1, %xmm2
mulpd %xmm1, %xmm3
movapd %xmm3, %xmm1
unpckhpd %xmm3, %xmm1            # xmm1 = xmm1[1],xmm3[1]
movapd %xmm1, %xmm0
movapd %xmm1, %xmm4
movapd %xmm1, 0x60(%rsp)
mulsd 0x20ec6(%rip), %xmm0    # 0xe5cb0
addsd %xmm3, %xmm0
movapd %xmm3, 0x50(%rsp)
xorpd 0x20434(%rip), %xmm0    # 0xe5230
movapd %xmm2, %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movupd %xmm1, 0x138(%rsp)
movapd %xmm4, %xmm0
addsd %xmm4, %xmm0
addsd %xmm3, %xmm0
movapd %xmm2, (%rsp)
mulsd %xmm2, %xmm0
movsd %xmm0, 0x148(%rsp)
movapd %xmm2, %xmm0
movsd 0x235c1(%rip), %xmm1    # 0xe83f8
callq 0x8650
movapd 0x50(%rsp), %xmm1
mulsd 0x60(%rsp), %xmm1
movapd %xmm1, 0x30(%rsp)
movsd 0x44612(%rip), %xmm2    # 0x109468
mulsd %xmm1, %xmm2
mulsd 0x20e4e(%rip), %xmm2    # 0xe5cb0
addsd %xmm0, %xmm2
movsd %xmm2, 0xa0(%rsp)
movapd (%rsp), %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
movapd %xmm0, 0x40(%rsp)
movsd 0x23572(%rip), %xmm1    # 0xe83f8
callq 0x8650
addsd 0xa0(%rsp), %xmm0
xorpd 0x20394(%rip), %xmm0    # 0xe5230
movlpd %xmm0, 0x150(%rsp)
movapd (%rsp), %xmm0
movsd 0x23546(%rip), %xmm1    # 0xe83f8
callq 0x8650
movapd 0x30(%rsp), %xmm1
mulsd 0x57e93(%rip), %xmm1    # 0x11cd58
addsd %xmm0, %xmm1
movapd %xmm1, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x2351b(%rip), %xmm1    # 0xe83f8
callq 0x8650
mulsd 0x57e76(%rip), %xmm0    # 0x11cd60
mulsd 0x20dbe(%rip), %xmm0    # 0xe5cb0
addsd 0x30(%rsp), %xmm0
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
movsd %xmm0, 0x158(%rsp)
movsd 0x2173e(%rip), %xmm1    # 0xe6650
movapd %xmm2, %xmm0
callq 0x8650
movsd %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x234ca(%rip), %xmm1    # 0xe83f8
callq 0x8650
mulsd 0x60(%rsp), %xmm0
mulsd 0x57e27(%rip), %xmm0    # 0x11cd68
mulsd 0x20d67(%rip), %xmm0    # 0xe5cb0
addsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x23495(%rip), %xmm1    # 0xe83f8
callq 0x8650
mulsd 0x50(%rsp), %xmm0
mulsd 0x2361a(%rip), %xmm0    # 0xe8590
addsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x216c0(%rip), %xmm1    # 0xe6650
callq 0x8650
mulsd 0x57dc3(%rip), %xmm0    # 0x11cd60
mulsd 0x2355b(%rip), %xmm0    # 0xe8500
addsd 0x30(%rsp), %xmm0
xorpd 0x2027d(%rip), %xmm0    # 0xe5230
movlpd %xmm0, 0x160(%rsp)
movaps (%rsp), %xmm0
movsd 0x21688(%rip), %xmm1    # 0xe6650
callq 0x8650
movsd %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x23418(%rip), %xmm1    # 0xe83f8
callq 0x8650
mulsd 0x60(%rsp), %xmm0
mulsd 0x57d7d(%rip), %xmm0    # 0x11cd70
addsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x233eb(%rip), %xmm1    # 0xe83f8
callq 0x8650
mulsd 0x50(%rsp), %xmm0
mulsd 0x57d58(%rip), %xmm0    # 0x11cd78
addsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x21616(%rip), %xmm1    # 0xe6650
callq 0x8650
mulsd 0x57d39(%rip), %xmm0    # 0x11cd80
addsd 0x30(%rsp), %xmm0
mulsd (%rsp), %xmm0
movsd %xmm0, 0x168(%rsp)
xorpd %xmm0, %xmm0
andq $0x0, 0x120(%rsp)
movapd %xmm0, 0x110(%rsp)
pushq $0x2
popq %rax
leaq 0x59ed5(%rip), %rcx     # 0x11ef50
xorl %edx, %edx
cmpq $0x3, %rdx
je 0xc50c1
xorpd %xmm0, %xmm0
movq %rcx, %rsi
xorl %edi, %edi
cmpq %rdi, %rax
je 0xc50ab
movsd (%rsi), %xmm1
mulsd 0x130(%rsp,%rdi,8), %xmm1
addsd %xmm1, %xmm0
incq %rdi
addq $0x18, %rsi
jmp 0xc508c
movsd %xmm0, 0x110(%rsp,%rdx,8)
incq %rdx
addq $0x2, %rax
addq $0x8, %rcx
jmp 0xc507d
movapd 0x90(%rsp), %xmm0
divsd 0x57cb6(%rip), %xmm0    # 0x11cd88
movapd 0x80(%rsp), %xmm5
mulsd 0xc0(%rsp), %xmm5
divsd 0x100(%rsp), %xmm5
movapd %xmm0, 0x90(%rsp)
mulsd 0xb8(%rsp), %xmm0
movapd %xmm0, 0x100(%rsp)
xorpd %xmm0, %xmm0
pushq $0x1
popq %rbx
movsd 0x110(%rsp), %xmm2
movapd %xmm5, 0x80(%rsp)
movapd %xmm2, 0xc0(%rsp)
cmpq $0x3, %rbx
movsd %xmm0, 0x30(%rsp)
je 0xc5190
leaq 0x1(%rbx), %r14
cvtsi2sd %r14d, %xmm1
movapd 0x90(%rsp), %xmm0
callq 0x8650
movapd 0xc0(%rsp), %xmm2
movapd 0x80(%rsp), %xmm5
mulsd 0xb8(%rsp), %xmm0
mulsd %xmm5, %xmm0
mulsd 0x110(%rsp,%rbx,8), %xmm0
movsd 0x30(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x30(%rsp)
movsd 0x30(%rsp), %xmm0
movq %r14, %rbx
jmp 0xc512a
movl 0x2f8(%r15), %edx
cmpl $0x1, %edx
je 0xc5bca
testl %edx, %edx
jne 0xc5ce0
movsd 0x21598(%rip), %xmm1    # 0xe6748
movapd %xmm2, %xmm3
divsd %xmm1, %xmm3
movapd %xmm3, 0x1c0(%rsp)
movupd 0x118(%rsp), %xmm4
movapd %xmm4, %xmm0
addsd %xmm4, %xmm0
movapd %xmm2, %xmm3
unpcklpd %xmm4, %xmm3            # xmm3 = xmm3[0],xmm4[0]
mulpd 0x5784e(%rip), %xmm3    # 0x11ca30
movapd %xmm3, %xmm2
unpcklpd %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0]
divpd 0x5784e(%rip), %xmm2    # 0x11ca40
movapd %xmm2, %xmm0
unpckhpd %xmm2, %xmm0            # xmm0 = xmm0[1],xmm2[1]
addsd %xmm2, %xmm0
movapd %xmm0, 0x1b0(%rsp)
mulpd 0x57841(%rip), %xmm3    # 0x11ca50
movapd %xmm3, %xmm0
unpckhpd %xmm3, %xmm0            # xmm0 = xmm0[1],xmm3[1]
addsd %xmm3, %xmm0
movapd %xmm4, %xmm2
unpckhpd %xmm4, %xmm2            # xmm2 = xmm2[1],xmm4[1]
mulpd 0x57835(%rip), %xmm4    # 0x11ca60
mulpd 0x5783d(%rip), %xmm4    # 0x11ca70
addsd %xmm0, %xmm2
movapd %xmm2, 0xa0(%rsp)
movapd %xmm4, %xmm0
subsd %xmm3, %xmm0
unpckhpd %xmm4, %xmm4            # xmm4 = xmm4[1,1]
addsd %xmm0, %xmm4
movapd %xmm4, 0x1a0(%rsp)
movsd 0x57b37(%rip), %xmm0    # 0x11cd98
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
movapd %xmm2, %xmm4
divsd 0x1fffa(%rip), %xmm0    # 0xe5270
addsd 0x20572(%rip), %xmm0    # 0xe57f0
movapd 0x577fa(%rip), %xmm3    # 0x11ca80
movapd 0x50(%rsp), %xmm2
mulpd %xmm2, %xmm3
divpd 0x577f8(%rip), %xmm3    # 0x11ca90
addsd %xmm3, %xmm0
unpckhpd %xmm3, %xmm3            # xmm3 = xmm3[1,1]
addsd %xmm0, %xmm3
movapd %xmm3, 0xf0(%rsp)
movapd %xmm4, %xmm0
unpcklpd %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
movapd %xmm0, 0x10(%rsp)
movapd 0x577dd(%rip), %xmm2    # 0x11caa0
mulpd %xmm0, %xmm2
divpd 0x577e1(%rip), %xmm2    # 0x11cab0
movsd 0x213f9(%rip), %xmm0    # 0xe66d0
subsd %xmm2, %xmm0
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm0, %xmm2
movapd %xmm2, 0x20(%rsp)
movapd %xmm4, %xmm0
callq 0x8650
movapd %xmm0, 0x70(%rsp)
movsd 0x230f8(%rip), %xmm1    # 0xe83f8
movapd (%rsp), %xmm0
callq 0x8650
movapd 0x70(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x577a4(%rip), %xmm1    # 0x11cac0
divpd 0x5778c(%rip), %xmm1    # 0x11cab0
movapd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd 0x57792(%rip), %xmm2    # 0x11cad0
mulpd 0x10(%rsp), %xmm2
divpd 0x57794(%rip), %xmm2    # 0x11cae0
movsd 0x57a4c(%rip), %xmm0    # 0x11cda0
subsd %xmm2, %xmm0
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm0, %xmm2
mulsd 0x60(%rsp), %xmm2
addsd %xmm1, %xmm2
movapd %xmm2, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x2307a(%rip), %xmm1    # 0xe83f8
callq 0x8650
movsd 0x440dd(%rip), %xmm1    # 0x109468
mulsd %xmm1, %xmm0
divsd 0x20459(%rip), %xmm0    # 0xe57f0
addsd 0x20(%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movapd 0x57742(%rip), %xmm1    # 0x11caf0
mulpd 0x10(%rsp), %xmm1
divpd 0x57744(%rip), %xmm1    # 0x11cb00
movsd 0x579e4(%rip), %xmm0    # 0x11cda8
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movaps (%rsp), %xmm0
movsd 0x21366(%rip), %xmm1    # 0xe6748
callq 0x8650
movaps %xmm0, 0x70(%rsp)
movapd (%rsp), %xmm0
movsd 0x22fff(%rip), %xmm1    # 0xe83f8
callq 0x8650
movapd 0x70(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x57700(%rip), %xmm1    # 0x11cb10
divpd 0x57708(%rip), %xmm1    # 0x11cb20
movapd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x70(%rsp)
movaps (%rsp), %xmm0
movsd 0x1fe34(%rip), %xmm1    # 0xe5270
callq 0x8650
movaps %xmm0, 0x20(%rsp)
movsd 0x21202(%rip), %xmm1    # 0xe6650
movapd (%rsp), %xmm0
callq 0x8650
movapd 0x20(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x576c6(%rip), %xmm1    # 0x11cb30
divpd 0x576ce(%rip), %xmm1    # 0x11cb40
movapd 0x70(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movapd 0x576be(%rip), %xmm1    # 0x11cb50
mulpd 0x10(%rsp), %xmm1
divpd 0x57680(%rip), %xmm1    # 0x11cb20
movsd 0x57908(%rip), %xmm0    # 0x11cdb0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0xe0(%rsp)
movaps (%rsp), %xmm0
movsd 0x2127f(%rip), %xmm1    # 0xe6748
callq 0x8650
movaps %xmm0, 0x70(%rsp)
movapd (%rsp), %xmm0
movsd 0x22f18(%rip), %xmm1    # 0xe83f8
callq 0x8650
movapd 0x70(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x57669(%rip), %xmm1    # 0x11cb60
divpd 0x57671(%rip), %xmm1    # 0x11cb70
movapd 0xe0(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x60(%rsp), %xmm1
addsd 0x20(%rsp), %xmm1
movapd %xmm1, 0x70(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x22ec4(%rip), %xmm1    # 0xe83f8
callq 0x8650
movapd 0x10(%rsp), %xmm2
mulpd 0x57639(%rip), %xmm2    # 0x11cb80
divpd 0x57641(%rip), %xmm2    # 0x11cb90
movsd 0x57861(%rip), %xmm1    # 0x11cdb8
subsd %xmm2, %xmm1
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm1, %xmm2
mulsd %xmm0, %xmm2
addsd 0x70(%rsp), %xmm2
movapd %xmm2, 0x10(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x210cf(%rip), %xmm1    # 0xe6650
callq 0x8650
mulsd 0x57832(%rip), %xmm0    # 0x11cdc0
divsd 0x231da(%rip), %xmm0    # 0xe8770
movapd %xmm0, %xmm1
movsd 0x43ec6(%rip), %xmm0    # 0x109468
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
divsd 0x2451d(%rip), %xmm0    # 0xe9ad0
addsd 0x22f05(%rip), %xmm0    # 0xe84c0
movapd %xmm0, 0x70(%rsp)
movsd 0x3c407(%rip), %xmm0    # 0x1019d0
mulsd %xmm2, %xmm0
addsd 0x22e53(%rip), %xmm0    # 0xe8428
addsd 0x10(%rsp), %xmm1
movapd %xmm1, 0xe0(%rsp)
movsd 0x2105c(%rip), %xmm1    # 0xe6648
mulsd 0x50(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x10(%rsp)
movapd %xmm2, %xmm0
movsd 0x21140(%rip), %xmm1    # 0xe6748
callq 0x8650
movsd 0x577b3(%rip), %xmm1    # 0x11cdc8
mulsd %xmm1, %xmm0
divsd 0x244af(%rip), %xmm0    # 0xe9ad0
addsd 0x10(%rsp), %xmm0
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm1
divsd 0x22900(%rip), %xmm1    # 0xe7f38
addsd 0x22e00(%rip), %xmm1    # 0xe8440
mulsd 0x60(%rsp), %xmm1
addsd %xmm0, %xmm1
unpcklpd 0xf0(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
movapd %xmm1, 0xf0(%rsp)
movsd 0x5776c(%rip), %xmm1    # 0x11cdd0
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm1
divsd 0x1fbfc(%rip), %xmm1    # 0xe5270
addsd 0x22dec(%rip), %xmm1    # 0xe8468
movsd %xmm1, 0x10(%rsp)
movsd 0x210be(%rip), %xmm1    # 0xe6748
callq 0x8650
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x574ff(%rip), %xmm1    # 0x11cba0
divpd 0x57507(%rip), %xmm1    # 0x11cbb0
movsd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movaps (%rsp), %xmm0
movsd 0x22d2b(%rip), %xmm1    # 0xe83f8
callq 0x8650
movaps %xmm0, 0x10(%rsp)
movapd (%rsp), %xmm0
movsd 0x1fb8c(%rip), %xmm1    # 0xe5270
callq 0x8650
movapd 0x10(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x574c5(%rip), %xmm1    # 0x11cbc0
divpd 0x574cd(%rip), %xmm1    # 0x11cbd0
movapd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x10(%rsp)
movsd 0x576b5(%rip), %xmm1    # 0x11cdd8
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x576ac(%rip), %xmm1    # 0x11cde0
addsd 0x576ac(%rip), %xmm1    # 0x11cde8
movsd %xmm1, 0x20(%rsp)
movsd 0x20ffe(%rip), %xmm1    # 0xe6748
callq 0x8650
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5747f(%rip), %xmm1    # 0x11cbe0
divpd 0x57487(%rip), %xmm1    # 0x11cbf0
movsd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x60(%rsp), %xmm1
addsd 0x10(%rsp), %xmm1
movapd %xmm1, 0x10(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x22c5d(%rip), %xmm1    # 0xe83f8
callq 0x8650
movsd 0x57648(%rip), %xmm1    # 0x11cdf0
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm1
divsd 0x20f3f(%rip), %xmm1    # 0xe66f8
addsd 0x57637(%rip), %xmm1    # 0x11cdf8
mulsd %xmm0, %xmm1
addsd 0x10(%rsp), %xmm1
unpcklpd 0xd0(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
movapd %xmm1, 0xd0(%rsp)
movsd 0x5761b(%rip), %xmm1    # 0x11ce00
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm1
divsd 0x57613(%rip), %xmm1    # 0x11ce08
addsd 0x57613(%rip), %xmm1    # 0x11ce10
movsd %xmm1, 0x10(%rsp)
movsd 0x20f3d(%rip), %xmm1    # 0xe6748
callq 0x8650
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x573de(%rip), %xmm1    # 0x11cc00
divpd 0x573e6(%rip), %xmm1    # 0x11cc10
movsd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x10(%rsp)
movaps (%rsp), %xmm0
movsd 0x22baa(%rip), %xmm1    # 0xe83f8
callq 0x8650
movaps %xmm0, 0x20(%rsp)
movapd (%rsp), %xmm0
movsd 0x1fa0b(%rip), %xmm1    # 0xe5270
callq 0x8650
movapd 0x20(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x573a4(%rip), %xmm1    # 0x11cc20
divpd 0x573ac(%rip), %xmm1    # 0x11cc30
movapd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movaps (%rsp), %xmm0
movsd 0x20da8(%rip), %xmm1    # 0xe6650
callq 0x8650
movaps %xmm0, 0x10(%rsp)
movsd 0x20e86(%rip), %xmm1    # 0xe6740
movapd (%rsp), %xmm0
callq 0x8650
movapd 0x10(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5736a(%rip), %xmm1    # 0x11cc40
divpd 0x57372(%rip), %xmm1    # 0x11cc50
movapd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x10(%rsp)
movsd 0x5751a(%rip), %xmm1    # 0x11ce18
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x43b69(%rip), %xmm1    # 0x109478
addsd 0x57509(%rip), %xmm1    # 0x11ce20
movsd %xmm1, 0x20(%rsp)
movsd 0x20e23(%rip), %xmm1    # 0xe6748
callq 0x8650
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x57324(%rip), %xmm1    # 0x11cc60
divpd 0x572ec(%rip), %xmm1    # 0x11cc30
movsd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x190(%rsp)
movaps (%rsp), %xmm0
movsd 0x22a8d(%rip), %xmm1    # 0xe83f8
callq 0x8650
movaps %xmm0, 0x20(%rsp)
movapd (%rsp), %xmm0
movsd 0x1f8ee(%rip), %xmm1    # 0xe5270
callq 0x8650
movapd 0x20(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x572d7(%rip), %xmm1    # 0x11cc70
divpd 0x572df(%rip), %xmm1    # 0x11cc80
movapd 0x190(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x60(%rsp), %xmm1
addsd 0x10(%rsp), %xmm1
movapd %xmm1, 0x20(%rsp)
movaps 0x40(%rsp), %xmm0
movsd 0x22a23(%rip), %xmm1    # 0xe83f8
callq 0x8650
movsd %xmm0, 0x10(%rsp)
movsd 0x57440(%rip), %xmm1    # 0x11ce28
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x22d77(%rip), %xmm1    # 0xe8770
addsd 0x5742f(%rip), %xmm1    # 0x11ce30
movsd %xmm1, 0x60(%rsp)
movsd 0x20d39(%rip), %xmm1    # 0xe6748
callq 0x8650
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5726a(%rip), %xmm1    # 0x11cc90
divpd 0x57272(%rip), %xmm1    # 0x11cca0
movsd 0x60(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x10(%rsp), %xmm1
addsd 0x20(%rsp), %xmm1
movapd %xmm1, 0x50(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x20bf0(%rip), %xmm1    # 0xe6650
callq 0x8650
movsd 0x573cb(%rip), %xmm1    # 0x11ce38
mulsd (%rsp), %xmm1
divsd 0x573c6(%rip), %xmm1    # 0x11ce40
addsd 0x573c6(%rip), %xmm1    # 0x11ce48
mulsd %xmm0, %xmm1
addsd 0x50(%rsp), %xmm1
unpcklpd 0xe0(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
movapd %xmm1, (%rsp)
movapd 0x90(%rsp), %xmm3
movapd 0x1b0(%rsp), %xmm0
mulsd %xmm3, %xmm0
addsd 0x1c0(%rsp), %xmm0
movapd %xmm3, %xmm2
mulsd %xmm3, %xmm2
movapd %xmm2, 0x40(%rsp)
movapd 0xa0(%rsp), %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, 0xa0(%rsp)
movapd %xmm3, %xmm0
movsd 0x20c5b(%rip), %xmm1    # 0xe6748
callq 0x8650
mulsd 0x1a0(%rsp), %xmm0
addsd 0xa0(%rsp), %xmm0
mulsd 0x80(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movaps 0x90(%rsp), %xmm0
movsd 0x20c25(%rip), %xmm1    # 0xe6748
callq 0x8650
movaps %xmm0, 0x50(%rsp)
movapd 0x90(%rsp), %xmm0
movsd 0x20c0a(%rip), %xmm1    # 0xe6748
callq 0x8650
movsd 0x10(%rsp), %xmm8
movapd 0x80(%rsp), %xmm5
movapd 0x90(%rsp), %xmm1
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd 0xf0(%rsp), %xmm1
movapd %xmm1, %xmm2
movapd 0x70(%rsp), %xmm1
shufpd $0x2, 0x57134(%rip), %xmm1 # xmm1 = xmm1[0],mem[1]
addpd %xmm2, %xmm1
movapd 0x40(%rsp), %xmm2
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd 0xd0(%rsp), %xmm2
addpd %xmm1, %xmm2
unpcklpd 0x50(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
mulpd (%rsp), %xmm0
addpd %xmm2, %xmm0
movapd %xmm5, %xmm1
unpcklpd %xmm5, %xmm1            # xmm1 = xmm1[0],xmm5[0]
mulpd %xmm0, %xmm1
movsd 0x30(%rsp), %xmm0
movapd %xmm1, %xmm6
movapd 0xc0(%rsp), %xmm1
jmp 0xc5f20
movsd 0x1fc1e(%rip), %xmm0    # 0xe57f0
ucomisd 0x20(%rsp), %xmm0
jbe 0xc5d44
movq %r13, 0xa0(%rsp)
movq %r12, 0x60(%rsp)
movsd 0x10(%rsp), %xmm0
mulsd %xmm5, %xmm0
addsd %xmm5, %xmm0
mulsd 0x22807(%rip), %xmm0    # 0xe8408
xorl %ebx, %ebx
pushq $0x2
popq %r14
leaq 0x59342(%rip), %r15     # 0x11ef50
leaq 0x593cb(%rip), %r12     # 0x11efe0
xorl %r13d, %r13d
xorl %ebp, %ebp
movsd %xmm0, 0x10(%rsp)
cmpq $0x3, %rbp
je 0xc5d5c
xorpd %xmm3, %xmm3
movq %rbx, %rax
movq %r14, %rcx
pushq $0x3
popq %rdx
leaq (%rcx,%r13), %rsi
cmpq $0x4, %rsi
je 0xc5c8f
leaq -0x2(%rcx), %rsi
movsd (%rax,%r15), %xmm0
subsd (%rax,%r12), %xmm0
imull %ecx, %esi
cvtsi2sd %esi, %xmm1
cvtsi2sd %edx, %xmm2
mulsd 0x128(%rsp,%rcx,8), %xmm2
mulsd 0x120(%rsp,%rcx,8), %xmm1
addsd %xmm2, %xmm1
addsd 0x130(%rsp,%rcx,8), %xmm1
mulsd %xmm0, %xmm1
addsd %xmm1, %xmm3
addl $0x2, %edx
incq %rcx
addq $0x18, %rax
jmp 0xc5c37
mulsd 0x22771(%rip), %xmm3    # 0xe8408
movsd %xmm3, 0x40(%rsp)
incq %rbp
cvtsi2sd %ebp, %xmm1
movapd 0x90(%rsp), %xmm0
callq 0x8650
movapd 0x80(%rsp), %xmm5
mulsd 0x40(%rsp), %xmm0
mulsd %xmm5, %xmm0
movsd 0x10(%rsp), %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, %xmm0
addq $-0x2, %r13
addq $0x8, %rbx
jmp 0xc5c1a
leaq 0x586f5(%rip), %rsi     # 0x11e3dc
leaq 0x9d0(%rsp), %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x1f885(%rip), %rsi     # 0xe5585
leaq 0x1d0(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2e014
addq $0x1602, %r15           # imm = 0x1602
leaq 0x1f311(%rip), %rsi     # 0xe5034
leaq 0x586d2(%rip), %rdx     # 0x11e3fc
movq %r15, %rdi
movl $0x570, %ecx            # imm = 0x570
movq %r14, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rax
jmp 0xc5f9e
xorpd %xmm6, %xmm6
xorpd %xmm8, %xmm8
movsd 0x30(%rsp), %xmm0
movapd %xmm2, %xmm1
jmp 0xc5f20
pushq $0x2
popq %rbx
xorl %r14d, %r14d
xorl %r13d, %r13d
movapd %xmm5, 0x40(%rsp)
cmpq $0x3, %r13
je 0xc5e06
xorpd %xmm2, %xmm2
movq %r14, %rax
xorl %ecx, %ecx
cmpq %rcx, %rbx
je 0xc5db6
movsd (%rax,%r12), %xmm0
subsd (%rax,%r15), %xmm0
cvtsi2sd %ecx, %xmm1
mulsd 0x130(%rsp,%rcx,8), %xmm1
addsd 0x138(%rsp,%rcx,8), %xmm1
incq %rcx
mulsd %xmm0, %xmm1
addsd %xmm1, %xmm2
addq $0x18, %rax
jmp 0xc5d7e
incq %r13
cvtsi2sd %r13d, %xmm1
movapd 0x90(%rsp), %xmm0
movsd %xmm2, 0x50(%rsp)
callq 0x8650
movapd 0x80(%rsp), %xmm5
movsd 0x50(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd %xmm5, %xmm1
movapd 0x40(%rsp), %xmm0
addsd %xmm1, %xmm0
movapd %xmm0, 0x40(%rsp)
addq $0x2, %rbx
addq $0x8, %r14
jmp 0xc5d6b
movapd (%rsp), %xmm6
mulsd %xmm5, %xmm6
mulsd 0x56f79(%rip), %xmm6    # 0x11cd90
pushq $0x2
popq %r13
leaq 0x5926e(%rip), %rbp     # 0x11f090
xorl %ebx, %ebx
xorl %r14d, %r14d
cmpq $0x3, %r14
je 0xc5ef7
movapd %xmm6, (%rsp)
xorpd %xmm3, %xmm3
xorl %eax, %eax
movq %rbp, %rcx
movq %rbx, %rdx
xorl %esi, %esi
cmpq %rsi, %r13
je 0xc5ea6
movsd (%rdx,%r15), %xmm0
addsd (%rcx), %xmm0
leal -0x1(%rsi), %edi
imull %esi, %edi
cvtsi2sd %edi, %xmm1
cvtsi2sd %eax, %xmm2
mulsd 0x138(%rsp,%rsi,8), %xmm2
mulsd 0x130(%rsp,%rsi,8), %xmm1
addsd %xmm2, %xmm1
movsd (%rdx,%r12), %xmm2
addsd %xmm2, %xmm2
addsd 0x140(%rsp,%rsi,8), %xmm1
subsd %xmm2, %xmm0
incq %rsi
mulsd %xmm0, %xmm1
addsd %xmm1, %xmm3
addl $0x2, %eax
addq $0x18, %rdx
addq $0x20, %rcx
jmp 0xc5e44
mulsd 0x2255a(%rip), %xmm3    # 0xe8408
movsd %xmm3, 0x50(%rsp)
incq %r14
cvtsi2sd %r14d, %xmm1
movapd 0x90(%rsp), %xmm0
callq 0x8650
movapd 0x80(%rsp), %xmm5
mulsd 0x50(%rsp), %xmm0
mulsd %xmm5, %xmm0
movapd (%rsp), %xmm6
addsd %xmm0, %xmm6
addq $0x2, %r13
addq $0x8, %rbx
addq $0x8, %rbp
jmp 0xc5e27
unpcklpd 0x40(%rsp), %xmm6       # xmm6 = xmm6[0],mem[0]
movq 0x60(%rsp), %r12
movq 0xa0(%rsp), %r13
movsd 0x30(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm1
movsd 0x10(%rsp), %xmm8
movsd 0x188(%rsp), %xmm2
mulsd 0x1fd7f(%rip), %xmm2    # 0xe5cb0
movapd 0x100(%rsp), %xmm7
mulsd %xmm7, %xmm5
mulsd %xmm1, %xmm5
addsd %xmm0, %xmm5
movsd 0xb8(%rsp), %xmm1
movsd 0x180(%rsp), %xmm3
mulsd %xmm3, %xmm1
movapd %xmm6, %xmm0
unpckhpd %xmm6, %xmm0            # xmm0 = xmm0[1],xmm6[1]
movsd 0x178(%rsp), %xmm4
mulsd %xmm0, %xmm4
mulsd %xmm3, %xmm8
addsd %xmm4, %xmm8
mulsd %xmm3, %xmm2
mulsd %xmm6, %xmm2
addsd %xmm8, %xmm2
mulsd %xmm1, %xmm2
addsd %xmm5, %xmm2
movsd %xmm7, (%r13)
movsd %xmm2, (%r12)
xorl %eax, %eax
addq $0x11d8, %rsp           # imm = 0x11D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq