// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/background.c
// Function: background_derivs
int background_derivs(
                      double loga,
                      double* y, /* vector with argument y[index_bi] (must be already allocated with size pba->bi_size) */
                      double* dy, /* vector with argument dy[index_bi]
                                     (must be already allocated with
                                     size pba->bi_size) */
                      void * parameters_and_workspace,
                      ErrorMsg error_message
                      ) {

  /** Summary: */

  /** - define local variables */

  struct background_parameters_and_workspace * pbpaw;
  struct background * pba;
  double * pvecback, a, H, rho_M;
  double w_fld;
  pbpaw = parameters_and_workspace;
  pba =  pbpaw->pba;
  pvecback = pbpaw->pvecback;
  double cos_initial,sin_initial,n,Gac;
  /** - scale factor a (in fact, given our normalisation conventions, this stands for a/a_0) */
  a = exp(loga);

  /** - calculate functions of \f$ a \f$ with background_functions() */
  class_call(background_functions(pba, a, y, normal_info, pvecback),
             pba->error_message,
             error_message);

  /** - Short hand notation for Hubble */
  H = pvecback[pba->index_bg_H];

  /** - calculate derivative of cosmological time \f$ dt/dloga = 1/H \f$ */
  dy[pba->index_bi_time] = 1./H;

  /** - calculate derivative of conformal time \f$ d\tau/dloga = 1/aH \f$ */
  dy[pba->index_bi_tau] = 1./a/H;

  class_test(pvecback[pba->index_bg_rho_g] <= 0.,
             error_message,
             "rho_g = %e instead of strictly positive",pvecback[pba->index_bg_rho_g]);



   /* VP; in AxiCLASS we can switch from KG equation to fluid variables for the scalar field*/
   if(pba->has_scf == _TRUE_ && pba->scf_evolve_as_fluid == _TRUE_ ){
     if(pba->m_scf*pba->H0/H >= pba->threshold_scf_fluid_m_over_H){ //We switch for fluid equations at m > 3H by default.
       pba->scf_kg_eq = _FALSE_;
       // if(pba->scf_potential==axionquad &&  pba->a_c==1.0 ){
       if(pba->a_c==1.0 ){
         pba->a_c = a; //we defined a_c as the time at which the transition occurs. this is necessary for the perts.
         //for other potentials, a_c was already defined.
       }

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

     }
     else{
       pba->scf_kg_eq = _TRUE_;
     }
   }



  /** - calculate detivative of sound horizon \f$ drs/dloga = drs/dtau * dtau/dloga = c_s/aH \f$*/
  dy[pba->index_bi_rs] = 1./a/H/sqrt(3.*(1.+3.*pvecback[pba->index_bg_rho_b]/4./pvecback[pba->index_bg_rho_g]))*sqrt(1.-pba->K*y[pba->index_bi_rs]*y[pba->index_bi_rs]); // TBC: curvature correction

  /** - solve second order growth equation \f$ [D''(\tau)=-aHD'(\tau)+3/2 a^2 \rho_M D(\tau) \f$
      written as \f$ dD/dloga = D' / (aH) \f$ and \f$ dD'/dloga = -D' + (3/2) (a/H) \rho_M D \f$ */
  rho_M = pvecback[pba->index_bg_rho_b];
  if (pba->has_cdm == _TRUE_) {
    rho_M += pvecback[pba->index_bg_rho_cdm];
  }
  if (pba->has_idm == _TRUE_){
    rho_M += pvecback[pba->index_bg_rho_idm];
  }
  if (pba->has_scf == _TRUE_ && pba->include_scf_in_growth_factor == _TRUE_) {
    /*VP: add the scf contribution if the user wants to, e.g., for axion-like dark matter */
    if(pba->scf_potential==axionquad)
    rho_M += pvecback[pba->index_bg_rho_scf];
    else if(pba->scf_potential==axion && pba->n_axion ==1){
      rho_M += pvecback[pba->index_bg_rho_scf];
    }
    else{
      /*ignore contribution*/
    }
  }
  dy[pba->index_bi_D] = y[pba->index_bi_D_prime]/a/H;
  dy[pba->index_bi_D_prime] = -y[pba->index_bi_D_prime] + 1.5*a*rho_M*y[pba->index_bi_D]/H;

  if (pba->has_dcdm == _TRUE_) {
    /** - compute dcdm density \f$ d\rho/dloga = -3 \rho - \Gamma/H \rho \f$*/
    dy[pba->index_bi_rho_dcdm] = -3.*y[pba->index_bi_rho_dcdm] - pba->Gamma_dcdm/H*y[pba->index_bi_rho_dcdm];
  }

  if ((pba->has_dcdm == _TRUE_) && (pba->has_dr == _TRUE_)) {
    /** - Compute dr density \f$ d\rho/dloga = -4\rho - \Gamma/H \rho \f$ */
    dy[pba->index_bi_rho_dr] = -4.*y[pba->index_bi_rho_dr]+pba->Gamma_dcdm/H*y[pba->index_bi_rho_dcdm];
  }

  if (pba->has_fld == _TRUE_) {
    /** - Compute fld density \f$ d\rho/dloga = -3 (1+w_{fld}(a)) \rho \f$ */
    dy[pba->index_bi_rho_fld] = -3.*(1.+pvecback[pba->index_bg_w_fld])*y[pba->index_bi_rho_fld];
  }

  if (pba->has_scf == _TRUE_){
    /*<VP: Main modifications to SCF in AxiCLASS: we can seither solve using KG equations or fluid variables.*/
    /** - Scalar field equation: \f$ \phi'' + 2 a H \phi' + a^2 dV = 0 \f$  (note H is wrt cosmic time) */
    /*COComment - add if statement, dependent on flag, to either use KG equation or fluid equation  */
    // printf("inside SF evolution call\n");
    if (pba->scf_kg_eq == _TRUE_) {
    /* VP: OLD AXICLASS: derivative with respect to conformal time */
    // dy[pba->index_bi_phi_scf] = y[pba->index_bi_phi_prime_scf];
    // dy[pba->index_bi_phi_prime_scf] = - y[pba->index_bi_a]*
    //   (2*pvecback[pba->index_bg_H]*y[pba->index_bi_phi_prime_scf]
    //    + y[pba->index_bi_a]*dV_scf(pba,y[pba->index_bi_phi_scf])) ;

    /* VP: NEW AXICLASS: derivative with respect to log(a) */
    /** - Scalar field equation: \f$ \phi'' + 2 a H \phi' + a^2 dV = 0 \f$  (note H is wrt cosmological time)
        written as \f$ d\phi/dlna = phi' / (aH) \f$ and \f$ d\phi'/dlna = -2*phi' - (a/H) dV \f$ */
    dy[pba->index_bi_phi_scf] = y[pba->index_bi_phi_prime_scf]/a/H;
    dy[pba->index_bi_phi_prime_scf] = - 2*y[pba->index_bi_phi_prime_scf] - a*dV_scf(pba,y[pba->index_bi_phi_scf])/H ;

    dy[pba->index_bi_rho_scf] = 0; //Update the scf density until the fluid equation starts.
    // printf("aEvolving scalar field using KG equation. phi %e phi prime %e \n", y[pba->index_bi_phi_scf],y[pba->index_bi_phi_prime_scf]);
    // printf("dV %e \n", dV_scf(pba,y[pba->index_bi_phi_scf])  );
    // if(pba->background_verbose > 11) printf("Evolving scalar field using KG equation. phi %e phi prime %e \n", y[pba->index_bi_phi_scf],dy[pba->index_bi_phi_scf]  );
    }
    else if(pba->scf_kg_eq == _FALSE_) {
    dy[pba->index_bi_rho_scf] = -3.*y[pba->index_bi_rho_scf]*(1+pba->w_scf);
    dy[pba->index_bi_phi_scf] = 0;
    dy[pba->index_bi_phi_prime_scf] = 0;
    if(pba->background_verbose > 11) printf("Evolving scalar field using fluid equation, rho %e rho prime %e.\n",y[pba->index_bi_rho_scf],dy[pba->index_bi_rho_scf]);

    //
    }
    else if (pba->scf_evolve_as_fluid == _FALSE_ && pba->scf_kg_eq == _FALSE_) {
      /*COComment Throw an error code if neither KG nor fluid equations apply - this should never happen */
      class_stop(pba->error_message,"We are not evolving scalar field as KG nor fluid eq, something has gone wrong!\n");
    }
}



  return _SUCCESS_;

}

