// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../external/heating/injection.c
// Function: injection_rate_PBH_accretion
int injection_rate_PBH_accretion(struct injection * pin,
                                 double z,
                                 double * energy_rate){

  /** - Define local variables */
  double L_ed, M_ed_dot, M_crit, v_B, v_l, v_eff, r_B, t_B;
  double lambda, M_b_dot;
  double Value_min, Value_med, Value_max, a=0, epsilon_0=0.1, epsilon;
  double L_acc;
  double beta_compton_drag, gamma_cooling, tau_cooling;
  double T_ion, T_s, Y_s, theta_s;
  double lambda_1, lambda_2, lambda_ad, lambda_iso, J;

  /** - Initialize local variables */
  /* Eddington luminosity */
  L_ed = 4.*_PI_*_G_*(pin->PBH_accretion_mass*_Sun_mass_)*_m_p_/_sigma_*_c_;                        // [W]
  M_ed_dot= 10.*L_ed/pow(_c_,2.);                                                                   // [kg/s]
  M_crit = 0.01*M_ed_dot;                                                                           // [kg/s]

  /* Boldi definitions */
  v_B = sqrt((1.+pin->x_e)*(pin->T_b*_k_B_)/(_m_p_*pow(_c_,2.)))*_c_;                               // [m/s]
  if(pin->PBH_accretion_relative_velocities < 0.){
    v_l = 30.*MIN(1.,(1.+z)/1.e3)*1.e3;                                                             // [m/s]
    if(v_B < v_l){
      v_eff = sqrt(v_B*v_l);                                                                        // [m/s]
    }
    else{
      v_eff = v_B;                                                                                  // [m/s]
    }
  }
  else{
    v_l = pin->PBH_accretion_relative_velocities*1.e3;                                              // [m/s]
    v_eff = pow(v_l*v_l+v_B*v_B,0.5);                                                               // [m/s]
  }
  r_B = _G_*(pin->PBH_accretion_mass*_Sun_mass_)/pow(v_eff,2.);                                     // [m]
  t_B = _G_*(pin->PBH_accretion_mass*_Sun_mass_)/pow(v_eff,3.);                                     // [s]

  switch(pin->PBH_accretion_recipe){
    /** - Disk accretion from Poulin et al. 1707.04206 */
    case disk_accretion:

    lambda = pin->PBH_accretion_eigenvalue;                                                         // [-]
    M_b_dot = 4.*_PI_*lambda*(pin->rho_b/pow(_c_,2.))*pow(r_B,2.)*v_eff;                            // [kg/s]

    if(pin->PBH_accretion_ADAF_delta == 1e-3){
      Value_min = 7.6e-5;
      Value_med = 4.5e-3;
      Value_max = 7.1e-3;
      if(M_b_dot/M_ed_dot <= Value_min){
        epsilon_0 = 0.065;
        a = 0.71;
      }
      else if(Value_min < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot  <= Value_med){
        epsilon_0 = 0.020;
        a = 0.47;
      }
      else if(Value_med < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot <= Value_max){
        epsilon_0 = 0.26;
        a = 3.67;
      }
      else{
        epsilon_0 = 0.1;
        a = 0.;
      }
    }
    else if(pin->PBH_accretion_ADAF_delta == 0.1){
      Value_min = 9.4e-5;
      Value_med = 5e-3;
      Value_max = 6.6e-3;
      if(M_b_dot/M_ed_dot <= Value_min){
        epsilon_0 = 0.12;
        a = 0.59;
      }
      else if(Value_min < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot  <= Value_med){
        epsilon_0 = 0.026;
        a = 0.27;
      }
      else if(Value_med < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot <= Value_max){
        epsilon_0 = 0.50;
        a = 4.53;
      }
      else{
        epsilon_0 = 0.1;
        a = 0.;
      }
    }
    else if (pin->PBH_accretion_ADAF_delta == 0.5){
      Value_min = 2.9e-5;
      Value_med = 3.3e-3;
      Value_max = 5.3e-3;
      if(M_b_dot/M_ed_dot <= Value_min){
        epsilon_0 = 1.58;
        a = 0.65;
      }
      else if(Value_min < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot  <= Value_med){
        epsilon_0 = 0.055;
        a = 0.076;
      }
      else if(Value_med < M_b_dot/M_ed_dot && M_b_dot/M_ed_dot <= Value_max){
        epsilon_0 = 0.17;
        a = 1.12;
      }
      else{
        epsilon_0 = 0.1;
        a = 0.;
      }
    }

    epsilon = epsilon_0*pow(M_b_dot/M_crit,a);                                                      // [-]
    L_acc = epsilon*M_b_dot*pow(_c_,2.);                                                            // [W]
  break;

    /** - Spherical accretion from Ali-Haimoud et al. 1612.05644 */
    case spherical_accretion:

    beta_compton_drag = 4./3.*pin->x_e*_sigma_*pin->rho_g*t_B/_m_p_/_c_;                            // [-] Eq. (7)
    gamma_cooling = 2.*(_m_p_/_m_e_)/(1+pin->x_e)*beta_compton_drag;                                // [-] Eq. (8)
    tau_cooling = 1.5/(5.+pow(gamma_cooling,2./3.));                                                // [-] Eq. (28)

    lambda_ad = 0.25*pow(3./5.,1.5);                                                                // [-] Eq. (15)
    lambda_iso = 0.25*exp(1.5);                                                                     // [-] Eq. (20)
    lambda_1 = lambda_ad+(lambda_iso-lambda_ad)*
                                pow(pow(gamma_cooling,2.)/(88.+pow(gamma_cooling,2.)),0.22);        // [-] Eq. (27)
    lambda_2 = exp(4.5/(3.+pow(beta_compton_drag,0.75)))/(pow(pow(1.+beta_compton_drag,0.5)+1.,2.));// [-] Eq. (32)
    lambda = lambda_1*lambda_2/lambda_iso;                                                          // [-] Eq. (33)

    T_ion = 1.5e4*_eV_over_Kelvin_;                                                                 // [eV] see line below Eq. (39)
    Y_s = pow((1.+pin->x_e)/2.,2./3.*13.6/T_ion)*
                  tau_cooling/4.*pow(1.-5./2.*tau_cooling,1./3.)*(_m_p_/_m_e_);                     // [-] Eq. (51)
    T_s = _m_e_*pow(_c_,2.)/_k_B_*Y_s*pow(1.+Y_s/0.27,-1./3.);                                      // [K] Eqs. (50) and (47)
    theta_s = (T_s*_k_B_)/(_m_e_*pow(_c_,2.));

    M_b_dot = 4.*_PI_*lambda*(pin->rho_b/pow(_c_,2.))*pow(r_B,2.)*v_eff;                            // [kg/s] Eq. (6)

    if(theta_s > 1.){                                                                               // Eq. (55)
      J = 27./(2.*_PI_)*(log(2.*theta_s*exp(-0.577)+0.08)+4./3.);                                   // [-]
    }
    else{
      J = 4./_PI_*sqrt(2./_PI_)*pow(theta_s,-0.5)*(1+5.5*pow(theta_s,1.25));                        // [-]
    }

    L_acc = 1./137.*(T_s*_k_B_)/(_m_p_*pow(_c_,2.))*J*pow(M_b_dot*_c_*_c_,2.)/L_ed;                 // [W] Eq. (57)
    break;
    default:
      class_stop(pin->error_message,"Invalid PBH_accretion_recipe");
  }

  *energy_rate = pin->rho_cdm*pin->PBH_accretion_fraction/
                      (pin->PBH_accretion_mass*_Sun_mass_)*L_acc/pow(_c_,2.);                       // [J/(m^3 s)]

  return _SUCCESS_;
}

