// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../external/heating/noninjection.c
// Function: noninjection_init
int noninjection_init(struct precision* ppr,
                      struct background* pba,
                      struct thermodynamics* pth,
                      struct perturbations* ppt,
                      struct primordial* ppm,
                      struct noninjection* pni){

  /** Summary: */

  /** - Define local variables */
  int index_k,index_z;
  int last_index_back, last_index_thermo, last_index_coarse = 0;
  double *pvecback, *pvecthermo;
  double R, dkappa;
  double dEdt;
  double z_wkb;
  double h,a,b;
  double temp_injection;
  double z_coarse;

  /* z-table */
  pni->z_size = pth->tt_size;
  class_alloc(pni->z_table,
              pni->z_size*sizeof(double),
              pni->error_message);
  memcpy(pni->z_table,
         pth->z_table,
         pni->z_size*sizeof(double));
  pni->last_index_z = 0;

  /* Photon non-injected table */
  class_alloc(pni->photon_dep_table,
              pni->z_size*sizeof(double),
              pni->error_message);
  /* Initialize to zero */
  for(index_z = 0; index_z < pni->z_size; ++index_z){
    pni->photon_dep_table[index_z] = 0.;
  }

  /** - Allocate new storage space that is a bit coarser in z as to reduce computational costs */
  pni->logz_max = log(1.+pni->z_table[pni->z_size-1]);
  pni->z_size_coarse = ppr->noninjection_Nz_log; /* This table is only going to be filled after the initial run anyway */
  class_alloc(pni->z_table_coarse,
              pni->z_size_coarse*sizeof(double),
              pni->error_message);
  for(index_z=0;index_z<pni->z_size_coarse-1;++index_z){
    pni->z_table_coarse[index_z] = exp(index_z*pni->logz_max/(pni->z_size_coarse-1))-1.;
  }
  pni->z_table_coarse[pni->z_size_coarse-1] = pni->z_table[pni->z_size-1];

  class_alloc(pni->noninjection_table,
              pni->z_size_coarse*sizeof(double),
              pni->error_message);
  class_alloc(pni->ddnoninjection_table,
              pni->z_size_coarse*sizeof(double),
              pni->error_message);

  /** - Allocate qunatities from primordial structure */
  pni->k_max = ppr->k_max_acc_diss;
  pni->k_min = ppr->k_min_acc_diss;
  pni->k_size = ppr->noninjection_Nk_acc_diss;
  class_alloc(pni->k,
              pni->k_size*sizeof(double),
              pni->error_message);
  class_alloc(pni->k_weights,
              pni->k_size*sizeof(double),
              pni->error_message);
  class_alloc(pni->pk_primordial_k,
              pni->k_size*sizeof(double),
              pni->error_message);

  /** - Import primordial spectrum */
  for (index_k=0; index_k<pni->k_size; index_k++) {
    pni->k[index_k] = exp(log(pni->k_min)+(log(pni->k_max)-log(pni->k_min))/(pni->k_size)*index_k);

    class_call(primordial_spectrum_at_k(ppm,
                                        ppt->index_md_scalars,
                                        linear,
                                        pni->k[index_k],
                                        &pni->pk_primordial_k[index_k]),
               ppm->error_message,
               pni->error_message);
  }

  /** - Prepare wavenumber integration */
  class_call(array_trapezoidal_weights(pni->k,
                                       pni->k_size,
                                       pni->k_weights,
                                       pni->error_message),
             pni->error_message,
             pni->error_message);

  class_alloc(pni->integrand_approx,
              pni->k_size*sizeof(double),
              pni->error_message);

  /** - Allocate backgorund and thermodynamcis vectors */
  last_index_back = 0;
  last_index_thermo = 0;
  class_alloc(pvecback,
              pba->bg_size*sizeof(double),
              pni->error_message);
  class_alloc(pvecthermo,
              pth->tt_size*sizeof(double),
              pni->error_message);

  /** - Calculate WKB approximation ampltidue factor f_nu at early times */
  z_wkb = ppr->z_wkb_acc_diss;
  class_call(background_at_z(pba,
                             z_wkb,
                             long_info,
                             inter_normal,
                             &last_index_back,
                             pvecback),
             pba->error_message,
             pni->error_message);

  pni->f_nu_wkb = (1.-pvecback[pba->index_bg_rho_g]/(pvecback[pba->index_bg_Omega_r]*pvecback[pba->index_bg_rho_crit]));

  /** - Import quantities from other structures */
  /* Background structure */
  pni->H0 = pba->H0*_c_/_Mpc_over_m_;                                                               // [1/s]
  pni->T_g0 = pba->T_cmb;                                                                           // [K]
  pni->Omega0_b = pba->Omega0_b;                                                                    // [-]
  pni->Omega0_cdm = pba->Omega0_cdm;                                                                // [-]
  pni->rho0_cdm = pba->Omega0_cdm*pow(pni->H0,2)*3/8./_PI_/_G_*_c_*_c_;                             // [J/m^3]

  /* Thermodynamics structure */
  pni->fHe = pth->fHe;                                                                              // [-]
  pni->N_e0 = pth->n_e;                                                                             // [1/m^3]

  /** - Loop over z and calculate the heating at each point */
  dEdt = 0.;
  for(index_z=0; index_z<pni->z_size_coarse; ++index_z){

    z_coarse = pni->z_table_coarse[index_z];
    pni->noninjection_table[index_z] = 0.;

    /* Import quantities from background and thermodynamics structure */
    class_call(background_at_z(pba,
                               z_coarse,
                               long_info,
                               inter_closeby,
                               &last_index_back,
                               pvecback),
               pba->error_message,
               pni->error_message);

    pni->H = pvecback[pba->index_bg_H]*_c_/_Mpc_over_m_;                                            // [1/s]
    pni->a = pvecback[pba->index_bg_a];                                                             // [-]
    pni->rho_g = pvecback[pba->index_bg_rho_g]*_Jm3_over_Mpc2_;                                     // [J/m^3]
    R = (3./4.)*pvecback[pba->index_bg_rho_b]/pvecback[pba->index_bg_rho_g];                        // [-]
    pni->nH = pni->N_e0*pow(pni->a,-3);

    class_call(thermodynamics_at_z(pba,
                                   pth,
                                   z_coarse,
                                   inter_normal,
                                   &last_index_thermo,
                                   pvecback,
                                   pvecthermo),
               pth->error_message,
               pni->error_message);

    dkappa = pvecthermo[pth->index_th_dkappa];                                                      // [1/Mpc]
    pni->dkD_dz = 1./(pvecback[pba->index_bg_H]*dkappa)*(16./15.+pow(R,2.)/(1.+R))/(6.*(1.0+R));    // [Mpc^2]
    pni->kD = 2.*_PI_/pvecthermo[pth->index_th_r_d];                                                // [1/Mpc]
    pni->T_b = pvecthermo[pth->index_th_Tb];                                                        // [K]
    pni->T_g = pni->T_g0/pni->a;                                                                    // [K]
    pni->x_e = pvecthermo[pth->index_th_xe];                                                        // [-]
    pni->heat_capacity = (3./2.)*_k_B_*pni->nH*(1.+pni->fHe+pni->x_e);                              // [J/(K m^3)]

    /* Include all non-injected energy that does not need to be deposited (i.e. adiabatic terms as below) */
    /* First order cooling of photons due to adiabatic interaction with baryons */
    class_call(noninjection_rate_adiabatic_cooling(pni,
                                                   z_coarse,
                                                   &dEdt),
               pni->error_message,
               pni->error_message);
    pni->noninjection_table[index_z]+=dEdt;

    /* Second order acoustic dissipation of BAO */
    class_call(noninjection_rate_acoustic_diss(pni,
                                               z_coarse,
                                               &dEdt),
               pni->error_message,
               pni->error_message);
    pni->noninjection_table[index_z]+=dEdt;
  }

  /** - Spline coarse z table in view of interpolation */
  class_call(array_spline_table_columns2(pni->z_table_coarse,
                                         pni->z_size_coarse,
                                         pni->noninjection_table,
                                         1,
                                         pni->ddnoninjection_table,
                                         _SPLINE_EST_DERIV_,
                                         pni->error_message),
             pni->error_message,
             pni->error_message);

  /** - Evaluate the spline coarse table at the fine-grained z samples */
  for(index_z=0;index_z<pni->z_size;++index_z){
    class_call(array_spline_hunt(pni->z_table_coarse,
                                 pni->z_size_coarse,
                                 pni->z_table[index_z],
                                 &last_index_coarse,
                                 &h,&a,&b,
                                 pni->error_message),
               pni->error_message,
               pni->error_message);

    temp_injection = array_spline_eval(pni->noninjection_table,
                                       pni->ddnoninjection_table,
                                       last_index_coarse,
                                       last_index_coarse+1,
                                       h,a,b);
    pni->photon_dep_table[index_z]+=temp_injection;
  }

  /** - Free temporary variables */
  free(pvecback);
  free(pvecthermo);

  return _SUCCESS_;
}