// Assembly:
subq $0x28a8, %rsp           # imm = 0x28A8
movsd %xmm0, 0x2898(%rsp)
movq %rdi, 0x2890(%rsp)
movq %rsi, 0x2888(%rsp)
movq %rdx, 0x2880(%rsp)
movq %rcx, 0x2878(%rsp)
movq 0x2880(%rsp), %rax
movq %rax, 0x2870(%rsp)
movq 0x2870(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2868(%rsp)
movq 0x2870(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x2860(%rsp)
movsd 0x2898(%rsp), %xmm0
callq 0x8670
movsd %xmm0, 0x2858(%rsp)
movq 0x2868(%rsp), %rdi
movsd 0x2858(%rsp), %xmm0
movq 0x2890(%rsp), %rsi
movq 0x2860(%rsp), %rcx
movl $0x1, %edx
callq 0x9f0d0
cmpl $0x1, %eax
jne 0xad7a4
leaq 0x2020(%rsp), %rdi
movq 0x2868(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x124c7c(%rip), %rsi    # 0x1d23d8
leaq 0x143798(%rip), %rdx    # 0x1f0efb
movb $0x0, %al
callq 0x5b9c0
movq 0x2878(%rsp), %rdi
leaq 0x2020(%rsp), %r8
leaq 0x1248b3(%rip), %rsi    # 0x1d2034
leaq 0x1437aa(%rip), %rdx    # 0x1f0f32
movl $0xc69, %ecx            # imm = 0xC69
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x28a4(%rsp)
jmp 0xae216
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x384(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x2850(%rsp)
movsd 0x124a77(%rip), %xmm0   # 0x1d2248
divsd 0x2850(%rsp), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x498(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x124a4a(%rip), %xmm0   # 0x1d2248
divsd 0x2858(%rsp), %xmm0
divsd 0x2850(%rsp), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a0(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
xorps %xmm0, %xmm0
ucomisd (%rax,%rcx,8), %xmm0
jb 0xad8e2
leaq 0x1820(%rsp), %rdi
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x1436c8(%rip), %rsi    # 0x1f0f44
movb $0x1, %al
callq 0x5b9c0
leaq 0x1020(%rsp), %rdi
leaq 0x1820(%rsp), %rcx
leaq 0x1247e8(%rip), %rsi    # 0x1d2082
leaq 0x1436cb(%rip), %rdx    # 0x1f0f6c
movb $0x0, %al
callq 0x5b9c0
movq 0x2878(%rsp), %rdi
leaq 0x1020(%rsp), %r8
leaq 0x124775(%rip), %rsi    # 0x1d2034
leaq 0x14366c(%rip), %rdx    # 0x1f0f32
movl $0xc76, %ecx            # imm = 0xC76
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x28a4(%rsp)
jmp 0xae216
movq 0x2868(%rsp), %rax
movswl 0x4bc(%rax), %eax
cmpl $0x1, %eax
jne 0xad9a8
movq 0x2868(%rsp), %rax
movswl 0x130(%rax), %eax
cmpl $0x1, %eax
jne 0xad9a8
movq 0x2868(%rsp), %rax
movsd 0x188(%rax), %xmm0
movq 0x2868(%rsp), %rax
mulsd (%rax), %xmm0
divsd 0x2850(%rsp), %xmm0
movq 0x2868(%rsp), %rax
ucomisd 0x138(%rax), %xmm0
jb 0xad995
movq 0x2868(%rsp), %rax
movw $0x0, 0x230(%rax)
movq 0x2868(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x1248d6(%rip), %xmm1   # 0x1d2248
ucomisd %xmm1, %xmm0
jne 0xad993
jp 0xad993
movsd 0x2858(%rsp), %xmm0
movq 0x2868(%rsp), %rax
movsd %xmm0, 0x1c8(%rax)
jmp 0xad9a6
movq 0x2868(%rsp), %rax
movw $0x1, 0x230(%rax)
jmp 0xad9a8
movsd 0x124898(%rip), %xmm0   # 0x1d2248
divsd 0x2858(%rsp), %xmm0
divsd 0x2850(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x390(%rcx), %rcx
movsd 0x125cb1(%rip), %xmm0   # 0x1d3698
mulsd (%rax,%rcx,8), %xmm0
movsd 0x127ad4(%rip), %xmm1   # 0x1d54c8
divsd %xmm1, %xmm0
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x38c(%rcx), %rcx
divsd (%rax,%rcx,8), %xmm0
movsd 0x12482c(%rip), %xmm1   # 0x1d2248
addsd %xmm0, %xmm1
movsd 0x125c70(%rip), %xmm0   # 0x1d3698
mulsd %xmm1, %xmm0
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movq 0x2868(%rsp), %rax
movsd 0x318(%rax), %xmm0
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x49c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x49c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm1, %xmm0
movsd 0x124799(%rip), %xmm1   # 0x1d2248
addsd %xmm1, %xmm0
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x49c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x390(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x2848(%rsp)
movq 0x2868(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xadb48
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x394(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x2848(%rsp), %xmm0
movsd %xmm0, 0x2848(%rsp)
movq 0x2868(%rsp), %rax
movswl 0x4b6(%rax), %eax
cmpl $0x1, %eax
jne 0xadb8a
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x398(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x2848(%rsp), %xmm0
movsd %xmm0, 0x2848(%rsp)
movq 0x2868(%rsp), %rax
movswl 0x4bc(%rax), %eax
cmpl $0x1, %eax
jne 0xadc62
movq 0x2868(%rsp), %rax
movswl 0x23c(%rax), %eax
cmpl $0x1, %eax
jne 0xadc62
movq 0x2868(%rsp), %rax
cmpl $0x4, 0x160(%rax)
jne 0xadbfb
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x3d0(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x2848(%rsp), %xmm0
movsd %xmm0, 0x2848(%rsp)
jmp 0xadc60
movq 0x2868(%rsp), %rax
cmpl $0x2, 0x160(%rax)
jne 0xadc5c
movq 0x2868(%rsp), %rax
movsd 0x210(%rax), %xmm0
movsd 0x124624(%rip), %xmm1   # 0x1d2248
ucomisd %xmm1, %xmm0
jne 0xadc5c
jp 0xadc5c
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x3d0(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x2848(%rsp), %xmm0
movsd %xmm0, 0x2848(%rsp)
jmp 0xadc5e
jmp 0xadc5e
jmp 0xadc60
jmp 0xadc62
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a8(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
divsd 0x2858(%rsp), %xmm0
divsd 0x2850(%rsp), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a4(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a8(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x124f69(%rip), %xmm1   # 0x1d2c50
mulsd 0x2858(%rsp), %xmm1
mulsd 0x2848(%rsp), %xmm1
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a4(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm1
divsd 0x2850(%rsp), %xmm1
addsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x4a8(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2868(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xaddea
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x480(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x2868(%rsp), %rax
movsd 0x110(%rax), %xmm1
divsd 0x2850(%rsp), %xmm1
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x480(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x127be2(%rip), %xmm2   # 0x1d59a8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x480(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2868(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xade93
movq 0x2868(%rsp), %rax
movswl 0x4ba(%rax), %eax
cmpl $0x1, %eax
jne 0xade93
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x484(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x2868(%rsp), %rax
movsd 0x110(%rax), %xmm1
divsd 0x2850(%rsp), %xmm1
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x480(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm1
movsd 0x127651(%rip), %xmm2   # 0x1d54c0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x484(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2868(%rsp), %rax
movswl 0x4c2(%rax), %eax
cmpl $0x1, %eax
jne 0xadf0f
movq 0x2860(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x3a4(%rcx), %rcx
movsd 0x124382(%rip), %xmm1   # 0x1d2248
addsd (%rax,%rcx,8), %xmm1
movsd 0x127ad5(%rip), %xmm0   # 0x1d59a8
mulsd %xmm1, %xmm0
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x488(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x488(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2868(%rsp), %rax
movswl 0x4bc(%rax), %eax
cmpl $0x1, %eax
jne 0xae20b
movq 0x2868(%rsp), %rax
movswl 0x230(%rax), %eax
cmpl $0x1, %eax
jne 0xae05c
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x494(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
divsd 0x2858(%rsp), %xmm0
divsd 0x2850(%rsp), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x490(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x494(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rsp)
movsd 0x2858(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x2868(%rsp), %rdi
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x490(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
callq 0xa12d0
movsd (%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x8(%rsp), %xmm0
mulsd %xmm2, %xmm0
divsd 0x2850(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x494(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x48c(%rcx), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0xae209
movq 0x2868(%rsp), %rax
movswl 0x230(%rax), %eax
cmpl $0x0, %eax
jne 0xae16d
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x48c(%rcx), %rcx
movsd 0x127915(%rip), %xmm0   # 0x1d59a8
mulsd (%rax,%rcx,8), %xmm0
movq 0x2868(%rsp), %rax
movsd 0x1241a0(%rip), %xmm1   # 0x1d2248
addsd 0x218(%rax), %xmm1
mulsd %xmm1, %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x48c(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x490(%rcx), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x494(%rcx), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq 0x2868(%rsp), %rax
movswl 0xd1a(%rax), %eax
cmpl $0xb, %eax
jle 0xae168
movq 0x2890(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x48c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x2888(%rsp), %rax
movq 0x2868(%rsp), %rcx
movslq 0x48c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm1
leaq 0x142e2f(%rip), %rdi    # 0x1f0f90
movb $0x2, %al
callq 0x8030
jmp 0xae207
movq 0x2868(%rsp), %rax
movswl 0x130(%rax), %eax
cmpl $0x0, %eax
jne 0xae205
movq 0x2868(%rsp), %rax
movswl 0x230(%rax), %eax
cmpl $0x0, %eax
jne 0xae205
leaq 0x820(%rsp), %rdi
leaq 0x142e2a(%rip), %rsi    # 0x1f0fd2
movb $0x0, %al
callq 0x5b9c0
leaq 0x20(%rsp), %rdi
leaq 0x820(%rsp), %rdx
leaq 0x1243aa(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x2868(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x20(%rsp), %r8
leaq 0x123e4f(%rip), %rsi    # 0x1d2034
leaq 0x142d46(%rip), %rdx    # 0x1f0f32
movl $0xcd8, %ecx            # imm = 0xCD8
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x28a4(%rsp)
jmp 0xae216
jmp 0xae207
jmp 0xae209
jmp 0xae20b
movl $0x0, 0x28a4(%rsp)
movl 0x28a4(%rsp), %eax
addq $0x28a8, %rsp           # imm = 0x28A8
retq
nopw %cs:(%rax,%rax)