// Assembly:
subq $0x11f8, %rsp           # imm = 0x11F8
movq %rdi, 0x11e8(%rsp)
movsd %xmm0, 0x11e0(%rsp)
movq %rsi, 0x11d8(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x1168(%rsp)
movsd 0x300ac(%rip), %xmm0    # 0x1d2260
movsd %xmm0, 0x1160(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x6aa33(%rip), %xmm1    # 0x20cc00
mulsd 0x78(%rax), %xmm1
movsd 0x6aa1e(%rip), %xmm0    # 0x20cbf8
mulsd %xmm1, %xmm0
movsd 0x4f38a(%rip), %xmm1    # 0x1f1570
mulsd %xmm1, %xmm0
movsd 0x345f6(%rip), %xmm1    # 0x1d67e8
divsd %xmm1, %xmm0
movsd 0x34432(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movsd %xmm0, 0x11d0(%rsp)
movsd 0x305cd(%rip), %xmm0    # 0x1d27e0
mulsd 0x11d0(%rsp), %xmm0
movsd %xmm0, 0xe0(%rsp)
movsd 0x34403(%rip), %xmm0    # 0x1d6630
movsd 0x30a4b(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xe0(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x11c8(%rsp)
movsd 0x32d75(%rip), %xmm0    # 0x1d4fd0
mulsd 0x11c8(%rsp), %xmm0
movsd %xmm0, 0x11c0(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x2ffcb(%rip), %xmm0    # 0x1d2248
addsd 0x438(%rax), %xmm0
movq 0x11e8(%rsp), %rax
movsd 0x343ab(%rip), %xmm1    # 0x1d6640
mulsd 0x430(%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xe8(%rsp)
movsd 0x3437e(%rip), %xmm0    # 0x1d6630
movsd 0x309c6(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm2
movsd 0xe8(%rsp), %xmm0
movsd 0x4f29d(%rip), %xmm1    # 0x1f1570
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x82e0
movsd 0x34348(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movsd %xmm0, 0x11b8(%rsp)
movq 0x11e8(%rsp), %rax
xorps %xmm0, %xmm0
ucomisd 0x88(%rax), %xmm0
jbe 0x1a23ea
movsd 0x2ff32(%rip), %xmm0    # 0x1d2248
addsd 0x11e0(%rsp), %xmm0
movsd 0x341a9(%rip), %xmm1    # 0x1d64d0
divsd %xmm1, %xmm0
movsd 0x2ff15(%rip), %xmm1    # 0x1d2248
ucomisd %xmm1, %xmm0
jbe 0x1a234c
movsd 0x2ff07(%rip), %xmm0    # 0x1d2248
movsd %xmm0, 0xd8(%rsp)
jmp 0x1a2372
movsd 0x2fef4(%rip), %xmm0    # 0x1d2248
addsd 0x11e0(%rsp), %xmm0
movsd 0x3416b(%rip), %xmm1    # 0x1d64d0
divsd %xmm1, %xmm0
movsd %xmm0, 0xd8(%rsp)
movsd 0xd8(%rsp), %xmm1
movsd 0x32c35(%rip), %xmm0    # 0x1d4fb8
mulsd %xmm1, %xmm0
movsd 0x34141(%rip), %xmm1    # 0x1d64d0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x11b0(%rsp)
movsd 0x11b8(%rsp), %xmm1
movsd 0x11b0(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a23d6
movsd 0x11b8(%rsp), %xmm0
mulsd 0x11b0(%rsp), %xmm0
callq 0x82e0
movsd %xmm0, 0x11a8(%rsp)
jmp 0x1a23e8
movsd 0x11b8(%rsp), %xmm0
movsd %xmm0, 0x11a8(%rsp)
jmp 0x1a244d
movq 0x11e8(%rsp), %rax
movsd 0x340d6(%rip), %xmm0    # 0x1d64d0
mulsd 0x88(%rax), %xmm0
movsd %xmm0, 0x11b0(%rsp)
movsd 0x11b0(%rsp), %xmm0
movsd 0x11b0(%rsp), %xmm2
movsd 0x11b8(%rsp), %xmm1
mulsd 0x11b8(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x30849(%rip), %xmm1    # 0x1d2c88
callq 0x8610
movsd %xmm0, 0x11a8(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x78(%rax), %xmm0
movsd 0x6a79e(%rip), %xmm1    # 0x20cc00
movsd %xmm1, 0xb0(%rsp)
mulsd %xmm1, %xmm0
movsd 0x341e1(%rip), %xmm1    # 0x1d6658
movsd %xmm1, 0xb8(%rsp)
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%rsp)
movsd 0x11a8(%rsp), %xmm0
movsd 0x307e2(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movsd 0xb0(%rsp), %xmm2
movsd 0xb8(%rsp), %xmm1
movaps %xmm0, %xmm3
movsd 0xc0(%rsp), %xmm0
divsd %xmm3, %xmm0
movsd %xmm0, 0x11a0(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x78(%rax), %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc8(%rsp)
movsd 0x11a8(%rsp), %xmm0
movsd 0x3119b(%rip), %xmm1    # 0x1d3698
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xc8(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x1198(%rsp)
movq 0x11e8(%rsp), %rax
movl 0x80(%rax), %eax
movl %eax, 0xd4(%rsp)
testl %eax, %eax
je 0x1a2b6d
jmp 0x1a253a
movl 0xd4(%rsp), %eax
subl $0x1, %eax
jne 0x1a31b0
jmp 0x1a254c
movq 0x11e8(%rsp), %rax
movsd 0x98(%rax), %xmm0
movsd %xmm0, 0x1190(%rsp)
movsd 0x342a3(%rip), %xmm0    # 0x1d6810
mulsd 0x1190(%rsp), %xmm0
movsd %xmm0, 0xa0(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x408(%rax), %xmm0
movsd %xmm0, 0x98(%rsp)
movsd 0x34090(%rip), %xmm0    # 0x1d6630
movsd 0x306d8(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movsd 0x98(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xa0(%rsp), %xmm0
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%rsp)
movsd 0x11a0(%rsp), %xmm0
movsd 0x3069c(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0xa8(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x11a8(%rsp), %xmm0
movsd %xmm0, 0x1188(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x90(%rax), %xmm0
movsd 0x306b5(%rip), %xmm1    # 0x1d2cd8
ucomisd %xmm1, %xmm0
jne 0x1a27a3
jp 0x1a27a3
movsd 0x6a6bd(%rip), %xmm0    # 0x20ccf8
movsd %xmm0, 0x1180(%rsp)
movsd 0x6a6a4(%rip), %xmm0    # 0x20ccf0
movsd %xmm0, 0x1178(%rsp)
movsd 0x6a68b(%rip), %xmm0    # 0x20cce8
movsd %xmm0, 0x1170(%rsp)
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1180(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a26ae
movsd 0x6a691(%rip), %xmm0    # 0x20cd20
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a678(%rip), %xmm0    # 0x20cd18
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a279e
movsd 0x1180(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a2717
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1178(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a2717
movsd 0x33e50(%rip), %xmm0    # 0x1d6548
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a607(%rip), %xmm0    # 0x20cd10
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a279c
movsd 0x1178(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a277d
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1170(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a277d
movsd 0x6a5a7(%rip), %xmm0    # 0x20cd08
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a58e(%rip), %xmm0    # 0x20cd00
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a279a
movsd 0x2fadb(%rip), %xmm0    # 0x1d2260
movsd %xmm0, 0x1160(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a279c
jmp 0x1a279e
jmp 0x1a2ad4
movq 0x11e8(%rsp), %rax
movsd 0x90(%rax), %xmm0
movsd 0x2faa5(%rip), %xmm1    # 0x1d2260
ucomisd %xmm1, %xmm0
jne 0x1a293b
jp 0x1a293b
movsd 0x6a4f5(%rip), %xmm0    # 0x20ccc8
movsd %xmm0, 0x1180(%rsp)
movsd 0x33d5c(%rip), %xmm0    # 0x1d6540
movsd %xmm0, 0x1178(%rsp)
movsd 0x6a4cb(%rip), %xmm0    # 0x20ccc0
movsd %xmm0, 0x1170(%rsp)
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1180(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a2846
movsd 0x33de9(%rip), %xmm0    # 0x1d6610
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a4a8(%rip), %xmm0    # 0x20cce0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2936
movsd 0x1180(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a28af
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1178(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a28af
movsd 0x6a448(%rip), %xmm0    # 0x20ccd8
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a36f(%rip), %xmm0    # 0x20cc10
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2934
movsd 0x1178(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a2915
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1170(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a2915
movsd 0x3038f(%rip), %xmm0    # 0x1d2c88
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a3c6(%rip), %xmm0    # 0x20ccd0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2932
movsd 0x2f943(%rip), %xmm0    # 0x1d2260
movsd %xmm0, 0x1160(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2934
jmp 0x1a2936
jmp 0x1a2ad2
movq 0x11e8(%rsp), %rax
movsd 0x90(%rax), %xmm0
movsd 0x30335(%rip), %xmm1    # 0x1d2c88
ucomisd %xmm1, %xmm0
jne 0x1a2ad0
jp 0x1a2ad0
movsd 0x6a325(%rip), %xmm0    # 0x20cc90
movsd %xmm0, 0x1180(%rsp)
movsd 0x6a30c(%rip), %xmm0    # 0x20cc88
movsd %xmm0, 0x1178(%rsp)
movsd 0x6a2f3(%rip), %xmm0    # 0x20cc80
movsd %xmm0, 0x1170(%rsp)
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1180(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a29de
movsd 0x6a2f9(%rip), %xmm0    # 0x20ccb8
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a2e0(%rip), %xmm0    # 0x20ccb0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2ace
movsd 0x1180(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a2a47
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1178(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a2a47
movsd 0x6a280(%rip), %xmm0    # 0x20cca8
movsd %xmm0, 0x1160(%rsp)
movsd 0x6a267(%rip), %xmm0    # 0x20cca0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2acc
movsd 0x1178(%rsp), %xmm1
movsd 0x1188(%rsp), %xmm0
divsd 0x11c8(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1a2aad
movsd 0x1188(%rsp), %xmm1
divsd 0x11c8(%rsp), %xmm1
movsd 0x1170(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1a2aad
movsd 0x6a207(%rip), %xmm0    # 0x20cc98
movsd %xmm0, 0x1160(%rsp)
movsd 0x33a96(%rip), %xmm0    # 0x1d6538
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2aca
movsd 0x2f7ab(%rip), %xmm0    # 0x1d2260
movsd %xmm0, 0x1160(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x1168(%rsp)
jmp 0x1a2acc
jmp 0x1a2ace
jmp 0x1a2ad0
jmp 0x1a2ad2
jmp 0x1a2ad4
movsd 0x1160(%rsp), %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x1188(%rsp), %xmm0
divsd 0x11c0(%rsp), %xmm0
movsd 0x1168(%rsp), %xmm1
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x88(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x1158(%rsp)
movsd 0x1158(%rsp), %xmm0
mulsd 0x1188(%rsp), %xmm0
movsd %xmm0, 0x90(%rsp)
movsd 0x33aee(%rip), %xmm0    # 0x1d6630
movsd 0x30136(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x90(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x1150(%rsp)
jmp 0x1a3222
movq 0x11e8(%rsp), %rax
movsd 0x32993(%rip), %xmm0    # 0x1d5510
mulsd 0x438(%rax), %xmm0
movsd 0x33c5b(%rip), %xmm1    # 0x1d67e8
mulsd %xmm1, %xmm0
movq 0x11e8(%rsp), %rax
mulsd 0x400(%rax), %xmm0
mulsd 0x1198(%rsp), %xmm0
movsd 0x4e9be(%rip), %xmm1    # 0x1f1570
divsd %xmm1, %xmm0
movsd 0x33a72(%rip), %xmm1    # 0x1d6630
divsd %xmm1, %xmm0
movsd %xmm0, 0x1148(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x2f66d(%rip), %xmm1    # 0x1d2248
addsd 0x438(%rax), %xmm1
movsd 0x6a055(%rip), %xmm0    # 0x20cc40
divsd %xmm1, %xmm0
mulsd 0x1148(%rsp), %xmm0
movsd %xmm0, 0x1140(%rsp)
movsd 0x1140(%rsp), %xmm0
movsd 0x32926(%rip), %xmm1    # 0x1d5538
callq 0x8610
movsd 0x2f651(%rip), %xmm1    # 0x1d2270
addsd %xmm0, %xmm1
movsd 0x30025(%rip), %xmm0    # 0x1d2c50
divsd %xmm1, %xmm0
movsd %xmm0, 0x1138(%rsp)
movsd 0x2f650(%rip), %xmm0    # 0x1d2290
movsd 0x30008(%rip), %xmm1    # 0x1d2c50
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x30068(%rip), %xmm0    # 0x1d2cc0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x1100(%rsp)
movsd 0x2ffe3(%rip), %xmm0    # 0x1d2c50
callq 0x8670
movaps %xmm0, %xmm1
movsd 0x30043(%rip), %xmm0    # 0x1d2cc0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10f8(%rsp)
movsd 0x1100(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x10f8(%rsp), %xmm0
subsd 0x1100(%rsp), %xmm0
movsd %xmm0, 0x48(%rsp)
movsd 0x1140(%rsp), %xmm0
movsd 0x2ffbe(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movsd %xmm0, 0x38(%rsp)
movsd 0x1140(%rsp), %xmm0
movsd 0x2ffa2(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x38(%rsp), %xmm0
movsd 0x69f44(%rip), %xmm1    # 0x20cc38
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd 0x69f2c(%rip), %xmm1    # 0x20cc30
callq 0x8610
movsd 0x40(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x48(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x1110(%rsp)
movsd 0x1148(%rsp), %xmm0
movsd 0x2ff8e(%rip), %xmm1    # 0x1d2cc8
callq 0x8610
movsd 0x30951(%rip), %xmm1    # 0x1d3698
addsd %xmm0, %xmm1
movsd 0x535fd(%rip), %xmm0    # 0x1f6350
divsd %xmm1, %xmm0
callq 0x8670
movsd %xmm0, 0x50(%rsp)
movsd 0x2f4de(%rip), %xmm0    # 0x1d2248
addsd 0x1148(%rsp), %xmm0
movsd 0x2ff0d(%rip), %xmm1    # 0x1d2c88
callq 0x8610
movsd 0x2f4c0(%rip), %xmm1    # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x2feec(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x50(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x1108(%rsp)
movsd 0x1110(%rsp), %xmm0
mulsd 0x1108(%rsp), %xmm0
divsd 0x10f8(%rsp), %xmm0
movsd %xmm0, 0x1190(%rsp)
movsd 0x69e4d(%rip), %xmm0    # 0x20cc28
movsd %xmm0, 0x1130(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x2f454(%rip), %xmm0    # 0x1d2248
addsd 0x438(%rax), %xmm0
movsd 0x2fe7c(%rip), %xmm1    # 0x1d2c80
divsd %xmm1, %xmm0
movsd 0x69e10(%rip), %xmm1    # 0x20cc20
divsd 0x1130(%rsp), %xmm1
callq 0x8610
mulsd 0x1138(%rsp), %xmm0
movsd 0x32699(%rip), %xmm1    # 0x1d54c8
divsd %xmm1, %xmm0
movsd %xmm0, 0x58(%rsp)
movsd 0x1138(%rsp), %xmm0
movsd 0x338de(%rip), %xmm1    # 0x1d6728
mulsd %xmm1, %xmm0
movsd 0x2f3f2(%rip), %xmm1    # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x32636(%rip), %xmm1    # 0x1d5498
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x58(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd 0x69d9c(%rip), %xmm1    # 0x20cc18
mulsd %xmm1, %xmm0
movsd %xmm0, 0x1120(%rsp)
movsd 0x3379f(%rip), %xmm0    # 0x1d6630
movsd 0x2fde7(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x69d5f(%rip), %xmm0    # 0x20cc08
mulsd %xmm1, %xmm0
movsd 0x3378b(%rip), %xmm1    # 0x1d6640
divsd %xmm1, %xmm0
mulsd 0x1120(%rsp), %xmm0
movsd %xmm0, 0x60(%rsp)
movsd 0x1120(%rsp), %xmm1
movsd 0x69d37(%rip), %xmm0    # 0x20cc10
divsd %xmm0, %xmm1
movsd 0x2f363(%rip), %xmm0    # 0x1d2248
addsd %xmm1, %xmm0
movsd 0x337b7(%rip), %xmm1    # 0x1d66a8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x60(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x1128(%rsp)
movsd 0x3372c(%rip), %xmm0    # 0x1d6640
mulsd 0x1128(%rsp), %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x33705(%rip), %xmm0    # 0x1d6630
movsd 0x2fd4d(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x68(%rsp), %xmm0
movsd 0x69cbf(%rip), %xmm1    # 0x20cc08
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x1118(%rsp)
movsd 0x338ae(%rip), %xmm0    # 0x1d6810
mulsd 0x1190(%rsp), %xmm0
movsd %xmm0, 0x78(%rsp)
movq 0x11e8(%rsp), %rax
movsd 0x408(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
movsd 0x336a1(%rip), %xmm0    # 0x1d6630
movsd 0x2fce9(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movsd 0x70(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x78(%rsp), %xmm0
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0x80(%rsp)
movsd 0x11a0(%rsp), %xmm0
movsd 0x2fcb3(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x80(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x11a8(%rsp), %xmm0
movsd %xmm0, 0x1188(%rsp)
movsd 0x1118(%rsp), %xmm0
movsd 0x2f243(%rip), %xmm1    # 0x1d2248
ucomisd %xmm1, %xmm0
jbe 0x1a3076
movsd 0x2fc6d(%rip), %xmm0    # 0x1d2c80
mulsd 0x1118(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x69c46(%rip), %xmm0    # 0x20cc70
callq 0x8670
movaps %xmm0, %xmm1
movsd 0x30(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd 0x69c24(%rip), %xmm1    # 0x20cc68
addsd %xmm1, %xmm0
callq 0x82f0
movaps %xmm0, %xmm1
movsd 0x324b8(%rip), %xmm0    # 0x1d5510
addsd %xmm0, %xmm1
movsd 0x69bfc(%rip), %xmm0    # 0x20cc60
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10f0(%rsp)
jmp 0x1a3105
movsd 0x69bda(%rip), %xmm0    # 0x20cc58
callq 0x82e0
movaps %xmm0, %xmm1
movsd 0x69bc2(%rip), %xmm0    # 0x20cc50
mulsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x1118(%rsp), %xmm0
movsd 0x305f7(%rip), %xmm1    # 0x1d36a0
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x20(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x1118(%rsp), %xmm0
movsd 0x2fbd6(%rip), %xmm1    # 0x1d2ca8
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x28(%rsp), %xmm0
movsd 0x69b60(%rip), %xmm2    # 0x20cc48
mulsd %xmm2, %xmm1
movsd 0x2f154(%rip), %xmm2    # 0x1d2248
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10f0(%rsp)
movsd 0x33533(%rip), %xmm1    # 0x1d6640
mulsd 0x1128(%rsp), %xmm1
movsd 0x69b5a(%rip), %xmm0    # 0x20cc78
mulsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x33500(%rip), %xmm0    # 0x1d6630
movsd 0x2fb48(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm2
movsd 0x10(%rsp), %xmm0
movsd 0x4e422(%rip), %xmm1    # 0x1f1570
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
mulsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x334c3(%rip), %xmm0    # 0x1d6630
mulsd 0x1188(%rsp), %xmm0
movsd 0x334b2(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movsd 0x2faf6(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
divsd 0x11d0(%rsp), %xmm0
movsd %xmm0, 0x1150(%rsp)
jmp 0x1a3222
leaq 0x8f0(%rsp), %rdi
leaq 0x6a774(%rip), %rsi     # 0x20d933
movb $0x0, %al
callq 0x5b9c0
leaq 0xf0(%rsp), %rdi
leaq 0x8f0(%rsp), %rdx
leaq 0x2f390(%rip), %rsi     # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x11e8(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0xf0(%rsp), %r8
leaq 0x2ee32(%rip), %rsi     # 0x1d2034
leaq 0x6a747(%rip), %rdx     # 0x20d950
movl $0x45b, %ecx            # imm = 0x45B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x11f4(%rsp)
jmp 0x1a32a0
movq 0x11e8(%rsp), %rax
movsd 0x410(%rax), %xmm0
movq 0x11e8(%rsp), %rax
mulsd 0x70(%rax), %xmm0
movq 0x11e8(%rsp), %rax
movsd 0x699b1(%rip), %xmm1    # 0x20cc00
mulsd 0x78(%rax), %xmm1
divsd %xmm1, %xmm0
mulsd 0x1150(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x333c1(%rip), %xmm0    # 0x1d6630
movsd 0x2fa09(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
divsd %xmm1, %xmm0
movq 0x11d8(%rsp), %rax
movsd %xmm0, (%rax)
movl $0x0, 0x11f4(%rsp)
movl 0x11f4(%rsp), %eax
addq $0x11f8, %rsp           # imm = 0x11F8
retq
nop