// File: /workspace/github_c_makefile_star2_O1/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, 0xa8(%rsp)
movq %rdx, %r15
movsd 0x26056(%rip), %xmm1    # 0xf5be8
movsd %xmm2, 0x188(%rsp)
divsd %xmm2, %xmm3
movsd %xmm3, 0x180(%rsp)
mulsd %xmm3, %xmm3
mulsd 0x22acc(%rip), %xmm3    # 0xf2680
addsd 0x21c2c(%rip), %xmm3    # 0xf17e8
movsd %xmm3, 0x178(%rsp)
movsd %xmm0, 0xe0(%rsp)
mulsd %xmm0, %xmm1
movapd %xmm1, 0x90(%rsp)
movapd %xmm4, %xmm0
mulsd 0x220e9(%rip), %xmm0    # 0xf1cd0
movapd %xmm0, 0x80(%rsp)
callq 0x80d0
movapd %xmm0, 0x20(%rsp)
movaps 0x80(%rsp), %xmm0
callq 0x8370
movaps %xmm0, 0x10(%rsp)
movsd 0x24813(%rip), %xmm1    # 0xf4428
movaps (%rsp), %xmm0
callq 0x8620
movaps %xmm0, 0x80(%rsp)
movaps (%rsp), %xmm0
xorps 0x215ff(%rip), %xmm0    # 0xf1230
movaps %xmm0, 0x40(%rsp)
callq 0x8670
movsd %xmm0, 0xd0(%rsp)
movapd 0x40(%rsp), %xmm0
callq 0x8670
movsd 0x21609(%rip), %xmm1    # 0xf1260
subsd %xmm0, %xmm1
mulsd %xmm1, %xmm1
movsd %xmm1, 0x120(%rsp)
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, 0x130(%rsp)
movapd (%rsp), %xmm1
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
movapd 0x20(%rsp), %xmm0
unpcklpd 0x10(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
divpd %xmm0, %xmm1
movsd 0x247bd(%rip), %xmm0    # 0xf4458
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 0x22001(%rip), %xmm0    # 0xf1cd0
addsd %xmm3, %xmm0
movapd %xmm3, 0x50(%rsp)
xorpd 0x2154f(%rip), %xmm0    # 0xf1230
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 0x2470c(%rip), %xmm1    # 0xf4428
callq 0x8620
movapd 0x50(%rsp), %xmm1
mulsd 0x60(%rsp), %xmm1
movapd %xmm1, 0x20(%rsp)
movsd 0x4584d(%rip), %xmm2    # 0x115588
mulsd %xmm1, %xmm2
mulsd 0x21f89(%rip), %xmm2    # 0xf1cd0
addsd %xmm0, %xmm2
movsd %xmm2, 0xc0(%rsp)
movapd (%rsp), %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
movapd %xmm0, 0x40(%rsp)
movsd 0x246bd(%rip), %xmm1    # 0xf4428
callq 0x8620
addsd 0xc0(%rsp), %xmm0
xorpd 0x214af(%rip), %xmm0    # 0xf1230
movlpd %xmm0, 0x150(%rsp)
movapd (%rsp), %xmm0
movsd 0x24691(%rip), %xmm1    # 0xf4428
callq 0x8620
movapd 0x20(%rsp), %xmm1
mulsd 0x590ce(%rip), %xmm1    # 0x128e78
addsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x24666(%rip), %xmm1    # 0xf4428
callq 0x8620
mulsd 0x590b1(%rip), %xmm0    # 0x128e80
mulsd 0x21ef9(%rip), %xmm0    # 0xf1cd0
addsd 0x20(%rsp), %xmm0
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
movsd %xmm0, 0x158(%rsp)
movsd 0x22879(%rip), %xmm1    # 0xf2670
movapd %xmm2, %xmm0
callq 0x8620
movsd %xmm0, 0x20(%rsp)
movapd (%rsp), %xmm0
movsd 0x24615(%rip), %xmm1    # 0xf4428
callq 0x8620
mulsd 0x60(%rsp), %xmm0
mulsd 0x59062(%rip), %xmm0    # 0x128e88
mulsd 0x21ea2(%rip), %xmm0    # 0xf1cd0
addsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x245e0(%rip), %xmm1    # 0xf4428
callq 0x8620
mulsd 0x50(%rsp), %xmm0
mulsd 0x247a5(%rip), %xmm0    # 0xf4600
addsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x227fb(%rip), %xmm1    # 0xf2670
callq 0x8620
mulsd 0x58ffe(%rip), %xmm0    # 0x128e80
mulsd 0x246e6(%rip), %xmm0    # 0xf4570
addsd 0x20(%rsp), %xmm0
xorpd 0x21398(%rip), %xmm0    # 0xf1230
movlpd %xmm0, 0x160(%rsp)
movaps (%rsp), %xmm0
movsd 0x227c3(%rip), %xmm1    # 0xf2670
callq 0x8620
movsd %xmm0, 0x20(%rsp)
movapd (%rsp), %xmm0
movsd 0x24563(%rip), %xmm1    # 0xf4428
callq 0x8620
mulsd 0x60(%rsp), %xmm0
mulsd 0x58fb8(%rip), %xmm0    # 0x128e90
addsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x24536(%rip), %xmm1    # 0xf4428
callq 0x8620
mulsd 0x50(%rsp), %xmm0
mulsd 0x58f93(%rip), %xmm0    # 0x128e98
addsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x22751(%rip), %xmm1    # 0xf2670
callq 0x8620
mulsd 0x58f74(%rip), %xmm0    # 0x128ea0
addsd 0x20(%rsp), %xmm0
mulsd (%rsp), %xmm0
movsd %xmm0, 0x168(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xf0(%rsp)
movq $0x0, 0x100(%rsp)
movl $0x2, %eax
leaq 0x5b10b(%rip), %rcx     # 0x12b070
xorl %edx, %edx
movq $0x0, 0xf0(%rsp,%rdx,8)
xorpd %xmm0, %xmm0
movq %rcx, %rsi
xorl %edi, %edi
movsd (%rsi), %xmm1
mulsd 0x130(%rsp,%rdi,8), %xmm1
addsd %xmm1, %xmm0
incq %rdi
addq $0x18, %rsi
cmpq %rdi, %rax
jne 0xcff7c
movsd %xmm0, 0xf0(%rsp,%rdx,8)
incq %rdx
addq $0x2, %rax
addq $0x8, %rcx
cmpq $0x3, %rdx
jne 0xcff67
movapd 0x90(%rsp), %xmm5
divsd 0x58ee4(%rip), %xmm5    # 0x128ea8
movapd 0x80(%rsp), %xmm4
mulsd 0xd0(%rsp), %xmm4
divsd 0x120(%rsp), %xmm4
movapd %xmm5, %xmm0
mulsd 0xa8(%rsp), %xmm0
movapd %xmm0, 0x120(%rsp)
xorpd %xmm2, %xmm2
movl $0x1, %ebx
movsd 0xf0(%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movapd %xmm4, 0x80(%rsp)
movapd %xmm5, 0x90(%rsp)
movsd %xmm2, 0x20(%rsp)
leaq 0x1(%rbx), %r14
xorps %xmm1, %xmm1
cvtsi2sd %r14d, %xmm1
movapd %xmm5, %xmm0
callq 0x8620
movsd 0x20(%rsp), %xmm2
movapd 0x90(%rsp), %xmm5
movapd 0x80(%rsp), %xmm4
movsd 0xa8(%rsp), %xmm1
mulsd %xmm1, %xmm0
mulsd %xmm4, %xmm0
mulsd 0xf0(%rsp,%rbx,8), %xmm0
addsd %xmm0, %xmm2
movq %r14, %rbx
cmpq $0x3, %r14
jne 0xd0022
movl 0x2f8(%r15), %edx
cmpl $0x1, %edx
je 0xd0b03
testl %edx, %edx
jne 0xd0e23
movsd 0x225e4(%rip), %xmm0    # 0xf2680
movapd 0xd0(%rsp), %xmm3
movapd %xmm3, %xmm1
divsd %xmm0, %xmm1
movapd %xmm1, 0x1c0(%rsp)
movapd %xmm0, %xmm1
movsd 0x211ae(%rip), %xmm4    # 0xf1270
movapd %xmm3, %xmm0
mulsd %xmm4, %xmm0
movapd %xmm4, %xmm7
mulsd 0x259ea(%rip), %xmm0    # 0xf5ac0
movupd 0xf8(%rsp), %xmm6
movapd %xmm6, %xmm4
addsd %xmm6, %xmm4
movsd %xmm2, 0x20(%rsp)
movapd %xmm3, %xmm2
unpcklpd %xmm6, %xmm2            # xmm2 = xmm2[0],xmm6[0]
mulpd 0x58a63(%rip), %xmm2    # 0x128b60
movapd %xmm2, %xmm3
unpcklpd %xmm4, %xmm3            # xmm3 = xmm3[0],xmm4[0]
divpd 0x58a63(%rip), %xmm3    # 0x128b70
movapd %xmm3, %xmm4
unpckhpd %xmm3, %xmm4            # xmm4 = xmm4[1],xmm3[1]
addsd %xmm3, %xmm4
movapd %xmm4, 0x1b0(%rsp)
mulpd 0x58a56(%rip), %xmm2    # 0x128b80
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
movapd %xmm6, %xmm2
unpckhpd %xmm6, %xmm2            # xmm2 = xmm2[1],xmm6[1]
addsd %xmm3, %xmm2
movapd %xmm2, 0xe0(%rsp)
mulpd 0x58a3d(%rip), %xmm6    # 0x128b90
mulpd 0x58a45(%rip), %xmm6    # 0x128ba0
movapd %xmm6, %xmm2
subsd %xmm0, %xmm2
unpckhpd %xmm6, %xmm6            # xmm6 = xmm6[1,1]
addsd %xmm2, %xmm6
movapd %xmm6, 0x1a0(%rsp)
movsd 0x58d3c(%rip), %xmm0    # 0x128eb8
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
movapd %xmm2, %xmm4
divsd %xmm7, %xmm0
addsd 0x2165b(%rip), %xmm0    # 0xf17f0
movapd 0x58a13(%rip), %xmm2    # 0x128bb0
movapd 0x50(%rsp), %xmm3
mulpd %xmm3, %xmm2
divpd 0x58a11(%rip), %xmm2    # 0x128bc0
addsd %xmm2, %xmm0
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm0, %xmm2
movapd %xmm2, 0xc0(%rsp)
movapd %xmm4, %xmm0
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
movapd %xmm0, 0x10(%rsp)
movapd 0x589f6(%rip), %xmm2    # 0x128bd0
mulpd %xmm0, %xmm2
divpd 0x589fa(%rip), %xmm2    # 0x128be0
movsd 0x58cd2(%rip), %xmm0    # 0x128ec0
subsd %xmm2, %xmm0
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm0, %xmm2
movapd %xmm2, 0xb0(%rsp)
movapd %xmm4, %xmm0
callq 0x8620
movapd %xmm0, 0x70(%rsp)
movsd 0x2420e(%rip), %xmm1    # 0xf4428
movapd (%rsp), %xmm0
callq 0x8620
movapd 0x70(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x589ba(%rip), %xmm1    # 0x128bf0
divpd 0x589a2(%rip), %xmm1    # 0x128be0
movapd 0xb0(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd 0x589a5(%rip), %xmm2    # 0x128c00
mulpd 0x10(%rsp), %xmm2
divpd 0x589a7(%rip), %xmm2    # 0x128c10
movsd 0x58c57(%rip), %xmm0    # 0x128ec8
subsd %xmm2, %xmm0
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm0, %xmm2
mulsd 0x60(%rsp), %xmm2
addsd %xmm1, %xmm2
movapd %xmm2, 0xb0(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x2418a(%rip), %xmm1    # 0xf4428
callq 0x8620
movsd 0x452dd(%rip), %xmm1    # 0x115588
mulsd %xmm1, %xmm0
divsd 0x21539(%rip), %xmm0    # 0xf17f0
addsd 0xb0(%rsp), %xmm0
movapd %xmm0, 0xb0(%rsp)
movapd 0x5894f(%rip), %xmm1    # 0x128c20
mulpd 0x10(%rsp), %xmm1
divpd 0x58951(%rip), %xmm1    # 0x128c30
movsd 0x58be9(%rip), %xmm0    # 0x128ed0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x70(%rsp)
movaps (%rsp), %xmm0
movsd 0x2237b(%rip), %xmm1    # 0xf2680
callq 0x8620
movaps %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x2410c(%rip), %xmm1    # 0xf4428
callq 0x8620
movapd 0x30(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5890d(%rip), %xmm1    # 0x128c40
divpd 0x58915(%rip), %xmm1    # 0x128c50
movapd 0x70(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x30(%rsp)
movaps (%rsp), %xmm0
movsd 0x20f11(%rip), %xmm1    # 0xf1270
callq 0x8620
movaps %xmm0, 0x70(%rsp)
movsd 0x222ff(%rip), %xmm1    # 0xf2670
movapd (%rsp), %xmm0
callq 0x8620
movapd 0x70(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x588d3(%rip), %xmm1    # 0x128c60
divpd 0x588db(%rip), %xmm1    # 0x128c70
movapd 0x30(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x70(%rsp)
movapd 0x588cb(%rip), %xmm1    # 0x128c80
mulpd 0x10(%rsp), %xmm1
divpd 0x5888d(%rip), %xmm1    # 0x128c50
movsd 0x58b0d(%rip), %xmm0    # 0x128ed8
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x110(%rsp)
movaps (%rsp), %xmm0
movsd 0x22294(%rip), %xmm1    # 0xf2680
callq 0x8620
movaps %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x24025(%rip), %xmm1    # 0xf4428
callq 0x8620
movapd 0x30(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x58876(%rip), %xmm1    # 0x128c90
divpd 0x5887e(%rip), %xmm1    # 0x128ca0
movapd 0x110(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x60(%rsp), %xmm1
addsd 0x70(%rsp), %xmm1
movapd %xmm1, 0x30(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x23fd1(%rip), %xmm1    # 0xf4428
callq 0x8620
movapd 0x10(%rsp), %xmm2
mulpd 0x58846(%rip), %xmm2    # 0x128cb0
divpd 0x5884e(%rip), %xmm2    # 0x128cc0
movsd 0x58a66(%rip), %xmm1    # 0x128ee0
subsd %xmm2, %xmm1
unpckhpd %xmm2, %xmm2            # xmm2 = xmm2[1,1]
addsd %xmm1, %xmm2
mulsd %xmm0, %xmm2
addsd 0x30(%rsp), %xmm2
movapd %xmm2, 0x10(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x221cc(%rip), %xmm1    # 0xf2670
callq 0x8620
mulsd 0x58a37(%rip), %xmm0    # 0x128ee8
divsd 0x24327(%rip), %xmm0    # 0xf47e0
movapd %xmm0, %xmm1
movsd 0x450c3(%rip), %xmm0    # 0x115588
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm0
divsd 0x2570a(%rip), %xmm0    # 0xf5be0
addsd 0x24012(%rip), %xmm0    # 0xf44f0
movapd %xmm0, 0x110(%rsp)
movsd 0x3d5e1(%rip), %xmm0    # 0x10dad0
mulsd %xmm2, %xmm0
addsd 0x23f5d(%rip), %xmm0    # 0xf4458
addsd 0x10(%rsp), %xmm1
movapd %xmm1, 0x70(%rsp)
movsd 0x22159(%rip), %xmm1    # 0xf2668
mulsd 0x50(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x10(%rsp)
movapd %xmm2, %xmm0
movsd 0x22155(%rip), %xmm1    # 0xf2680
callq 0x8620
movsd 0x589b8(%rip), %xmm1    # 0x128ef0
mulsd %xmm1, %xmm0
divsd 0x2569c(%rip), %xmm0    # 0xf5be0
addsd 0x10(%rsp), %xmm0
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm1
divsd 0x23a0d(%rip), %xmm1    # 0xf3f68
addsd 0x23f0d(%rip), %xmm1    # 0xf4470
mulsd 0x60(%rsp), %xmm1
addsd %xmm0, %xmm1
movapd 0xc0(%rsp), %xmm0
unpcklpd %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movapd %xmm0, 0xc0(%rsp)
movsd 0x5896d(%rip), %xmm1    # 0x128ef8
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm1
divsd 0x20cd5(%rip), %xmm1    # 0xf1270
addsd 0x23ef5(%rip), %xmm1    # 0xf4498
movsd %xmm1, 0x10(%rsp)
movsd 0x220cf(%rip), %xmm1    # 0xf2680
callq 0x8620
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x58708(%rip), %xmm1    # 0x128cd0
divpd 0x58710(%rip), %xmm1    # 0x128ce0
movsd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x30(%rsp)
movaps (%rsp), %xmm0
movsd 0x23e34(%rip), %xmm1    # 0xf4428
callq 0x8620
movaps %xmm0, 0x10(%rsp)
movapd (%rsp), %xmm0
movsd 0x20c65(%rip), %xmm1    # 0xf1270
callq 0x8620
movapd 0x10(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x586ce(%rip), %xmm1    # 0x128cf0
divpd 0x586d6(%rip), %xmm1    # 0x128d00
movapd 0x30(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x10(%rsp)
movsd 0x588b6(%rip), %xmm1    # 0x128f00
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x588ad(%rip), %xmm1    # 0x128f08
addsd 0x588ad(%rip), %xmm1    # 0x128f10
movsd %xmm1, 0x30(%rsp)
movsd 0x2200f(%rip), %xmm1    # 0xf2680
callq 0x8620
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x58688(%rip), %xmm1    # 0x128d10
divpd 0x58690(%rip), %xmm1    # 0x128d20
movsd 0x30(%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 0x23d66(%rip), %xmm1    # 0xf4428
callq 0x8620
movsd 0x58849(%rip), %xmm1    # 0x128f18
movapd (%rsp), %xmm2
mulsd %xmm2, %xmm1
divsd 0x22038(%rip), %xmm1    # 0xf2718
addsd 0x58838(%rip), %xmm1    # 0x128f20
mulsd %xmm0, %xmm1
addsd 0x10(%rsp), %xmm1
movapd 0xb0(%rsp), %xmm0
unpcklpd %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movapd %xmm0, 0xb0(%rsp)
movsd 0x58818(%rip), %xmm1    # 0x128f28
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm1
divsd 0x58810(%rip), %xmm1    # 0x128f30
addsd 0x58810(%rip), %xmm1    # 0x128f38
movsd %xmm1, 0x10(%rsp)
movsd 0x21f4a(%rip), %xmm1    # 0xf2680
callq 0x8620
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x585e3(%rip), %xmm1    # 0x128d30
divpd 0x585eb(%rip), %xmm1    # 0x128d40
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 0x23caf(%rip), %xmm1    # 0xf4428
callq 0x8620
movaps %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x20ae0(%rip), %xmm1    # 0xf1270
callq 0x8620
movapd 0x30(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x585a9(%rip), %xmm1    # 0x128d50
divpd 0x585b1(%rip), %xmm1    # 0x128d60
movapd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x30(%rsp)
movaps (%rsp), %xmm0
movsd 0x21e9d(%rip), %xmm1    # 0xf2670
callq 0x8620
movaps %xmm0, 0x10(%rsp)
movsd 0x21f7b(%rip), %xmm1    # 0xf2760
movapd (%rsp), %xmm0
callq 0x8620
movapd 0x10(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5856f(%rip), %xmm1    # 0x128d70
divpd 0x58577(%rip), %xmm1    # 0x128d80
movapd 0x30(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x10(%rsp)
movsd 0x58717(%rip), %xmm1    # 0x128f40
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x44d5e(%rip), %xmm1    # 0x115598
addsd 0x58706(%rip), %xmm1    # 0x128f48
movsd %xmm1, 0x30(%rsp)
movsd 0x21e30(%rip), %xmm1    # 0xf2680
callq 0x8620
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x58529(%rip), %xmm1    # 0x128d90
divpd 0x584f1(%rip), %xmm1    # 0x128d60
movsd 0x30(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movapd %xmm1, 0x190(%rsp)
movaps (%rsp), %xmm0
movsd 0x23b92(%rip), %xmm1    # 0xf4428
callq 0x8620
movaps %xmm0, 0x30(%rsp)
movapd (%rsp), %xmm0
movsd 0x209c3(%rip), %xmm1    # 0xf1270
callq 0x8620
movapd 0x30(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x584dc(%rip), %xmm1    # 0x128da0
divpd 0x584e4(%rip), %xmm1    # 0x128db0
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, 0x30(%rsp)
movaps 0x40(%rsp), %xmm0
movsd 0x23b28(%rip), %xmm1    # 0xf4428
callq 0x8620
movsd %xmm0, 0x10(%rsp)
movsd 0x5863d(%rip), %xmm1    # 0x128f50
movapd (%rsp), %xmm0
mulsd %xmm0, %xmm1
divsd 0x23ebc(%rip), %xmm1    # 0xf47e0
addsd 0x5862c(%rip), %xmm1    # 0x128f58
movsd %xmm1, 0x60(%rsp)
movsd 0x21d46(%rip), %xmm1    # 0xf2680
callq 0x8620
movapd 0x50(%rsp), %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
mulpd 0x5846f(%rip), %xmm1    # 0x128dc0
divpd 0x58477(%rip), %xmm1    # 0x128dd0
movsd 0x60(%rsp), %xmm0
subsd %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
mulsd 0x10(%rsp), %xmm1
addsd 0x30(%rsp), %xmm1
movapd %xmm1, 0x50(%rsp)
movapd 0x40(%rsp), %xmm0
movsd 0x21ce5(%rip), %xmm1    # 0xf2670
callq 0x8620
movsd 0x585c8(%rip), %xmm1    # 0x128f60
mulsd (%rsp), %xmm1
divsd 0x585c3(%rip), %xmm1    # 0x128f68
addsd 0x585c3(%rip), %xmm1    # 0x128f70
mulsd %xmm0, %xmm1
addsd 0x50(%rsp), %xmm1
movapd 0x70(%rsp), %xmm0
unpcklpd %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movapd %xmm0, 0x70(%rsp)
movapd 0x1b0(%rsp), %xmm0
movapd 0x90(%rsp), %xmm2
mulsd %xmm2, %xmm0
addsd 0x1c0(%rsp), %xmm0
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
movapd %xmm3, (%rsp)
movapd 0xe0(%rsp), %xmm1
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, 0xe0(%rsp)
movapd %xmm2, %xmm0
movsd 0x21c67(%rip), %xmm1    # 0xf2680
callq 0x8620
mulsd 0x1a0(%rsp), %xmm0
addsd 0xe0(%rsp), %xmm0
mulsd 0x80(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movaps 0x90(%rsp), %xmm0
movsd 0x21c31(%rip), %xmm1    # 0xf2680
callq 0x8620
movaps %xmm0, 0x40(%rsp)
movapd 0x90(%rsp), %xmm0
movsd 0x21c16(%rip), %xmm1    # 0xf2680
callq 0x8620
movsd 0x10(%rsp), %xmm7
movapd 0xd0(%rsp), %xmm6
movsd 0x20(%rsp), %xmm2
movapd 0x80(%rsp), %xmm4
movapd 0x90(%rsp), %xmm1
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd 0xc0(%rsp), %xmm1
movapd %xmm1, %xmm3
movapd 0x3fd01(%rip), %xmm1    # 0x1107b0
unpcklpd 0x110(%rsp), %xmm1      # xmm1 = xmm1[0],mem[0]
addpd %xmm3, %xmm1
movapd (%rsp), %xmm3
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd 0xb0(%rsp), %xmm3
addpd %xmm1, %xmm3
movsd 0xa8(%rsp), %xmm1
movapd 0x40(%rsp), %xmm5
unpcklpd %xmm0, %xmm5            # xmm5 = xmm5[0],xmm0[0]
mulpd 0x70(%rsp), %xmm5
addpd %xmm3, %xmm5
movapd %xmm4, %xmm8
unpcklpd %xmm4, %xmm8            # xmm8 = xmm8[0],xmm4[0]
mulpd %xmm5, %xmm8
jmp 0xd0e9b
movsd 0x20ce5(%rip), %xmm0    # 0xf17f0
ucomisd 0xe0(%rsp), %xmm0
jbe 0xd0e89
movsd %xmm2, 0x20(%rsp)
movq %r13, 0xc0(%rsp)
movq %r12, 0x60(%rsp)
movsd 0x10(%rsp), %xmm2
mulsd %xmm4, %xmm2
addsd %xmm4, %xmm2
mulsd 0x238f5(%rip), %xmm2    # 0xf4438
xorl %ebx, %ebx
leaq 0x5a524(%rip), %r15     # 0x12b070
leaq 0x5a5ad(%rip), %r12     # 0x12b100
xorl %r14d, %r14d
xorl %r13d, %r13d
movsd %xmm2, 0x10(%rsp)
xorpd %xmm3, %xmm3
movl $0x3, %eax
movl $0x2, %ecx
movq %r14, %rdx
leal -0x2(%rcx), %esi
movsd (%rdx,%r15), %xmm0
subsd (%rdx,%r12), %xmm0
imull %ecx, %esi
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %eax, %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, %eax
addq $0x18, %rdx
leaq (%rbx,%rcx), %rsi
incq %rsi
incq %rcx
cmpq $0x4, %rsi
jne 0xd0b70
mulsd 0x23862(%rip), %xmm3    # 0xf4438
movsd %xmm3, 0x40(%rsp)
incq %r13
xorps %xmm1, %xmm1
cvtsi2sd %r13d, %xmm1
movapd %xmm5, %xmm0
callq 0x8620
movapd 0x90(%rsp), %xmm5
mulsd 0x40(%rsp), %xmm0
movapd 0x80(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x10(%rsp), %xmm2
addsd %xmm0, %xmm2
addq $0x8, %r14
addq $-0x2, %rbx
cmpq $0x3, %r13
jne 0xd0b59
movsd %xmm2, 0x10(%rsp)
movl $0x2, %ebx
xorl %r14d, %r14d
xorl %r13d, %r13d
movapd %xmm1, 0x40(%rsp)
xorpd %xmm2, %xmm2
movq %r14, %rax
xorl %ecx, %ecx
movsd (%rax,%r12), %xmm0
subsd (%rax,%r15), %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
mulsd 0x130(%rsp,%rcx,8), %xmm1
addsd 0x138(%rsp,%rcx,8), %xmm1
leaq 0x1(%rcx), %rdx
mulsd %xmm0, %xmm1
addsd %xmm1, %xmm2
addq $0x18, %rax
movq %rdx, %rcx
cmpq %rdx, %rbx
jne 0xd0c48
incq %r13
xorps %xmm1, %xmm1
cvtsi2sd %r13d, %xmm1
movapd %xmm5, %xmm0
movsd %xmm2, 0x50(%rsp)
callq 0x8620
movapd 0x90(%rsp), %xmm5
movsd 0x50(%rsp), %xmm1
mulsd %xmm0, %xmm1
movapd 0x80(%rsp), %xmm0
mulsd %xmm0, %xmm1
movapd %xmm1, %xmm2
movapd 0x40(%rsp), %xmm1
addsd %xmm2, %xmm1
addq $0x2, %rbx
addq $0x8, %r14
cmpq $0x3, %r13
jne 0xd0c39
movapd %xmm1, 0x40(%rsp)
movapd (%rsp), %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, %xmm0
mulsd 0x581b6(%rip), %xmm0    # 0x128eb0
movl $0x2, %r13d
leaq 0x5a4a9(%rip), %rbp     # 0x12b1b0
xorl %ebx, %ebx
xorl %r14d, %r14d
movapd %xmm0, (%rsp)
xorpd %xmm4, %xmm4
movq %rbp, %rax
movq %rbx, %rcx
xorl %edx, %edx
xorl %esi, %esi
movsd (%rcx,%r15), %xmm0
addsd (%rax), %xmm0
movsd (%rcx,%r12), %xmm1
addsd %xmm1, %xmm1
leal -0x1(%rsi), %edi
imull %esi, %edi
xorps %xmm2, %xmm2
cvtsi2sd %edi, %xmm2
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
mulsd 0x138(%rsp,%rsi,8), %xmm3
mulsd 0x130(%rsp,%rsi,8), %xmm2
subsd %xmm1, %xmm0
addsd %xmm3, %xmm2
addsd 0x140(%rsp,%rsi,8), %xmm2
leaq 0x1(%rsi), %rdi
mulsd %xmm0, %xmm2
addsd %xmm2, %xmm4
addl $0x2, %edx
addq $0x18, %rcx
addq $0x20, %rax
movq %rdi, %rsi
cmpq %rdi, %r13
jne 0xd0d1f
mulsd 0x236a7(%rip), %xmm4    # 0xf4438
movsd %xmm4, 0x50(%rsp)
incq %r14
xorps %xmm1, %xmm1
cvtsi2sd %r14d, %xmm1
movapd %xmm5, %xmm0
callq 0x8620
movapd 0x90(%rsp), %xmm5
mulsd 0x50(%rsp), %xmm0
movapd 0x80(%rsp), %xmm4
mulsd %xmm4, %xmm0
movapd (%rsp), %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, %xmm0
addq $0x2, %r13
addq $0x8, %rbx
addq $0x8, %rbp
cmpq $0x3, %r14
jne 0xd0d0c
movapd 0x40(%rsp), %xmm8
unpcklpd %xmm0, %xmm8            # xmm8 = xmm8[0],xmm0[0]
movq 0x60(%rsp), %r12
movq 0xc0(%rsp), %r13
movsd 0xa8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
movapd 0xd0(%rsp), %xmm6
movsd 0x10(%rsp), %xmm7
jmp 0xd0e9b
leaq 0x596da(%rip), %rsi     # 0x12a504
leaq 0x9d0(%rsp), %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x20742(%rip), %rsi     # 0xf1585
leaq 0x1d0(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %r15           # imm = 0x1602
leaq 0x201ce(%rip), %rsi     # 0xf1034
leaq 0x596b7(%rip), %rdx     # 0x12a524
movq %r15, %rdi
movl $0x570, %ecx            # imm = 0x570
movq %r14, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %eax
jmp 0xd0f0f
xorpd %xmm8, %xmm8
xorpd %xmm7, %xmm7
movapd 0xd0(%rsp), %xmm6
movsd 0x178(%rsp), %xmm3
mulsd 0x20e24(%rip), %xmm3    # 0xf1cd0
movapd 0x120(%rsp), %xmm5
mulsd %xmm5, %xmm4
mulsd %xmm6, %xmm4
addsd %xmm2, %xmm4
movsd 0x188(%rsp), %xmm0
mulsd %xmm0, %xmm1
movsd 0x180(%rsp), %xmm2
mulsd %xmm8, %xmm2
mulsd %xmm0, %xmm7
addsd %xmm2, %xmm7
mulsd %xmm0, %xmm3
unpckhpd %xmm8, %xmm8            # xmm8 = xmm8[1,1]
mulsd %xmm3, %xmm8
addsd %xmm7, %xmm8
mulsd %xmm1, %xmm8
addsd %xmm4, %xmm8
movsd %xmm5, (%r13)
movsd %xmm8, (%r12)
xorl %eax, %eax
addq $0x11d8, %rsp           # imm = 0x11D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq