// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/background.c
// Function: background_init
int background_init(
                    struct precision * ppr,
                    struct background * pba
                    ) {

  /** Summary: */

  /** - define local variables */
  int n_ncdm;
  double rho_ncdm_rel,rho_nu_rel;
  double Neff, Omega_rad_neutrinos, Omega_tot_ac, N_dark;
  double w_fld, dw_over_da, integral_fld;
  double wn, f, p, Eac, xc,cos_initial,sin_initial, n, ac, Gac;
  double Omega_r, Omega_m,a_eq;
  int filenum=0;

  /** - in verbose mode, provide some information */
  if (pba->background_verbose > 0) {
    printf("Running CLASS version %s\n",_VERSION_);
    printf("Computing background\n");
  }

  // printf("pba->Omega0_ncdm_tot %e %e\n",pba->Omega0_ncdm_tot, pba->max_fraction_ncdm);

  /** - if shooting failed during input, catch the error here */
  class_test(pba->shooting_failed == _TRUE_,
             pba->error_message,
             "Shooting failed, try optimising input_get_guess(). Error message:\n\n%s",
             pba->shooting_error);

  /** - assign values to all indices in vectors of background quantities */
  class_call(background_indices(pba),
             pba->error_message,
             pba->error_message);

   /** - //VP: to test whether the fraction of ncdm over cdm is too large. default is never too large. */
   if(pba->has_ncdm == _TRUE_ && pba->has_cdm == _TRUE_){
     if (pba->background_verbose > 1)printf(" fraction of ncdm is %e \n", pba->Omega0_ncdm_tot/pba->Omega0_cdm);
     class_test(pba->Omega0_ncdm_tot>pba->max_fraction_ncdm*pba->Omega0_cdm,pba->error_message,"User defined max fraction of ncdm %e is exceeded: %e",pba->max_fraction_ncdm,pba->Omega0_ncdm_tot/pba->Omega0_cdm);
   }
  /* fluid equation of state */
  if (pba->has_fld == _TRUE_) {
    pba->f_ede_peak = 0.0;
    pba->a_peak = 0.0;

    class_call(background_w_fld(pba,0.,&w_fld,&dw_over_da,&integral_fld), pba->error_message, pba->error_message);

    // class_test(w_fld >= 1./3.,
    //            pba->error_message,
    //            "Your choice for w(a--->0)=%g is suspicious, since it is bigger than -1/3 there cannot be radiation domination at early times\n",
    //            w_fld);

      //if we have a pheno axion model, we need to extract the axion mass (in unit of H0) and decay constant (in unit of reduced planck mass) from the pheno parameters.
      //We also extract the characteristic angular frequency of oscillations
      //See 1806.10608, Eqs. 27, 28,30.
     if(pba->ede_parametrization == pheno_axion){
       Omega_r = pba->Omega0_g;
       if(pba->has_ur == _TRUE_) Omega_r += pba->Omega0_ur;
       Omega_m = pba->Omega0_b;
       if(pba->has_cdm == _TRUE_) Omega_m += pba->Omega0_cdm;
       if(pba->has_idm == _TRUE_) Omega_m += pba->Omega0_idm;
       if(pba->has_dcdm == _TRUE_) Omega_m += pba->Omega0_dcdm;
          a_eq = Omega_r /Omega_m;
         if(pba->a_c<a_eq){
           //switch depending on whether ac is smaller or larger than a_eq (approximate)
           p = 1./2;
         }
         else{
           p = 2./3;
         }

         cos_initial = cos(pba->Theta_initial_fld);
         sin_initial = sin(pba->Theta_initial_fld);
         // printf("%e %e %e \n",cos_initial,sin_initial,p);

         n = pba->n_pheno_axion;
         wn = (n-1)/(n+1);

         Eac = sqrt(Omega_r*pow(pba->a_c,-4)+Omega_m*pow(pba->a_c,-3)+pba->Omega0_lambda+pba->Omega_fld_ac);
         // Eac = sqrt((pba->Omega0_g+pba->Omega0_ur)*pow(pba->a_c,-4)+(pba->Omega0_b+pba->Omega0_cdm)*pow(pba->a_c,-3));

         xc = p/Eac;
         f = 7./8;


         if(n>50){
           pba->m_fld = 0;
           pba->alpha_fld = 0;
           Gac = 0;
           pba->omega_axion = 0;
         }
         else{
           pba->m_fld = pow(1-cos_initial,(1.-n)/2.)*sqrt((1-f)*(6*p+2)*pba->Theta_initial_fld/(n*sin_initial))/xc;
           pba->alpha_fld = sqrt(6 * pba->Omega_fld_ac)/pba->m_fld/pow(1-cos_initial,n/2);
           Gac =sqrt(_PI_)*gsl_sf_gamma((n+1.)/(2*n))/gsl_sf_gamma(1+1./(2*n))*pow(2,-(n*n+1)/(2*n))*pow(3,0.5*(1./n-1))
           *pow(pba->a_c,3-6./(1+n))*pow(pow(pba->a_c,6*n/(1+n))+1,0.5*(1./n-1));
           pba->omega_axion = pba->H0*pba->m_fld*pow(1-cos_initial,0.5*(n-1))*Gac;
         }
         if (pba->background_verbose > 1)printf("axion parameters: pba->m_fld  %e /H0, pba->alpha_fld %e/Mpl pba->omega_axion today %e \n", pba->m_fld,pba->alpha_fld,pba->omega_axion);

     }
  }

  /* in verbose mode, inform the user about the value of the ncdm
     masses in eV and about the ratio [m/omega_ncdm] in eV (the usual
     93 point something)*/
  if ((pba->background_verbose > 0) && (pba->has_ncdm == _TRUE_)) {
    for (n_ncdm=0; n_ncdm < pba->N_ncdm; n_ncdm++) {
      printf(" -> non-cold dark matter species with i=%d has m_i = %e eV (so m_i / omega_i =%e eV)\n",
             n_ncdm+1,
             pba->m_ncdm_in_eV[n_ncdm],
             pba->m_ncdm_in_eV[n_ncdm]*pba->deg_ncdm[n_ncdm]/pba->Omega0_ncdm[n_ncdm]/pba->h/pba->h);
    }
  }

  if(pba->has_scf == _TRUE_){
        if(pba->scf_potential == axionquad){
          pba->m_scf = pba->scf_parameters[0]*_eV_over_Mpc_/pba->H0; //from eV to Mpc^-1 to unit of H0
          pba->w_scf = 0;
        }
        else if(pba->scf_potential == axion){
            if(pba->f_axion > 0 && pba->m_scf > 0){
              cos_initial = cos(pba->phi_ini_scf);
              sin_initial = sin(pba->phi_ini_scf);
              // printf("%e %e %e \n",cos_initial,sin_initial,pba->f_axion);

              n = pba->n_axion;


              Gac =sqrt(_PI_)*gsl_sf_gamma((n+1.)/(2*n))/gsl_sf_gamma(1+1./(2*n))*pow(2,-(n*n+1)/(2*n))*pow(3,0.5*(1./n-1))
              *pow(pba->a_c,3-6./(1+n))*pow(pow(pba->a_c,6*n/(1+n))+1,0.5*(1./n-1));
              pba->omega_axion = pba->H0*pba->m_scf*pow(1-cos_initial,0.5*(n-1))*Gac;
            }
        else if(pba->log10_axion_ac > -30 && pba->log10_fraction_axion_ac > -30){
           /*-30 is the default value*/
//            pba->alpha_squared = fabs(pba->alpha_squared);
//            pba->power_of_mu = fabs(pba->power_of_mu);

        /*shoot for both*/
        // pba->power_of_mu= sqrt(pow(pba->power_of_mu,2));
        // pba->mu_squared_alpha_squared= sqrt(pow(pba->mu_squared_alpha_squared,2));
        // Omega_rad_neutrinos = Neff/(1/7.*8./pow(4./11.,4./3.)/pba->Omega0_g);

          Omega_r = pba->Omega0_g;
          if(pba->has_ur == _TRUE_) Omega_r += pba->Omega0_ur;
          Omega_m = pba->Omega0_b;
          if(pba->has_cdm == _TRUE_) Omega_m += pba->Omega0_cdm;
          if(pba->has_idm == _TRUE_) Omega_m += pba->Omega0_idm;
          if(pba->has_dcdm == _TRUE_) Omega_m += pba->Omega0_dcdm;

          a_eq = Omega_r /Omega_m;

          if(pow(10,pba->log10_axion_ac)<a_eq){
            p = 1./2;
            pba->m_scf = pow(pow(10,pba->power_of_mu),-2.);
          }
          else{
            p = 2./3;
            pba->m_scf = pow(pow(10,pba->power_of_mu),-3./2);
          }
          pba->f_axion = sqrt(pow(10,pba->alpha_squared));

          // printf("pba->f_axion %r\n", );
          pba->log10_f_axion = log10(pba->f_axion);
          pba->log10_m_axion = log10(pba->m_scf);

          pba->a_c=pow(10,pba->log10_axion_ac);

          cos_initial = cos(pba->phi_ini_scf);
          sin_initial = sin(pba->phi_ini_scf);
          // printf("%e %e %e \n",cos_initial,sin_initial,p);

          n = pba->n_axion;


          Gac =sqrt(_PI_)*gsl_sf_gamma((n+1.)/(2*n))/gsl_sf_gamma(1+1./(2*n))*pow(2,-(n*n+1)/(2*n))*pow(3,0.5*(1./n-1))
          *pow(pba->a_c,3-6./(1+n))*pow(pow(pba->a_c,6*n/(1+n))+1,0.5*(1./n-1));
          pba->omega_axion = pba->H0*pba->m_scf*pow(1-cos_initial,0.5*(n-1))*Gac;

          // printf("pba->axion_ac %e pba->log10_fraction_axion_ac %e pba->m_scf %e pba->f_axion %e\n",pba->log10_axion_ac,pba->log10_fraction_axion_ac,pba->m_scf,pba->f_axion);
          if(pba->background_verbose>10)printf("pba->m_scf %e pba->f_axion %e pba->omega_axion  %e\n",pba->m_scf,pba->f_axion,pba->omega_axion);
          }

          else if(pba->alpha_squared > -30 && pba->log10_fraction_axion_ac > -30){

            /*shoot for fac by varying alpha*/
            // pba->power_of_mu= sqrt(pow(pba->power_of_mu,2));
            // pba->mu_squared_alpha_squared= sqrt(pow(pba->mu_squared_alpha_squared,2));
            // Omega_rad_neutrinos = Neff/(1/7.*8./pow(4./11.,4./3.)/pba->Omega0_g);

              pba->f_axion = sqrt(pow(10,pba->alpha_squared));

              pba->log10_f_axion = log10(pba->f_axion);
              pba->log10_m_axion = log10(pba->m_scf);
              // printf("pba->axion_ac %e pba->fraction_axion_ac %e pba->m_scf %e pba->f_axion %e\n",pba->axion_ac,pba->fraction_axion_ac,pba->m_scf,pba->f_axion);
              // printf("pba->mu_squared_alpha_squared %e \n",pba->mu_squared_alpha_squared);
          }
          else if(pba->power_of_mu > -30 && pba->log10_axion_ac > -30){
            pba->power_of_mu = fabs(pba->power_of_mu);
            /*shoot for axion ac by varying mu*/
            // pba->power_of_mu= sqrt(pow(pba->power_of_mu,2));
            // pba->mu_squared_alpha_squared= sqrt(pow(pba->mu_squared_alpha_squared,2));
            // Omega_rad_neutrinos = Neff/(1/7.*8./pow(4./11.,4./3.)/pba->Omega0_g);
            Omega_r = pba->Omega0_g;
            if(pba->has_ur == _TRUE_) Omega_r += pba->Omega0_ur;
            Omega_m = pba->Omega0_b;
            if(pba->has_cdm == _TRUE_) Omega_m += pba->Omega0_cdm;
            if(pba->has_idm == _TRUE_) Omega_m += pba->Omega0_idm;
            if(pba->has_dcdm == _TRUE_) Omega_m += pba->Omega0_dcdm;

            a_eq = Omega_r /Omega_m;

            if(pow(10,pba->log10_axion_ac)<a_eq){
              p = 1./2;
              pba->m_scf = pow(pow(10,pba->power_of_mu),-2.);
            }
            else{
              p = 2./3;
              pba->m_scf = pow(pow(10,pba->power_of_mu),-3./2);
            }
              pba->log10_f_axion = log10(pba->f_axion);
              pba->log10_m_axion = log10(pba->m_scf);
              // printf("pba->axion_ac %e pba->log10_fraction_axion_ac %e pba->m_scf %e pba->f_axion %e\n",pba->axion_ac,pba->log10_fraction_axion_ac,pba->m_scf,pba->f_axion);
              // printf("pba->m_scf %e pba->power_of_mu %e \n",pba->m_scf,pba->power_of_mu);
          }

            pba->w_scf = (pba->n_axion-1.0)/(pba->n_axion+1.0);

            // pba->scf_parameters[0]*=pba->f_axion; //conversion from theta_i to phi_i; multiplying by fa
            // pba->scf_parameters[1]*=pba->f_axion; //conversion from theta_dot_i to phi_dot_i; multiplying by fa
            pba->phi_ini_scf*=pba->f_axion; //conversion from theta_i to phi_i; multiplying by fa
            pba->phi_prime_ini_scf*=pba->f_axion; //conversion from theta_dot_i to phi_dot_i; multiplying by fa
            // printf("%e %e\n", pba->scf_parameters[0],  pba->scf_parameters[0]/pba->f_axion);



        }
        else{
          pba->m_scf = 0;
          pba->w_scf = 0; //default to 0 but never used in that case
        }

        pba->f_ede=0.0;
        pba->log10_z_c=1;
        // printf("m_scf is %e pba->w_scf %e pba->f_axion %e\n", pba->m_scf,pba->w_scf,pba->f_axion);
     }

  /** - check that input parameters make sense and write additional information about them */
  class_call(background_checks(ppr,pba),
             pba->error_message,
             pba->error_message);

  /** - integrate the background over log(a), allocate and fill the background table */
  class_call(background_solve(ppr,pba),
             pba->error_message,
             pba->error_message);

  /** - find and store a few derived parameters at radiation-matter equality */
  class_call(background_find_equality(ppr,pba),
             pba->error_message,
             pba->error_message);

  /* - write a summary of the budget of the universe */
  class_call(background_output_budget(pba),
             pba->error_message,
             pba->error_message);

  pba->is_allocated = _TRUE_;

  return _SUCCESS_;

}

