// File: /workspace/github_c_makefile_star2_O0/lesgourg[P]class_public/build/../source/background.c
// Function: background_functions
int background_functions(
                         struct background * pba,
                         double a,
                         double * pvecback_B, /* vector with argument pvecback[index_bi] */
                         enum vecback_format return_format,
                         double * pvecback /* vector with argument pvecback[index_bg] (must be already allocated with a size compatible with return_format) */
                         ) {

  /** Summary: */

  /** - define local variables */

  /* total density */
  double rho_tot;
  /* critical density */
  double rho_crit;
  /* total pressure */
  double p_tot;
  /* total relativistic density */
  double rho_r;
  /* total non-relativistic density */
  double rho_m;
  /* background ncdm quantities */
  double rho_ncdm,p_ncdm,pseudo_p_ncdm;
  /* index for n_ncdm species */
  int n_ncdm;
  /* fluid's time-dependent equation of state parameter */
  double w_fld, dw_over_da, integral_fld;
  /* scalar field quantities */
  double phi, phi_prime;
  /* Since we only know a_prime_over_a after we have rho_tot,
     it is not possible to simply sum up p_tot_prime directly.
     Instead we sum up dp_dloga = p_prime/a_prime_over_a. The formula is
     p_prime = a_prime_over_a * dp_dloga = a_prime_over_a * Sum [ (w_prime/a_prime_over_a -3(1+w)w)rho].
     Note: The scalar field contribution must be added in the end, as an exception!*/
  double dp_dloga;

  /** - initialize local variables */
  rho_tot = 0.;
  p_tot = 0.;
  dp_dloga = 0.;
  rho_r=0.;
  rho_m=0.;

  class_test(a <= 0.,
             pba->error_message,
             "a = %e instead of strictly positive",a);

  /** - pass value of \f$ a\f$ to output */
  pvecback[pba->index_bg_a] = a;

  /** - compute each component's density and pressure */

  /* photons */
  pvecback[pba->index_bg_rho_g] = pba->Omega0_g * pow(pba->H0,2) / pow(a,4);
  rho_tot += pvecback[pba->index_bg_rho_g];
  p_tot += (1./3.) * pvecback[pba->index_bg_rho_g];
  dp_dloga += -(4./3.) * pvecback[pba->index_bg_rho_g];
  rho_r += pvecback[pba->index_bg_rho_g];

  /* baryons */
  pvecback[pba->index_bg_rho_b] = pba->Omega0_b * pow(pba->H0,2) / pow(a,3);
  rho_tot += pvecback[pba->index_bg_rho_b];
  p_tot += 0;
  rho_m += pvecback[pba->index_bg_rho_b];

  /* cdm */
  if (pba->has_cdm == _TRUE_) {
    pvecback[pba->index_bg_rho_cdm] = pba->Omega0_cdm * pow(pba->H0,2) / pow(a,3);
    rho_tot += pvecback[pba->index_bg_rho_cdm];
    p_tot += 0.;
    rho_m += pvecback[pba->index_bg_rho_cdm];
  }

  /* idm */
  if (pba->has_idm == _TRUE_) {
    pvecback[pba->index_bg_rho_idm] = pba->Omega0_idm * pow(pba->H0,2) / pow(a,3);
    rho_tot += pvecback[pba->index_bg_rho_idm];
    p_tot += 0.;
    rho_m += pvecback[pba->index_bg_rho_idm];
  }

  /* dcdm */
  if (pba->has_dcdm == _TRUE_) {
    /* Pass value of rho_dcdm to output */
    pvecback[pba->index_bg_rho_dcdm] = pvecback_B[pba->index_bi_rho_dcdm];
    rho_tot += pvecback[pba->index_bg_rho_dcdm];
    p_tot += 0.;
    rho_m += pvecback[pba->index_bg_rho_dcdm];
  }

  /* dr */
  if (pba->has_dr == _TRUE_) {
    /* Pass value of rho_dr to output */
    pvecback[pba->index_bg_rho_dr] = pvecback_B[pba->index_bi_rho_dr];
    rho_tot += pvecback[pba->index_bg_rho_dr];
    p_tot += (1./3.)*pvecback[pba->index_bg_rho_dr];
    dp_dloga += -(4./3.) * pvecback[pba->index_bg_rho_dr];
    rho_r += pvecback[pba->index_bg_rho_dr];
  }

  /* Scalar field */
  if (pba->has_scf == _TRUE_) {
    phi = pvecback_B[pba->index_bi_phi_scf];
    phi_prime = pvecback_B[pba->index_bi_phi_prime_scf];
    pvecback[pba->index_bg_phi_scf] = phi; // value of the scalar field phi
    pvecback[pba->index_bg_phi_prime_scf] = phi_prime; // value of the scalar field phi derivative wrt conformal time
    pvecback[pba->index_bg_V_scf] = V_scf(pba,phi); //V_scf(pba,phi); //write here potential as function of phi
    pvecback[pba->index_bg_dV_scf] = dV_scf(pba,phi); // dV_scf(pba,phi); //potential' as function of phi
    pvecback[pba->index_bg_ddV_scf] = ddV_scf(pba,phi); // ddV_scf(pba,phi); //potential'' as function of phi
    pvecback[pba->index_bg_rho_scf] = (phi_prime*phi_prime/(2*a*a) + V_scf(pba,phi))/3.; // energy of the scalar field. The field units are set automatically by setting the initial conditions
    pvecback[pba->index_bg_p_scf] =(phi_prime*phi_prime/(2*a*a) - V_scf(pba,phi))/3.; // pressure of the scalar field
    rho_tot += pvecback[pba->index_bg_rho_scf];
    p_tot += pvecback[pba->index_bg_p_scf];
    dp_dloga += 0.0; /** <-- This depends on a_prime_over_a, so we cannot add it now! */
    //divide relativistic & nonrelativistic (not very meaningful for oscillatory models)
    rho_r += 3.*pvecback[pba->index_bg_p_scf]; //field pressure contributes radiation
    rho_m += pvecback[pba->index_bg_rho_scf] - 3.* pvecback[pba->index_bg_p_scf]; //the rest contributes matter
    //printf(" a= %e, Omega_scf = %f, \n ",a, pvecback[pba->index_bg_rho_scf]/rho_tot );
  }

  /* ncdm */
  if (pba->has_ncdm == _TRUE_) {

    /* Loop over species: */
    for (n_ncdm=0; n_ncdm<pba->N_ncdm; n_ncdm++) {

      /* function returning background ncdm[n_ncdm] quantities (only
         those for which non-NULL pointers are passed) */
      class_call(background_ncdm_momenta(
                                         pba->q_ncdm_bg[n_ncdm],
                                         pba->w_ncdm_bg[n_ncdm],
                                         pba->q_size_ncdm_bg[n_ncdm],
                                         pba->M_ncdm[n_ncdm],
                                         pba->factor_ncdm[n_ncdm],
                                         1./a-1.,
                                         NULL,
                                         &rho_ncdm,
                                         &p_ncdm,
                                         NULL,
                                         &pseudo_p_ncdm),
                 pba->error_message,
                 pba->error_message);

      pvecback[pba->index_bg_rho_ncdm1+n_ncdm] = rho_ncdm;
      rho_tot += rho_ncdm;
      pvecback[pba->index_bg_p_ncdm1+n_ncdm] = p_ncdm;
      p_tot += p_ncdm;
      pvecback[pba->index_bg_pseudo_p_ncdm1+n_ncdm] = pseudo_p_ncdm;
      /** See e.g. Eq. A6 in 1811.00904. */
      dp_dloga += (pseudo_p_ncdm - 5*p_ncdm);

      /* (3 p_ncdm1) is the "relativistic" contribution to rho_ncdm1 */
      rho_r += 3.* p_ncdm;

      /* (rho_ncdm1 - 3 p_ncdm1) is the "non-relativistic" contribution
         to rho_ncdm1 */
      rho_m += rho_ncdm - 3.* p_ncdm;
    }
  }

  /* Lambda */
  if (pba->has_lambda == _TRUE_) {
    pvecback[pba->index_bg_rho_lambda] = pba->Omega0_lambda * pow(pba->H0,2);
    rho_tot += pvecback[pba->index_bg_rho_lambda];
    p_tot -= pvecback[pba->index_bg_rho_lambda];
  }

  /* fluid with w(a) and constant cs2 */
  if (pba->has_fld == _TRUE_) {

    /* get rho_fld from vector of integrated variables */
    pvecback[pba->index_bg_rho_fld] = pvecback_B[pba->index_bi_rho_fld];

    /* get w_fld from dedicated function */
    class_call(background_w_fld(pba,a,&w_fld,&dw_over_da,&integral_fld), pba->error_message, pba->error_message);
    pvecback[pba->index_bg_w_fld] = w_fld;

    // Obsolete: at the beginning, we had here the analytic integral solution corresponding to the case w=w0+w1(1-a/a0):
    // pvecback[pba->index_bg_rho_fld] = pba->Omega0_fld * pow(pba->H0,2) / pow(a,3.*(1.+pba->w0_fld+pba->wa_fld)) * exp(3.*pba->wa_fld*(a-1.));
    // But now everthing is integrated numerically for a given w_fld(a) defined in the function background_w_fld.

    rho_tot += pvecback[pba->index_bg_rho_fld];
    p_tot += w_fld * pvecback[pba->index_bg_rho_fld];
    dp_dloga += (a*dw_over_da-3*(1+w_fld)*w_fld)*pvecback[pba->index_bg_rho_fld];
  }

  /* relativistic neutrinos (and all relativistic relics) */
  if (pba->has_ur == _TRUE_) {
    pvecback[pba->index_bg_rho_ur] = pba->Omega0_ur * pow(pba->H0,2) / pow(a,4);
    rho_tot += pvecback[pba->index_bg_rho_ur];
    p_tot += (1./3.) * pvecback[pba->index_bg_rho_ur];
    dp_dloga += -(4./3.) * pvecback[pba->index_bg_rho_ur];
    rho_r += pvecback[pba->index_bg_rho_ur];
  }

  /* interacting dark radiation */
  if (pba->has_idr == _TRUE_) {
    pvecback[pba->index_bg_rho_idr] = pba->Omega0_idr * pow(pba->H0,2) / pow(a,4);
    rho_tot += pvecback[pba->index_bg_rho_idr];
    p_tot += (1./3.) * pvecback[pba->index_bg_rho_idr];
    rho_r += pvecback[pba->index_bg_rho_idr];
  }

  /** - compute expansion rate H from Friedmann equation: this is the
      only place where the Friedmann equation is assumed. Remember
      that densities are all expressed in units of \f$ [3c^2/8\pi G] \f$, ie
      \f$ \rho_{class} = [8 \pi G \rho_{physical} / 3 c^2]\f$ */
  pvecback[pba->index_bg_H] = sqrt(rho_tot-pba->K/a/a);

  /** - compute derivative of H with respect to conformal time */
  pvecback[pba->index_bg_H_prime] = - (3./2.) * (rho_tot + p_tot) * a + pba->K/a;

  /* Total energy density*/
  pvecback[pba->index_bg_rho_tot] = rho_tot;

  /* Total pressure */
  pvecback[pba->index_bg_p_tot] = p_tot;

  /* Derivative of total pressure w.r.t. conformal time */
  pvecback[pba->index_bg_p_tot_prime] = a*pvecback[pba->index_bg_H]*dp_dloga;
  if (pba->has_scf == _TRUE_) {
    /** The contribution of scf was not added to dp_dloga, add p_scf_prime here: */
    pvecback[pba->index_bg_p_prime_scf] = pvecback[pba->index_bg_phi_prime_scf]*
      (-pvecback[pba->index_bg_phi_prime_scf]*pvecback[pba->index_bg_H]/a-2./3.*pvecback[pba->index_bg_dV_scf]);
    pvecback[pba->index_bg_p_tot_prime] += pvecback[pba->index_bg_p_prime_scf];
  }

  /** - compute critical density */
  rho_crit = rho_tot-pba->K/a/a;
  class_test(rho_crit <= 0.,
             pba->error_message,
             "rho_crit = %e instead of strictly positive",rho_crit);

  /** - compute relativistic density to total density ratio */
  pvecback[pba->index_bg_Omega_r] = rho_r / rho_crit;

  /** - compute other quantities in the exhaustive, redundant format */
  if (return_format == long_info) {

    /** - store critical density */
    pvecback[pba->index_bg_rho_crit] = rho_crit;

    /** - compute Omega_m */
    pvecback[pba->index_bg_Omega_m] = rho_m / rho_crit;

    /** - cosmological time */
    pvecback[pba->index_bg_time] = pvecback_B[pba->index_bi_time];

    /** - comoving sound horizon */
    pvecback[pba->index_bg_rs] = pvecback_B[pba->index_bi_rs];

    /** - growth factor */
    pvecback[pba->index_bg_D] = pvecback_B[pba->index_bi_D];

    /** - velocity growth factor */
    pvecback[pba->index_bg_f] = pvecback_B[pba->index_bi_D_prime]/( pvecback_B[pba->index_bi_D]*a*pvecback[pba->index_bg_H]);

    /**- Varying fundamental constants */
    if (pba->has_varconst == _TRUE_) {
      class_call(background_varconst_of_z(pba,
                                          1./a-1.,
                                          &(pvecback[pba->index_bg_varc_alpha]),
                                          &(pvecback[pba->index_bg_varc_me])
                                          ),
                 pba->error_message,
                 pba->error_message);
    }

    /* one can put other variables here */
    /*  */
    /*  */

  }

  return _SUCCESS_;

}