// Assembly:
subq $0xa188, %rsp           # imm = 0xA188
movq %rdi, 0xa178(%rsp)
movq %rsi, 0xa170(%rsp)
movq %rdx, 0xa168(%rsp)
movq %rcx, 0xa160(%rsp)
movq %r8, 0xa158(%rsp)
movq %r9, 0xa150(%rsp)
movl $0x0, 0xa13c(%rsp)
movq 0xa168(%rsp), %rax
movl 0xf08(%rax), %ecx
movq 0xa150(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0xa150(%rsp), %rax
movslq 0x60(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x68(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x68(%rax)
jne 0x1a38ca
movq 0xa150(%rsp), %rax
movslq 0x60(%rax), %rax
shlq $0x3, %rax
movl %eax, 0xa0dc(%rsp)
leaq 0x98d0(%rsp), %rdi
movl 0xa0dc(%rsp), %ecx
leaq 0x2e789(%rip), %rsi     # 0x1d2004
leaq 0x6a7f6(%rip), %rdx     # 0x20e078
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x98d0(%rsp), %r8
leaq 0x2e78d(%rip), %rsi     # 0x1d2034
leaq 0x6a7d7(%rip), %rdx     # 0x20e085
movl $0x2f, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa150(%rsp), %rax
movq 0x68(%rax), %rdi
movq 0xa168(%rsp), %rax
movq 0xf10(%rax), %rsi
movq 0xa150(%rsp), %rax
movslq 0x60(%rax), %rdx
shlq $0x3, %rdx
callq 0x8300
movq 0xa150(%rsp), %rax
movl $0x0, 0x70(%rax)
movq 0xa150(%rsp), %rax
movslq 0x60(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x108(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x108(%rax)
jne 0x1a39be
movq 0xa150(%rsp), %rax
movslq 0x60(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x98cc(%rsp)
leaq 0x90c0(%rsp), %rdi
movl 0x98cc(%rsp), %ecx
leaq 0x2e695(%rip), %rsi     # 0x1d2004
leaq 0x6a721(%rip), %rdx     # 0x20e097
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x90c0(%rsp), %r8
leaq 0x2e699(%rip), %rsi     # 0x1d2034
leaq 0x6a6e3(%rip), %rdx     # 0x20e085
movl $0x38, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movl $0x0, 0xa148(%rsp)
movl 0xa148(%rsp), %eax
movq 0xa150(%rsp), %rcx
cmpl 0x60(%rcx), %eax
jge 0x1a3a0f
movq 0xa150(%rsp), %rax
movq 0x108(%rax), %rax
movslq 0xa148(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0xa148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa148(%rsp)
jmp 0x1a39c9
movq 0xa150(%rsp), %rax
movq 0x68(%rax), %rax
movq 0xa150(%rsp), %rcx
movl 0x60(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd 0x2e814(%rip), %xmm0    # 0x1d2248
addsd (%rax,%rcx,8), %xmm0
callq 0x82f0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x48(%rax)
movq 0xa178(%rsp), %rax
movl 0x1dc(%rax), %ecx
movq 0xa150(%rsp), %rax
movl %ecx, 0x40(%rax)
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x1a3b13
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x90bc(%rsp)
leaq 0x88b0(%rsp), %rdi
movl 0x90bc(%rsp), %ecx
leaq 0x2e540(%rip), %rsi     # 0x1d2004
leaq 0x6a5e2(%rip), %rdx     # 0x20e0ad
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x88b0(%rsp), %r8
leaq 0x2e544(%rip), %rsi     # 0x1d2034
leaq 0x6a58e(%rip), %rdx     # 0x20e085
movl $0x43, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movl $0x0, 0xa148(%rsp)
movl 0xa148(%rsp), %eax
movq 0xa150(%rsp), %rcx
movl 0x40(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x1a3ba3
cvtsi2sdl 0xa148(%rsp), %xmm0
movq 0xa150(%rsp), %rax
mulsd 0x48(%rax), %xmm0
movq 0xa150(%rsp), %rax
movl 0x40(%rax), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
callq 0x8670
movsd 0x2e6d8(%rip), %xmm1    # 0x1d2248
subsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0xa148(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0xa148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa148(%rsp)
jmp 0x1a3b1e
movq 0xa150(%rsp), %rax
movq 0x68(%rax), %rax
movq 0xa150(%rsp), %rcx
movl 0x60(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movq 0x38(%rax), %rax
movq 0xa150(%rsp), %rcx
movl 0x40(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x1a3c96
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x88ac(%rsp)
leaq 0x80a0(%rsp), %rdi
movl 0x88ac(%rsp), %ecx
leaq 0x2e3bd(%rip), %rsi     # 0x1d2004
leaq 0x6a473(%rip), %rdx     # 0x20e0c1
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x80a0(%rsp), %r8
leaq 0x2e3c1(%rip), %rsi     # 0x1d2034
leaq 0x6a40b(%rip), %rdx     # 0x20e085
movl $0x4b, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x1a3d45
movq 0xa150(%rsp), %rax
movslq 0x40(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x809c(%rsp)
leaq 0x7890(%rsp), %rdi
movl 0x809c(%rsp), %ecx
leaq 0x2e30e(%rip), %rsi     # 0x1d2004
leaq 0x6a3dc(%rip), %rdx     # 0x20e0d9
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x7890(%rsp), %r8
leaq 0x2e312(%rip), %rsi     # 0x1d2034
leaq 0x6a35c(%rip), %rdx     # 0x20e085
movl $0x4e, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa178(%rsp), %rax
movsd 0x1f0(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0xa178(%rsp), %rax
movsd 0x1e8(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, (%rax)
movq 0xa178(%rsp), %rax
movl 0x1e0(%rax), %ecx
movq 0xa150(%rsp), %rax
movl %ecx, 0x10(%rax)
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1a3e46
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x788c(%rsp)
leaq 0x7080(%rsp), %rdi
movl 0x788c(%rsp), %ecx
leaq 0x2e20d(%rip), %rsi     # 0x1d2004
leaq 0x6a2f5(%rip), %rdx     # 0x20e0f3
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x7080(%rsp), %r8
leaq 0x2e211(%rip), %rsi     # 0x1d2034
leaq 0x6a25b(%rip), %rdx     # 0x20e085
movl $0x56, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x1a3ef5
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x707c(%rsp)
leaq 0x6870(%rsp), %rdi
movl 0x707c(%rsp), %ecx
leaq 0x2e15e(%rip), %rsi     # 0x1d2004
leaq 0x6a24d(%rip), %rdx     # 0x20e0fa
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x6870(%rsp), %r8
leaq 0x2e162(%rip), %rsi     # 0x1d2034
leaq 0x6a1ac(%rip), %rdx     # 0x20e085
movl $0x59, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x28(%rax)
jne 0x1a3fa4
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x686c(%rsp)
leaq 0x6060(%rsp), %rdi
movl 0x686c(%rsp), %ecx
leaq 0x2e0af(%rip), %rsi     # 0x1d2004
leaq 0x6a1ad(%rip), %rdx     # 0x20e109
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x6060(%rsp), %r8
leaq 0x2e0b3(%rip), %rsi     # 0x1d2034
leaq 0x6a0fd(%rip), %rdx     # 0x20e085
movl $0x5c, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movl $0x0, 0xa14c(%rsp)
movl 0xa14c(%rsp), %eax
movq 0xa150(%rsp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x1a4135
movq 0xa150(%rsp), %rax
movsd (%rax), %xmm0
callq 0x82f0
movsd %xmm0, 0x20(%rsp)
movq 0xa150(%rsp), %rax
movsd 0x8(%rax), %xmm0
callq 0x82f0
movsd %xmm0, 0x28(%rsp)
movq 0xa150(%rsp), %rax
movsd (%rax), %xmm0
callq 0x82f0
movsd 0x20(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x28(%rsp), %xmm0
subsd %xmm2, %xmm0
movq 0xa150(%rsp), %rax
cvtsi2sdl 0x10(%rax), %xmm2
divsd %xmm2, %xmm0
cvtsi2sdl 0xa14c(%rsp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x8670
movq 0xa150(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0xa14c(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0xa158(%rsp), %rdi
movq 0xa160(%rsp), %rax
movl 0x848(%rax), %esi
movq 0xa150(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0xa14c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movq 0x28(%rax), %rcx
movslq 0xa14c(%rsp), %rax
shlq $0x3, %rax
addq %rax, %rcx
xorl %edx, %edx
callq 0x1103c0
cmpl $0x1, %eax
jne 0x1a411d
leaq 0x5860(%rsp), %rdi
movq 0xa158(%rsp), %rcx
addq $0x32a, %rcx            # imm = 0x32A
leaq 0x2e30a(%rip), %rsi     # 0x1d23d8
leaq 0x6a049(%rip), %rdx     # 0x20e11e
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x5860(%rsp), %r8
leaq 0x2df3a(%rip), %rsi     # 0x1d2034
leaq 0x69f84(%rip), %rdx     # 0x20e085
movl $0x68, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
jmp 0x1a411f
movl 0xa14c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa14c(%rsp)
jmp 0x1a3faf
movq 0xa150(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0xa150(%rsp), %rax
movl 0x10(%rax), %esi
movq 0xa150(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
callq 0x2a8d0
cmpl $0x1, %eax
jne 0x1a41de
leaq 0x5060(%rsp), %rdi
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
leaq 0x2e249(%rip), %rsi     # 0x1d23d8
leaq 0x69ff6(%rip), %rdx     # 0x20e18c
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x5060(%rsp), %r8
leaq 0x2de79(%rip), %rsi     # 0x1d2034
leaq 0x69ec3(%rip), %rdx     # 0x20e085
movl $0x71, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0xa150(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0xa150(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x1a428d
movq 0xa150(%rsp), %rax
movslq 0x10(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x505c(%rsp)
leaq 0x4850(%rsp), %rdi
movl 0x505c(%rsp), %ecx
leaq 0x2ddc6(%rip), %rsi     # 0x1d2004
leaq 0x69f9a(%rip), %rdx     # 0x20e1df
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x4850(%rsp), %r8
leaq 0x2ddca(%rip), %rsi     # 0x1d2034
leaq 0x69e14(%rip), %rdx     # 0x20e085
movl $0x75, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movl $0x0, 0xa144(%rsp)
movl $0x0, 0xa140(%rsp)
movq 0xa170(%rsp), %rax
movslq 0x43c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0xa130(%rsp)
cmpq $0x0, 0xa130(%rsp)
jne 0x1a434d
movq 0xa170(%rsp), %rax
movslq 0x43c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x484c(%rsp)
leaq 0x4040(%rsp), %rdi
movl 0x484c(%rsp), %ecx
leaq 0x2dd06(%rip), %rsi     # 0x1d2004
leaq 0x54f72(%rip), %rdx     # 0x1f9277
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x4040(%rsp), %r8
leaq 0x2dd0a(%rip), %rsi     # 0x1d2034
leaq 0x69d54(%rip), %rdx     # 0x20e085
movl $0x7c, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa168(%rsp), %rax
movslq 0xf08(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0xa128(%rsp)
cmpq $0x0, 0xa128(%rsp)
jne 0x1a43f7
movq 0xa168(%rsp), %rax
movslq 0xf08(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x403c(%rsp)
leaq 0x3830(%rsp), %rdi
movl 0x403c(%rsp), %ecx
leaq 0x2dc5c(%rip), %rsi     # 0x1d2004
leaq 0x54ed6(%rip), %rdx     # 0x1f9285
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x3830(%rsp), %r8
leaq 0x2dc60(%rip), %rsi     # 0x1d2034
leaq 0x69caa(%rip), %rdx     # 0x20e085
movl $0x7f, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa178(%rsp), %rax
movsd 0x1f8(%rax), %xmm0
movsd %xmm0, 0xa108(%rsp)
movq 0xa170(%rsp), %rdi
movsd 0xa108(%rsp), %xmm0
movq 0xa130(%rsp), %r8
movl $0x2, %esi
xorl %edx, %edx
leaq 0xa144(%rsp), %rcx
callq 0x9e4b0
cmpl $0x1, %eax
jne 0x1a44af
leaq 0x3030(%rsp), %rdi
movq 0xa170(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x2df78(%rip), %rsi     # 0x1d23d8
leaq 0x69d8e(%rip), %rdx     # 0x20e1f5
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x3030(%rsp), %r8
leaq 0x2dba8(%rip), %rsi     # 0x1d2034
leaq 0x69bf2(%rip), %rdx     # 0x20e085
movl $0x8a, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x404(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x408(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
divsd %xmm0, %xmm1
movsd 0x2dd39(%rip), %xmm0    # 0x1d2248
subsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x78(%rax)
movq 0xa170(%rsp), %rax
movsd 0x32100(%rip), %xmm0    # 0x1d6630
mulsd (%rax), %xmm0
movsd 0x32124(%rip), %xmm1    # 0x1d6660
divsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x90(%rax)
movq 0xa170(%rsp), %rax
movsd 0x18(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x98(%rax)
movq 0xa170(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xa0(%rax)
movq 0xa170(%rsp), %rax
movsd 0x28(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xa8(%rax)
movq 0xa170(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, 0x18(%rsp)
movq 0xa150(%rsp), %rax
movsd 0x90(%rax), %xmm0
movsd 0x2e6ae(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd 0x2f0ac(%rip), %xmm1    # 0x1d3698
mulsd %xmm1, %xmm0
movsd 0x30ee0(%rip), %xmm1    # 0x1d54d8
divsd %xmm1, %xmm0
movsd 0x309dc(%rip), %xmm1    # 0x1d4fe0
divsd %xmm1, %xmm0
movsd 0x32048(%rip), %xmm1    # 0x1d6658
divsd %xmm1, %xmm0
movsd 0x32014(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movsd 0x32008(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xb0(%rax)
movq 0xa168(%rsp), %rax
movsd 0x1000(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xb8(%rax)
movq 0xa168(%rsp), %rax
movsd 0x1008(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xc0(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0xa110(%rsp)
movl $0x0, 0xa148(%rsp)
movl 0xa148(%rsp), %eax
movq 0xa150(%rsp), %rcx
cmpl 0x40(%rcx), %eax
jge 0x1a4cd3
movq 0xa150(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0xa148(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0xa0e0(%rsp)
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0xa148(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0xa170(%rsp), %rdi
movsd 0xa0e0(%rsp), %xmm0
movq 0xa130(%rsp), %r8
movl $0x2, %esi
movl $0x1, %edx
leaq 0xa144(%rsp), %rcx
callq 0x9e4b0
cmpl $0x1, %eax
jne 0x1a478b
leaq 0x2830(%rsp), %rdi
movq 0xa170(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x2dc9c(%rip), %rsi     # 0x1d23d8
leaq 0x69b03(%rip), %rdx     # 0x20e246
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x2830(%rsp), %r8
leaq 0x2d8cc(%rip), %rsi     # 0x1d2034
leaq 0x69916(%rip), %rdx     # 0x20e085
movl $0xa9, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x384(%rcx), %rcx
movsd 0x31e86(%rip), %xmm0    # 0x1d6630
mulsd (%rax,%rcx,8), %xmm0
movsd 0x31ea9(%rip), %xmm1    # 0x1d6660
divsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xc8(%rax)
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x380(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xd0(%rax)
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
movsd 0x4cd4a(%rip), %xmm0    # 0x1f1560
mulsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xd8(%rax)
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x390(%rcx), %rcx
movsd 0x2e47e(%rip), %xmm0    # 0x1d2cc8
mulsd (%rax,%rcx,8), %xmm0
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
divsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0xa120(%rsp)
movq 0xa150(%rsp), %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0xa150(%rsp), %rax
movsd 0xd0(%rax), %xmm0
movsd 0x31106(%rip), %xmm1    # 0x1d59a8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xe8(%rax)
movq 0xa170(%rsp), %rdi
movq 0xa168(%rsp), %rsi
movsd 0xa0e0(%rsp), %xmm0
movq 0xa130(%rsp), %r8
movq 0xa128(%rsp), %r9
xorl %edx, %edx
leaq 0xa140(%rsp), %rcx
callq 0xb05b0
cmpl $0x1, %eax
jne 0x1a496e
leaq 0x2030(%rsp), %rdi
movq 0xa168(%rsp), %rcx
addq $0x1064, %rcx           # imm = 0x1064
leaq 0x2dab9(%rip), %rsi     # 0x1d23d8
leaq 0x69975(%rip), %rdx     # 0x20e29b
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x2030(%rsp), %r8
leaq 0x2d6e9(%rip), %rsi     # 0x1d2034
leaq 0x69733(%rip), %rdx     # 0x20e085
movl $0xb9, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movq 0xa128(%rsp), %rax
movq 0xa168(%rsp), %rcx
movslq 0xe80(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0xa118(%rsp)
movq 0xa130(%rsp), %rax
movq 0xa170(%rsp), %rcx
movslq 0x384(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd 0xa118(%rsp), %xmm1
movsd 0x2d888(%rip), %xmm0    # 0x1d2248
divsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0xa120(%rsp), %xmm0
movsd 0x2e2a5(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x8(%rsp), %xmm0
movsd 0x2d857(%rip), %xmm1    # 0x1d2248
addsd 0xa120(%rsp), %xmm1
divsd %xmm1, %xmm2
movsd 0x4cb82(%rip), %xmm1    # 0x1f1588
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd 0x2d832(%rip), %xmm2    # 0x1d2248
addsd 0xa120(%rsp), %xmm2
movsd 0x2ec61(%rip), %xmm1    # 0x1d3688
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x80(%rax)
movq 0xa128(%rsp), %rax
movq 0xa168(%rsp), %rcx
movslq 0xf00(%rcx), %rcx
movsd 0x30a2a(%rip), %xmm0    # 0x1d5488
divsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x88(%rax)
movq 0xa128(%rsp), %rax
movq 0xa168(%rsp), %rcx
movslq 0xee4(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xf0(%rax)
movq 0xa150(%rsp), %rax
movsd 0x98(%rax), %xmm0
movq 0xa150(%rsp), %rax
divsd 0xd0(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xf8(%rax)
movq 0xa128(%rsp), %rax
movq 0xa168(%rsp), %rcx
movslq 0xe7c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0x100(%rax)
movq 0xa150(%rsp), %rax
movsd 0x4ca5d(%rip), %xmm0    # 0x1f1568
mulsd 0xe8(%rax), %xmm0
movq 0xa150(%rsp), %rax
movsd 0x2d725(%rip), %xmm1    # 0x1d2248
addsd 0xb8(%rax), %xmm1
movq 0xa150(%rsp), %rax
addsd 0x100(%rax), %xmm1
mulsd %xmm1, %xmm0
movq 0xa150(%rsp), %rax
movsd %xmm0, 0xe0(%rax)
movq 0xa150(%rsp), %rdi
movsd 0xa0e0(%rsp), %xmm0
leaq 0xa110(%rsp), %rsi
callq 0x1a5040
cmpl $0x1, %eax
jne 0x1a4bdf
leaq 0x1830(%rsp), %rdi
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
leaq 0x2d848(%rip), %rsi     # 0x1d23d8
leaq 0x69764(%rip), %rdx     # 0x20e2fb
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x1830(%rsp), %r8
leaq 0x2d478(%rip), %rsi     # 0x1d2034
leaq 0x694c2(%rip), %rdx     # 0x20e085
movl $0xc9, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movsd 0xa110(%rsp), %xmm0
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0xa148(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0xa150(%rsp), %rdi
movsd 0xa0e0(%rsp), %xmm0
leaq 0xa110(%rsp), %rsi
callq 0x1a50a0
cmpl $0x1, %eax
jne 0x1a4c96
leaq 0x1030(%rsp), %rdi
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
leaq 0x2d791(%rip), %rsi     # 0x1d23d8
leaq 0x696e7(%rip), %rdx     # 0x20e335
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x1030(%rsp), %r8
leaq 0x2d3c1(%rip), %rsi     # 0x1d2034
leaq 0x6940b(%rip), %rdx     # 0x20e085
movl $0xd1, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movsd 0xa110(%rsp), %xmm0
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0xa148(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0xa148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa148(%rsp)
jmp 0x1a4693
movq 0xa150(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0xa150(%rsp), %rax
movl 0x40(%rax), %esi
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rdx
movq 0xa150(%rsp), %rax
movq 0x58(%rax), %r8
movq 0xa150(%rsp), %rax
addq $0x110, %rax            # imm = 0x110
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x20820
cmpl $0x1, %eax
jne 0x1a4d94
leaq 0x830(%rsp), %rdi
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
leaq 0x2d693(%rip), %rsi     # 0x1d23d8
leaq 0x6961f(%rip), %rdx     # 0x20e36b
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x830(%rsp), %r8
leaq 0x2d2c3(%rip), %rsi     # 0x1d2034
leaq 0x6930d(%rip), %rdx     # 0x20e085
movl $0xde, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movl $0x0, 0xa148(%rsp)
movl 0xa148(%rsp), %eax
movq 0xa150(%rsp), %rcx
cmpl 0x60(%rcx), %eax
jge 0x1a500b
movq 0xa150(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0xa150(%rsp), %rax
movl 0x40(%rax), %esi
movq 0xa150(%rsp), %rax
movq 0x68(%rax), %rax
movslq 0xa148(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xa150(%rsp), %rax
addq $0x110, %rax            # imm = 0x110
leaq 0xa13c(%rsp), %rdx
leaq 0xa100(%rsp), %rcx
leaq 0xa0f8(%rsp), %r8
leaq 0xa0f0(%rsp), %r9
movq %rax, (%rsp)
callq 0x27de0
cmpl $0x1, %eax
jne 0x1a4e8a
leaq 0x30(%rsp), %rdi
movq 0xa150(%rsp), %rcx
addq $0x110, %rcx            # imm = 0x110
leaq 0x2d59a(%rip), %rsi     # 0x1d23d8
leaq 0x695b9(%rip), %rdx     # 0x20e3fe
movb $0x0, %al
callq 0x5b9c0
movq 0xa150(%rsp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq 0x30(%rsp), %r8
leaq 0x2d1cd(%rip), %rsi     # 0x1d2034
leaq 0x69217(%rip), %rdx     # 0x20e085
movl $0xe9, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa184(%rsp)
jmp 0x1a5030
movsd 0xa0f8(%rsp), %xmm0
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0xa13c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0xa0f0(%rsp), %xmm1
movq 0xa150(%rsp), %rax
movq 0x50(%rax), %rax
movl 0xa13c(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xa0f8(%rsp), %xmm1
mulsd 0xa0f8(%rsp), %xmm1
movsd 0xa0f8(%rsp), %xmm3
movsd 0xa0f8(%rsp), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movq 0xa150(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0xa13c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movsd 0xa0f0(%rsp), %xmm2
mulsd 0xa0f0(%rsp), %xmm2
movsd 0xa0f0(%rsp), %xmm5
movsd 0xa0f0(%rsp), %xmm4
movq %xmm4, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm4
mulsd %xmm5, %xmm2
addsd %xmm4, %xmm2
movq 0xa150(%rsp), %rax
movq 0x58(%rax), %rax
movl 0xa13c(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd 0xa100(%rsp), %xmm1
mulsd 0xa100(%rsp), %xmm1
movsd 0x2e6ce(%rip), %xmm2    # 0x1d3688
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, 0xa0e8(%rsp)
movsd 0xa0e8(%rsp), %xmm0
movq 0xa150(%rsp), %rax
movq 0x108(%rax), %rax
movslq 0xa148(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0xa148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa148(%rsp)
jmp 0x1a4d9f
movq 0xa130(%rsp), %rdi
callq 0x8420
movq 0xa128(%rsp), %rdi
callq 0x8420
movl $0x0, 0xa184(%rsp)
movl 0xa184(%rsp), %eax
addq $0xa188, %rsp           # imm = 0xA188
retq
nop