double dcs_pair_production_d2_SSR(double Z, double A, double m, double K,
                                  double q, double rho) {
  if ((Z <= 0) || (A <= 0) || (m <= 0) || (K <= 0) || (q <= 0))
    return 0.;
  double qmin, qmax;
  dcs_pair_production_range(Z, m, K, &qmin, &qmax);
  if ((q < qmin) || (q > qmax))
    return 0.;
  const double energy = (K + m) * 1E+03;
  const double v = q / (K + m);
  m *= 1E+03;
  const double rad_log = radiation_logarithm(Z);
  const double const_prefactor = 4. / (3. * 3.14159265358979323846) * Z *
                                 pow(7.2973525693E-03 * 2.8179403227E-13, 2.);
  const double Z13 = pow(Z, -1. / 3.);
  const double d_n = 1.54 * pow(A, 0.27);
  rho = 1 - rho;
  const double rho2 = rho * rho;
  double g1, g2;
  if (Z == 1.) {
    g1 = 4.4E-05;
    g2 = 4.8E-05;
  } else {
    g1 = 1.95E-05;
    g2 = 5.3E-05;
  }
  const double zeta1 =
      (0.073 * log(energy / m / (1. + g1 * pow(Z, 2. / 3.) * energy / m)) -
       0.26);
  const double zeta2 =
      (0.058 * log(energy / m / (1 + g2 / Z13 * energy / m)) - 0.14);
  double zeta;
  if ((zeta1 > 0.) && (zeta2 > 0.)) {
    zeta = zeta1 / zeta2;
  } else {
    zeta = 0.;
  }
  const double beta = v * v / (2. * (1. - v));
  const double xi =
      pow(m * v / (2. * 0.5109989461), 2.) * (1. - rho2) / (1. - v);
  const double Be =
      ((2. + rho2) * (1. + beta) + xi * (3. + rho2)) * log(1. + 1. / xi) +
      (1. - rho2 - beta) / (1. + xi) - (3. + rho2);
  const double Ce2 =
      ((1. - rho2) * (1. + beta) + xi * (3. - rho2)) * log(1. + 1. / xi) +
      2. * (1. - beta - rho2) / (1. + xi) - (3. - rho2);
  const double Ce1 = Be - Ce2;
  const double De = ((2. + rho2) * (1. + beta) + xi * (3. + rho2)) *
                        math_dilog(1. / (1. + xi)) -
                    (2. + rho2) * xi * log(1. + 1. / xi) -
                    (xi + rho2 + beta) / (1. + xi);
  double Le1, Le2;
  if (De / Be > 0.) {
    const double tmp = De / Be;
    const double Xe = (tmp < 100) ? exp(-tmp) : 0.;
    Le1 = log(rad_log * Z13 * sqrt(1. + xi) /
              (Xe + 2. * 0.5109989461 * exp(0.5) * rad_log * Z13 * (1. + xi) /
                        (energy * v * (1. - rho2)))) -
          tmp - 0.5 * log(Xe + pow(0.5109989461 / m * d_n, 2.) * (1. + xi));
    Le2 = log(rad_log * Z13 * exp(-1. / 6.) * sqrt(1 + xi) /
              (Xe + 2. * 0.5109989461 * exp(1. / 3.) * rad_log * Z13 *
                        (1. + xi) / (energy * v * (1. - rho2)))) -
          tmp -
          0.5 * log(Xe + pow(0.5109989461 / m * d_n, 2.) * exp(-1. / 3.) *
                             (1. + xi));
  } else {
    const double tmp = De / Be;
    const double Xe_inv = (tmp > -100) ? exp(De / Be) : 0;
    Le1 = log(rad_log * Z13 * sqrt(1. + xi) /
              (1. + Xe_inv * 2. * 0.5109989461 * exp(0.5) * rad_log * Z13 *
                        (1. + xi) / (energy * v * (1. - rho2)))) -
          0.5 * De / Be -
          0.5 * log(1. + Xe_inv * pow(0.5109989461 / m * d_n, 2.) * (1. + xi));
    Le2 = log(rad_log * Z13 * exp(-1. / 6.) * sqrt(1 + xi) /
              (1. + Xe_inv * 2. * 0.5109989461 * exp(1. / 3.) * rad_log * Z13 *
                        (1. + xi) / (energy * v * (1. - rho2)))) -
          0.5 * De / Be -
          0.5 * log(1. + Xe_inv * pow(0.5109989461 / m * d_n, 2.) *
                             exp(-1. / 3.) * (1. + xi));
  }
  double diagram_e =
      const_prefactor * (Z + zeta) * (1. - v) / v * (Ce1 * Le1 + Ce2 * Le2);
  if (diagram_e < 0.)
    diagram_e = 0.;
  const double Bm = ((1. + rho2) * (1. + (3. * beta) / 2) -
                     1. / xi * (1. + 2. * beta) * (1. - rho2)) *
                        log(1. + xi) +
                    xi * (1. - rho2 - beta) / (1. + xi) +
                    (1. + 2. * beta) * (1. - rho2);
  const double Cm2 =
      ((1. - beta) * (1. - rho2) - xi * (1. + rho2)) * log(1. + xi) / xi -
      2. * (1. - beta - rho2) / (1. + xi) + 1. - beta - (1. + beta) * rho2;
  const double Cm1 = Bm - Cm2;
  const double Dm =
      ((1. + rho2) * (1. + (3. * beta) / 2.) -
       1. / xi * (1. + 2. * beta) * (1. - rho2)) *
          math_dilog(xi / (1. + xi)) +
      (1. + (3. * beta) / 2.) * (1. - rho2) / xi * log(1. + xi) +
      (1. - rho2 - beta / 2. * (1. + rho2) + (1. - rho2) / (2. * xi) * beta) *
          xi / (1. + xi);
  double Lm1, Lm2;
  if (Dm / Bm > 0.) {
    const double tmp = Dm / Bm;
    const double Xm = (tmp < 100) ? exp(-tmp) : 0.;
    Lm1 = log(m / 0.5109989461 * rad_log * Z13 / d_n /
              (Xm + 2. * 0.5109989461 * exp(0.5) * rad_log * Z13 * (1. + xi) /
                        (energy * v * (1. - rho2)))) -
          tmp;
    Lm2 = log(m / 0.5109989461 * rad_log * Z13 / d_n /
              (Xm + 2. * 0.5109989461 * exp(1. / 3.) * rad_log * Z13 *
                        (1. + xi) / (energy * v * (1. - rho2)))) -
          tmp;
  } else {
    const double tmp = Dm / Bm;
    const double Xmv = (tmp > -100) ? exp(tmp) : 0.;
    Lm1 = log(m / 0.5109989461 * rad_log * Z13 / d_n /
              (1. + 2. * 0.5109989461 * exp(0.5) * rad_log * Z13 * (1. + xi) /
                        (energy * v * (1. - rho2)) * Xmv));
    Lm2 = log(m / 0.5109989461 * rad_log * Z13 / d_n /
              (1. + 2. * 0.5109989461 * exp(1. / 3.) * rad_log * Z13 *
                        (1. + xi) / (energy * v * (1. - rho2)) * Xmv));
  }
  double diagram_mu = const_prefactor * (Z + zeta) * (1. - v) / v *
                      pow(0.5109989461 / m, 2.) * (Cm1 * Lm1 + Cm2 * Lm2);
  if (diagram_mu < 0.)
    diagram_mu = 0.;
  return (diagram_e + diagram_mu) * 1E-01 / energy;
}


