// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/background.c
// Function: background_w_fld
int background_w_fld(
                     struct background * pba,
                     double a,
                     double * w_fld,
                     double * dw_over_da_fld,
                     double * integral_fld
                     ) {


  double Omega_ede = 0.;
  double dOmega_ede_over_da = 0.;
  double d2Omega_ede_over_da2 = 0.;
  double a_eq, Omega_r, Omega_m;
  double w,w_f,w_i,dw,intw;
  double powac,powa;
  /** - first, define the function w(a) */
  switch (pba->fluid_equation_of_state) {
  case CLP:
    *w_fld = pba->w0_fld + pba->wa_fld * (1. - a);
    break;
  case EDE:
    if (pba->ede_parametrization == pheno_axion || pba->ede_parametrization == pheno_ADE){
      // w_ede(a) defined from a mash-up of 1811.04083 and 1905.12618
      w_f = pba->w_fld_f; //e.o.s. once the field starts oscillating
      w_i = pba->w_fld_i; //e.o.s. once the field starts oscillating
      // *w_fld = (1+w_f)/(1+pow(pba->a_c/a,3*(1+w_f)/pba->nu_fld))-1;
      *w_fld = (w_f-w_i)/(1+pow(pba->a_c/a,3*(w_f-w_i)/pba->nu_fld))+w_i;
    }
    else if(pba->ede_parametrization == EDE_is_DR){
      *w_fld = 1./3;
    }
    else {
      // Omega_ede(a) taken from eq. (10) in 1706.00730
      Omega_ede = (pba->Omega0_fld - pba->Omega_EDE*(1.-pow(a,-3.*pba->w0_fld)))
        /(pba->Omega0_fld+(1.-pba->Omega0_fld)*pow(a,3.*pba->w0_fld))
        + pba->Omega_EDE*(1.-pow(a,-3.*pba->w0_fld));

      // d Omega_ede / d a taken analytically from the above
      dOmega_ede_over_da = - pba->Omega_EDE* 3.*pba->w0_fld*pow(a,-3.*pba->w0_fld-1.)/(pba->Omega0_fld+(1.-pba->Omega0_fld)*pow(a,3.*pba->w0_fld))
        - (pba->Omega0_fld - pba->Omega_EDE*(1.-pow(a,-3.*pba->w0_fld)))*(1.-pba->Omega0_fld)*3.*pba->w0_fld*pow(a,3.*pba->w0_fld-1.)/pow(pba->Omega0_fld+(1.-pba->Omega0_fld)*pow(a,3.*pba->w0_fld),2)
        + pba->Omega_EDE*3.*pba->w0_fld*pow(a,-3.*pba->w0_fld-1.);

      // find a_equality (needed because EDE tracks first radiation, then matter)
      Omega_r = pba->Omega0_g * (1. + 3.046 * 7./8.*pow(4./11.,4./3.)); // assumes LambdaCDM + eventually massive neutrinos so light that they are relativistic at equality; needs to be generalised later on.
      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_)
        class_stop(pba->error_message,"Early Dark Energy not compatible with decaying Dark Matter because we omitted to code the calculation of a_eq in that case, but it would not be difficult to add it if necessary, should be a matter of 5 minutes");
      a_eq = Omega_r/Omega_m; // assumes a flat universe with a=1 today

      // w_ede(a) taken from eq. (11) in 1706.00730
      *w_fld = - dOmega_ede_over_da*a/Omega_ede/3./(1.-Omega_ede)+a_eq/3./(a+a_eq);
    }
    break;
  }


  /** - then, give the corresponding analytic derivative dw/da (used
      by perturbation equations; we could compute it numerically,
      but with a loss of precision; as long as there is a simple
      analytic expression of the derivative of the previous
      function, let's use it! */
  switch (pba->fluid_equation_of_state) {
  case CLP:
    *dw_over_da_fld = - pba->wa_fld;
    break;
  case EDE:
  if (pba->ede_parametrization == pheno_axion || pba->ede_parametrization == pheno_ADE){
      *dw_over_da_fld =    (3*pba->a_c*pow(pba->a_c/a,-1+3*(1+w_f)/pba->nu_fld)*(1+w_f)*(w_f-w_i))
      /(a*a*pba->nu_fld*pow(1 + (pba->a_c/a,3*(1+w_f)/pba->nu_fld),2));

    }
    else if(pba->ede_parametrization == EDE_is_DR){
      *dw_over_da_fld = 0;
    }
    else {
      d2Omega_ede_over_da2 = 0.;
      *dw_over_da_fld = - d2Omega_ede_over_da2*a/3./(1.-Omega_ede)/Omega_ede
        - dOmega_ede_over_da/3./(1.-Omega_ede)/Omega_ede
        + dOmega_ede_over_da*dOmega_ede_over_da*a/3./(1.-Omega_ede)/(1.-Omega_ede)/Omega_ede
        + a_eq/3./(a+a_eq)/(a+a_eq);
    }
    break;
  }

  /** - finally, give the analytic solution of the following integral:
        \f$ \int_{a}^{a0} da 3(1+w_{fld})/a \f$. This is used in only
        one place, in the initial conditions for the background, and
        with a=a_ini. If your w(a) does not lead to a simple analytic
        solution of this integral, no worry: instead of writing
        something here, the best would then be to leave it equal to
        zero, and then in background_initial_conditions() you should
        implement a numerical calculation of this integral only for
        a=a_ini, using for instance Romberg integration. It should be
        fast, simple, and accurate enough. */

  switch (pba->fluid_equation_of_state) {
  case CLP:
    *integral_fld = 3.*((1.+pba->w0_fld+pba->wa_fld)*log(1./a) + pba->wa_fld*(a-1.));
    break;
  case EDE:
  if (pba->ede_parametrization == pheno_axion || pba->ede_parametrization == pheno_ADE){
    powac=pow(pba->a_c,3*(1+w_f)/pba->nu_fld);
    powa=pow(a,3*(1+w_f));
      *integral_fld = //-3*(1+w)*log(a/pba->a_today) - pba->nu_fld*log(1+ pow(pba->a_c[n]/a,3*(1+w)/pba->nu_fld));
        // 3*(w_f-w_i)*( log(1/a)
        // + pba->nu_fld/3/(w_f-w_i)*log( (1 + pow((pba->a_c),3*(w_f-w_i)/pba->nu_fld) ) / (1 + pow((pba->a_c/a),3*(w_f-w_i)/pba->nu_fld) ) ) )+3*a*(1+w_i);
        -3*(1 + w_i)*log(a) + pba->nu_fld*(w_f-w_i)*(log(1+1/powac)-log(1/powac*(powa+powac)))/(1+w_f);

      // *integral_fld = //-3*(1+w)*log(a/pba->a_today) - pba->nu_fld*log(1+ pow(pba->a_c[n]/a,3*(1+w)/pba->nu_fld));
      //   3*(1+w)*( log(1/a)
      //   + pba->nu_fld/3/(1+w)*log( (1 + pow((pba->a_c),3*(1+w)/pba->nu_fld) ) / (1 + pow((pba->a_c/a),3*(1+w)/pba->nu_fld) ) ) );
    }
    else if(pba->ede_parametrization == EDE_is_DR){
      *integral_fld = -4*log(a);
    }
    else{
      class_stop(pba->error_message,"EDE implementation not finished: to finish it, read the comments in background.c just before this line\n");
    }
    break;
  }

  /** note: of course you can generalise these formulas to anything,
      defining new parameters pba->w..._fld. Just remember that so
      far, HyRec explicitely assumes that w(a)= w0 + wa (1-a/a0); but
      Recfast does not assume anything */

  return _SUCCESS_;
}