// Assembly:
subq $0x3938, %rsp           # imm = 0x3938
movq %rdi, 0x3928(%rsp)
movsd %xmm0, 0x3920(%rsp)
movq %rsi, 0x3918(%rsp)
movl %edx, 0x3914(%rsp)
movq %rcx, 0x3908(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x3900(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x38f0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x3890(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x38e8(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x38e0(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x3920(%rsp), %xmm0
jb 0x93bb2
leaq 0x3090(%rsp), %rdi
movsd 0x3920(%rsp), %xmm0
leaq 0x13cb46(%rip), %rsi    # 0x1d068b
movb $0x1, %al
callq 0x5b9c0
leaq 0x2890(%rsp), %rdi
leaq 0x3090(%rsp), %rcx
leaq 0x12351f(%rip), %rsi    # 0x1b7082
leaq 0x13cb45(%rip), %rdx    # 0x1d06af
movb $0x0, %al
callq 0x5b9c0
movq 0x3928(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x2890(%rsp), %r8
leaq 0x1234a5(%rip), %rsi    # 0x1b7034
leaq 0x13cb21(%rip), %rdx    # 0x1d06b7
movl $0x1a1, %ecx            # imm = 0x1A1
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x3934(%rsp)
jmp 0x953b0
movsd 0x3920(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x208(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x124082(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x70(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x1268a1(%rip), %xmm1   # 0x1ba4c8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x78(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x38f0(%rsp), %xmm1
movsd 0x1267e8(%rip), %xmm2   # 0x1ba498
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x3890(%rsp), %xmm1
movsd 0x13c422(%rip), %xmm2   # 0x1d0110
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x3890(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x214(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e8(%rsp), %xmm0
movsd %xmm0, 0x38e8(%rsp)
movq 0x3928(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x80(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x123f29(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x80(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x124912(%rip), %xmm1   # 0x1b8698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x88(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x218(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x218(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
xorps %xmm0, %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x218(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x320(%rax), %eax
cmpl $0x1, %eax
jne 0x93f2f
movq 0x3928(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x123e19(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x60(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x124808(%rip), %xmm1   # 0x1b8698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x68(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x21c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x21c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
xorps %xmm0, %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x21c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x322(%rax), %eax
cmpl $0x1, %eax
jne 0x94036
movq 0x3928(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x123d12(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x50(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x58(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x124701(%rip), %xmm1   # 0x1b8698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x58(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x220(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x220(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
xorps %xmm0, %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x220(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x324(%rax), %eax
cmpl $0x1, %eax
jne 0x940f7
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x2f0(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x238(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x238(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
xorps %xmm0, %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x238(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x326(%rax), %eax
cmpl $0x1, %eax
jne 0x9421f
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x2f4(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x23c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x23c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x23c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x38f0(%rsp), %xmm1
movsd 0x1262f6(%rip), %xmm2   # 0x1ba498
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x23c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x3890(%rsp), %xmm1
movsd 0x13bf30(%rip), %xmm2   # 0x1d0110
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x3890(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x23c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e8(%rsp), %xmm0
movsd %xmm0, 0x38e8(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x328(%rax), %eax
cmpl $0x1, %eax
jne 0x9456c
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x2fc(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x38a0(%rsp)
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x300(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x3898(%rsp)
movsd 0x38a0(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x240(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3898(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x244(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rdi
movsd 0x38a0(%rsp), %xmm0
callq 0x953c0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x248(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rdi
movsd 0x38a0(%rsp), %xmm0
callq 0x95410
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x24c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rdi
movsd 0x38a0(%rsp), %xmm0
callq 0x954a0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x250(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3898(%rsp), %xmm0
mulsd 0x3898(%rsp), %xmm0
movsd 0x123905(%rip), %xmm1   # 0x1b7c80
mulsd 0x3920(%rsp), %xmm1
mulsd 0x3920(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x40(%rsp)
movq 0x3928(%rsp), %rdi
movsd 0x38a0(%rsp), %xmm0
callq 0x953c0
movaps %xmm0, %xmm1
movsd 0x40(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd 0x1242d6(%rip), %xmm1   # 0x1b8698
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x254(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3898(%rsp), %xmm0
mulsd 0x3898(%rsp), %xmm0
movsd 0x123884(%rip), %xmm1   # 0x1b7c80
mulsd 0x3920(%rsp), %xmm1
mulsd 0x3920(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
movq 0x3928(%rsp), %rdi
movsd 0x38a0(%rsp), %xmm0
callq 0x953c0
movaps %xmm0, %xmm1
movsd 0x48(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd 0x124255(%rip), %xmm1   # 0x1b8698
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x258(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x254(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x258(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
xorps %xmm0, %xmm0
addsd 0x3890(%rsp), %xmm0
movsd %xmm0, 0x3890(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x258(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x38e8(%rsp), %xmm1
movsd 0x124197(%rip), %xmm2   # 0x1b8698
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38e8(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x254(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x258(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x126456(%rip), %xmm2   # 0x1ba9a8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x32a(%rax), %eax
cmpl $0x1, %eax
jne 0x94857
movl $0x0, 0x38c4(%rsp)
movl 0x38c4(%rsp), %eax
movq 0x3928(%rsp), %rcx
cmpl 0x70(%rcx), %eax
jge 0x94855
movq 0x3928(%rsp), %rax
movq 0x340(%rax), %rax
movslq 0x38c4(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
movq 0x3928(%rsp), %rax
movq 0x348(%rax), %rax
movslq 0x38c4(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0x3928(%rsp), %rax
movq 0x368(%rax), %rax
movslq 0x38c4(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x3928(%rsp), %rax
movq 0x90(%rax), %rax
movslq 0x38c4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3928(%rsp), %rax
movq 0x378(%rax), %rax
movslq 0x38c4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x122c11(%rip), %xmm2   # 0x1b7248
divsd 0x3920(%rsp), %xmm2
movsd 0x122c00(%rip), %xmm3   # 0x1b7248
subsd %xmm3, %xmm2
xorl %eax, %eax
movl %eax, %ecx
leaq 0x38d8(%rsp), %r8
leaq 0x38d0(%rsp), %r9
leaq 0x38c8(%rsp), %rax
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x95580
cmpl $0x1, %eax
jne 0x946ec
leaq 0x2090(%rsp), %rdi
movq 0x3928(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x122d3b(%rip), %rsi    # 0x1b73d8
leaq 0x13c028(%rip), %rdx    # 0x1d06cc
movb $0x0, %al
callq 0x5b9c0
movq 0x3928(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x2090(%rsp), %r8
leaq 0x12296b(%rip), %rsi    # 0x1b7034
leaq 0x13bfe7(%rip), %rdx    # 0x1d06b7
movl $0x201, %ecx            # imm = 0x201
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x3934(%rsp)
jmp 0x953b0
movsd 0x38d8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movl 0x260(%rcx), %ecx
addl 0x38c4(%rsp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x38d8(%rsp), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movsd 0x38d0(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movl 0x264(%rcx), %ecx
addl 0x38c4(%rsp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x38d0(%rsp), %xmm0
addsd 0x38f0(%rsp), %xmm0
movsd %xmm0, 0x38f0(%rsp)
movsd 0x38c8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movl 0x268(%rcx), %ecx
addl 0x38c4(%rsp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x38c8(%rsp), %xmm1
movsd 0x38d0(%rsp), %xmm0
movsd 0x13b95a(%rip), %xmm2   # 0x1d0120
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x3890(%rsp), %xmm0
movsd %xmm0, 0x3890(%rsp)
movsd 0x38d0(%rsp), %xmm0
movsd 0x38e8(%rsp), %xmm1
movsd 0x123e9e(%rip), %xmm2   # 0x1b8698
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38e8(%rsp)
movsd 0x38d8(%rsp), %xmm1
movsd 0x38d0(%rsp), %xmm0
movsd 0x126183(%rip), %xmm2   # 0x1ba9a8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x38e0(%rsp), %xmm0
movsd %xmm0, 0x38e0(%rsp)
movl 0x38c4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x38c4(%rsp)
jmp 0x9458f
jmp 0x94857
movq 0x3928(%rsp), %rax
movswl 0x32c(%rax), %eax
cmpl $0x1, %eax
jne 0x94927
movq 0x3928(%rsp), %rax
movsd 0xf8(%rax), %xmm0
movsd %xmm0, 0x38(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x1233e7(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x224(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x224(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x224(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x38f0(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x32e(%rax), %eax
cmpl $0x1, %eax
jne 0x94b36
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x2f8(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x228(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rdi
movsd 0x3920(%rsp), %xmm0
leaq 0x38b8(%rsp), %rsi
leaq 0x38b0(%rsp), %rdx
leaq 0x38a8(%rsp), %rcx
callq 0x95920
cmpl $0x1, %eax
jne 0x94a17
leaq 0x1890(%rsp), %rdi
movq 0x3928(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x122a10(%rip), %rsi    # 0x1b73d8
leaq 0x13bdd7(%rip), %rdx    # 0x1d07a6
movb $0x0, %al
callq 0x5b9c0
movq 0x3928(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x1890(%rsp), %r8
leaq 0x122640(%rip), %rsi    # 0x1b7034
leaq 0x13bcbc(%rip), %rdx    # 0x1d06b7
movl $0x222, %ecx            # imm = 0x222
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x3934(%rsp)
jmp 0x953b0
movsd 0x38b8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x22c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x228(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movsd 0x38b8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x228(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x38f0(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x38b0(%rsp), %xmm2
movsd 0x122785(%rip), %xmm3   # 0x1b7248
addsd 0x38b8(%rsp), %xmm3
movsd 0x123bc4(%rip), %xmm1   # 0x1b8698
mulsd %xmm3, %xmm1
mulsd 0x38b8(%rsp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x228(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x3890(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x3890(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x330(%rax), %eax
cmpl $0x1, %eax
jne 0x94ca4
movq 0x3928(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, 0x28(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x12310b(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x28(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x12592a(%rip), %xmm1   # 0x1ba4c8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x30(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x234(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x234(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x234(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x38f0(%rsp), %xmm1
movsd 0x125871(%rip), %xmm2   # 0x1ba498
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x234(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x3890(%rsp), %xmm1
movsd 0x13b4ab(%rip), %xmm2   # 0x1d0110
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x3890(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x234(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e8(%rsp), %xmm0
movsd %xmm0, 0x38e8(%rsp)
movq 0x3928(%rsp), %rax
movswl 0x332(%rax), %eax
cmpl $0x1, %eax
jne 0x94dd4
movq 0x3928(%rsp), %rax
movsd 0x40(%rax), %xmm0
movsd %xmm0, 0x18(%rsp)
movq 0x3928(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x122f9d(%rip), %xmm1   # 0x1b7c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x3920(%rsp), %xmm0
movsd 0x1257bc(%rip), %xmm1   # 0x1ba4c8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x20(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x230(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x230(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x3900(%rsp), %xmm0
movsd %xmm0, 0x3900(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x230(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x38f0(%rsp), %xmm1
movsd 0x125703(%rip), %xmm2   # 0x1ba498
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38f0(%rsp)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x230(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x38e8(%rsp), %xmm0
movsd %xmm0, 0x38e8(%rsp)
movsd 0x3900(%rsp), %xmm0
movq 0x3928(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
divsd 0x3920(%rsp), %xmm1
divsd 0x3920(%rsp), %xmm1
subsd %xmm1, %xmm0
callq 0x82e0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x20c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3900(%rsp), %xmm1
addsd 0x38f0(%rsp), %xmm1
movsd 0x1256aa(%rip), %xmm0   # 0x1ba4e8
mulsd %xmm1, %xmm0
movsd 0x3920(%rsp), %xmm2
movq 0x3928(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
divsd 0x3920(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x210(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3900(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x26c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x38f0(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x270(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3920(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x20c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
mulsd 0x3890(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x274(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rax
movswl 0x328(%rax), %eax
cmpl $0x1, %eax
jne 0x95031
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x244(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x244(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x20c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm2
divsd 0x3920(%rsp), %xmm2
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x24c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x13b14c(%rip), %xmm3   # 0x1d0118
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x25c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x25c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x274(%rcx), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd 0x3900(%rsp), %xmm0
movq 0x3928(%rsp), %rax
movsd 0x1a0(%rax), %xmm1
divsd 0x3920(%rsp), %xmm1
divsd 0x3920(%rsp), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0x38f8(%rsp)
xorps %xmm0, %xmm0
ucomisd 0x38f8(%rsp), %xmm0
jb 0x95100
leaq 0x1090(%rsp), %rdi
movsd 0x38f8(%rsp), %xmm0
leaq 0x13b74c(%rip), %rsi    # 0x1d07df
movb $0x1, %al
callq 0x5b9c0
leaq 0x890(%rsp), %rdi
leaq 0x1090(%rsp), %rcx
leaq 0x121fd1(%rip), %rsi    # 0x1b7082
leaq 0x13b752(%rip), %rdx    # 0x1d080a
movb $0x0, %al
callq 0x5b9c0
movq 0x3928(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x890(%rsp), %r8
leaq 0x121f57(%rip), %rsi    # 0x1b7034
leaq 0x13b5d3(%rip), %rdx    # 0x1d06b7
movl $0x25b, %ecx            # imm = 0x25B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x3934(%rsp)
jmp 0x953b0
movsd 0x38e8(%rsp), %xmm0
divsd 0x38f8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x278(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
cmpl $0x2, 0x3914(%rsp)
jne 0x953a5
movsd 0x38f8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x27c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x38e0(%rsp), %xmm0
divsd 0x38f8(%rsp), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x280(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x304(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x290(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x308(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x294(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x310(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x298(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x314(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x3918(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x310(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd 0x3920(%rsp), %xmm1
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x20c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm1
divsd %xmm1, %xmm0
movq 0x3908(%rsp), %rax
movq 0x3928(%rsp), %rcx
movslq 0x29c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x3928(%rsp), %rax
movswl 0x336(%rax), %eax
cmpl $0x1, %eax
jne 0x953a3
movq 0x3928(%rsp), %rdi
movsd 0x121f6c(%rip), %xmm0   # 0x1b7248
divsd 0x3920(%rsp), %xmm0
movsd 0x121f5b(%rip), %xmm1   # 0x1b7248
subsd %xmm1, %xmm0
movq 0x3908(%rsp), %rsi
movq 0x3928(%rsp), %rax
movslq 0x2a0(%rax), %rax
shlq $0x3, %rax
addq %rax, %rsi
movq 0x3908(%rsp), %rdx
movq 0x3928(%rsp), %rax
movslq 0x2a4(%rax), %rax
shlq $0x3, %rax
addq %rax, %rdx
callq 0x963d0
cmpl $0x1, %eax
jne 0x953a1
leaq 0x90(%rsp), %rdi
movq 0x3928(%rsp), %rcx
addq $0xb84, %rcx            # imm = 0xB84
leaq 0x122083(%rip), %rsi    # 0x1b73d8
leaq 0x13b4bd(%rip), %rdx    # 0x1d0819
movb $0x0, %al
callq 0x5b9c0
movq 0x3928(%rsp), %rdi
addq $0xb84, %rdi            # imm = 0xB84
leaq 0x90(%rsp), %r8
leaq 0x121cb3(%rip), %rsi    # 0x1b7034
leaq 0x13b32f(%rip), %rdx    # 0x1d06b7
movl $0x27d, %ecx            # imm = 0x27D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x3934(%rsp)
jmp 0x953b0
jmp 0x953a3
jmp 0x953a5
movl $0x0, 0x3934(%rsp)
movl 0x3934(%rsp), %eax
addq $0x3938, %rsp           # imm = 0x3938
retq
nop