x86 assembly (clang, -O0):
<dcs_pair_production_d2_SSR>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2f0,%rsp
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x18(%rbp)
movsd  %xmm2,-0x20(%rbp)
movsd  %xmm3,-0x28(%rbp)
movsd  %xmm4,-0x30(%rbp)
movsd  %xmm5,-0x38(%rbp)
xorps  %xmm0,%xmm0
ucomisd -0x10(%rbp),%xmm0
jae    11df <dcs_pair_production_d2_SSR+0x6f>
xorps  %xmm0,%xmm0
ucomisd -0x18(%rbp),%xmm0
jae    11df <dcs_pair_production_d2_SSR+0x6f>
xorps  %xmm0,%xmm0
ucomisd -0x20(%rbp),%xmm0
jae    11df <dcs_pair_production_d2_SSR+0x6f>
xorps  %xmm0,%xmm0
ucomisd -0x28(%rbp),%xmm0
jae    11df <dcs_pair_production_d2_SSR+0x6f>
xorps  %xmm0,%xmm0
ucomisd -0x30(%rbp),%xmm0
jb     11ec <dcs_pair_production_d2_SSR+0x7c>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    28b7 <dcs_pair_production_d2_SSR+0x1747>
movsd  -0x10(%rbp),%xmm0
movsd  -0x20(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm2
lea    -0x40(%rbp),%rdi
lea    -0x48(%rbp),%rsi
mov    $0x3,%al
call   1080 <dcs_pair_production_range@plt>
movsd  -0x30(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm0
ucomisd %xmm1,%xmm0
ja     122e <dcs_pair_production_d2_SSR+0xbe>
movsd  -0x30(%rbp),%xmm0
ucomisd -0x48(%rbp),%xmm0
jbe    123b <dcs_pair_production_d2_SSR+0xcb>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    28b7 <dcs_pair_production_d2_SSR+0x1747>
movsd  -0x28(%rbp),%xmm0
addsd  -0x20(%rbp),%xmm0
movsd  0x1deb(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm1
addsd  -0x20(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x1dc2(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x10(%rbp),%xmm0
mov    $0x1,%al
call   1090 <radiation_logarithm@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x1d93(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x1d6e(%rip),%xmm0
movsd  0x1d6e(%rip),%xmm1
call   1060 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x170(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1d38(%rip),%xmm1
call   1060 <pow@plt>
movsd  %xmm0,-0x70(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1d19(%rip),%xmm1
call   1060 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1d01(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1ce8(%rip),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1cc2(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1373 <dcs_pair_production_d2_SSR+0x203>
jp     1373 <dcs_pair_production_d2_SSR+0x203>
movsd  0x1d02(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1cea(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1393 <dcs_pair_production_d2_SSR+0x223>
movsd  0x1ccd(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1cb5(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
divsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1cbe(%rip),%xmm1
call   1060 <pow@plt>
movsd  -0x180(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x178(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm2
mulsd  -0x50(%rbp),%xmm2
divsd  -0x20(%rbp),%xmm2
movsd  0x1c10(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  0x1c6b(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1c67(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
divsd  -0x20(%rbp),%xmm0
movsd  -0x90(%rbp),%xmm2
ff
divsd  -0x70(%rbp),%xmm2
mulsd  -0x50(%rbp),%xmm2
divsd  -0x20(%rbp),%xmm2
movsd  0x1bba(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  0x1c05(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1c01(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    14ba <dcs_pair_production_d2_SSR+0x34a>
movsd  -0xa0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    14ba <dcs_pair_production_d2_SSR+0x34a>
movsd  -0x98(%rbp),%xmm0
ff
divsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    14c5 <dcs_pair_production_d2_SSR+0x355>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  0x1b29(%rip),%xmm2
subsd  -0x58(%rbp),%xmm2
movsd  0x1b44(%rip),%xmm1
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  0x1b8a(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1b16(%rip),%xmm1
call   1060 <pow@plt>
movsd  0x1ae1(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1ad0(%rip),%xmm1
subsd  -0x58(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x1adf(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  0x1aaa(%rip),%xmm2
addsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  0x1b1a(%rip),%xmm3
addsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  0x1a71(%rip),%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  0x1a61(%rip),%xmm0
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movaps %xmm0,%xmm2
movsd  -0x1a8(%rbp),%xmm0
ff
movsd  0x1a45(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
subsd  -0xb0(%rbp),%xmm1
ff
movsd  0x1a30(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1a9c(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x19fb(%rip),%xmm0
subsd  -0x80(%rbp),%xmm0
movsd  0x19ee(%rip),%xmm2
addsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  0x1a5e(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  0x19b5(%rip),%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  0x19a5(%rip),%xmm0
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movaps %xmm0,%xmm2
movsd  -0x1a0(%rbp),%xmm0
ff
movsd  0x1989(%rip),%xmm3
subsd  -0xb0(%rbp),%xmm3
ff
subsd  -0x80(%rbp),%xmm3
movsd  0x199c(%rip),%xmm1
mulsd  %xmm3,%xmm1
movsd  0x1968(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
divsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x19d4(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
subsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x1943(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  0x190e(%rip),%xmm2
addsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  0x197e(%rip),%xmm3
addsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  0x18d5(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
ff
movsd  0x18c5(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    $0x1,%al
call   1030 <math_dilog@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  0x18ce(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  0x1889(%rip),%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  0x1879(%rip),%xmm0
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  -0x198(%rbp),%xmm1
ff
movsd  -0x190(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x188(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
addsd  -0x80(%rbp),%xmm1
addsd  -0xb0(%rbp),%xmm1
ff
movsd  0x1815(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
divsd  -0xc0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    1b7c <dcs_pair_production_d2_SSR+0xa0c>
movsd  -0xd8(%rbp),%xmm0
ff
divsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  0x1888(%rip),%xmm0
ucomisd -0xf0(%rbp),%xmm0
ff
jbe    187f <dcs_pair_production_d2_SSR+0x70f>
movsd  -0xf0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1040 <exp@plt>
movsd  %xmm0,-0x1b0(%rbp)
ff
jmp    188f <dcs_pair_production_d2_SSR+0x71f>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
jmp    188f <dcs_pair_production_d2_SSR+0x71f>
movsd  -0x1b0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  0x1747(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1070 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x210(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x208(%rbp)
ff
movsd  0x17bb(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x208(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x200(%rbp),%xmm0
ff
movsd  0x177b(%rip),%xmm2
mulsd  %xmm3,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0x16d5(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  -0x50(%rbp),%xmm3
mulsd  -0x58(%rbp),%xmm3
movsd  0x16b7(%rip),%xmm4
subsd  -0x80(%rbp),%xmm4
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x171d(%rip),%xmm0
divsd  -0x20(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  0x168b(%rip),%xmm1
call   1060 <pow@plt>
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  0x164e(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  -0x1f0(%rbp),%xmm1
ff
movsd  0x16c9(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  0x16bf(%rip),%xmm0
call   1040 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  0x15db(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1070 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x1e0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  0x1657(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x1d8(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x1d0(%rbp),%xmm0
ff
movsd  0x160f(%rip),%xmm2
mulsd  %xmm3,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0x1569(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  -0x50(%rbp),%xmm3
mulsd  -0x58(%rbp),%xmm3
movsd  0x154b(%rip),%xmm4
subsd  -0x80(%rbp),%xmm4
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  0x15b1(%rip),%xmm0
divsd  -0x20(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  0x151f(%rip),%xmm1
call   1060 <pow@plt>
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  0x14fa(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x1c8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1c0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  0x14be(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  -0x1b8(%rbp),%xmm1
ff
movsd  0x1539(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
jmp    1f36 <dcs_pair_production_d2_SSR+0xdc6>
movsd  -0xd8(%rbp),%xmm0
ff
divsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  0x14f4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1bd0 <dcs_pair_production_d2_SSR+0xa60>
movsd  -0xd8(%rbp),%xmm0
ff
divsd  -0xc0(%rbp),%xmm0
ff
call   1040 <exp@plt>
movsd  %xmm0,-0x218(%rbp)
ff
jmp    1be0 <dcs_pair_production_d2_SSR+0xa70>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
jmp    1be0 <dcs_pair_production_d2_SSR+0xa70>
movsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  0x13f6(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1070 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x278(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  0x13f2(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  0x1462(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  0x1456(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x270(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x268(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0x1378(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm2
movsd  -0x50(%rbp),%xmm1
mulsd  -0x58(%rbp),%xmm1
movsd  0x135a(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
divsd  %xmm1,%xmm2
movsd  0x1345(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  0x13e0(%rip),%xmm1
mulsd  -0xd8(%rbp),%xmm1
ff
divsd  -0xc0(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x260(%rbp)
ff
movsd  0x13a4(%rip),%xmm0
divsd  -0x20(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  0x1312(%rip),%xmm1
call   1060 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x260(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  0x12ce(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x12ba(%rip),%xmm1
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  -0x258(%rbp),%xmm1
ff
movsd  0x1341(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  0x1337(%rip),%xmm0
call   1040 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x250(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  0x1253(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1070 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x248(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  0x124f(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  0x12bf(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x12bb(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x240(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x238(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0x11d5(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm2
movsd  -0x50(%rbp),%xmm1
mulsd  -0x58(%rbp),%xmm1
movsd  0x11b7(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
divsd  %xmm1,%xmm2
movsd  0x11a2(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  0x123d(%rip),%xmm1
mulsd  -0xd8(%rbp),%xmm1
ff
divsd  -0xc0(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x230(%rbp)
ff
movsd  0x1201(%rip),%xmm0
divsd  -0x20(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  0x116f(%rip),%xmm1
call   1060 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x230(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  0x113b(%rip),%xmm0
call   1040 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x228(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  0x1107(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x10f3(%rip),%xmm1
addsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  -0x220(%rbp),%xmm1
ff
movsd  0x117a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
addsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x10ac(%rip),%xmm1
subsd  -0x58(%rbp),%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x58(%rbp),%xmm0
movsd  -0xd0(%rbp),%xmm1
ff
movsd  -0xe0(%rbp),%xmm3
ff
movsd  -0xc8(%rbp),%xmm2
ff
mulsd  -0xe8(%rbp),%xmm2
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
xorps  %xmm0,%xmm0
ucomisd -0x110(%rbp),%xmm0
ff
jbe    1fb2 <dcs_pair_production_d2_SSR+0xe42>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x1046(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  0x10c1(%rip),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
movsd  0x1051(%rip),%xmm2
divsd  %xmm2,%xmm1
movsd  0x101d(%rip),%xmm2
addsd  %xmm1,%xmm2
movsd  0x1011(%rip),%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm3
ff
addsd  %xmm3,%xmm3
movsd  0xff5(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movsd  0xfe5(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0xfad(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1050 <log@plt>
movsd  -0x2a0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xb8(%rbp),%xmm0
ff
movsd  0xf85(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
subsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
movsd  0xf6c(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
divsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
addsd  %xmm0,%xmm0
movsd  0xf44(%rip),%xmm2
addsd  %xmm2,%xmm0
movsd  0xf38(%rip),%xmm2
subsd  -0x80(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0xf1b(%rip),%xmm0
subsd  -0xb0(%rbp),%xmm0
ff
movsd  0xf0b(%rip),%xmm2
subsd  -0x80(%rbp),%xmm2
movsd  -0xb8(%rbp),%xmm1
ff
movsd  0xef6(%rip),%xmm3
addsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  0xebe(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1050 <log@plt>
movsd  -0x298(%rbp),%xmm1
ff
mulsd  %xmm0,%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  0xe95(%rip),%xmm2
subsd  -0xb0(%rbp),%xmm2
ff
subsd  -0x80(%rbp),%xmm2
movsd  0xea8(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0xe74(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
divsd  %xmm2,%xmm0
subsd  %xmm0,%xmm1
movsd  0xe5c(%rip),%xmm0
addsd  %xmm0,%xmm1
subsd  -0xb0(%rbp),%xmm1
ff
movsd  0xe48(%rip),%xmm0
addsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
subsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0xdf4(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  0xe6f(%rip),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
movsd  0xdff(%rip),%xmm2
divsd  %xmm2,%xmm1
movsd  0xdcb(%rip),%xmm2
addsd  %xmm1,%xmm2
movsd  0xdbf(%rip),%xmm1
divsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm3
ff
addsd  %xmm3,%xmm3
movsd  0xda3(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movsd  0xd93(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  0xd53(%rip),%xmm1
addsd  -0xb8(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
mov    $0x1,%al
call   1030 <math_dilog@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  0xdb4(%rip),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
movsd  0xd44(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0xd10(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  0xd04(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x290(%rbp)
ff
movsd  0xce3(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
call   1050 <log@plt>
movsd  -0x290(%rbp),%xmm1
ff
movsd  -0x288(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x280(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xca7(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm2
ff
movsd  0xcba(%rip),%xmm3
divsd  %xmm3,%xmm2
movsd  0xc86(%rip),%xmm3
addsd  -0x80(%rbp),%xmm3
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0xc5a(%rip),%xmm1
subsd  -0x80(%rbp),%xmm1
movsd  0xc75(%rip),%xmm3
mulsd  -0xb8(%rbp),%xmm3
ff
divsd  %xmm3,%xmm1
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  -0xb8(%rbp),%xmm1
ff
movsd  0xc21(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
divsd  -0x118(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    2614 <dcs_pair_production_d2_SSR+0x14a4>
movsd  -0x130(%rbp),%xmm0
ff
divsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  0xc94(%rip),%xmm0
ucomisd -0x148(%rbp),%xmm0
ff
jbe    2473 <dcs_pair_production_d2_SSR+0x1303>
movsd  -0x148(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1040 <exp@plt>
movsd  %xmm0,-0x2a8(%rbp)
ff
jmp    2483 <dcs_pair_production_d2_SSR+0x1313>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
jmp    2483 <dcs_pair_production_d2_SSR+0x1313>
movsd  -0x2a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0xc08(%rip),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  0xbdd(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x2c8(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x2c0(%rbp),%xmm0
ff
movsd  0xb9d(%rip),%xmm2
mulsd  %xmm3,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0xaf7(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  -0x50(%rbp),%xmm3
mulsd  -0x58(%rbp),%xmm3
movsd  0xad9(%rip),%xmm4
subsd  -0x80(%rbp),%xmm4
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0xb4a(%rip),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0xb27(%rip),%xmm0
call   1040 <exp@plt>
movsd  -0x2b8(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x2b0(%rbp),%xmm0
ff
movsd  0xadf(%rip),%xmm2
mulsd  %xmm3,%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
movsd  0xa39(%rip),%xmm3
addsd  -0xb8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  -0x50(%rbp),%xmm3
mulsd  -0x58(%rbp),%xmm3
movsd  0xa1b(%rip),%xmm4
subsd  -0x80(%rbp),%xmm4
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
jmp    27e4 <dcs_pair_production_d2_SSR+0x1674>
movsd  -0x130(%rbp),%xmm0
ff
divsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
movsd  0xa5c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    2660 <dcs_pair_production_d2_SSR+0x14f0>
movsd  -0x158(%rbp),%xmm0
ff
call   1040 <exp@plt>
movsd  %xmm0,-0x2d0(%rbp)
ff
jmp    2670 <dcs_pair_production_d2_SSR+0x1500>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
jmp    2670 <dcs_pair_production_d2_SSR+0x1500>
movsd  -0x2d0(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0xa1b(%rip),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0xa00(%rip),%xmm0
call   1040 <exp@plt>
movaps %xmm0,%xmm2
movsd  -0x2e0(%rbp),%xmm0
ff
movsd  0x9c8(%rip),%xmm1
mulsd  %xmm2,%xmm1
mulsd  -0x60(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  0x922(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  -0x50(%rbp),%xmm2
mulsd  -0x58(%rbp),%xmm2
movsd  0x904(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
movsd  -0x160(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0x8e3(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0x969(%rip),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  0x956(%rip),%xmm0
call   1040 <exp@plt>
movaps %xmm0,%xmm2
movsd  -0x2d8(%rbp),%xmm0
ff
movsd  0x916(%rip),%xmm1
mulsd  %xmm2,%xmm1
mulsd  -0x60(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  0x870(%rip),%xmm2
addsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  -0x50(%rbp),%xmm2
mulsd  -0x58(%rbp),%xmm2
movsd  0x852(%rip),%xmm3
subsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
movsd  -0x160(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0x831(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
addsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x7fe(%rip),%xmm1
subsd  -0x58(%rbp),%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  0x888(%rip),%xmm0
divsd  -0x20(%rbp),%xmm0
movsd  0x7fb(%rip),%xmm1
call   1060 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x2e8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  -0x128(%rbp),%xmm1
ff
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x120(%rbp),%xmm2
ff
mulsd  -0x140(%rbp),%xmm2
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
xorps  %xmm0,%xmm0
ucomisd -0x168(%rbp),%xmm0
ff
jbe    2891 <dcs_pair_production_d2_SSR+0x1721>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
addsd  -0x168(%rbp),%xmm0
ff
movsd  0x827(%rip),%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x2f0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<dcs_pair_production_d2_SSR>:
xorpd  %xmm6,%xmm6
ucomisd %xmm0,%xmm6
jae    1fa5 <dcs_pair_production_d2_SSR+0xe35>
xorpd  %xmm7,%xmm7
ucomisd %xmm1,%xmm7
jae    1fa5 <dcs_pair_production_d2_SSR+0xe35>
ucomisd %xmm2,%xmm7
jae    1fa5 <dcs_pair_production_d2_SSR+0xe35>
xorpd  %xmm7,%xmm7
ucomisd %xmm3,%xmm7
jae    1fa5 <dcs_pair_production_d2_SSR+0xe35>
ucomisd %xmm4,%xmm7
jae    1fa5 <dcs_pair_production_d2_SSR+0xe35>
push   %rbx
sub    $0x190,%rsp
movsd  %xmm1,0x60(%rsp)
movsd  %xmm5,(%rsp)
lea    0x178(%rsp),%rdi
lea    0x170(%rsp),%rsi
movsd  %xmm0,0x18(%rsp)
movapd %xmm2,0xc0(%rsp)
movapd %xmm2,%xmm1
movapd %xmm3,0xe0(%rsp)
movapd %xmm3,%xmm2
mov    $0x3,%al
movsd  %xmm4,0x10(%rsp)
call   1080 <dcs_pair_production_range@plt>
movsd  0x10(%rsp),%xmm1
movsd  0x178(%rsp),%xmm0
ucomisd %xmm1,%xmm0
xorpd  %xmm6,%xmm6
ja     1f9d <dcs_pair_production_d2_SSR+0xe2d>
ucomisd 0x170(%rsp),%xmm1
ja     1f9d <dcs_pair_production_d2_SSR+0xe2d>
movapd 0xe0(%rsp),%xmm3
movapd 0xc0(%rsp),%xmm2
addsd  %xmm2,%xmm3
movsd  0xdb8(%rip),%xmm0
divsd  %xmm3,%xmm1
movsd  %xmm1,0x10(%rsp)
mulsd  %xmm0,%xmm3
movapd %xmm3,0xe0(%rsp)
mulsd  %xmm0,%xmm2
movapd %xmm2,0xc0(%rsp)
movsd  0x18(%rsp),%xmm0
mov    $0x1,%al
call   1090 <radiation_logarithm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0xd7a(%rip),%xmm1
movsd  0x18(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  0xd70(%rip),%xmm1
movsd  %xmm1,0x168(%rsp)
movsd  0xd67(%rip),%xmm1
call   1060 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0xd5c(%rip),%xmm1
movsd  0x60(%rsp),%xmm0
call   1060 <pow@plt>
mulsd  0xd51(%rip),%xmm0
movsd  %xmm0,0xd8(%rsp)
movsd  0xd48(%rip),%xmm1
movapd %xmm1,%xmm0
subsd  (%rsp),%xmm0
mulsd  %xmm0,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x18(%rsp),%xmm0
movapd %xmm0,%xmm2
cmpeqsd %xmm1,%xmm2
movq   %xmm2,%rbx
and    $0x1,%ebx
lea    0xdc7(%rip),%rax
movsd  (%rax,%rbx,8),%xmm1
movaps %xmm1,(%rsp)
movsd  0xd0e(%rip),%xmm1
call   1060 <pow@plt>
lea    0xdba(%rip),%rax
mulsd  (%rax,%rbx,8),%xmm0
movapd 0xe0(%rsp),%xmm1
mulsd  %xmm1,%xmm0
movapd 0xc0(%rsp),%xmm2
divsd  %xmm2,%xmm0
addsd  0xcd3(%rip),%xmm0
movapd (%rsp),%xmm3
divsd  0x20(%rsp),%xmm3
mulsd  %xmm1,%xmm3
movapd %xmm3,%xmm4
movapd %xmm1,%xmm3
unpcklpd %xmm4,%xmm3
movapd %xmm2,%xmm1
unpcklpd %xmm2,%xmm1
divpd  %xmm1,%xmm3
movapd %xmm3,0x60(%rsp)
movapd %xmm3,%xmm1
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
call   1050 <log@plt>
mulsd  0xc9d(%rip),%xmm0
addsd  0xc9d(%rip),%xmm0
movsd  %xmm0,(%rsp)
movapd 0x60(%rsp),%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
addsd  0xc6a(%rip),%xmm0
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
call   1050 <log@plt>
mulsd  0xc75(%rip),%xmm0
addsd  0xc75(%rip),%xmm0
movsd  (%rsp),%xmm3
movapd %xmm3,%xmm1
divsd  %xmm0,%xmm1
xorpd  %xmm2,%xmm2
cmpltsd %xmm0,%xmm2
andpd  %xmm1,%xmm2
xorpd  %xmm0,%xmm0
cmpltsd %xmm3,%xmm0
andpd  %xmm2,%xmm0
movapd %xmm0,0x180(%rsp)
movsd  0x10(%rsp),%xmm2
movapd %xmm2,%xmm3
mulsd  %xmm2,%xmm3
movsd  0xc07(%rip),%xmm5
movapd %xmm5,%xmm1
subsd  %xmm2,%xmm1
movapd %xmm1,%xmm0
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm3
movsd  %xmm3,0x90(%rsp)
movapd 0xc0(%rsp),%xmm4
mulsd  %xmm2,%xmm4
divsd  0xc05(%rip),%xmm4
mulsd  %xmm4,%xmm4
movapd %xmm5,%xmm2
movsd  0x48(%rsp),%xmm0
subsd  %xmm0,%xmm2
movsd  %xmm2,0x60(%rsp)
mulsd  %xmm2,%xmm4
movsd  %xmm1,0xf8(%rsp)
divsd  %xmm1,%xmm4
movapd %xmm4,%xmm6
movapd %xmm4,0xb0(%rsp)
movsd  0xbcf(%rip),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x100(%rsp)
movapd %xmm3,%xmm4
addsd  %xmm5,%xmm4
movsd  %xmm4,0xd0(%rsp)
addsd  0xbb1(%rip),%xmm0
movsd  %xmm0,0x30(%rsp)
mulsd  %xmm6,%xmm0
movapd %xmm2,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,0x70(%rsp)
movapd %xmm5,%xmm0
divsd  %xmm6,%xmm0
movsd  %xmm0,0x158(%rsp)
addsd  %xmm5,%xmm0
movsd  %xmm0,0x80(%rsp)
call   1050 <log@plt>
movapd %xmm0,%xmm2
movsd  0x60(%rsp),%xmm4
movapd %xmm4,%xmm0
subsd  0x90(%rsp),%xmm0
movapd 0xb0(%rsp),%xmm1
movapd %xmm1,%xmm3
addsd  0xb06(%rip),%xmm3
movapd %xmm3,(%rsp)
movsd  %xmm0,0x160(%rsp)
divsd  %xmm3,%xmm0
mulsd  0x70(%rsp),%xmm2
addsd  %xmm0,%xmm2
subsd  0x30(%rsp),%xmm2
movsd  %xmm2,0x50(%rsp)
movsd  0xb16(%rip),%xmm0
subsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x30(%rsp)
mulsd  %xmm1,%xmm0
movapd %xmm4,%xmm1
mulsd  0xd0(%rsp),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0xf0(%rsp)
movsd  0x80(%rsp),%xmm0
call   1050 <log@plt>
movsd  0xa96(%rip),%xmm2
movapd %xmm2,%xmm1
subsd  0x90(%rsp),%xmm1
movsd  %xmm1,0xa8(%rsp)
subsd  0x48(%rsp),%xmm1
addsd  %xmm1,%xmm1
movapd (%rsp),%xmm3
divsd  %xmm3,%xmm1
mulsd  0xf0(%rsp),%xmm0
movsd  %xmm1,0xf0(%rsp)
addsd  %xmm1,%xmm0
subsd  0x30(%rsp),%xmm0
movsd  0x50(%rsp),%xmm1
movsd  %xmm0,0x150(%rsp)
subsd  %xmm0,%xmm1
movsd  %xmm1,0x148(%rsp)
movapd %xmm2,%xmm0
divsd  %xmm3,%xmm0
mov    $0x1,%al
call   1030 <math_dilog@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x30(%rsp)
movsd  0x80(%rsp),%xmm0
call   1050 <log@plt>
movapd (%rsp),%xmm2
movapd 0xb0(%rsp),%xmm1
movsd  0x100(%rsp),%xmm3
mulsd  %xmm1,%xmm3
mulsd  %xmm0,%xmm3
movsd  0x30(%rsp),%xmm4
mulsd  0x70(%rsp),%xmm4
subsd  %xmm3,%xmm4
movsd  0x48(%rsp),%xmm0
addsd  %xmm1,%xmm0
addsd  0x90(%rsp),%xmm0
divsd  %xmm2,%xmm0
subsd  %xmm0,%xmm4
movsd  %xmm4,0x30(%rsp)
movapd %xmm4,%xmm1
divsd  0x50(%rsp),%xmm1
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x80(%rsp)
ucomisd 0xa44(%rip),%xmm1
jbe    186d <dcs_pair_production_d2_SSR+0x6fd>
xorpd  %xmm3,%xmm3
movsd  0xa0a(%rip),%xmm0
ucomisd %xmm1,%xmm0
xorpd  %xmm0,%xmm0
movapd %xmm1,0x70(%rsp)
jbe    16d0 <dcs_pair_production_d2_SSR+0x560>
movapd 0xa62(%rip),%xmm0
xorpd  %xmm1,%xmm0
call   1040 <exp@plt>
xorpd  %xmm3,%xmm3
movapd (%rsp),%xmm2
movapd %xmm0,0x30(%rsp)
movsd  0x20(%rsp),%xmm0
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
xorps  %xmm0,%xmm0
sqrtsd %xmm2,%xmm0
ucomisd %xmm3,%xmm2
movsd  %xmm0,0x80(%rsp)
jae    170c <dcs_pair_production_d2_SSR+0x59c>
movapd %xmm2,%xmm0
call   1070 <sqrt@plt>
movapd (%rsp),%xmm2
mulsd  0x50(%rsp),%xmm0
movsd  0x99e(%rip),%xmm1
mulsd  0x28(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
mulsd  %xmm2,%xmm1
movapd 0xe0(%rsp),%xmm2
mulsd  0x10(%rsp),%xmm2
mulsd  0x60(%rsp),%xmm2
movapd %xmm2,0x120(%rsp)
divsd  %xmm2,%xmm1
addsd  0x30(%rsp),%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  0x70(%rsp),%xmm0
movapd %xmm0,0x100(%rsp)
movsd  0x90e(%rip),%xmm0
divsd  0xc0(%rsp),%xmm0
mulsd  0xd8(%rsp),%xmm0
mulsd  %xmm0,%xmm0
movapd %xmm0,0x130(%rsp)
mulsd  (%rsp),%xmm0
addsd  0x30(%rsp),%xmm0
call   1050 <log@plt>
movapd (%rsp),%xmm1
movsd  0x50(%rsp),%xmm2
mulsd  0x8e4(%rip),%xmm2
movsd  %xmm2,0x50(%rsp)
movapd %xmm0,0x110(%rsp)
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
movsd  0x80(%rsp),%xmm2
jae    17e8 <dcs_pair_production_d2_SSR+0x678>
movapd %xmm1,%xmm0
call   1070 <sqrt@plt>
movapd (%rsp),%xmm1
movapd %xmm0,%xmm2
movsd  0x50(%rsp),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x8c6(%rip),%xmm2
mulsd  0x28(%rsp),%xmm2
mulsd  0x20(%rsp),%xmm2
mulsd  %xmm1,%xmm2
divsd  0x120(%rsp),%xmm2
addsd  0x30(%rsp),%xmm2
divsd  %xmm2,%xmm0
call   1050 <log@plt>
movapd 0x30(%rsp),%xmm1
subsd  0x70(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movapd 0x130(%rsp),%xmm2
mulsd  0x863(%rip),%xmm2
unpcklpd 0x110(%rsp),%xmm2
movapd 0x8aa(%rip),%xmm0
movlpd (%rsp),%xmm0
mulpd  %xmm2,%xmm0
unpcklpd 0x100(%rsp),%xmm1
jmp    1a7a <dcs_pair_production_d2_SSR+0x90a>
ucomisd 0x803(%rip),%xmm1
jbe    188e <dcs_pair_production_d2_SSR+0x71e>
movapd %xmm1,%xmm0
call   1040 <exp@plt>
movapd (%rsp),%xmm2
movsd  %xmm0,0x80(%rsp)
movsd  0x20(%rsp),%xmm0
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x70(%rsp)
xorps  %xmm0,%xmm0
sqrtsd %xmm2,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
movsd  %xmm0,0x100(%rsp)
jae    18c8 <dcs_pair_production_d2_SSR+0x758>
movapd %xmm2,%xmm0
call   1070 <sqrt@plt>
movapd (%rsp),%xmm2
mulsd  0x70(%rsp),%xmm0
movsd  0x80(%rsp),%xmm3
addsd  %xmm3,%xmm3
movsd  0x79d(%rip),%xmm1
mulsd  %xmm1,%xmm3
movsd  0x799(%rip),%xmm1
movsd  %xmm3,0x130(%rsp)
mulsd  %xmm3,%xmm1
mulsd  0x28(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
mulsd  %xmm2,%xmm1
movapd 0xe0(%rsp),%xmm2
mulsd  0x10(%rsp),%xmm2
mulsd  0x60(%rsp),%xmm2
movapd %xmm2,0x110(%rsp)
divsd  %xmm2,%xmm1
movsd  0x6fa(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  0x30(%rsp),%xmm1
mulsd  0x73f(%rip),%xmm1
divsd  0x50(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
subsd  %xmm1,%xmm0
movapd %xmm0,0x120(%rsp)
movsd  0x70e(%rip),%xmm0
divsd  0xc0(%rsp),%xmm0
mulsd  0xd8(%rsp),%xmm0
mulsd  %xmm0,%xmm0
mulsd  0x80(%rsp),%xmm0
movapd %xmm0,0x50(%rsp)
mulsd  (%rsp),%xmm0
addsd  0x68c(%rip),%xmm0
call   1050 <log@plt>
movapd (%rsp),%xmm1
movapd %xmm0,0x80(%rsp)
movsd  0x70(%rsp),%xmm0
mulsd  0x6d3(%rip),%xmm0
movsd  %xmm0,0x70(%rsp)
ucomisd 0x705(%rip),%xmm1
movsd  0x100(%rsp),%xmm2
jae    19f0 <dcs_pair_production_d2_SSR+0x880>
movapd %xmm1,%xmm0
call   1070 <sqrt@plt>
movapd (%rsp),%xmm1
movapd %xmm0,%xmm2
movsd  0x130(%rsp),%xmm3
mulsd  0x69f(%rip),%xmm3
movsd  0x70(%rsp),%xmm0
mulsd  %xmm2,%xmm0
mulsd  0x28(%rsp),%xmm3
mulsd  0x20(%rsp),%xmm3
mulsd  %xmm1,%xmm3
divsd  0x110(%rsp),%xmm3
addsd  0x604(%rip),%xmm3
divsd  %xmm3,%xmm0
call   1050 <log@plt>
movapd 0x50(%rsp),%xmm1
mulsd  0x665(%rip),%xmm1
subsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
unpcklpd 0x80(%rsp),%xmm1
movapd 0x6a0(%rip),%xmm0
movlpd (%rsp),%xmm0
mulpd  %xmm1,%xmm0
movapd 0x69f(%rip),%xmm1
unpcklpd 0x120(%rsp),%xmm1
addpd  %xmm0,%xmm1
movapd %xmm1,0x30(%rsp)
movapd %xmm1,%xmm0
call   1050 <log@plt>
mulsd  0x633(%rip),%xmm0
addsd  0x50(%rsp),%xmm0
movapd 0x180(%rsp),%xmm1
addsd  0x18(%rsp),%xmm1
movsd  0x168(%rsp),%xmm2
mulsd  %xmm1,%xmm2
movsd  0xf8(%rsp),%xmm1
mulsd  %xmm2,%xmm1
divsd  0x10(%rsp),%xmm1
movsd  0x150(%rsp),%xmm2
mulsd  %xmm0,%xmm2
movapd 0x30(%rsp),%xmm3
unpckhpd %xmm3,%xmm3
movsd  0x148(%rsp),%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm1,0xf8(%rsp)
mulsd  %xmm1,%xmm0
xorpd  %xmm1,%xmm1
maxsd  %xmm0,%xmm1
movsd  %xmm1,0x80(%rsp)
movsd  0x48(%rsp),%xmm3
movsd  0x552(%rip),%xmm1
movsd  0x90(%rsp),%xmm2
mulsd  %xmm2,%xmm1
mulsd  0x55d(%rip),%xmm1
movsd  0x4f5(%rip),%xmm0
addsd  %xmm0,%xmm3
movsd  %xmm3,0x50(%rsp)
addsd  %xmm0,%xmm1
movapd %xmm1,%xmm4
movsd  %xmm1,0x30(%rsp)
movapd %xmm2,%xmm1
addsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  0x158(%rsp),%xmm0
mulsd  %xmm1,%xmm0
mulsd  0x60(%rsp),%xmm0
mulsd  %xmm4,%xmm3
subsd  %xmm0,%xmm3
movsd  %xmm3,0x70(%rsp)
movapd (%rsp),%xmm0
call   1050 <log@plt>
movapd 0xb0(%rsp),%xmm2
movsd  0x160(%rsp),%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm2,%xmm4
movapd (%rsp),%xmm2
divsd  %xmm2,%xmm1
mulsd  0x70(%rsp),%xmm0
addsd  %xmm1,%xmm0
movsd  0x18(%rsp),%xmm1
movsd  0x60(%rsp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  0x50(%rsp),%xmm0
mulsd  %xmm4,%xmm0
movsd  0xa8(%rsp),%xmm1
mulsd  %xmm3,%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0xa8(%rsp)
movapd %xmm2,%xmm0
call   1050 <log@plt>
mulsd  0xa8(%rsp),%xmm0
movapd 0xb0(%rsp),%xmm2
divsd  %xmm2,%xmm0
subsd  0xf0(%rsp),%xmm0
addsd  0x405(%rip),%xmm0
subsd  0x90(%rsp),%xmm0
movsd  0xd0(%rsp),%xmm1
mulsd  0x48(%rsp),%xmm1
subsd  %xmm1,%xmm0
movsd  0x18(%rsp),%xmm1
movsd  %xmm0,0x48(%rsp)
subsd  %xmm0,%xmm1
movsd  %xmm1,0xa8(%rsp)
movapd %xmm2,%xmm0
divsd  (%rsp),%xmm0
mov    $0x1,%al
call   1030 <math_dilog@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0xd0(%rsp)
movsd  0x30(%rsp),%xmm0
mulsd  0x60(%rsp),%xmm0
divsd  0xb0(%rsp),%xmm0
movsd  %xmm0,0x30(%rsp)
movapd (%rsp),%xmm0
call   1050 <log@plt>
mulsd  0x30(%rsp),%xmm0
movsd  0xd0(%rsp),%xmm1
mulsd  0x70(%rsp),%xmm1
addsd  %xmm0,%xmm1
movapd %xmm1,%xmm5
movsd  0x3fe(%rip),%xmm0
movsd  0x90(%rsp),%xmm2
mulsd  %xmm2,%xmm0
mulsd  0x50(%rsp),%xmm0
movsd  0x60(%rsp),%xmm3
addsd  %xmm3,%xmm0
movapd %xmm0,%xmm1
movapd 0xb0(%rsp),%xmm4
movapd %xmm4,%xmm0
addsd  %xmm4,%xmm0
divsd  %xmm0,%xmm3
xorpd  %xmm0,%xmm0
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
mulsd  %xmm4,%xmm3
movapd (%rsp),%xmm2
divsd  %xmm2,%xmm3
addsd  %xmm5,%xmm3
divsd  0x18(%rsp),%xmm3
ucomisd %xmm0,%xmm3
jbe    1e40 <dcs_pair_production_d2_SSR+0xcd0>
xorpd  %xmm0,%xmm0
movsd  0x377(%rip),%xmm1
movapd %xmm3,0x90(%rsp)
ucomisd %xmm3,%xmm1
jbe    1d63 <dcs_pair_production_d2_SSR+0xbf3>
movapd 0x3d0(%rip),%xmm0
xorpd  0x90(%rsp),%xmm0
call   1040 <exp@plt>
movapd (%rsp),%xmm2
movsd  %xmm0,0x18(%rsp)
movapd 0xc0(%rsp),%xmm1
divsd  0x306(%rip),%xmm1
movsd  0x28(%rsp),%xmm6
mulsd  %xmm6,%xmm1
movsd  0x20(%rsp),%xmm5
mulsd  %xmm5,%xmm1
divsd  0xd8(%rsp),%xmm1
movapd %xmm1,%xmm3
movapd %xmm1,0xb0(%rsp)
movsd  0x30c(%rip),%xmm1
mulsd  %xmm6,%xmm1
mulsd  %xmm5,%xmm1
mulsd  %xmm2,%xmm1
movsd  0x10(%rsp),%xmm4
mulsd  0xe0(%rsp),%xmm4
mulsd  0x60(%rsp),%xmm4
movsd  %xmm4,0x10(%rsp)
divsd  %xmm4,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm3,%xmm0
divsd  %xmm1,%xmm0
call   1050 <log@plt>
subsd  0x90(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x28(%rsp),%xmm0
mulsd  0x2bb(%rip),%xmm0
mulsd  0x20(%rsp),%xmm0
mulsd  (%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movapd 0xb0(%rsp),%xmm1
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
call   1050 <log@plt>
subsd  0x90(%rsp),%xmm0
jmp    1f38 <dcs_pair_production_d2_SSR+0xdc8>
ucomisd 0x230(%rip),%xmm3
jbe    1e58 <dcs_pair_production_d2_SSR+0xce8>
movapd %xmm3,%xmm0
call   1040 <exp@plt>
movapd (%rsp),%xmm2
movsd  %xmm0,0xb0(%rsp)
movapd 0xc0(%rsp),%xmm1
divsd  0x20e(%rip),%xmm1
movsd  0x28(%rsp),%xmm5
mulsd  %xmm5,%xmm1
movsd  0x20(%rsp),%xmm4
mulsd  %xmm4,%xmm1
divsd  0xd8(%rsp),%xmm1
movapd %xmm1,%xmm3
movapd %xmm1,0x90(%rsp)
movsd  0x214(%rip),%xmm1
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm1
mulsd  %xmm2,%xmm1
movsd  0x10(%rsp),%xmm4
mulsd  0xe0(%rsp),%xmm4
mulsd  0x60(%rsp),%xmm4
movsd  %xmm4,0x10(%rsp)
divsd  %xmm4,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x155(%rip),%xmm0
addsd  %xmm0,%xmm1
movapd %xmm3,%xmm0
divsd  %xmm1,%xmm0
call   1050 <log@plt>
movsd  %xmm0,0x60(%rsp)
movsd  0x28(%rsp),%xmm0
mulsd  0x1c0(%rip),%xmm0
mulsd  0x20(%rsp),%xmm0
mulsd  (%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
mulsd  0xb0(%rsp),%xmm0
addsd  0x10e(%rip),%xmm0
movapd 0x90(%rsp),%xmm1
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
call   1050 <log@plt>
movsd  0xa8(%rsp),%xmm3
mulsd  0x60(%rsp),%xmm3
movsd  0x131(%rip),%xmm1
divsd  0xc0(%rsp),%xmm1
mulsd  %xmm1,%xmm1
mulsd  0xf8(%rsp),%xmm1
movsd  0x48(%rsp),%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm1,%xmm2
xorpd  %xmm0,%xmm0
maxsd  %xmm2,%xmm0
movsd  0x80(%rsp),%xmm6
addsd  %xmm0,%xmm6
mulsd  0x13c(%rip),%xmm6
divsd  0xe0(%rsp),%xmm6
add    $0x190,%rsp
pop    %rbx
movapd %xmm6,%xmm0
ret

LLVM IR (-O0):
define double @dcs_pair_production_d2_SSR(double %0, double %1, double %2, double %3, double %4, double %5) {
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
store double %0, double* %8
store double %1, double* %9
store double %2, double* %10
store double %3, double* %11
store double %4, double* %12
store double %5, double* %13
%52 = load double, double* %8
%53 = fcmp ole double %52, 0.000000e+00
br i1 %53, label %66, label %54
54: ; preds = %6
%55 = load double, double* %9
%56 = fcmp ole double %55, 0.000000e+00
br i1 %56, label %66, label %57
57: ; preds = %54
%58 = load double, double* %10
%59 = fcmp ole double %58, 0.000000e+00
br i1 %59, label %66, label %60
60: ; preds = %57
%61 = load double, double* %11
%62 = fcmp ole double %61, 0.000000e+00
br i1 %62, label %66, label %63
63: ; preds = %60
%64 = load double, double* %12
%65 = fcmp ole double %64, 0.000000e+00
br i1 %65, label %66, label %67
66: ; preds = %63, %60, %57, %54, %6
store double 0.000000e+00, double* %7
br label %795
67: ; preds = %63
%68 = load double, double* %8
%69 = load double, double* %10
%70 = load double, double* %11
%71 = call i32 (double, double, double, double*, double*, ...) bitcast (i32 (...)* @dcs_pair_production_range to i32 (double, double, double, double*, double*, ...)*)(double %68, double %69, double %70, double* %14, double* %15)
%72 = load double, double* %12
%73 = load double, double* %14
%74 = fcmp olt double %72, %73
br i1 %74, label %79, label %75
75: ; preds = %67
%76 = load double, double* %12
%77 = load double, double* %15
%78 = fcmp ogt double %76, %77
br i1 %78, label %79, label %80
79: ; preds = %75, %67
store double 0.000000e+00, double* %7
br label %795
80: ; preds = %75
%81 = load double, double* %11
%82 = load double, double* %10
%83 = fadd double %81, %82
%84 = fmul double %83, 1.000000e+03
store double %84, double* %16
%85 = load double, double* %12
%86 = load double, double* %11
%87 = load double, double* %10
%88 = fadd double %86, %87
%89 = fdiv double %85, %88
store double %89, double* %17
%90 = load double, double* %10
%91 = fmul double %90, 1.000000e+03
store double %91, double* %10
%92 = load double, double* %8
%93 = call i32 (double, ...) bitcast (i32 (...)* @radiation_logarithm to i32 (double, ...)*)(double %92)
%94 = sitofp i32 %93 to double
store double %94, double* %18
%95 = load double, double* %8
%96 = fmul double 0x3FDB2995E7B7B604, %95
%97 = call double @pow(double 0x3CE2859F07686018, double 2.000000e+00)
%98 = fmul double %96, %97
store double %98, double* %19
%99 = load double, double* %8
%100 = call double @pow(double %99, double 0xBFD5555555555555)
store double %100, double* %20
%101 = load double, double* %9
%102 = call double @pow(double %101, double 2.700000e-01)
%103 = fmul double 1.540000e+00, %102
store double %103, double* %21
%104 = load double, double* %13
%105 = fsub double 1.000000e+00, %104
store double %105, double* %13
%106 = load double, double* %13
%107 = load double, double* %13
%108 = fmul double %106, %107
store double %108, double* %22
%109 = load double, double* %8
%110 = fcmp oeq double %109, 1.000000e+00
br i1 %110, label %111, label %112
111: ; preds = %80
store double 4.400000e-05, double* %23
store double 4.800000e-05, double* %24
br label %113
112: ; preds = %80
store double 1.950000e-05, double* %23
store double 5.300000e-05, double* %24
br label %113
113: ; preds = %112, %111
%114 = load double, double* %16
%115 = load double, double* %10
%116 = fdiv double %114, %115
%117 = load double, double* %23
%118 = load double, double* %8
%119 = call double @pow(double %118, double 0x3FE5555555555555)
%120 = fmul double %117, %119
%121 = load double, double* %16
%122 = fmul double %120, %121
%123 = load double, double* %10
%124 = fdiv double %122, %123
%125 = fadd double 1.000000e+00, %124
%126 = fdiv double %116, %125
%127 = call double @log(double %126)
%128 = call double @llvm.fmuladd.f64(double 0x3FB2B020C49BA5E3, double %127, double -2.600000e-01)
store double %128, double* %25
%129 = load double, double* %16
%130 = load double, double* %10
%131 = fdiv double %129, %130
%132 = load double, double* %24
%133 = load double, double* %20
%134 = fdiv double %132, %133
%135 = load double, double* %16
%136 = fmul double %134, %135
%137 = load double, double* %10
%138 = fdiv double %136, %137
%139 = fadd double 1.000000e+00, %138
%140 = fdiv double %131, %139
%141 = call double @log(double %140)
%142 = call double @llvm.fmuladd.f64(double 5.800000e-02, double %141, double -1.400000e-01)
store double %142, double* %26
%143 = load double, double* %25
%144 = fcmp ogt double %143, 0.000000e+00
br i1 %144, label %145, label %152
145: ; preds = %113
%146 = load double, double* %26
%147 = fcmp ogt double %146, 0.000000e+00
br i1 %147, label %148, label %152
148: ; preds = %145
%149 = load double, double* %25
%150 = load double, double* %26
%151 = fdiv double %149, %150
store double %151, double* %27
br label %153
152: ; preds = %145, %113
store double 0.000000e+00, double* %27
br label %153
153: ; preds = %152, %148
%154 = load double, double* %17
%155 = load double, double* %17
%156 = fmul double %154, %155
%157 = load double, double* %17
%158 = fsub double 1.000000e+00, %157
%159 = fmul double 2.000000e+00, %158
%160 = fdiv double %156, %159
store double %160, double* %28
%161 = load double, double* %10
%162 = load double, double* %17
%163 = fmul double %161, %162
%164 = fdiv double %163, 0x3FF05A1A76394768
%165 = call double @pow(double %164, double 2.000000e+00)
%166 = load double, double* %22
%167 = fsub double 1.000000e+00, %166
%168 = fmul double %165, %167
%169 = load double, double* %17
%170 = fsub double 1.000000e+00, %169
%171 = fdiv double %168, %170
store double %171, double* %29
%172 = load double, double* %22
%173 = fadd double 2.000000e+00, %172
%174 = load double, double* %28
%175 = fadd double 1.000000e+00, %174
%176 = load double, double* %29
%177 = load double, double* %22
%178 = fadd double 3.000000e+00, %177
%179 = fmul double %176, %178
%180 = call double @llvm.fmuladd.f64(double %173, double %175, double %179)
%181 = load double, double* %29
%182 = fdiv double 1.000000e+00, %181
%183 = fadd double 1.000000e+00, %182
%184 = call double @log(double %183)
%185 = load double, double* %22
%186 = fsub double 1.000000e+00, %185
%187 = load double, double* %28
%188 = fsub double %186, %187
%189 = load double, double* %29
%190 = fadd double 1.000000e+00, %189
%191 = fdiv double %188, %190
%192 = call double @llvm.fmuladd.f64(double %180, double %184, double %191)
%193 = load double, double* %22
%194 = fadd double 3.000000e+00, %193
%195 = fsub double %192, %194
store double %195, double* %30
%196 = load double, double* %22
%197 = fsub double 1.000000e+00, %196
%198 = load double, double* %28
%199 = fadd double 1.000000e+00, %198
%200 = load double, double* %29
%201 = load double, double* %22
%202 = fsub double 3.000000e+00, %201
%203 = fmul double %200, %202
%204 = call double @llvm.fmuladd.f64(double %197, double %199, double %203)
%205 = load double, double* %29
%206 = fdiv double 1.000000e+00, %205
%207 = fadd double 1.000000e+00, %206
%208 = call double @log(double %207)
%209 = load double, double* %28
%210 = fsub double 1.000000e+00, %209
%211 = load double, double* %22
%212 = fsub double %210, %211
%213 = fmul double 2.000000e+00, %212
%214 = load double, double* %29
%215 = fadd double 1.000000e+00, %214
%216 = fdiv double %213, %215
%217 = call double @llvm.fmuladd.f64(double %204, double %208, double %216)
%218 = load double, double* %22
%219 = fsub double 3.000000e+00, %218
%220 = fsub double %217, %219
store double %220, double* %31
%221 = load double, double* %30
%222 = load double, double* %31
%223 = fsub double %221, %222
store double %223, double* %32
%224 = load double, double* %22
%225 = fadd double 2.000000e+00, %224
%226 = load double, double* %28
%227 = fadd double 1.000000e+00, %226
%228 = load double, double* %29
%229 = load double, double* %22
%230 = fadd double 3.000000e+00, %229
%231 = fmul double %228, %230
%232 = call double @llvm.fmuladd.f64(double %225, double %227, double %231)
%233 = load double, double* %29
%234 = fadd double 1.000000e+00, %233
%235 = fdiv double 1.000000e+00, %234
%236 = call i32 (double, ...) bitcast (i32 (...)* @math_dilog to i32 (double, ...)*)(double %235)
%237 = sitofp i32 %236 to double
%238 = load double, double* %22
%239 = fadd double 2.000000e+00, %238
%240 = load double, double* %29
%241 = fmul double %239, %240
%242 = load double, double* %29
%243 = fdiv double 1.000000e+00, %242
%244 = fadd double 1.000000e+00, %243
%245 = call double @log(double %244)
%246 = fmul double %241, %245
%247 = fneg double %246
%248 = call double @llvm.fmuladd.f64(double %232, double %237, double %247)
%249 = load double, double* %29
%250 = load double, double* %22
%251 = fadd double %249, %250
%252 = load double, double* %28
%253 = fadd double %251, %252
%254 = load double, double* %29
%255 = fadd double 1.000000e+00, %254
%256 = fdiv double %253, %255
%257 = fsub double %248, %256
store double %257, double* %33
%258 = load double, double* %33
%259 = load double, double* %30
%260 = fdiv double %258, %259
%261 = fcmp ogt double %260, 0.000000e+00
br i1 %261, label %262, label %359
262: ; preds = %153
%263 = load double, double* %33
%264 = load double, double* %30
%265 = fdiv double %263, %264
store double %265, double* %36
%266 = load double, double* %36
%267 = fcmp olt double %266, 1.000000e+02
br i1 %267, label %268, label %272
268: ; preds = %262
%269 = load double, double* %36
%270 = fneg double %269
%271 = call double @exp(double %270)
br label %273
272: ; preds = %262
br label %273
273: ; preds = %272, %268
%274 = phi double [ %271, %268 ], [ 0.000000e+00, %272 ]
store double %274, double* %37
%275 = load double, double* %18
%276 = load double, double* %20
%277 = fmul double %275, %276
%278 = load double, double* %29
%279 = fadd double 1.000000e+00, %278
%280 = call double @sqrt(double %279)
%281 = fmul double %277, %280
%282 = load double, double* %37
%283 = call double @exp(double 5.000000e-01)
%284 = fmul double 0x3FF05A1A76394768, %283
%285 = load double, double* %18
%286 = fmul double %284, %285
%287 = load double, double* %20
%288 = fmul double %286, %287
%289 = load double, double* %29
%290 = fadd double 1.000000e+00, %289
%291 = fmul double %288, %290
%292 = load double, double* %16
%293 = load double, double* %17
%294 = fmul double %292, %293
%295 = load double, double* %22
%296 = fsub double 1.000000e+00, %295
%297 = fmul double %294, %296
%298 = fdiv double %291, %297
%299 = fadd double %282, %298
%300 = fdiv double %281, %299
%301 = call double @log(double %300)
%302 = load double, double* %36
%303 = fsub double %301, %302
%304 = load double, double* %37
%305 = load double, double* %10
%306 = fdiv double 0x3FE05A1A76394768, %305
%307 = load double, double* %21
%308 = fmul double %306, %307
%309 = call double @pow(double %308, double 2.000000e+00)
%310 = load double, double* %29
%311 = fadd double 1.000000e+00, %310
%312 = call double @llvm.fmuladd.f64(double %309, double %311, double %304)
%313 = call double @log(double %312)
%314 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %313, double %303)
store double %314, double* %34
%315 = load double, double* %18
%316 = load double, double* %20
%317 = fmul double %315, %316
%318 = call double @exp(double 0xBFC5555555555555)
%319 = fmul double %317, %318
%320 = load double, double* %29
%321 = fadd double 1.000000e+00, %320
%322 = call double @sqrt(double %321)
%323 = fmul double %319, %322
%324 = load double, double* %37
%325 = call double @exp(double 0x3FD5555555555555)
%326 = fmul double 0x3FF05A1A76394768, %325
%327 = load double, double* %18
%328 = fmul double %326, %327
%329 = load double, double* %20
%330 = fmul double %328, %329
%331 = load double, double* %29
%332 = fadd double 1.000000e+00, %331
%333 = fmul double %330, %332
%334 = load double, double* %16
%335 = load double, double* %17
%336 = fmul double %334, %335
%337 = load double, double* %22
%338 = fsub double 1.000000e+00, %337
%339 = fmul double %336, %338
%340 = fdiv double %333, %339
%341 = fadd double %324, %340
%342 = fdiv double %323, %341
%343 = call double @log(double %342)
%344 = load double, double* %36
%345 = fsub double %343, %344
%346 = load double, double* %37
%347 = load double, double* %10
%348 = fdiv double 0x3FE05A1A76394768, %347
%349 = load double, double* %21
%350 = fmul double %348, %349
%351 = call double @pow(double %350, double 2.000000e+00)
%352 = call double @exp(double 0xBFD5555555555555)
%353 = fmul double %351, %352
%354 = load double, double* %29
%355 = fadd double 1.000000e+00, %354
%356 = call double @llvm.fmuladd.f64(double %353, double %355, double %346)
%357 = call double @log(double %356)
%358 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %357, double %345)
store double %358, double* %35
br label %469
359: ; preds = %153
%360 = load double, double* %33
%361 = load double, double* %30
%362 = fdiv double %360, %361
store double %362, double* %38
%363 = load double, double* %38
%364 = fcmp ogt double %363, -1.000000e+02
br i1 %364, label %365, label %370
365: ; preds = %359
%366 = load double, double* %33
%367 = load double, double* %30
%368 = fdiv double %366, %367
%369 = call double @exp(double %368)
br label %371
370: ; preds = %359
br label %371
371: ; preds = %370, %365
%372 = phi double [ %369, %365 ], [ 0.000000e+00, %370 ]
store double %372, double* %39
%373 = load double, double* %18
%374 = load double, double* %20
%375 = fmul double %373, %374
%376 = load double, double* %29
%377 = fadd double 1.000000e+00, %376
%378 = call double @sqrt(double %377)
%379 = fmul double %375, %378
%380 = load double, double* %39
%381 = fmul double %380, 2.000000e+00
%382 = fmul double %381, 0x3FE05A1A76394768
%383 = call double @exp(double 5.000000e-01)
%384 = fmul double %382, %383
%385 = load double, double* %18
%386 = fmul double %384, %385
%387 = load double, double* %20
%388 = fmul double %386, %387
%389 = load double, double* %29
%390 = fadd double 1.000000e+00, %389
%391 = fmul double %388, %390
%392 = load double, double* %16
%393 = load double, double* %17
%394 = fmul double %392, %393
%395 = load double, double* %22
%396 = fsub double 1.000000e+00, %395
%397 = fmul double %394, %396
%398 = fdiv double %391, %397
%399 = fadd double 1.000000e+00, %398
%400 = fdiv double %379, %399
%401 = call double @log(double %400)
%402 = load double, double* %33
%403 = fmul double 5.000000e-01, %402
%404 = load double, double* %30
%405 = fdiv double %403, %404
%406 = fsub double %401, %405
%407 = load double, double* %39
%408 = load double, double* %10
%409 = fdiv double 0x3FE05A1A76394768, %408
%410 = load double, double* %21
%411 = fmul double %409, %410
%412 = call double @pow(double %411, double 2.000000e+00)
%413 = fmul double %407, %412
%414 = load double, double* %29
%415 = fadd double 1.000000e+00, %414
%416 = call double @llvm.fmuladd.f64(double %413, double %415, double 1.000000e+00)
%417 = call double @log(double %416)
%418 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %417, double %406)
store double %418, double* %34
%419 = load double, double* %18
%420 = load double, double* %20
%421 = fmul double %419, %420
%422 = call double @exp(double 0xBFC5555555555555)
%423 = fmul double %421, %422
%424 = load double, double* %29
%425 = fadd double 1.000000e+00, %424
%426 = call double @sqrt(double %425)
%427 = fmul double %423, %426
%428 = load double, double* %39
%429 = fmul double %428, 2.000000e+00
%430 = fmul double %429, 0x3FE05A1A76394768
%431 = call double @exp(double 0x3FD5555555555555)
%432 = fmul double %430, %431
%433 = load double, double* %18
%434 = fmul double %432, %433
%435 = load double, double* %20
%436 = fmul double %434, %435
%437 = load double, double* %29
%438 = fadd double 1.000000e+00, %437
%439 = fmul double %436, %438
%440 = load double, double* %16
%441 = load double, double* %17
%442 = fmul double %440, %441
%443 = load double, double* %22
%444 = fsub double 1.000000e+00, %443
%445 = fmul double %442, %444
%446 = fdiv double %439, %445
%447 = fadd double 1.000000e+00, %446
%448 = fdiv double %427, %447
%449 = call double @log(double %448)
%450 = load double, double* %33
%451 = fmul double 5.000000e-01, %450
%452 = load double, double* %30
%453 = fdiv double %451, %452
%454 = fsub double %449, %453
%455 = load double, double* %39
%456 = load double, double* %10
%457 = fdiv double 0x3FE05A1A76394768, %456
%458 = load double, double* %21
%459 = fmul double %457, %458
%460 = call double @pow(double %459, double 2.000000e+00)
%461 = fmul double %455, %460
%462 = call double @exp(double 0xBFD5555555555555)
%463 = fmul double %461, %462
%464 = load double, double* %29
%465 = fadd double 1.000000e+00, %464
%466 = call double @llvm.fmuladd.f64(double %463, double %465, double 1.000000e+00)
%467 = call double @log(double %466)
%468 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %467, double %454)
store double %468, double* %35
br label %469
469: ; preds = %371, %273
%470 = load double, double* %19
%471 = load double, double* %8
%472 = load double, double* %27
%473 = fadd double %471, %472
%474 = fmul double %470, %473
%475 = load double, double* %17
%476 = fsub double 1.000000e+00, %475
%477 = fmul double %474, %476
%478 = load double, double* %17
%479 = fdiv double %477, %478
%480 = load double, double* %32
%481 = load double, double* %34
%482 = load double, double* %31
%483 = load double, double* %35
%484 = fmul double %482, %483
%485 = call double @llvm.fmuladd.f64(double %480, double %481, double %484)
%486 = fmul double %479, %485
store double %486, double* %40
%487 = load double, double* %40
%488 = fcmp olt double %487, 0.000000e+00
br i1 %488, label %489, label %490
489: ; preds = %469
store double 0.000000e+00, double* %40
br label %490
490: ; preds = %489, %469
%491 = load double, double* %22
%492 = fadd double 1.000000e+00, %491
%493 = load double, double* %28
%494 = fmul double 3.000000e+00, %493
%495 = fdiv double %494, 2.000000e+00
%496 = fadd double 1.000000e+00, %495
%497 = load double, double* %29
%498 = fdiv double 1.000000e+00, %497
%499 = load double, double* %28
%500 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %499, double 1.000000e+00)
%501 = fmul double %498, %500
%502 = load double, double* %22
%503 = fsub double 1.000000e+00, %502
%504 = fmul double %501, %503
%505 = fneg double %504
%506 = call double @llvm.fmuladd.f64(double %492, double %496, double %505)
%507 = load double, double* %29
%508 = fadd double 1.000000e+00, %507
%509 = call double @log(double %508)
%510 = load double, double* %29
%511 = load double, double* %22
%512 = fsub double 1.000000e+00, %511
%513 = load double, double* %28
%514 = fsub double %512, %513
%515 = fmul double %510, %514
%516 = load double, double* %29
%517 = fadd double 1.000000e+00, %516
%518 = fdiv double %515, %517
%519 = call double @llvm.fmuladd.f64(double %506, double %509, double %518)
%520 = load double, double* %28
%521 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %520, double 1.000000e+00)
%522 = load double, double* %22
%523 = fsub double 1.000000e+00, %522
%524 = call double @llvm.fmuladd.f64(double %521, double %523, double %519)
store double %524, double* %41
%525 = load double, double* %28
%526 = fsub double 1.000000e+00, %525
%527 = load double, double* %22
%528 = fsub double 1.000000e+00, %527
%529 = load double, double* %29
%530 = load double, double* %22
%531 = fadd double 1.000000e+00, %530
%532 = fmul double %529, %531
%533 = fneg double %532
%534 = call double @llvm.fmuladd.f64(double %526, double %528, double %533)
%535 = load double, double* %29
%536 = fadd double 1.000000e+00, %535
%537 = call double @log(double %536)
%538 = fmul double %534, %537
%539 = load double, double* %29
%540 = fdiv double %538, %539
%541 = load double, double* %28
%542 = fsub double 1.000000e+00, %541
%543 = load double, double* %22
%544 = fsub double %542, %543
%545 = fmul double 2.000000e+00, %544
%546 = load double, double* %29
%547 = fadd double 1.000000e+00, %546
%548 = fdiv double %545, %547
%549 = fsub double %540, %548
%550 = fadd double %549, 1.000000e+00
%551 = load double, double* %28
%552 = fsub double %550, %551
%553 = load double, double* %28
%554 = fadd double 1.000000e+00, %553
%555 = load double, double* %22
%556 = fneg double %554
%557 = call double @llvm.fmuladd.f64(double %556, double %555, double %552)
store double %557, double* %42
%558 = load double, double* %41
%559 = load double, double* %42
%560 = fsub double %558, %559
store double %560, double* %43
%561 = load double, double* %22
%562 = fadd double 1.000000e+00, %561
%563 = load double, double* %28
%564 = fmul double 3.000000e+00, %563
%565 = fdiv double %564, 2.000000e+00
%566 = fadd double 1.000000e+00, %565
%567 = load double, double* %29
%568 = fdiv double 1.000000e+00, %567
%569 = load double, double* %28
%570 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %569, double 1.000000e+00)
%571 = fmul double %568, %570
%572 = load double, double* %22
%573 = fsub double 1.000000e+00, %572
%574 = fmul double %571, %573
%575 = fneg double %574
%576 = call double @llvm.fmuladd.f64(double %562, double %566, double %575)
%577 = load double, double* %29
%578 = load double, double* %29
%579 = fadd double 1.000000e+00, %578
%580 = fdiv double %577, %579
%581 = call i32 (double, ...) bitcast (i32 (...)* @math_dilog to i32 (double, ...)*)(double %580)
%582 = sitofp i32 %581 to double
%583 = load double, double* %28
%584 = fmul double 3.000000e+00, %583
%585 = fdiv double %584, 2.000000e+00
%586 = fadd double 1.000000e+00, %585
%587 = load double, double* %22
%588 = fsub double 1.000000e+00, %587
%589 = fmul double %586, %588
%590 = load double, double* %29
%591 = fdiv double %589, %590
%592 = load double, double* %29
%593 = fadd double 1.000000e+00, %592
%594 = call double @log(double %593)
%595 = fmul double %591, %594
%596 = call double @llvm.fmuladd.f64(double %576, double %582, double %595)
%597 = load double, double* %22
%598 = fsub double 1.000000e+00, %597
%599 = load double, double* %28
%600 = fdiv double %599, 2.000000e+00
%601 = load double, double* %22
%602 = fadd double 1.000000e+00, %601
%603 = fneg double %600
%604 = call double @llvm.fmuladd.f64(double %603, double %602, double %598)
%605 = load double, double* %22
%606 = fsub double 1.000000e+00, %605
%607 = load double, double* %29
%608 = fmul double 2.000000e+00, %607
%609 = fdiv double %606, %608
%610 = load double, double* %28
%611 = call double @llvm.fmuladd.f64(double %609, double %610, double %604)
%612 = load double, double* %29
%613 = fmul double %611, %612
%614 = load double, double* %29
%615 = fadd double 1.000000e+00, %614
%616 = fdiv double %613, %615
%617 = fadd double %596, %616
store double %617, double* %44
%618 = load double, double* %44
%619 = load double, double* %41
%620 = fdiv double %618, %619
%621 = fcmp ogt double %620, 0.000000e+00
br i1 %621, label %622, label %695
622: ; preds = %490
%623 = load double, double* %44
%624 = load double, double* %41
%625 = fdiv double %623, %624
store double %625, double* %47
%626 = load double, double* %47
%627 = fcmp olt double %626, 1.000000e+02
br i1 %627, label %628, label %632
628: ; preds = %622
%629 = load double, double* %47
%630 = fneg double %629
%631 = call double @exp(double %630)
br label %633
632: ; preds = %622
br label %633
633: ; preds = %632, %628
%634 = phi double [ %631, %628 ], [ 0.000000e+00, %632 ]
store double %634, double* %48
%635 = load double, double* %10
%636 = fdiv double %635, 0x3FE05A1A76394768
%637 = load double, double* %18
%638 = fmul double %636, %637
%639 = load double, double* %20
%640 = fmul double %638, %639
%641 = load double, double* %21
%642 = fdiv double %640, %641
%643 = load double, double* %48
%644 = call double @exp(double 5.000000e-01)
%645 = fmul double 0x3FF05A1A76394768, %644
%646 = load double, double* %18
%647 = fmul double %645, %646
%648 = load double, double* %20
%649 = fmul double %647, %648
%650 = load double, double* %29
%651 = fadd double 1.000000e+00, %650
%652 = fmul double %649, %651
%653 = load double, double* %16
%654 = load double, double* %17
%655 = fmul double %653, %654
%656 = load double, double* %22
%657 = fsub double 1.000000e+00, %656
%658 = fmul double %655, %657
%659 = fdiv double %652, %658
%660 = fadd double %643, %659
%661 = fdiv double %642, %660
%662 = call double @log(double %661)
%663 = load double, double* %47
%664 = fsub double %662, %663
store double %664, double* %45
%665 = load double, double* %10
%666 = fdiv double %665, 0x3FE05A1A76394768
%667 = load double, double* %18
%668 = fmul double %666, %667
%669 = load double, double* %20
%670 = fmul double %668, %669
%671 = load double, double* %21
%672 = fdiv double %670, %671
%673 = load double, double* %48
%674 = call double @exp(double 0x3FD5555555555555)
%675 = fmul double 0x3FF05A1A76394768, %674
%676 = load double, double* %18
%677 = fmul double %675, %676
%678 = load double, double* %20
%679 = fmul double %677, %678
%680 = load double, double* %29
%681 = fadd double 1.000000e+00, %680
%682 = fmul double %679, %681
%683 = load double, double* %16
%684 = load double, double* %17
%685 = fmul double %683, %684
%686 = load double, double* %22
%687 = fsub double 1.000000e+00, %686
%688 = fmul double %685, %687
%689 = fdiv double %682, %688
%690 = fadd double %673, %689
%691 = fdiv double %672, %690
%692 = call double @log(double %691)
%693 = load double, double* %47
%694 = fsub double %692, %693
store double %694, double* %46
br label %763
695: ; preds = %490
%696 = load double, double* %44
%697 = load double, double* %41
%698 = fdiv double %696, %697
store double %698, double* %49
%699 = load double, double* %49
%700 = fcmp ogt double %699, -1.000000e+02
br i1 %700, label %701, label %704
701: ; preds = %695
%702 = load double, double* %49
%703 = call double @exp(double %702)
br label %705
704: ; preds = %695
br label %705
705: ; preds = %704, %701
%706 = phi double [ %703, %701 ], [ 0.000000e+00, %704 ]
store double %706, double* %50
%707 = load double, double* %10
%708 = fdiv double %707, 0x3FE05A1A76394768
%709 = load double, double* %18
%710 = fmul double %708, %709
%711 = load double, double* %20
%712 = fmul double %710, %711
%713 = load double, double* %21
%714 = fdiv double %712, %713
%715 = call double @exp(double 5.000000e-01)
%716 = fmul double 0x3FF05A1A76394768, %715
%717 = load double, double* %18
%718 = fmul double %716, %717
%719 = load double, double* %20
%720 = fmul double %718, %719
%721 = load double, double* %29
%722 = fadd double 1.000000e+00, %721
%723 = fmul double %720, %722
%724 = load double, double* %16
%725 = load double, double* %17
%726 = fmul double %724, %725
%727 = load double, double* %22
%728 = fsub double 1.000000e+00, %727
%729 = fmul double %726, %728
%730 = fdiv double %723, %729
%731 = load double, double* %50
%732 = call double @llvm.fmuladd.f64(double %730, double %731, double 1.000000e+00)
%733 = fdiv double %714, %732
%734 = call double @log(double %733)
store double %734, double* %45
%735 = load double, double* %10
%736 = fdiv double %735, 0x3FE05A1A76394768
%737 = load double, double* %18
%738 = fmul double %736, %737
%739 = load double, double* %20
%740 = fmul double %738, %739
%741 = load double, double* %21
%742 = fdiv double %740, %741
%743 = call double @exp(double 0x3FD5555555555555)
%744 = fmul double 0x3FF05A1A76394768, %743
%745 = load double, double* %18
%746 = fmul double %744, %745
%747 = load double, double* %20
%748 = fmul double %746, %747
%749 = load double, double* %29
%750 = fadd double 1.000000e+00, %749
%751 = fmul double %748, %750
%752 = load double, double* %16
%753 = load double, double* %17
%754 = fmul double %752, %753
%755 = load double, double* %22
%756 = fsub double 1.000000e+00, %755
%757 = fmul double %754, %756
%758 = fdiv double %751, %757
%759 = load double, double* %50
%760 = call double @llvm.fmuladd.f64(double %758, double %759, double 1.000000e+00)
%761 = fdiv double %742, %760
%762 = call double @log(double %761)
store double %762, double* %46
br label %763
763: ; preds = %705, %633
%764 = load double, double* %19
%765 = load double, double* %8
%766 = load double, double* %27
%767 = fadd double %765, %766
%768 = fmul double %764, %767
%769 = load double, double* %17
%770 = fsub double 1.000000e+00, %769
%771 = fmul double %768, %770
%772 = load double, double* %17
%773 = fdiv double %771, %772
%774 = load double, double* %10
%775 = fdiv double 0x3FE05A1A76394768, %774
%776 = call double @pow(double %775, double 2.000000e+00)
%777 = fmul double %773, %776
%778 = load double, double* %43
%779 = load double, double* %45
%780 = load double, double* %42
%781 = load double, double* %46
%782 = fmul double %780, %781
%783 = call double @llvm.fmuladd.f64(double %778, double %779, double %782)
%784 = fmul double %777, %783
store double %784, double* %51
%785 = load double, double* %51
%786 = fcmp olt double %785, 0.000000e+00
br i1 %786, label %787, label %788
787: ; preds = %763
store double 0.000000e+00, double* %51
br label %788
788: ; preds = %787, %763
%789 = load double, double* %40
%790 = load double, double* %51
%791 = fadd double %789, %790
%792 = fmul double %791, 1.000000e-01
%793 = load double, double* %16
%794 = fdiv double %792, %793
store double %794, double* %7
br label %795
795: ; preds = %788, %79, %66
%796 = load double, double* %7
ret double %796
}

LLVM IR (-O2):
define double @dcs_pair_production_d2_SSR(double %0, double %1, double %2, double %3, double %4, double %5) {
%7 = alloca double
%8 = alloca double
%9 = fcmp ole double %0, 0.000000e+00
%10 = fcmp ole double %1, 0.000000e+00
%11 = or i1 %9, %10
%12 = fcmp ole double %2, 0.000000e+00
%13 = or i1 %11, %12
%14 = fcmp ole double %3, 0.000000e+00
%15 = or i1 %13, %14
%16 = fcmp ole double %4, 0.000000e+00
%17 = or i1 %15, %16
br i1 %17, label %340, label %18
18: ; preds = %6
%19 = bitcast double* %7 to i8*
%20 = bitcast double* %8 to i8*
%21 = call i32 (double, double, double, double*, double*, ...) bitcast (i32 (...)* @dcs_pair_production_range to i32 (double, double, double, double*, double*, ...)*)(double %0, double %2, double %3, double* %7, double* %8)
%22 = load double, double* %7
%23 = fcmp ogt double %22, %4
%24 = load double, double* %8
%25 = fcmp olt double %24, %4
%26 = select i1 %23, i1 true, i1 %25
br i1 %26, label %338, label %27
27: ; preds = %18
%28 = fadd double %2, %3
%29 = fmul double %28, 1.000000e+03
%30 = fdiv double %4, %28
%31 = fmul double %2, 1.000000e+03
%32 = call i32 (double, ...) bitcast (i32 (...)* @radiation_logarithm to i32 (double, ...)*)(double %0)
%33 = sitofp i32 %32 to double
%34 = fmul double %0, 0x3FDB2995E7B7B604
%35 = fmul double %34, 0x39D57101BAB2A2B1
%36 = call double @pow(double %0, double 0xBFD5555555555555)
%37 = call double @pow(double %1, double 2.700000e-01)
%38 = fmul double %37, 1.540000e+00
%39 = fsub double 1.000000e+00, %5
%40 = fmul double %39, %39
%41 = fcmp oeq double %0, 1.000000e+00
%42 = select i1 %41, double 4.800000e-05, double 5.300000e-05
%43 = select i1 %41, double 4.400000e-05, double 1.950000e-05
%44 = call double @pow(double %0, double 0x3FE5555555555555)
%45 = fmul double %43, %44
%46 = fmul double %29, %45
%47 = fdiv double %46, %31
%48 = fadd double %47, 1.000000e+00
%49 = fdiv double %42, %36
%50 = fmul double %29, %49
%51 = insertelement <2 x double> poison, double %29, i64 0
%52 = insertelement <2 x double> %51, double %50, i64 1
%53 = insertelement <2 x double> poison, double %31, i64 0
%54 = shufflevector <2 x double> %53, <2 x double> poison, <2 x i32> zeroinitializer
%55 = fdiv <2 x double> %52, %54
%56 = extractelement <2 x double> %55, i64 0
%57 = fdiv double %56, %48
%58 = call double @log(double %57)
%59 = call double @llvm.fmuladd.f64(double %58, double 0x3FB2B020C49BA5E3, double -2.600000e-01)
%60 = extractelement <2 x double> %55, i64 1
%61 = fadd double %60, 1.000000e+00
%62 = fdiv double %56, %61
%63 = call double @log(double %62)
%64 = call double @llvm.fmuladd.f64(double %63, double 5.800000e-02, double -1.400000e-01)
%65 = fcmp ogt double %59, 0.000000e+00
%66 = fcmp ogt double %64, 0.000000e+00
%67 = select i1 %65, i1 %66, i1 false
%68 = fdiv double %59, %64
%69 = select i1 %67, double %68, double 0.000000e+00
%70 = fmul double %30, %30
%71 = fsub double 1.000000e+00, %30
%72 = fmul double %71, 2.000000e+00
%73 = fdiv double %70, %72
%74 = fmul double %31, %30
%75 = fdiv double %74, 0x3FF05A1A76394768
%76 = fmul double %75, %75
%77 = fsub double 1.000000e+00, %40
%78 = fmul double %76, %77
%79 = fdiv double %78, %71
%80 = fadd double %40, 2.000000e+00
%81 = fadd double %73, 1.000000e+00
%82 = fadd double %40, 3.000000e+00
%83 = fmul double %82, %79
%84 = call double @llvm.fmuladd.f64(double %80, double %81, double %83)
%85 = fdiv double 1.000000e+00, %79
%86 = fadd double %85, 1.000000e+00
%87 = call double @log(double %86)
%88 = fsub double %77, %73
%89 = fadd double %79, 1.000000e+00
%90 = fdiv double %88, %89
%91 = call double @llvm.fmuladd.f64(double %84, double %87, double %90)
%92 = fsub double %91, %82
%93 = fsub double 3.000000e+00, %40
%94 = fmul double %93, %79
%95 = call double @llvm.fmuladd.f64(double %77, double %81, double %94)
%96 = call double @log(double %86)
%97 = fsub double 1.000000e+00, %73
%98 = fsub double %97, %40
%99 = fmul double %98, 2.000000e+00
%100 = fdiv double %99, %89
%101 = call double @llvm.fmuladd.f64(double %95, double %96, double %100)
%102 = fsub double %101, %93
%103 = fsub double %92, %102
%104 = fdiv double 1.000000e+00, %89
%105 = call i32 (double, ...) bitcast (i32 (...)* @math_dilog to i32 (double, ...)*)(double %104)
%106 = sitofp i32 %105 to double
%107 = call double @log(double %86)
%108 = fneg double %80
%109 = fmul double %79, %108
%110 = fmul double %109, %107
%111 = call double @llvm.fmuladd.f64(double %84, double %106, double %110)
%112 = fadd double %40, %79
%113 = fadd double %73, %112
%114 = fdiv double %113, %89
%115 = fsub double %111, %114
%116 = fdiv double %115, %92
%117 = fcmp ogt double %116, 0.000000e+00
br i1 %117, label %118, label %161
118: ; preds = %27
%119 = fcmp olt double %116, 1.000000e+02
br i1 %119, label %120, label %123
120: ; preds = %118
%121 = fneg double %116
%122 = call double @exp(double %121)
br label %123
123: ; preds = %118, %120
%124 = phi double [ %122, %120 ], [ 0.000000e+00, %118 ]
%125 = fmul double %36, %33
%126 = call double @sqrt(double %89)
%127 = fmul double %125, %126
%128 = fmul double %33, 0x3FFAF5B7B8ABF8C9
%129 = fmul double %36, %128
%130 = fmul double %89, %129
%131 = fmul double %29, %30
%132 = fmul double %131, %77
%133 = fdiv double %130, %132
%134 = fadd double %133, %124
%135 = fdiv double %127, %134
%136 = call double @log(double %135)
%137 = fsub double %136, %116
%138 = fdiv double 0x3FE05A1A76394768, %31
%139 = fmul double %138, %38
%140 = fmul double %139, %139
%141 = call double @llvm.fmuladd.f64(double %140, double %89, double %124)
%142 = call double @log(double %141)
%143 = fmul double %125, 0x3FEB1660D7A223B1
%144 = call double @sqrt(double %89)
%145 = fmul double %143, %144
%146 = fmul double %33, 0x3FF6D22D88F2BE8C
%147 = fmul double %36, %146
%148 = fmul double %89, %147
%149 = fdiv double %148, %132
%150 = fadd double %149, %124
%151 = fdiv double %145, %150
%152 = call double @log(double %151)
%153 = fsub double %152, %116
%154 = fmul double %140, 0x3FE6EDD3122F2EA5
%155 = insertelement <2 x double> poison, double %154, i64 0
%156 = insertelement <2 x double> %155, double %142, i64 1
%157 = insertelement <2 x double> <double poison, double -5.000000e-01>, double %89, i64 0
%158 = insertelement <2 x double> poison, double %124, i64 0
%159 = insertelement <2 x double> %158, double %137, i64 1
%160 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %156, <2 x double> %157, <2 x double> %159)
br label %209
161: ; preds = %27
%162 = fcmp ogt double %116, -1.000000e+02
br i1 %162, label %163, label %165
163: ; preds = %161
%164 = call double @exp(double %116)
br label %165
165: ; preds = %161, %163
%166 = phi double [ %164, %163 ], [ 0.000000e+00, %161 ]
%167 = fmul double %36, %33
%168 = call double @sqrt(double %89)
%169 = fmul double %167, %168
%170 = fmul double %166, 2.000000e+00
%171 = fmul double %170, 0x3FE05A1A76394768
%172 = fmul double %171, 0x3FFA61298E1E069C
%173 = fmul double %172, %33
%174 = fmul double %36, %173
%175 = fmul double %89, %174
%176 = fmul double %29, %30
%177 = fmul double %176, %77
%178 = fdiv double %175, %177
%179 = fadd double %178, 1.000000e+00
%180 = fdiv double %169, %179
%181 = call double @log(double %180)
%182 = fmul double %115, 5.000000e-01
%183 = fdiv double %182, %92
%184 = fsub double %181, %183
%185 = fdiv double 0x3FE05A1A76394768, %31
%186 = fmul double %185, %38
%187 = fmul double %186, %186
%188 = fmul double %187, %166
%189 = call double @llvm.fmuladd.f64(double %188, double %89, double 1.000000e+00)
%190 = call double @log(double %189)
%191 = fmul double %167, 0x3FEB1660D7A223B1
%192 = call double @sqrt(double %89)
%193 = fmul double %191, %192
%194 = fmul double %171, 0x3FF6546DB1BA2D13
%195 = fmul double %194, %33
%196 = fmul double %36, %195
%197 = fmul double %89, %196
%198 = fdiv double %197, %177
%199 = fadd double %198, 1.000000e+00
%200 = fdiv double %193, %199
%201 = call double @log(double %200)
%202 = fsub double %201, %183
%203 = fmul double %188, 0x3FE6EDD3122F2EA5
%204 = insertelement <2 x double> poison, double %203, i64 0
%205 = insertelement <2 x double> %204, double %190, i64 1
%206 = insertelement <2 x double> <double poison, double -5.000000e-01>, double %89, i64 0
%207 = insertelement <2 x double> <double 1.000000e+00, double poison>, double %184, i64 1
%208 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %205, <2 x double> %206, <2 x double> %207)
br label %209
209: ; preds = %165, %123
%210 = phi double [ %202, %165 ], [ %153, %123 ]
%211 = phi <2 x double> [ %208, %165 ], [ %160, %123 ]
%212 = extractelement <2 x double> %211, i64 0
%213 = call double @log(double %212)
%214 = call double @llvm.fmuladd.f64(double %213, double -5.000000e-01, double %210)
%215 = fadd double %69, %0
%216 = fmul double %35, %215
%217 = fmul double %71, %216
%218 = fdiv double %217, %30
%219 = fmul double %102, %214
%220 = extractelement <2 x double> %211, i64 1
%221 = call double @llvm.fmuladd.f64(double %103, double %220, double %219)
%222 = fmul double %218, %221
%223 = fcmp olt double %222, 0.000000e+00
%224 = select i1 %223, double 0.000000e+00, double %222
%225 = fadd double %40, 1.000000e+00
%226 = fmul double %73, 3.000000e+00
%227 = fmul double %226, 5.000000e-01
%228 = fadd double %227, 1.000000e+00
%229 = call double @llvm.fmuladd.f64(double %73, double 2.000000e+00, double 1.000000e+00)
%230 = fneg double %85
%231 = fmul double %229, %230
%232 = fmul double %77, %231
%233 = call double @llvm.fmuladd.f64(double %225, double %228, double %232)
%234 = call double @log(double %89)
%235 = fmul double %88, %79
%236 = fdiv double %235, %89
%237 = call double @llvm.fmuladd.f64(double %233, double %234, double %236)
%238 = call double @llvm.fmuladd.f64(double %229, double %77, double %237)
%239 = fneg double %79
%240 = fmul double %225, %239
%241 = call double @llvm.fmuladd.f64(double %97, double %77, double %240)
%242 = call double @log(double %89)
%243 = fmul double %241, %242
%244 = fdiv double %243, %79
%245 = fsub double %244, %100
%246 = fadd double %245, 1.000000e+00
%247 = fsub double %246, %73
%248 = fneg double %81
%249 = call double @llvm.fmuladd.f64(double %248, double %40, double %247)
%250 = fsub double %238, %249
%251 = fdiv double %79, %89
%252 = call i32 (double, ...) bitcast (i32 (...)* @math_dilog to i32 (double, ...)*)(double %251)
%253 = sitofp i32 %252 to double
%254 = fmul double %77, %228
%255 = fdiv double %254, %79
%256 = call double @log(double %89)
%257 = fmul double %255, %256
%258 = call double @llvm.fmuladd.f64(double %233, double %253, double %257)
%259 = fmul double %73, -5.000000e-01
%260 = call double @llvm.fmuladd.f64(double %259, double %225, double %77)
%261 = fmul double %79, 2.000000e+00
%262 = fdiv double %77, %261
%263 = call double @llvm.fmuladd.f64(double %262, double %73, double %260)
%264 = fmul double %79, %263
%265 = fdiv double %264, %89
%266 = fadd double %265, %258
%267 = fdiv double %266, %238
%268 = fcmp ogt double %267, 0.000000e+00
br i1 %268, label %269, label %298
269: ; preds = %209
%270 = fcmp olt double %267, 1.000000e+02
br i1 %270, label %271, label %274
271: ; preds = %269
%272 = fneg double %267
%273 = call double @exp(double %272)
br label %274
274: ; preds = %269, %271
%275 = phi double [ %273, %271 ], [ 0.000000e+00, %269 ]
%276 = fdiv double %31, 0x3FE05A1A76394768
%277 = fmul double %276, %33
%278 = fmul double %36, %277
%279 = fdiv double %278, %38
%280 = fmul double %33, 0x3FFAF5B7B8ABF8C9
%281 = fmul double %36, %280
%282 = fmul double %89, %281
%283 = fmul double %29, %30
%284 = fmul double %283, %77
%285 = fdiv double %282, %284
%286 = fadd double %285, %275
%287 = fdiv double %279, %286
%288 = call double @log(double %287)
%289 = fsub double %288, %267
%290 = fmul double %33, 0x3FF6D22D88F2BE8C
%291 = fmul double %36, %290
%292 = fmul double %89, %291
%293 = fdiv double %292, %284
%294 = fadd double %293, %275
%295 = fdiv double %279, %294
%296 = call double @log(double %295)
%297 = fsub double %296, %267
br label %324
298: ; preds = %209
%299 = fcmp ogt double %267, -1.000000e+02
br i1 %299, label %300, label %302
300: ; preds = %298
%301 = call double @exp(double %267)
br label %302
302: ; preds = %298, %300
%303 = phi double [ %301, %300 ], [ 0.000000e+00, %298 ]
%304 = fdiv double %31, 0x3FE05A1A76394768
%305 = fmul double %304, %33
%306 = fmul double %36, %305
%307 = fdiv double %306, %38
%308 = fmul double %33, 0x3FFAF5B7B8ABF8C9
%309 = fmul double %36, %308
%310 = fmul double %89, %309
%311 = fmul double %29, %30
%312 = fmul double %311, %77
%313 = fdiv double %310, %312
%314 = call double @llvm.fmuladd.f64(double %313, double %303, double 1.000000e+00)
%315 = fdiv double %307, %314
%316 = call double @log(double %315)
%317 = fmul double %33, 0x3FF6D22D88F2BE8C
%318 = fmul double %36, %317
%319 = fmul double %89, %318
%320 = fdiv double %319, %312
%321 = call double @llvm.fmuladd.f64(double %320, double %303, double 1.000000e+00)
%322 = fdiv double %307, %321
%323 = call double @log(double %322)
br label %324
324: ; preds = %302, %274
%325 = phi double [ %289, %274 ], [ %316, %302 ]
%326 = phi double [ %297, %274 ], [ %323, %302 ]
%327 = fdiv double 0x3FE05A1A76394768, %31
%328 = fmul double %327, %327
%329 = fmul double %328, %218
%330 = fmul double %249, %326
%331 = call double @llvm.fmuladd.f64(double %250, double %325, double %330)
%332 = fmul double %329, %331
%333 = fcmp olt double %332, 0.000000e+00
%334 = select i1 %333, double 0.000000e+00, double %332
%335 = fadd double %224, %334
%336 = fmul double %335, 1.000000e-01
%337 = fdiv double %336, %29
br label %338
338: ; preds = %18, %324
%339 = phi double [ %337, %324 ], [ 0.000000e+00, %18 ]
br label %340
340: ; preds = %6, %338
%341 = phi double [ %339, %338 ], [ 0.000000e+00, %6 ]
ret double %341
}