// Assembly:
subq $0x51a8, %rsp           # imm = 0x51A8
movq %rdi, 0x5198(%rsp)
movq %rsi, 0x5190(%rsp)
movl $0x0, 0x50d4(%rsp)
movq 0x5190(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0x0, %eax
jle 0xa2999
leaq 0x14c6cf(%rip), %rdi    # 0x1ef04c
leaq 0x13390e(%rip), %rsi    # 0x1d6292
movb $0x0, %al
callq 0x8030
leaq 0x14c6d4(%rip), %rdi    # 0x1ef066
movb $0x0, %al
callq 0x8030
movq 0x5190(%rsp), %rax
movswl 0x518(%rax), %eax
cmpl $0x1, %eax
jne 0xa2a3c
leaq 0x48d0(%rsp), %rdi
movq 0x5190(%rsp), %rdx
addq $0x51a, %rdx            # imm = 0x51A
leaq 0x14c6ad(%rip), %rsi    # 0x1ef07c
movb $0x0, %al
callq 0x5b9c0
leaq 0x40d0(%rsp), %rdi
leaq 0x48d0(%rsp), %rcx
leaq 0x12f695(%rip), %rsi    # 0x1d2082
leaq 0x14c6ce(%rip), %rdx    # 0x1ef0c2
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x40d0(%rsp), %r8
leaq 0x12f61b(%rip), %rsi    # 0x1d2034
leaq 0x14c6c1(%rip), %rdx    # 0x1ef0e1
movl $0x3bb, %ecx            # imm = 0x3BB
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5190(%rsp), %rdi
callq 0xa45f0
cmpl $0x1, %eax
jne 0xa2abb
leaq 0x38d0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12f96c(%rip), %rsi    # 0x1d23d8
leaq 0x14c67e(%rip), %rdx    # 0x1ef0f1
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x38d0(%rsp), %r8
leaq 0x12f59c(%rip), %rsi    # 0x1d2034
leaq 0x14c642(%rip), %rdx    # 0x1ef0e1
movl $0x3c0, %ecx            # imm = 0x3C0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5190(%rsp), %rax
movswl 0x4be(%rax), %eax
cmpl $0x1, %eax
jne 0xa2c0c
movq 0x5190(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xa2c0c
movq 0x5190(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0x1, %eax
jle 0xa2b2a
movq 0x5190(%rsp), %rax
movsd 0x288(%rax), %xmm0
movq 0x5190(%rsp), %rax
divsd 0x28(%rax), %xmm0
leaq 0x14c5e6(%rip), %rdi    # 0x1ef109
movb $0x1, %al
callq 0x8030
movq 0x5190(%rsp), %rax
movsd 0x288(%rax), %xmm0
movq 0x5190(%rsp), %rax
movsd 0x268(%rax), %xmm1
movq 0x5190(%rsp), %rax
mulsd 0x28(%rax), %xmm1
ucomisd %xmm1, %xmm0
jbe 0xa2c0a
leaq 0x30d0(%rsp), %rdi
movq 0x5190(%rsp), %rax
movsd 0x268(%rax), %xmm0
movq 0x5190(%rsp), %rax
movsd 0x288(%rax), %xmm1
movq 0x5190(%rsp), %rax
divsd 0x28(%rax), %xmm1
leaq 0x14c586(%rip), %rsi    # 0x1ef123
movb $0x2, %al
callq 0x5b9c0
leaq 0x28d0(%rsp), %rdi
leaq 0x30d0(%rsp), %rcx
leaq 0x12f4c7(%rip), %rsi    # 0x1d2082
leaq 0x14c596(%rip), %rdx    # 0x1ef158
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x28d0(%rsp), %r8
leaq 0x12f44d(%rip), %rsi    # 0x1d2034
leaq 0x14c4f3(%rip), %rdx    # 0x1ef0e1
movl $0x3c5, %ecx            # imm = 0x3C5
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
jmp 0xa2c0c
movq 0x5190(%rsp), %rax
movswl 0x4c2(%rax), %eax
cmpl $0x1, %eax
jne 0xa3470
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xc0(%rax)
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xb8(%rax)
movq 0x5190(%rsp), %rdi
xorps %xmm0, %xmm0
leaq 0x5150(%rsp), %rsi
leaq 0x5148(%rsp), %rdx
leaq 0x5140(%rsp), %rcx
callq 0xa1970
cmpl $0x1, %eax
jne 0xa2ce4
leaq 0x20d0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12f743(%rip), %rsi    # 0x1d23d8
leaq 0x14c4f8(%rip), %rdx    # 0x1ef194
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x20d0(%rsp), %r8
leaq 0x12f373(%rip), %rsi    # 0x1d2034
leaq 0x14c419(%rip), %rdx    # 0x1ef0e1
movl $0x3cc, %ecx            # imm = 0x3CC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5190(%rsp), %rax
cmpl $0x1, 0x44(%rax)
jne 0xa346e
movq 0x5190(%rsp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xa2d42
movq 0x5190(%rsp), %rax
movsd 0xe8(%rax), %xmm0
addsd 0x50e8(%rsp), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xa2d8b
movq 0x5190(%rsp), %rax
movsd 0x28(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b6(%rax), %eax
cmpl $0x1, %eax
jne 0xa2dc1
movq 0x5190(%rsp), %rax
movsd 0xf0(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xa2df7
movq 0x5190(%rsp), %rax
movsd 0x330(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movsd 0x50e8(%rsp), %xmm0
divsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50d8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm1
movsd 0x50d8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xa2e44
movsd 0x12fe4f(%rip), %xmm0   # 0x1d2c88
movsd %xmm0, 0x5128(%rsp)
jmp 0xa2e55
movsd 0x1326ec(%rip), %xmm0   # 0x1d5538
movsd %xmm0, 0x5128(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x78(%rax), %xmm0
callq 0x86a0
movsd %xmm0, 0x5110(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x78(%rax), %xmm0
callq 0x80a0
movsd %xmm0, 0x5108(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x68(%rax), %xmm0
movsd %xmm0, 0x5100(%rsp)
movsd 0x5100(%rsp), %xmm0
movsd 0x12f396(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movsd 0x12f38a(%rip), %xmm1   # 0x1d2248
addsd 0x5100(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x5138(%rsp)
movsd 0x50e8(%rsp), %xmm0
movsd %xmm0, 0xc8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x1325c2(%rip), %xmm1   # 0x1d54c0
callq 0x8610
movsd %xmm0, 0xc0(%rsp)
movsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0xb8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x132a72(%rip), %xmm1   # 0x1d59a8
callq 0x8610
movsd 0xb8(%rsp), %xmm1
movsd 0xc0(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0xc8(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x5190(%rsp), %rax
addsd 0x30(%rax), %xmm0
movq 0x5190(%rsp), %rax
addsd 0x90(%rax), %xmm0
callq 0x82e0
movsd %xmm0, 0x5120(%rsp)
movsd 0x5128(%rsp), %xmm0
divsd 0x5120(%rsp), %xmm0
movsd %xmm0, 0x5118(%rsp)
movsd 0x12f2e5(%rip), %xmm0   # 0x1d2298
movsd %xmm0, 0x5130(%rsp)
movsd 0x5100(%rsp), %xmm0
movsd 0x1334e3(%rip), %xmm1   # 0x1d64b0
ucomisd %xmm1, %xmm0
jbe 0xa301a
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x80(%rax)
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x88(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x50f0(%rsp)
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x70(%rax)
jmp 0xa341d
movsd 0x12f226(%rip), %xmm0   # 0x1d2248
subsd 0x5110(%rsp), %xmm0
movsd 0x12f215(%rip), %xmm1   # 0x1d2248
subsd 0x5100(%rsp), %xmm1
movsd 0x12fc3c(%rip), %xmm2   # 0x1d2c80
divsd %xmm2, %xmm1
callq 0x8610
movsd %xmm0, 0x70(%rsp)
movsd 0x12f1ed(%rip), %xmm0   # 0x1d2248
subsd 0x5130(%rsp), %xmm0
movsd 0x5128(%rsp), %xmm1
movsd 0x130613(%rip), %xmm2   # 0x1d3688
mulsd %xmm2, %xmm1
movsd 0x12fbff(%rip), %xmm2   # 0x1d2c80
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x78(%rax), %xmm0
movsd 0x5100(%rsp), %xmm1
mulsd 0x5108(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x70(%rsp), %xmm0
mulsd %xmm1, %xmm0
divsd 0x5118(%rsp), %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x80(%rax)
movq 0x5190(%rsp), %rax
movsd 0x1305a1(%rip), %xmm0   # 0x1d3688
mulsd 0x90(%rax), %xmm0
callq 0x82e0
movq 0x5190(%rsp), %rax
divsd 0x80(%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x12f136(%rip), %xmm0   # 0x1d2248
subsd 0x5110(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm1
movsd 0x12fb54(%rip), %xmm2   # 0x1d2c80
divsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x78(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x88(%rax)
movsd 0x131e86(%rip), %xmm0   # 0x1d4fe0
callq 0x82e0
movsd %xmm0, 0x80(%rsp)
movsd 0x12f0d8(%rip), %xmm0   # 0x1d2248
addsd 0x5100(%rsp), %xmm0
movsd 0x12faff(%rip), %xmm1   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd 0x80(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x12facc(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
movsd 0x12f083(%rip), %xmm1   # 0x1d2248
divsd %xmm0, %xmm1
movsd 0x12f077(%rip), %xmm0   # 0x1d2248
addsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd 0x88(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x90(%rsp)
movsd 0x5100(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x12f037(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x12fa4c(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
divsd %xmm0, %xmm1
movsd 0x12fa37(%rip), %xmm0   # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x90(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x98(%rsp)
movsd 0x12efd9(%rip), %xmm0   # 0x1d2248
divsd 0x5100(%rsp), %xmm0
movsd 0x12efc8(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movsd 0x12f9fc(%rip), %xmm1   # 0x1d2c88
mulsd %xmm0, %xmm1
movsd 0x130400(%rip), %xmm0   # 0x1d3698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x98(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa0(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12ef7a(%rip), %xmm1   # 0x1d2248
addsd 0x5100(%rsp), %xmm1
movsd 0x1303a9(%rip), %xmm2   # 0x1d3688
divsd %xmm1, %xmm2
movsd 0x1303ad(%rip), %xmm1   # 0x1d3698
subsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xa0(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x130363(%rip), %xmm1   # 0x1d3688
mulsd 0x5100(%rsp), %xmm1
movsd 0x12ef12(%rip), %xmm2   # 0x1d2248
addsd 0x5100(%rsp), %xmm2
divsd %xmm2, %xmm1
callq 0x8610
movsd 0x12eef8(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x12eeec(%rip), %xmm2   # 0x1d2248
divsd 0x5100(%rsp), %xmm2
movsd 0x12eedb(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12f90f(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xa8(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x50f0(%rsp)
movq 0x5190(%rsp), %rax
movsd (%rax), %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x80(%rax), %xmm0
movsd %xmm0, 0xb0(%rsp)
movsd 0x12ee80(%rip), %xmm0   # 0x1d2248
subsd 0x5110(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm2
movsd 0x12ee66(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12f89a(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xb0(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x50f0(%rsp), %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x70(%rax)
movq 0x5190(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0x1, %eax
jle 0xa346c
movq 0x5190(%rsp), %rax
movsd 0x80(%rax), %xmm0
movq 0x5190(%rsp), %rax
movsd 0x88(%rax), %xmm1
movq 0x5190(%rsp), %rax
movsd 0x70(%rax), %xmm2
leaq 0x14bd69(%rip), %rdi    # 0x1ef1ce
movb $0x3, %al
callq 0x8030
jmp 0xa346e
jmp 0xa3470
movq 0x5190(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0x0, %eax
jle 0xa3580
movq 0x5190(%rsp), %rax
movswl 0x4be(%rax), %eax
cmpl $0x1, %eax
jne 0xa3580
movl $0x0, 0x518c(%rsp)
movl 0x518c(%rsp), %eax
movq 0x5190(%rsp), %rcx
cmpl 0x248(%rcx), %eax
jge 0xa357e
movl 0x518c(%rsp), %esi
addl $0x1, %esi
movq 0x5190(%rsp), %rax
movq 0x278(%rax), %rax
movslq 0x518c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x5190(%rsp), %rax
movq 0x278(%rax), %rax
movslq 0x518c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x5190(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x518c(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm1
movq 0x5190(%rsp), %rax
movq 0x280(%rax), %rax
movslq 0x518c(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm1
movq 0x5190(%rsp), %rax
divsd 0x8(%rax), %xmm1
movq 0x5190(%rsp), %rax
divsd 0x8(%rax), %xmm1
leaq 0x14bcc5(%rip), %rdi    # 0x1ef226
movb $0x2, %al
callq 0x8030
movl 0x518c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x518c(%rsp)
jmp 0xa34ab
jmp 0xa3580
movq 0x5190(%rsp), %rax
movswl 0x4bc(%rax), %eax
cmpl $0x1, %eax
jne 0xa43ae
movq 0x5190(%rsp), %rax
cmpl $0x4, 0x160(%rax)
jne 0xa35f8
movq 0x5190(%rsp), %rax
movq 0x168(%rax), %rax
movsd 0x1330f0(%rip), %xmm0   # 0x1d66b0
mulsd (%rax), %xmm0
movq 0x5190(%rsp), %rax
divsd (%rax), %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x188(%rax)
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x218(%rax)
jmp 0xa4383
movq 0x5190(%rsp), %rax
cmpl $0x2, 0x160(%rax)
jne 0xa435b
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xa3942
movq 0x5190(%rsp), %rax
movsd 0x188(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xa3942
movq 0x5190(%rsp), %rax
movsd 0x150(%rax), %xmm0
callq 0x86a0
movsd %xmm0, 0x5110(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x150(%rax), %xmm0
callq 0x80a0
movsd %xmm0, 0x5108(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x210(%rax), %xmm0
movsd %xmm0, 0x5100(%rsp)
movsd 0x13193c(%rip), %xmm0   # 0x1d4fe0
callq 0x82e0
movsd %xmm0, 0x38(%rsp)
movsd 0x12eb91(%rip), %xmm0   # 0x1d2248
addsd 0x5100(%rsp), %xmm0
movsd 0x12f5b8(%rip), %xmm1   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x12f58b(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
movsd 0x12eb42(%rip), %xmm1   # 0x1d2248
divsd %xmm0, %xmm1
movsd 0x12eb36(%rip), %xmm0   # 0x1d2248
addsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd 0x40(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
movsd 0x5100(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x12eafc(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x12f511(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
divsd %xmm0, %xmm1
movsd 0x12f4fc(%rip), %xmm0   # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x48(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x50(%rsp)
movsd 0x12eaa4(%rip), %xmm0   # 0x1d2248
divsd 0x5100(%rsp), %xmm0
movsd 0x12ea93(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movsd 0x12f4c7(%rip), %xmm1   # 0x1d2c88
mulsd %xmm0, %xmm1
movsd 0x12fecb(%rip), %xmm0   # 0x1d3698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x50(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x58(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12ea4b(%rip), %xmm1   # 0x1d2248
addsd 0x5100(%rsp), %xmm1
movsd 0x12fe7a(%rip), %xmm2   # 0x1d3688
divsd %xmm1, %xmm2
movsd 0x12fe7e(%rip), %xmm1   # 0x1d3698
subsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x58(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x60(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12fe3a(%rip), %xmm1   # 0x1d3688
mulsd 0x5100(%rsp), %xmm1
movsd 0x12e9e9(%rip), %xmm2   # 0x1d2248
addsd 0x5100(%rsp), %xmm2
divsd %xmm2, %xmm1
callq 0x8610
movsd 0x12e9cf(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x12e9c3(%rip), %xmm2   # 0x1d2248
divsd 0x5100(%rsp), %xmm2
movsd 0x12e9b2(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12f3e6(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x60(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x50f0(%rsp)
movq 0x5190(%rsp), %rax
movsd (%rax), %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x188(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x12e95d(%rip), %xmm0   # 0x1d2248
subsd 0x5110(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm2
movsd 0x12e943(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12f377(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x68(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x50f0(%rsp), %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x70(%rax)
jmp 0xa42c1
movq 0x5190(%rsp), %rax
movsd 0x1b8(%rax), %xmm0
movsd 0x132d66(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa3f5a
movq 0x5190(%rsp), %rax
movsd 0x1d0(%rax), %xmm0
movsd 0x132d44(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa3f5a
movq 0x5190(%rsp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xa39d2
movq 0x5190(%rsp), %rax
movsd 0xe8(%rax), %xmm0
addsd 0x50e8(%rsp), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xa3a1b
movq 0x5190(%rsp), %rax
movsd 0x28(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b6(%rax), %eax
cmpl $0x1, %eax
jne 0xa3a51
movq 0x5190(%rsp), %rax
movsd 0xf0(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xa3a87
movq 0x5190(%rsp), %rax
movsd 0x330(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movsd 0x50e8(%rsp), %xmm0
divsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50d8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1b8(%rax), %xmm1
movsd 0x12ed26(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x50d8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xa3b1e
movsd 0x12f1af(%rip), %xmm0   # 0x1d2c88
movsd %xmm0, 0x5128(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
movsd 0x12ece6(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movsd 0x12fc79(%rip), %xmm1   # 0x1d3780
callq 0x8610
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x188(%rax)
jmp 0xa3b69
movsd 0x131a12(%rip), %xmm0   # 0x1d5538
movsd %xmm0, 0x5128(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
movsd 0x12ec99(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movsd 0x131994(%rip), %xmm1   # 0x1d54e8
callq 0x8610
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x188(%rax)
movq 0x5190(%rsp), %rax
movsd 0x198(%rax), %xmm1
movsd 0x12ec5f(%rip), %xmm0   # 0x1d27e0
callq 0x8610
callq 0x82e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x190(%rax)
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1a8(%rax)
movq 0x5190(%rsp), %rax
movsd 0x188(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1b0(%rax)
movq 0x5190(%rsp), %rax
movsd 0x1b8(%rax), %xmm1
movsd 0x12ebe3(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1c8(%rax)
movq 0x5190(%rsp), %rax
movsd 0x150(%rax), %xmm0
callq 0x86a0
movsd %xmm0, 0x5110(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x150(%rax), %xmm0
callq 0x80a0
movsd %xmm0, 0x5108(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x210(%rax), %xmm0
movsd %xmm0, 0x5100(%rsp)
movsd 0x131371(%rip), %xmm0   # 0x1d4fe0
callq 0x82e0
movsd %xmm0, (%rsp)
movsd 0x12e5c7(%rip), %xmm0   # 0x1d2248
addsd 0x5100(%rsp), %xmm0
movsd 0x12efee(%rip), %xmm1   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd (%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x12efc2(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
movsd 0x12e579(%rip), %xmm1   # 0x1d2248
divsd %xmm0, %xmm1
movsd 0x12e56d(%rip), %xmm0   # 0x1d2248
addsd %xmm1, %xmm0
callq 0xa5090
movaps %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x5100(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x12e533(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x12ef48(%rip), %xmm0   # 0x1d2c80
mulsd 0x5100(%rsp), %xmm0
divsd %xmm0, %xmm1
movsd 0x12ef33(%rip), %xmm0   # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x12e4db(%rip), %xmm0   # 0x1d2248
divsd 0x5100(%rsp), %xmm0
movsd 0x12e4ca(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movsd 0x12eefe(%rip), %xmm1   # 0x1d2c88
mulsd %xmm0, %xmm1
movsd 0x12f902(%rip), %xmm0   # 0x1d3698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12e482(%rip), %xmm1   # 0x1d2248
addsd 0x5100(%rsp), %xmm1
movsd 0x12f8b1(%rip), %xmm2   # 0x1d3688
divsd %xmm1, %xmm2
movsd 0x12f8b5(%rip), %xmm1   # 0x1d3698
subsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x20(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12f871(%rip), %xmm1   # 0x1d3688
mulsd 0x5100(%rsp), %xmm1
movsd 0x12e420(%rip), %xmm2   # 0x1d2248
addsd 0x5100(%rsp), %xmm2
divsd %xmm2, %xmm1
callq 0x8610
movsd 0x12e406(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x12e3fa(%rip), %xmm2   # 0x1d2248
divsd 0x5100(%rsp), %xmm2
movsd 0x12e3e9(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12ee1d(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x28(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x50f0(%rsp)
movq 0x5190(%rsp), %rax
movsd (%rax), %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x188(%rax), %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x12e394(%rip), %xmm0   # 0x1d2248
subsd 0x5110(%rsp), %xmm0
movsd 0x5100(%rsp), %xmm2
movsd 0x12e37a(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm2
movsd 0x12edae(%rip), %xmm1   # 0x1d2c88
mulsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x30(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x50f0(%rsp), %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x70(%rax)
movq 0x5190(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0xa, %eax
jle 0xa3f55
movq 0x5190(%rsp), %rax
movsd 0x188(%rax), %xmm0
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm1
movq 0x5190(%rsp), %rax
movsd 0x70(%rax), %xmm2
leaq 0x14b32e(%rip), %rdi    # 0x1ef27c
movb $0x3, %al
callq 0x8030
jmp 0xa42bf
movq 0x5190(%rsp), %rax
movsd 0x198(%rax), %xmm0
movsd 0x13274e(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa401f
movq 0x5190(%rsp), %rax
movsd 0x1d0(%rax), %xmm0
movsd 0x13272c(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa401f
movq 0x5190(%rsp), %rax
movsd 0x198(%rax), %xmm1
movsd 0x12e82a(%rip), %xmm0   # 0x1d27e0
callq 0x8610
callq 0x82e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x190(%rax)
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1a8(%rax)
movq 0x5190(%rsp), %rax
movsd 0x188(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1b0(%rax)
jmp 0xa42bd
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
movsd 0x132689(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa42bb
movq 0x5190(%rsp), %rax
movsd 0x1b8(%rax), %xmm0
movsd 0x132667(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
jbe 0xa42bb
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm0
movaps 0x12e1b6(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1a0(%rax)
movq 0x5190(%rsp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xa40da
movq 0x5190(%rsp), %rax
movsd 0xe8(%rax), %xmm0
addsd 0x50e8(%rsp), %xmm0
movsd %xmm0, 0x50e8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xa4123
movq 0x5190(%rsp), %rax
movsd 0x28(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b6(%rax), %eax
cmpl $0x1, %eax
jne 0xa4159
movq 0x5190(%rsp), %rax
movsd 0xf0(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movq 0x5190(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xa418f
movq 0x5190(%rsp), %rax
movsd 0x330(%rax), %xmm0
addsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50e0(%rsp)
movsd 0x50e8(%rsp), %xmm0
divsd 0x50e0(%rsp), %xmm0
movsd %xmm0, 0x50d8(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1b8(%rax), %xmm1
movsd 0x12e61e(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x50d8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xa4226
movsd 0x12eaa7(%rip), %xmm0   # 0x1d2c88
movsd %xmm0, 0x5128(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
movsd 0x12e5de(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movsd 0x12f571(%rip), %xmm1   # 0x1d3780
callq 0x8610
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x188(%rax)
jmp 0xa4271
movsd 0x13130a(%rip), %xmm0   # 0x1d5538
movsd %xmm0, 0x5128(%rsp)
movq 0x5190(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
movsd 0x12e591(%rip), %xmm0   # 0x1d27e0
callq 0x8610
movsd 0x13128c(%rip), %xmm1   # 0x1d54e8
callq 0x8610
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x188(%rax)
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1a8(%rax)
movq 0x5190(%rsp), %rax
movsd 0x188(%rax), %xmm0
callq 0x81e0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x1b0(%rax)
jmp 0xa42bd
jmp 0xa42bf
jmp 0xa42c1
movq 0x5190(%rsp), %rax
movsd 0x210(%rax), %xmm0
movsd 0x12df6f(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movq 0x5190(%rsp), %rax
movsd 0x12df5b(%rip), %xmm1   # 0x1d2248
addsd 0x210(%rax), %xmm1
divsd %xmm1, %xmm0
movq 0x5190(%rsp), %rax
movsd %xmm0, 0x218(%rax)
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x150(%rax), %xmm0
movsd %xmm0, 0x150(%rax)
movq 0x5190(%rsp), %rax
movsd 0x190(%rax), %xmm0
movq 0x5190(%rsp), %rax
mulsd 0x158(%rax), %xmm0
movsd %xmm0, 0x158(%rax)
jmp 0xa4381
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x188(%rax)
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x218(%rax)
jmp 0xa4383
movq 0x5190(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x200(%rax)
movq 0x5190(%rsp), %rax
movsd 0x12dea2(%rip), %xmm0   # 0x1d2248
movsd %xmm0, 0x1f0(%rax)
movq 0x5198(%rsp), %rdi
movq 0x5190(%rsp), %rsi
callq 0xa51a0
cmpl $0x1, %eax
jne 0xa4435
leaq 0x18d0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12dff2(%rip), %rsi    # 0x1d23d8
leaq 0x14aec3(%rip), %rdx    # 0x1ef2b0
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x18d0(%rsp), %r8
leaq 0x12dc22(%rip), %rsi    # 0x1d2034
leaq 0x14acc8(%rip), %rdx    # 0x1ef0e1
movl $0x499, %ecx            # imm = 0x499
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5198(%rsp), %rdi
movq 0x5190(%rsp), %rsi
callq 0xa5a20
cmpl $0x1, %eax
jne 0xa44bc
leaq 0x10d0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12df6b(%rip), %rsi    # 0x1d23d8
leaq 0x14ae57(%rip), %rdx    # 0x1ef2cb
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x10d0(%rsp), %r8
leaq 0x12db9b(%rip), %rsi    # 0x1d2034
leaq 0x14ac41(%rip), %rdx    # 0x1ef0e1
movl $0x49e, %ecx            # imm = 0x49E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5198(%rsp), %rdi
movq 0x5190(%rsp), %rsi
callq 0xa8050
cmpl $0x1, %eax
jne 0xa4543
leaq 0x8d0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12dee4(%rip), %rsi    # 0x1d23d8
leaq 0x14adea(%rip), %rdx    # 0x1ef2e5
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x8d0(%rsp), %r8
leaq 0x12db14(%rip), %rsi    # 0x1d2034
leaq 0x14abba(%rip), %rdx    # 0x1ef0e1
movl $0x4a3, %ecx            # imm = 0x4A3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5190(%rsp), %rdi
callq 0xa8520
cmpl $0x1, %eax
jne 0xa45bf
leaq 0xd0(%rsp), %rdi
movq 0x5190(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x12de65(%rip), %rsi    # 0x1d23d8
leaq 0x14ad8d(%rip), %rdx    # 0x1ef307
movb $0x0, %al
callq 0x5b9c0
movq 0x5190(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0xd0(%rsp), %r8
leaq 0x12da95(%rip), %rsi    # 0x1d2034
leaq 0x14ab3b(%rip), %rdx    # 0x1ef0e1
movl $0x4a8, %ecx            # imm = 0x4A8
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x51a4(%rsp)
jmp 0xa45db
movq 0x5190(%rsp), %rax
movw $0x1, 0x151c(%rax)
movl $0x0, 0x51a4(%rsp)
movl 0x51a4(%rsp), %eax
addq $0x51a8, %rsp           # imm = 0x51A8
retq
nopw (%rax,%rax)