// Assembly:
subq $0x21a8, %rsp           # imm = 0x21A8
movq %rdi, 0x2198(%rsp)
movsd %xmm0, 0x2190(%rsp)
movq %rsi, 0x2188(%rsp)
movq %rdx, 0x2180(%rsp)
movq %rcx, 0x2178(%rsp)
movq $0x0, 0x2170(%rsp)
movq $0x0, 0x2168(%rsp)
movq $0x0, 0x2160(%rsp)
movq 0x2198(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, 0x10c(%rsp)
testl %eax, %eax
je 0xa19ed
jmp 0xa19dc
movl 0x10c(%rsp), %eax
subl $0x1, %eax
je 0xa1a31
jmp 0xa2221
movq 0x2198(%rsp), %rax
movsd 0x48(%rax), %xmm1
movq 0x2198(%rsp), %rax
movsd 0x50(%rax), %xmm0
movsd 0x130839(%rip), %xmm2   # 0x1d2248
subsd 0x2190(%rsp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2188(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa2221
movq 0x2198(%rsp), %rax
cmpl $0x1, 0x44(%rax)
je 0xa1a51
movq 0x2198(%rsp), %rax
cmpl $0x2, 0x44(%rax)
jne 0xa1b1d
movq 0x2198(%rsp), %rax
movsd 0xa0(%rax), %xmm0
movsd %xmm0, 0x2138(%rsp)
movq 0x2198(%rsp), %rax
movsd 0xa8(%rax), %xmm0
movsd %xmm0, 0x2130(%rsp)
movsd 0x2138(%rsp), %xmm0
subsd 0x2130(%rsp), %xmm0
movsd %xmm0, 0x100(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
divsd 0x2190(%rsp), %xmm0
movsd 0x2138(%rsp), %xmm2
subsd 0x2130(%rsp), %xmm2
movsd 0x131bc7(%rip), %xmm1   # 0x1d3698
mulsd %xmm2, %xmm1
movq 0x2198(%rsp), %rax
divsd 0x60(%rax), %xmm1
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x100(%rsp), %xmm0
movsd 0x13074d(%rip), %xmm1   # 0x1d2248
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
addsd 0x2130(%rsp), %xmm0
movq 0x2188(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa221f
movq 0x2198(%rsp), %rax
cmpl $0x3, 0x44(%rax)
jne 0xa1b44
movq 0x2188(%rsp), %rax
movsd 0x13395d(%rip), %xmm0   # 0x1d5498
movsd %xmm0, (%rax)
jmp 0xa221d
movq 0x2198(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0x58(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x58(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x133e25(%rip), %xmm1   # 0x1d59a8
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0x58(%rsp), %xmm1
movaps %xmm0, %xmm3
movsd 0x60(%rsp), %xmm0
movsd 0x1306a4(%rip), %xmm2   # 0x1d2248
subsd %xmm3, %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x78(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x130658(%rip), %xmm0   # 0x1d2248
subsd 0x38(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x131a84(%rip), %xmm1   # 0x1d3698
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0x68(%rsp), %xmm1
movsd 0x70(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x78(%rsp), %xmm0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x80(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x58(%rax), %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x133d31(%rip), %xmm1   # 0x1d59a8
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0x80(%rsp), %xmm1
movaps %xmm0, %xmm3
movsd 0x88(%rsp), %xmm0
movsd 0x1305aa(%rip), %xmm2   # 0x1d2248
subsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2170(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x58(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x1319b9(%rip), %xmm1   # 0x1d3698
mulsd %xmm1, %xmm0
movq 0x2198(%rsp), %rax
mulsd 0x48(%rax), %xmm0
movsd %xmm0, 0x90(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x48(%rax), %xmm1
movsd 0x133c91(%rip), %xmm2   # 0x1d59a8
mulsd %xmm2, %xmm1
movsd 0x130aad(%rip), %xmm2   # 0x1d27d0
addsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x90(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0xa0(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x1304dd(%rip), %xmm0   # 0x1d2248
subsd 0x38(%rax), %xmm0
movsd %xmm0, 0x98(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x131906(%rip), %xmm1   # 0x1d3698
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0x98(%rsp), %xmm1
movsd 0xa0(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0xa8(%rsp), %xmm0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0xe0(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0xb0(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x58(%rax), %xmm0
movsd %xmm0, 0xb8(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x133b94(%rip), %xmm1   # 0x1d59a8
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0xb0(%rsp), %xmm1
movaps %xmm0, %xmm3
movsd 0xb8(%rsp), %xmm0
movsd 0x13040d(%rip), %xmm2   # 0x1d2248
subsd %xmm3, %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2198(%rsp), %rax
movsd 0x1303da(%rip), %xmm1   # 0x1d2248
subsd 0x38(%rax), %xmm1
mulsd %xmm1, %xmm0
movsd 0x131819(%rip), %xmm1   # 0x1d3698
mulsd %xmm1, %xmm0
movq 0x2198(%rsp), %rax
mulsd 0x48(%rax), %xmm0
movsd %xmm0, 0xc0(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x48(%rax), %xmm1
movsd 0x1317e1(%rip), %xmm2   # 0x1d3698
mulsd %xmm2, %xmm1
movsd 0x13090d(%rip), %xmm2   # 0x1d27d0
addsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xc0(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xd8(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd %xmm0, 0xc8(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x13033d(%rip), %xmm0   # 0x1d2248
subsd 0x38(%rax), %xmm0
movsd %xmm0, 0xd0(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x131766(%rip), %xmm1   # 0x1d3698
mulsd 0x48(%rax), %xmm1
callq 0x8610
movsd 0xc8(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xd0(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x130d1f(%rip), %xmm1   # 0x1d2c80
callq 0x8610
movsd 0xd8(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xe0(%rsp), %xmm0
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0xe8(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x1316fc(%rip), %xmm0   # 0x1d3698
mulsd 0x58(%rax), %xmm0
movq 0x2198(%rsp), %rax
mulsd 0x48(%rax), %xmm0
movsd %xmm0, 0xf0(%rsp)
movsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
movsd 0x48(%rax), %xmm1
movsd 0x1339d3(%rip), %xmm2   # 0x1d59a8
mulsd %xmm2, %xmm1
movsd 0x1307ef(%rip), %xmm2   # 0x1d27d0
addsd %xmm2, %xmm1
callq 0x8610
movsd 0xe8(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xf0(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2168(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0xf8(%rsp)
movsd 0x134622(%rip), %xmm0   # 0x1d6650
movsd 0x1334da(%rip), %xmm1   # 0x1d5510
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xf8(%rsp), %xmm0
movsd 0x1345f9(%rip), %xmm2   # 0x1d6648
mulsd %xmm2, %xmm1
movsd 0x1301ed(%rip), %xmm2   # 0x1d2248
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0x2150(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd %xmm0, 0x2148(%rsp)
movq 0x2198(%rsp), %rax
movswl 0x4b4(%rax), %eax
cmpl $0x1, %eax
jne 0xa20b5
movq 0x2198(%rsp), %rax
movsd 0x28(%rax), %xmm0
addsd 0x2148(%rsp), %xmm0
movsd %xmm0, 0x2148(%rsp)
movq 0x2198(%rsp), %rax
movswl 0x4b6(%rax), %eax
cmpl $0x1, %eax
jne 0xa20eb
movq 0x2198(%rsp), %rax
movsd 0xf0(%rax), %xmm0
addsd 0x2148(%rsp), %xmm0
movsd %xmm0, 0x2148(%rsp)
movq 0x2198(%rsp), %rax
movswl 0x4b8(%rax), %eax
cmpl $0x1, %eax
jne 0xa2174
leaq 0x1910(%rsp), %rdi
leaq 0x14cdf3(%rip), %rsi    # 0x1eef01
movb $0x0, %al
callq 0x5b9c0
leaq 0x1110(%rsp), %rdi
leaq 0x1910(%rsp), %rdx
leaq 0x130441(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x2198(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x1110(%rsp), %r8
leaq 0x12fee3(%rip), %rsi    # 0x1d2034
leaq 0x14ce7b(%rip), %rdx    # 0x1eefd3
movl $0x318, %ecx            # imm = 0x318
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x21a4(%rsp)
jmp 0xa2858
movsd 0x2150(%rsp), %xmm0
divsd 0x2148(%rsp), %xmm0
movsd %xmm0, 0x2158(%rsp)
movsd 0x2168(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd 0x2190(%rsp), %xmm0
divsd 0x2170(%rsp), %xmm0
movsd 0x1314cf(%rip), %xmm1   # 0x1d3698
divsd %xmm1, %xmm0
movsd 0x130073(%rip), %xmm1   # 0x1d2248
subsd 0x2170(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd 0x2158(%rsp), %xmm1
movsd 0x1314a5(%rip), %xmm2   # 0x1d3698
divsd %xmm2, %xmm1
movsd 0x2190(%rsp), %xmm2
addsd 0x2158(%rsp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movq 0x2188(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa221f
jmp 0xa2221
movq 0x2198(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, 0x54(%rsp)
testl %eax, %eax
je 0xa2244
jmp 0xa2236
movl 0x54(%rsp), %eax
subl $0x1, %eax
je 0xa2279
jmp 0xa2544
movq 0x2198(%rsp), %rax
movsd 0x50(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq 0x2180(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa2544
movq 0x2198(%rsp), %rax
cmpl $0x1, 0x44(%rax)
je 0xa2299
movq 0x2198(%rsp), %rax
cmpl $0x2, 0x44(%rax)
jne 0xa23d9
movq 0x2198(%rsp), %rax
movsd 0x1313ef(%rip), %xmm0   # 0x1d3698
mulsd 0x1c8(%rax), %xmm0
movsd %xmm0, 0x38(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
divsd 0x2190(%rsp), %xmm0
movsd 0x12ff70(%rip), %xmm1   # 0x1d2248
addsd 0x2138(%rsp), %xmm1
movsd 0x1313af(%rip), %xmm2   # 0x1d3698
mulsd %xmm1, %xmm2
movq 0x2198(%rsp), %rax
divsd 0x60(%rax), %xmm2
movsd 0x1304ce(%rip), %xmm1   # 0x1d27d0
addsd %xmm2, %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd 0x12ff28(%rip), %xmm1   # 0x1d2248
addsd 0x2138(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x2138(%rsp), %xmm1
subsd 0x2130(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
movsd 0x2190(%rsp), %xmm0
mulsd 0x2190(%rsp), %xmm0
movq 0x2198(%rsp), %rax
mulsd 0x60(%rax), %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x12fed2(%rip), %xmm0   # 0x1d2248
addsd 0x2138(%rsp), %xmm0
movsd 0x131311(%rip), %xmm1   # 0x1d3698
mulsd %xmm0, %xmm1
movq 0x2198(%rsp), %rax
divsd 0x60(%rax), %xmm1
movsd 0x12fea8(%rip), %xmm0   # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x1308d4(%rip), %xmm1   # 0x1d2c80
callq 0x8610
movsd 0x40(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x48(%rsp), %xmm0
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movq 0x2180(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa2542
movq 0x2198(%rsp), %rax
cmpl $0x3, 0x44(%rax)
jne 0xa23fb
movq 0x2180(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
jmp 0xa2540
xorps %xmm0, %xmm0
movsd %xmm0, 0x2160(%rsp)
movsd 0x2160(%rsp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd 0x2190(%rsp), %xmm0
movsd 0x131260(%rip), %xmm1   # 0x1d3698
divsd %xmm1, %xmm0
movsd 0x12fe04(%rip), %xmm1   # 0x1d2248
subsd 0x2170(%rsp), %xmm1
divsd %xmm1, %xmm0
divsd 0x2170(%rsp), %xmm0
movsd 0x2168(%rsp), %xmm1
movsd 0x13122d(%rip), %xmm2   # 0x1d3698
divsd %xmm2, %xmm1
movsd 0x12fdd1(%rip), %xmm2   # 0x1d2248
subsd 0x2170(%rsp), %xmm2
divsd %xmm2, %xmm1
divsd 0x2170(%rsp), %xmm1
subsd %xmm1, %xmm0
movsd 0x2168(%rsp), %xmm1
mulsd 0x2168(%rsp), %xmm1
mulsd 0x2190(%rsp), %xmm1
movsd 0x1311e4(%rip), %xmm2   # 0x1d3698
divsd %xmm2, %xmm1
movsd 0x12fd88(%rip), %xmm2   # 0x1d2248
subsd 0x2170(%rsp), %xmm2
divsd %xmm2, %xmm1
movsd 0x12fd73(%rip), %xmm2   # 0x1d2248
subsd 0x2170(%rsp), %xmm2
divsd %xmm2, %xmm1
divsd 0x2170(%rsp), %xmm1
addsd %xmm1, %xmm0
movsd 0x2158(%rsp), %xmm1
movsd 0x131198(%rip), %xmm2   # 0x1d3698
divsd %xmm2, %xmm1
movsd 0x2190(%rsp), %xmm2
addsd 0x2158(%rsp), %xmm2
divsd %xmm2, %xmm1
movsd 0x2190(%rsp), %xmm2
addsd 0x2158(%rsp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
movq 0x2180(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa2542
jmp 0xa2544
movq 0x2198(%rsp), %rax
movl 0x40(%rax), %eax
movl %eax, 0x34(%rsp)
testl %eax, %eax
je 0xa256b
jmp 0xa2559
movl 0x34(%rsp), %eax
subl $0x1, %eax
je 0xa25fd
jmp 0xa284d
movq 0x2198(%rsp), %rax
movsd 0x12fccd(%rip), %xmm0   # 0x1d2248
addsd 0x48(%rax), %xmm0
movq 0x2198(%rsp), %rax
addsd 0x50(%rax), %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x12fcad(%rip), %xmm0   # 0x1d2248
divsd 0x2190(%rsp), %xmm0
callq 0x82f0
movsd 0x28(%rsp), %xmm1
movaps %xmm0, %xmm2
movq 0x2198(%rsp), %rax
movsd 0x50(%rax), %xmm0
movsd 0x2190(%rsp), %xmm3
movsd 0x12fc78(%rip), %xmm4   # 0x1d2248
subsd %xmm4, %xmm3
mulsd %xmm3, %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x1310b0(%rip), %xmm0   # 0x1d3698
mulsd %xmm1, %xmm0
movq 0x2178(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa284d
movq 0x2198(%rsp), %rax
cmpl $0x1, 0x44(%rax)
je 0xa261d
movq 0x2198(%rsp), %rax
cmpl $0x2, 0x44(%rax)
jne 0xa279e
movq 0x2198(%rsp), %rax
movsd 0x1c8(%rax), %xmm0
movsd 0x12fc13(%rip), %xmm2   # 0x1d2248
addsd 0x2138(%rsp), %xmm2
movsd 0x131052(%rip), %xmm1   # 0x1d3698
mulsd %xmm2, %xmm1
movq 0x2198(%rsp), %rax
divsd 0x60(%rax), %xmm1
callq 0x8610
movsd %xmm0, 0x2118(%rsp)
movsd 0x2190(%rsp), %xmm0
movsd 0x12fbd2(%rip), %xmm2   # 0x1d2248
addsd 0x2138(%rsp), %xmm2
movsd 0x131011(%rip), %xmm1   # 0x1d3698
mulsd %xmm2, %xmm1
callq 0x8610
movsd %xmm0, 0x2110(%rsp)
movsd 0x12fba7(%rip), %xmm1   # 0x1d2248
addsd 0x2130(%rsp), %xmm1
movsd 0x1332f6(%rip), %xmm0   # 0x1d59a8
mulsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x2190(%rsp), %xmm0
callq 0x82f0
movsd %xmm0, 0x18(%rsp)
movq 0x2198(%rsp), %rax
movsd 0x60(%rax), %xmm0
movsd 0x2138(%rsp), %xmm1
subsd 0x2130(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x12fb47(%rip), %xmm1   # 0x1d2248
divsd 0x2118(%rsp), %xmm1
movsd 0x12fb36(%rip), %xmm0   # 0x1d2248
addsd %xmm1, %xmm0
callq 0x82f0
movsd %xmm0, 0x8(%rsp)
movsd 0x12fb1f(%rip), %xmm0   # 0x1d2248
divsd 0x2118(%rsp), %xmm0
movsd 0x2110(%rsp), %xmm1
addsd 0x2118(%rsp), %xmm1
mulsd %xmm1, %xmm0
callq 0x82f0
movsd 0x8(%rsp), %xmm3
movsd 0x10(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
movaps %xmm0, %xmm4
movsd 0x20(%rsp), %xmm0
subsd %xmm4, %xmm3
mulsd %xmm3, %xmm1
movsd 0x12fad0(%rip), %xmm3   # 0x1d2248
addsd 0x2138(%rsp), %xmm3
divsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2178(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa284b
movq 0x2198(%rsp), %rax
cmpl $0x3, 0x44(%rax)
jne 0xa27d7
movsd 0x2190(%rsp), %xmm0
callq 0x82f0
movaps %xmm0, %xmm1
movsd 0x132cfb(%rip), %xmm0   # 0x1d54c0
mulsd %xmm1, %xmm0
movq 0x2178(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0xa2849
leaq 0x910(%rsp), %rdi
leaq 0x14c7fe(%rip), %rsi    # 0x1eefe4
movb $0x0, %al
callq 0x5b9c0
leaq 0x110(%rsp), %rdi
leaq 0x910(%rsp), %rdx
leaq 0x12fd69(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x2198(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x110(%rsp), %r8
leaq 0x12f80b(%rip), %rsi    # 0x1d2034
leaq 0x14c7a3(%rip), %rdx    # 0x1eefd3
movl $0x35e, %ecx            # imm = 0x35E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x21a4(%rsp)
jmp 0xa2858
jmp 0xa284b
jmp 0xa284d
movl $0x0, 0x21a4(%rsp)
movl 0x21a4(%rsp), %eax
addq $0x21a8, %rsp           # imm = 0x21A8
retq
nopw (%rax,%rax)