double sebs_evapfr(double z_pbl, double t_s, double p_s, double u_s,
                   double hr_s, double alt_ms, double eact, double kin,
                   double albedo, double ndvi, double ndvi_min, double ndvi_max,
                   double ndvi_median, double e0, double lst, double dem) {
  double gamma = 67;
  double rv = 461.05;
  double rd = 287.04;
  double cp = 1005;
  double l_e = 2.430 * pow(10, 6);
  double g = 9.81;
  double sigma = 5.678 * pow(10, -8);
  double k = 0.41;
  double z0m = z0_m(ndvi_median, ndvi_max);
  double lai = leafai(ndvi_median);
  double fc = f_c(ndvi_median, ndvi_min, ndvi_max);
  double d = z0m * 4.9;
  double h = z0m / 0.136;
  double z_ms = 10.0;
  double u_c = log((z_pbl - d) / z0m) / log((z_ms - d) / z0m);
  double u_pbl = u_s * u_c;
  p_s = p_s * pow(((44331.0 - dem) / (44331.0 - alt_ms)), (1 / 0.1903));
  double p_pbl =
      p_s * pow(((44331.0 - (dem + z_pbl)) / (44331.0 - alt_ms)), (1 / 0.1903));
  double kb1 = kb_1(u_pbl, z_pbl, h, lai, fc, t_s, p_s);
  double z0h = z0m / exp(kb1);
  double t_c = log((z_pbl - d) / z0h) / log((z_ms - d) / z0h);
  if (t_s < 100)
    t_s = t_s + 273.15;
  double t_pbl =
      (t_s * (1.0 - fc) + t_c * fc) / pow((1.0 - dem / 44331.0), 1.5029);
  double t0 = lst / pow((1.0 - dem / 44331.0), 1.5029);
  double t0_pbl = 0.5 * (t0 + t_pbl);
  double tcn;
  if (t0 > 100)
    tcn = t0 - 273.15;
  else
    tcn = t0;
  double esat = 611.0 * exp(17.502 * tcn / (tcn + 240.97));
  double q_pbl = 5.0 / 8.0 * eact / p_pbl;
  double ta;
  if (t0_pbl > 100)
    ta = t0_pbl - 273.15;
  else
    ta = t0_pbl;
  lai = leafai(ndvi);
  fc = f_c(ndvi, ndvi_min, ndvi_max);
  z0m = z0_m(ndvi, ndvi_max);
  d = z0m * 4.9;
  h = z0m / 0.136;
  kb1 = kb_1(u_pbl, z_pbl, h, lai, fc, ta, p_pbl);
  z0h = z0m / exp(kb1);
  double theta_v = lst * (1 + 0.61 * q_pbl);
  double dtair = t0 - t_pbl;
  eact = p_pbl * q_pbl * (rv / rd);
  double rohair = p_s / (rd * theta_v);
  double rohairm = (p_s / (rd * lst)) * (1 - 0.378 * eact / p_s);
  double alpha = 0.12;
  double beta = 125.0;
  double hst;
  if (alpha * z_pbl >= beta * z0m)
    hst = alpha * z_pbl;
  else
    hst = beta * z0m;
  double ustar = k * u_pbl / (log((z_pbl - d) / z0m));
  h = (dtair * k * rohair * cp) * ustar / (log((z_pbl - d) / z0h));
  double h0 = h;
  double reps = 10.0;
  int lsteps = 0;
  double molength;
  if (z_pbl >= hst) {
    while (reps > 0.01 && lsteps < 100) {
      molength = (-rohairm * cp * theta_v / (k * g)) * pow(ustar, 3) / h;
      ustar = k * u_pbl / ((log((z_pbl - d) / z0m)) - bw(z_pbl, molength, z0m));
      h = (dtair * k * rohair * cp) * ustar /
          ((log((z_pbl - d) / z0h)) - cw(z_pbl, molength, z0m, z0h));
      reps = fabs(h0 - h);
      h0 = h;
      lsteps = lsteps + 1;
    }
  } else {
    while (reps > 0.01 && lsteps < 100) {
      molength = (-rohairm * cp * theta_v / (k * g)) * pow(ustar, 3) / h;
      ustar = k * u_pbl /
              ((log((z_pbl - d) / z0m)) - psim((z_pbl - d) / molength) +
               psim(z0m / molength));
      h = (dtair * k * rohair * cp) * ustar /
          ((log((z_pbl - d) / z0h)) - psih((z_pbl - d) / molength) +
           psih(z0h / molength));
      reps = fabs(h0 - h);
      h0 = h;
      lsteps = lsteps + 1;
    }
  }
  double e_atm = 9.2 * pow((t_pbl / 1000.0), 2);
  double rn =
      (1.0 - albedo) * kin + sigma * (e_atm * pow(t_pbl, 4) - e0 * pow(lst, 4));
  double g0 = rn * (0.05 + (1 - fc) * (0.315 - 0.05));
  double h_dry = rn - g0;
  double l_w = -pow(ustar, 3) * rohairm / (0.61 * k * g * (rn - g0) / l_e);
  double cwet;
  if (z_pbl >= hst)
    cwet = cw(z_pbl, l_w, z0m, z0h);
  else
    cwet = psih(-z_pbl / l_w);
  double rew = ((log((z_pbl - d) / z0h)) - cwet) / (k * ustar);
  if (rew <= 0.0)
    rew = (log((z_pbl - d) / z0h)) / (k * ustar);
  double slope = 17.502 * 240.97 * esat / pow((ta + 240.97), 2);
  double h_wet = ((rn - g0) - (rohair * cp / rew) * (esat - eact) / gamma) /
                 (1.0 + slope / gamma);
  double ci;
  if (z_pbl >= hst)
    ci = cw(z_pbl, molength, z0m, z0h);
  else
    ci = psih(-z_pbl / molength);
  double rah = ((log((z_pbl - d) / z0h)) - ci) / (k * ustar);
  double h_pixel = rohair * cp * dtair / rah;
  if (h_pixel > h_dry)
    h_pixel = h_dry;
  double ev_r = 1 - (h_pixel - h_wet) / (h_dry - h_wet);
  double evapfr = ev_r * (1 - h_wet / h_dry);
  return (evapfr);
}


x86 assembly (clang, -O0):
<sebs_evapfr>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2e0,%rsp
movsd  0x48(%rbp),%xmm8
movsd  0x40(%rbp),%xmm8
movsd  0x38(%rbp),%xmm8
movsd  0x30(%rbp),%xmm8
movsd  0x28(%rbp),%xmm8
movsd  0x20(%rbp),%xmm8
movsd  0x18(%rbp),%xmm8
movsd  0x10(%rbp),%xmm8
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
movsd  %xmm5,-0x30(%rbp)
movsd  %xmm6,-0x38(%rbp)
movsd  %xmm7,-0x40(%rbp)
movsd  0x1e5d(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x1e48(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x1e33(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x1e1e(%rip),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x1dc9(%rip),%xmm0
movsd  0x1e01(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1de9(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x1dd0(%rip),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x1d93(%rip),%xmm0
movsd  0x1db3(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1d9b(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1d82(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x30(%rbp),%xmm0
movsd  0x28(%rbp),%xmm1
mov    $0x2,%al
call   1050 <z0_m@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x30(%rbp),%xmm0
mov    $0x1,%al
call   1040 <leafai@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x30(%rbp),%xmm0
movsd  0x20(%rbp),%xmm1
movsd  0x28(%rbp),%xmm2
mov    $0x3,%al
call   1090 <f_c@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1d16(%rip),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  0x1cee(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x1cd2(%rip),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
call   10b0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x210(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  0x1c42(%rip),%xmm0
subsd  0x48(%rbp),%xmm0
movsd  0x1c35(%rip),%xmm1
subsd  -0x30(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1c1c(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x208(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x48(%rbp),%xmm1
addsd  -0x8(%rbp),%xmm1
movsd  0x1bec(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  0x1be0(%rip),%xmm1
subsd  -0x30(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1bc7(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x200(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x8(%rbp),%xmm1
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm3
ff
movsd  -0x98(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm5
movsd  -0x18(%rbp),%xmm6
mov    $0x7,%al
call   1060 <kb_1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x1f8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x1acf(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    154e <sebs_evapfr+0x39e>
movsd  0x1b3c(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1b3d(%rip),%xmm2
subsd  -0x98(%rbp),%xmm2
ff
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  0x48(%rbp),%xmm1
movsd  0x1a80(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0x1afc(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  0x1ae8(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x220(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x40(%rbp),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0x48(%rbp),%xmm1
movsd  0x1a32(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0x1aae(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  0x1a9a(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x218(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xf0(%rbp),%xmm1
ff
addsd  -0xe8(%rbp),%xmm1
ff
movsd  0x1a5e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  0x19ba(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1671 <sebs_evapfr+0x4c1>
movsd  -0xf0(%rbp),%xmm0
ff
movsd  0x1a20(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
jmp    1681 <sebs_evapfr+0x4d1>
movsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x1a2f(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  0x1a17(%rip),%xmm1
addsd  -0x100(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  0x19f3(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x19d7(%rip),%xmm0
mulsd  -0x38(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  0x1912(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1719 <sebs_evapfr+0x569>
movsd  -0xf8(%rbp),%xmm0
ff
movsd  0x1978(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
jmp    1729 <sebs_evapfr+0x579>
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x18(%rbp),%xmm0
mov    $0x1,%al
call   1040 <leafai@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x18(%rbp),%xmm0
movsd  0x20(%rbp),%xmm1
movsd  0x28(%rbp),%xmm2
mov    $0x3,%al
call   1090 <f_c@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x18(%rbp),%xmm0
movsd  0x28(%rbp),%xmm1
mov    $0x2,%al
call   1050 <z0_m@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x18a0(%rip),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  0x1878(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x8(%rbp),%xmm1
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm3
ff
movsd  -0x98(%rbp),%xmm4
ff
movsd  -0x118(%rbp),%xmm5
ff
movsd  -0xc8(%rbp),%xmm6
ff
mov    $0x7,%al
call   1060 <kb_1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x228(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x40(%rbp),%xmm0
movsd  -0x110(%rbp),%xmm1
ff
movsd  0x1893(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1847(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
subsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  -0x50(%rbp),%xmm1
divsd  -0x58(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x58(%rbp),%xmm1
mulsd  -0x120(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x58(%rbp),%xmm1
mulsd  0x40(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x17fb(%rip),%xmm2
mulsd  -0x38(%rbp),%xmm2
divsd  -0x18(%rbp),%xmm2
movsd  0x17b1(%rip),%xmm1
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x17c9(%rip),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x17b1(%rip),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x140(%rbp),%xmm0
ff
mulsd  -0x8(%rbp),%xmm0
movsd  -0x148(%rbp),%xmm1
ff
mulsd  -0x88(%rbp),%xmm1
ff
ucomisd %xmm1,%xmm0
jb     1958 <sebs_evapfr+0x7a8>
movsd  -0x140(%rbp),%xmm0
ff
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
jmp    1970 <sebs_evapfr+0x7c0>
movsd  -0x148(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
call   10b0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x238(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
mulsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x230(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  0x15ef(%rip),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movl   $0x0,-0x16c(%rbp)
movsd  -0x8(%rbp),%xmm0
ucomisd -0x150(%rbp),%xmm0
ff
jb     1c65 <sebs_evapfr+0xab5>
jmp    1a53 <sebs_evapfr+0x8a3>
movsd  -0x168(%rbp),%xmm0
ff
xor    %eax,%eax
movsd  0x167b(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x239(%rbp)
jbe    1a85 <sebs_evapfr+0x8d5>
cmpl   $0x64,-0x16c(%rbp)
setl   %al
mov    %al,-0x239(%rbp)
mov    -0x239(%rbp),%al
test   $0x1,%al
jne    1a98 <sebs_evapfr+0x8e8>
jmp    1c60 <sebs_evapfr+0xab0>
movsd  -0x138(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x120(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
movsd  0x15fe(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x268(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm2
ff
mov    $0x3,%al
call   1030 <bw@plt>
movsd  -0x260(%rbp),%xmm1
ff
movsd  -0x258(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
mulsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm3
ff
mov    $0x4,%al
call   10a0 <cw@plt>
movsd  -0x250(%rbp),%xmm1
ff
movsd  -0x248(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movaps 0x1500(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
mov    -0x16c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x16c(%rbp)
jmp    1a53 <sebs_evapfr+0x8a3>
jmp    1ed2 <sebs_evapfr+0xd22>
jmp    1c6a <sebs_evapfr+0xaba>
movsd  -0x168(%rbp),%xmm0
ff
xor    %eax,%eax
movsd  0x1464(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x269(%rbp)
jbe    1c9c <sebs_evapfr+0xaec>
cmpl   $0x64,-0x16c(%rbp)
setl   %al
mov    %al,-0x269(%rbp)
mov    -0x269(%rbp),%al
test   $0x1,%al
jne    1caf <sebs_evapfr+0xaff>
jmp    1ecd <sebs_evapfr+0xd1d>
movsd  -0x138(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x120(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
movsd  0x13e7(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x2a8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x178(%rbp),%xmm0
ff
mov    $0x1,%al
call   1070 <psim@plt>
movsd  -0x2a0(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
divsd  -0x178(%rbp),%xmm0
ff
mov    $0x1,%al
call   1070 <psim@plt>
movsd  -0x298(%rbp),%xmm1
ff
movsd  -0x290(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
mulsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0x178(%rbp),%xmm0
ff
mov    $0x1,%al
call   10d0 <psih@plt>
movsd  -0x288(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
divsd  -0x178(%rbp),%xmm0
ff
mov    $0x1,%al
call   10d0 <psih@plt>
movsd  -0x280(%rbp),%xmm1
ff
movsd  -0x278(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movaps 0x1293(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
mov    -0x16c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x16c(%rbp)
jmp    1c6a <sebs_evapfr+0xaba>
jmp    1ed2 <sebs_evapfr+0xd22>
movsd  -0xe8(%rbp),%xmm0
ff
movsd  0x1236(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1222(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x120a(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  0x1186(%rip),%xmm0
subsd  0x10(%rbp),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  0x11a7(%rip),%xmm1
call   10c0 <pow@plt>
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  0x38(%rbp),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  0x40(%rbp),%xmm0
movsd  0x1180(%rip),%xmm1
call   10c0 <pow@plt>
movsd  -0x2d8(%rbp),%xmm4
ff
movsd  -0x2d0(%rbp),%xmm3
ff
movsd  -0x2c8(%rbp),%xmm5
ff
movsd  -0x2c0(%rbp),%xmm1
ff
movsd  -0x2b8(%rbp),%xmm2
ff
movaps %xmm0,%xmm6
movsd  -0x2b0(%rbp),%xmm0
ff
mulsd  %xmm6,%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
movsd  0x1099(%rip),%xmm1
subsd  -0x98(%rbp),%xmm1
movsd  0x10e1(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x10dd(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
subsd  -0x190(%rbp),%xmm0
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
movsd  0x1095(%rip),%xmm1
call   10c0 <pow@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x138(%rbp),%xmm0
ff
movsd  0x1059(%rip),%xmm1
mulsd  -0x80(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  -0x188(%rbp),%xmm2
ff
subsd  -0x190(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
divsd  -0x68(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
ucomisd -0x150(%rbp),%xmm0
ff
jb     20f6 <sebs_evapfr+0xf46>
movsd  -0x8(%rbp),%xmm0
movsd  -0x1a0(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm3
ff
mov    $0x4,%al
call   10a0 <cw@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
jmp    212d <sebs_evapfr+0xf7d>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x1a0(%rbp),%xmm0
ff
mov    $0x1,%al
call   10d0 <psih@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
subsd  -0x1a8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
mulsd  -0x158(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
xorps  %xmm0,%xmm0
ucomisd -0x1b0(%rbp),%xmm0
ff
jb     21ac <sebs_evapfr+0xffc>
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
movsd  -0x80(%rbp),%xmm1
mulsd  -0x158(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  0xf6c(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0xee4(%rip),%xmm0
addsd  -0x118(%rbp),%xmm0
ff
movsd  0xf34(%rip),%xmm1
call   10c0 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x2e0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
subsd  -0x190(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm1
ff
mulsd  -0x60(%rbp),%xmm1
divsd  -0x1b0(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm2
ff
subsd  -0x38(%rbp),%xmm2
mulsd  %xmm2,%xmm1
divsd  -0x48(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  -0x1b8(%rbp),%xmm2
ff
divsd  -0x48(%rbp),%xmm2
movsd  0xe4c(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
ucomisd -0x150(%rbp),%xmm0
ff
jb     22a4 <sebs_evapfr+0x10f4>
movsd  -0x8(%rbp),%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm3
ff
mov    $0x4,%al
call   10a0 <cw@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
jmp    22db <sebs_evapfr+0x112b>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x178(%rbp),%xmm0
ff
mov    $0x1,%al
call   10d0 <psih@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
divsd  -0xd8(%rbp),%xmm0
ff
call   10b0 <log@plt>
subsd  -0x1c8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
mulsd  -0x158(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
mulsd  -0x128(%rbp),%xmm0
ff
divsd  -0x1d0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm0
ff
ucomisd -0x198(%rbp),%xmm0
ff
jbe    2361 <sebs_evapfr+0x11b1>
movsd  -0x198(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm1
ff
subsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0x198(%rbp),%xmm0
ff
subsd  -0x1c0(%rbp),%xmm0
ff
divsd  %xmm0,%xmm1
movsd  0xd0b(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x1e0(%rbp),%xmm0
ff
movsd  -0x1c0(%rbp),%xmm2
ff
divsd  -0x198(%rbp),%xmm2
ff
movsd  0xcdf(%rip),%xmm1
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm0
ff
add    $0x2e0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sebs_evapfr>:
push   %rbx
sub    $0x160,%rsp
movsd  %xmm7,0x138(%rsp)
movsd  %xmm6,0x8(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  %xmm3,0xb8(%rsp)
movsd  %xmm2,0x30(%rsp)
movaps %xmm1,0x50(%rsp)
movaps %xmm0,0x70(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  0x188(%rsp),%xmm1
mov    $0x2,%al
call   1050 <z0_m@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x190(%rsp),%xmm0
mov    $0x1,%al
call   1040 <leafai@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  0x180(%rsp),%xmm1
movsd  0x188(%rsp),%xmm2
mov    $0x3,%al
call   1090 <f_c@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0xd9a(%rip),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x10(%rsp),%xmm1
movapd %xmm1,%xmm2
mulsd  %xmm0,%xmm2
movsd  %xmm2,0xc0(%rsp)
movapd %xmm1,%xmm0
divsd  0xd79(%rip),%xmm0
movsd  %xmm0,0x120(%rsp)
movapd 0x70(%rsp),%xmm0
subsd  %xmm2,%xmm0
movapd %xmm0,0xf0(%rsp)
divsd  %xmm1,%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x28(%rsp)
movsd  0xd4e(%rip),%xmm0
subsd  0xc0(%rsp),%xmm0
movsd  %xmm0,0xc0(%rsp)
divsd  0x10(%rsp),%xmm0
call   10b0 <log@plt>
movsd  0x28(%rsp),%xmm1
divsd  %xmm0,%xmm1
mulsd  0xb8(%rsp),%xmm1
movsd  %xmm1,0x28(%rsp)
movsd  0xd18(%rip),%xmm1
movapd %xmm1,%xmm0
subsd  0x1a8(%rsp),%xmm0
subsd  0x20(%rsp),%xmm1
movsd  %xmm1,0x20(%rsp)
divsd  %xmm1,%xmm0
movsd  0xcfb(%rip),%xmm1
call   10c0 <pow@plt>
mulsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x30(%rsp)
movapd 0x70(%rsp),%xmm1
addsd  0x1a8(%rsp),%xmm1
movsd  0xccb(%rip),%xmm0
subsd  %xmm1,%xmm0
divsd  0x20(%rsp),%xmm0
movsd  0xcc1(%rip),%xmm1
call   10c0 <pow@plt>
movsd  0x30(%rsp),%xmm6
mulsd  %xmm6,%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x28(%rsp),%xmm0
movaps 0x70(%rsp),%xmm1
movsd  0x120(%rsp),%xmm2
movsd  0x80(%rsp),%xmm3
movsd  0x90(%rsp),%xmm4
movaps 0x50(%rsp),%xmm5
mov    $0x7,%al
call   1060 <kb_1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
call   1080 <exp@plt>
movsd  0x10(%rsp),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,0x10(%rsp)
movapd 0xf0(%rsp),%xmm0
divsd  %xmm1,%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x80(%rsp)
movsd  0xc0(%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
call   10b0 <log@plt>
movsd  0x80(%rsp),%xmm4
divsd  %xmm0,%xmm4
movsd  0xc22(%rip),%xmm0
movapd 0x50(%rsp),%xmm2
addsd  %xmm2,%xmm0
movsd  0xc18(%rip),%xmm3
movapd %xmm2,%xmm1
cmpltsd %xmm3,%xmm1
andpd  %xmm1,%xmm0
andnpd %xmm2,%xmm1
orpd   %xmm0,%xmm1
movsd  0xc03(%rip),%xmm0
movapd %xmm0,%xmm3
movsd  0x90(%rsp),%xmm2
subsd  %xmm2,%xmm3
mulsd  %xmm2,%xmm4
mulsd  %xmm1,%xmm3
addsd  %xmm4,%xmm3
movapd %xmm3,0x10(%rsp)
movsd  0x1a8(%rsp),%xmm1
divsd  0xbaf(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0xbc2(%rip),%xmm1
call   10c0 <pow@plt>
movapd %xmm0,0x50(%rsp)
movsd  0x90(%rsp),%xmm0
movsd  0xba6(%rip),%xmm1
call   10c0 <pow@plt>
movsd  0x1a0(%rsp),%xmm2
unpcklpd 0x10(%rsp),%xmm2
unpcklpd 0x50(%rsp),%xmm0
divpd  %xmm0,%xmm2
movapd %xmm2,0xe0(%rsp)
movapd %xmm2,%xmm0
unpckhpd %xmm2,%xmm0
movapd %xmm0,0x110(%rsp)
movapd %xmm2,%xmm1
addsd  %xmm0,%xmm1
mulsd  0xb66(%rip),%xmm1
movapd %xmm1,0x10(%rsp)
movsd  0xb60(%rip),%xmm1
movapd %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xb30(%rip),%xmm1
cmpltsd %xmm2,%xmm1
andpd  %xmm1,%xmm0
andnpd %xmm2,%xmm1
orpd   %xmm0,%xmm1
movsd  0xb3f(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xb3b(%rip),%xmm1
divsd  %xmm1,%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0xa8(%rsp)
movsd  0x8(%rsp),%xmm0
mulsd  0xb2b(%rip),%xmm0
divsd  0x68(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movapd 0x10(%rsp),%xmm1
movsd  0xaf1(%rip),%xmm2
addsd  %xmm1,%xmm2
movsd  0xac5(%rip),%xmm0
cmpltsd %xmm1,%xmm0
andpd  %xmm0,%xmm2
andnpd %xmm1,%xmm0
orpd   %xmm2,%xmm0
movapd %xmm0,0x140(%rsp)
movsd  0x178(%rsp),%xmm0
mov    $0x1,%al
call   1040 <leafai@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  0x180(%rsp),%xmm1
movsd  0x188(%rsp),%xmm2
mov    $0x3,%al
call   1090 <f_c@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0xd8(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  0x188(%rsp),%xmm1
mov    $0x2,%al
call   1050 <z0_m@plt>
xorps  %xmm2,%xmm2
cvtsi2sd %eax,%xmm2
movsd  %xmm2,0x50(%rsp)
movsd  0x40(%rsp),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,0x40(%rsp)
divsd  0x9f6(%rip),%xmm2
movsd  0x28(%rsp),%xmm0
movaps 0x70(%rsp),%xmm1
movsd  0x10(%rsp),%xmm3
movsd  0xd8(%rsp),%xmm4
movaps 0x140(%rsp),%xmm5
movsd  0x68(%rsp),%xmm6
mov    $0x7,%al
call   1060 <kb_1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
call   1080 <exp@plt>
movsd  0x50(%rsp),%xmm6
movapd %xmm6,%xmm1
movsd  0x8(%rsp),%xmm2
movsd  0x68(%rsp),%xmm4
mulsd  %xmm2,%xmm4
mulsd  0xa09(%rip),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0x9b7(%rip),%xmm5
addsd  %xmm5,%xmm2
mulsd  0x9f3(%rip),%xmm4
movsd  0x1a0(%rsp),%xmm3
mulsd  %xmm3,%xmm2
movsd  %xmm2,0x8(%rsp)
movsd  0x9e0(%rip),%xmm0
movapd %xmm2,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x30(%rsp),%xmm2
movapd %xmm2,%xmm7
divsd  %xmm1,%xmm7
movsd  %xmm7,0xb0(%rsp)
mulsd  %xmm3,%xmm0
movsd  0x9bd(%rip),%xmm3
movsd  %xmm4,0x68(%rsp)
mulsd  %xmm4,%xmm3
movapd %xmm2,%xmm1
divsd  %xmm2,%xmm3
divsd  %xmm0,%xmm1
addsd  %xmm5,%xmm3
mulsd  %xmm1,%xmm3
movsd  %xmm3,0xd0(%rsp)
movsd  0x996(%rip),%xmm0
movapd 0x70(%rsp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x98c(%rip),%xmm1
mulsd  %xmm6,%xmm1
movapd %xmm1,%xmm5
cmplesd %xmm0,%xmm5
movapd %xmm5,%xmm2
andnpd %xmm1,%xmm2
movapd 0xe0(%rsp),%xmm1
subsd  0x110(%rsp),%xmm1
movapd %xmm1,0xe0(%rsp)
andpd  %xmm0,%xmm5
orpd   %xmm2,%xmm5
movapd %xmm5,0x100(%rsp)
movsd  0x28(%rsp),%xmm0
mulsd  0x945(%rip),%xmm0
movsd  %xmm0,0x28(%rsp)
subsd  0x40(%rsp),%xmm3
movapd %xmm3,0x150(%rsp)
movapd %xmm3,%xmm0
divsd  %xmm6,%xmm0
movapd %xmm0,0xc0(%rsp)
call   10b0 <log@plt>
movsd  0x28(%rsp),%xmm1
divsd  %xmm0,%xmm1
movsd  0x908(%rip),%xmm0
mulsd  0xe0(%rsp),%xmm0
mulsd  0xb0(%rsp),%xmm0
mulsd  0x8f6(%rip),%xmm0
movsd  %xmm0,0xf0(%rsp)
movsd  %xmm1,0x10(%rsp)
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movapd 0x150(%rsp),%xmm0
divsd  0x20(%rsp),%xmm0
movapd %xmm0,0x80(%rsp)
call   10b0 <log@plt>
movsd  0x40(%rsp),%xmm2
divsd  %xmm0,%xmm2
movapd 0x70(%rsp),%xmm0
ucomisd 0x100(%rsp),%xmm0
movsd  0xd0(%rsp),%xmm0
movsd  0x89e(%rip),%xmm1
mulsd  %xmm0,%xmm1
mulsd  0x8(%rsp),%xmm1
divsd  0x894(%rip),%xmm1
movsd  %xmm1,0xb8(%rsp)
jb     1952 <sebs_evapfr+0x7a2>
xor    %ebx,%ebx
nopl   (%rax)
movapd %xmm2,0x30(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x874(%rip),%xmm1
call   10c0 <pow@plt>
mulsd  0xb8(%rsp),%xmm0
divsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movaps 0xc0(%rsp),%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x10(%rsp)
movaps 0x70(%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  0x50(%rsp),%xmm2
mov    $0x3,%al
call   1030 <bw@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x10(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x28(%rsp),%xmm0
divsd  %xmm1,%xmm0
movsd  0xf0(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x40(%rsp)
movaps 0x80(%rsp),%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x90(%rsp)
movaps 0x70(%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  0x50(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
mov    $0x4,%al
call   10a0 <cw@plt>
movsd  0x40(%rsp),%xmm2
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x90(%rsp),%xmm1
subsd  %xmm0,%xmm1
divsd  %xmm1,%xmm2
movapd 0x30(%rsp),%xmm0
subsd  %xmm2,%xmm0
andpd  0x7ff(%rip),%xmm0
ucomisd 0x797(%rip),%xmm0
jbe    1ab0 <sebs_evapfr+0x900>
lea    0x1(%rbx),%eax
cmp    $0x63,%ebx
mov    %eax,%ebx
jb     1840 <sebs_evapfr+0x690>
jmp    1ab0 <sebs_evapfr+0x900>
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movapd %xmm2,0x90(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x751(%rip),%xmm1
call   10c0 <pow@plt>
mulsd  0xb8(%rsp),%xmm0
divsd  0x90(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movaps 0xc0(%rsp),%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x10(%rsp)
movapd 0x150(%rsp),%xmm0
divsd  0x8(%rsp),%xmm0
movapd %xmm0,0x120(%rsp)
mov    $0x1,%al
call   1070 <psim@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x10(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  0x50(%rsp),%xmm0
divsd  0x8(%rsp),%xmm0
mov    $0x1,%al
call   1070 <psim@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x10(%rsp),%xmm0
movsd  0x28(%rsp),%xmm1
divsd  %xmm0,%xmm1
movsd  0xf0(%rsp),%xmm0
movsd  %xmm1,0x10(%rsp)
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movaps 0x80(%rsp),%xmm0
call   10b0 <log@plt>
movsd  %xmm0,0x30(%rsp)
movaps 0x120(%rsp),%xmm0
mov    $0x1,%al
call   10d0 <psih@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rsp)
movsd  0x20(%rsp),%xmm0
divsd  0x8(%rsp),%xmm0
mov    $0x1,%al
call   10d0 <psih@plt>
movsd  0x40(%rsp),%xmm2
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x30(%rsp),%xmm0
divsd  %xmm0,%xmm2
movapd 0x90(%rsp),%xmm0
subsd  %xmm2,%xmm0
andpd  0x698(%rip),%xmm0
ucomisd 0x630(%rip),%xmm0
jbe    1ab0 <sebs_evapfr+0x900>
lea    0x1(%rbx),%eax
cmp    $0x63,%ebx
mov    %eax,%ebx
jb     1960 <sebs_evapfr+0x7b0>
movsd  0x620(%rip),%xmm1
movaps 0x110(%rsp),%xmm0
call   10c0 <pow@plt>
movsd  %xmm0,0x40(%rsp)
movsd  0x1a0(%rsp),%xmm0
movsd  0x5fc(%rip),%xmm1
call   10c0 <pow@plt>
movsd  %xmm0,0x30(%rsp)
movsd  0x5d9(%rip),%xmm1
movsd  0x10(%rsp),%xmm0
call   10c0 <pow@plt>
movapd 0x70(%rsp),%xmm2
ucomisd 0x100(%rsp),%xmm2
movsd  0x5cf(%rip),%xmm1
movapd 0x110(%rsp),%xmm4
divsd  %xmm1,%xmm4
mulsd  %xmm4,%xmm4
mulsd  0x5be(%rip),%xmm4
movsd  0x506(%rip),%xmm1
movapd %xmm1,%xmm3
movsd  0x30(%rsp),%xmm5
mulsd  0x198(%rsp),%xmm5
mulsd  0x40(%rsp),%xmm4
subsd  %xmm5,%xmm4
mulsd  0x599(%rip),%xmm4
subsd  0x170(%rsp),%xmm3
mulsd  0x138(%rsp),%xmm3
addsd  %xmm4,%xmm3
subsd  0xd8(%rsp),%xmm1
mulsd  0x57a(%rip),%xmm1
addsd  0x57a(%rip),%xmm1
mulsd  %xmm3,%xmm1
subsd  %xmm1,%xmm3
movsd  0xd0(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x565(%rip),%xmm0
movapd %xmm3,0x40(%rsp)
mulsd  %xmm3,%xmm0
divsd  0x55b(%rip),%xmm0
divsd  %xmm0,%xmm1
jb     1bd4 <sebs_evapfr+0xa24>
movapd %xmm2,%xmm0
movsd  0x50(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
mov    $0x4,%al
call   10a0 <cw@plt>
jmp    1beb <sebs_evapfr+0xa3b>
movapd 0x564(%rip),%xmm0
xorpd  %xmm2,%xmm0
divsd  %xmm1,%xmm0
mov    $0x1,%al
call   10d0 <psih@plt>
movsd  0xa8(%rsp),%xmm0
mulsd  0x46c(%rip),%xmm0
movsd  %xmm0,0xa8(%rsp)
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x30(%rsp)
movapd 0x80(%rsp),%xmm0
call   10b0 <log@plt>
subsd  0x30(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
mulsd  0x474(%rip),%xmm1
movsd  %xmm1,0x10(%rsp)
divsd  %xmm1,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jb     1c5c <sebs_evapfr+0xaac>
movapd 0x80(%rsp),%xmm0
call   10b0 <log@plt>
divsd  0x10(%rsp),%xmm0
movapd 0x70(%rsp),%xmm3
ucomisd 0x100(%rsp),%xmm3
movsd  0x4a5(%rip),%xmm1
movsd  0xa8(%rsp),%xmm5
mulsd  %xmm5,%xmm1
movapd 0x140(%rsp),%xmm2
addsd  0x3cf(%rip),%xmm2
mulsd  %xmm2,%xmm2
divsd  %xmm2,%xmm1
movsd  0xb0(%rsp),%xmm4
mulsd  0x406(%rip),%xmm4
movapd %xmm4,%xmm2
divsd  %xmm0,%xmm2
subsd  0x68(%rsp),%xmm5
mulsd  %xmm2,%xmm5
movsd  0x45c(%rip),%xmm0
divsd  %xmm0,%xmm5
movapd 0x40(%rsp),%xmm2
subsd  %xmm5,%xmm2
divsd  %xmm0,%xmm1
addsd  0x35a(%rip),%xmm1
divsd  %xmm1,%xmm2
movsd  %xmm4,0xb0(%rsp)
movapd %xmm2,0x30(%rsp)
jb     1d12 <sebs_evapfr+0xb62>
movapd %xmm3,%xmm0
movsd  0x8(%rsp),%xmm1
movsd  0x50(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
mov    $0x4,%al
call   10a0 <cw@plt>
jmp    1d2b <sebs_evapfr+0xb7b>
xorpd  0x426(%rip),%xmm3
divsd  0x8(%rsp),%xmm3
movapd %xmm3,%xmm0
mov    $0x1,%al
call   10d0 <psih@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
movapd 0x80(%rsp),%xmm0
call   10b0 <log@plt>
subsd  0x8(%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
movsd  0xb0(%rsp),%xmm1
mulsd  0xe0(%rsp),%xmm1
divsd  %xmm0,%xmm1
movapd 0x40(%rsp),%xmm2
movapd %xmm2,%xmm0
minsd  %xmm1,%xmm0
movapd 0x30(%rsp),%xmm3
subsd  %xmm3,%xmm0
movapd %xmm2,%xmm1
subsd  %xmm3,%xmm1
unpcklpd %xmm0,%xmm3
unpcklpd %xmm1,%xmm2
divpd  %xmm2,%xmm3
movapd 0x3b4(%rip),%xmm1
subpd  %xmm3,%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
mulsd  %xmm1,%xmm0
add    $0x160,%rsp
pop    %rbx
ret

LLVM IR (-O0):
define double @sebs_evapfr(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9, double %10, double %11, double %12, double %13, double %14, double %15) {
%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
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double
%67 = alloca double
%68 = alloca double
%69 = alloca double
%70 = alloca i32
%71 = alloca double
%72 = alloca double
%73 = alloca double
%74 = alloca double
%75 = alloca double
%76 = alloca double
%77 = alloca double
%78 = alloca double
%79 = alloca double
%80 = alloca double
%81 = alloca double
%82 = alloca double
%83 = alloca double
%84 = alloca double
%85 = alloca double
store double %0, double* %17
store double %1, double* %18
store double %2, double* %19
store double %3, double* %20
store double %4, double* %21
store double %5, double* %22
store double %6, double* %23
store double %7, double* %24
store double %8, double* %25
store double %9, double* %26
store double %10, double* %27
store double %11, double* %28
store double %12, double* %29
store double %13, double* %30
store double %14, double* %31
store double %15, double* %32
store double 6.700000e+01, double* %33
store double 4.610500e+02, double* %34
store double 2.870400e+02, double* %35
store double 1.005000e+03, double* %36
%86 = call double @pow(double 1.000000e+01, double 6.000000e+00)
%87 = fmul double 2.430000e+00, %86
store double %87, double* %37
store double 9.810000e+00, double* %38
%88 = call double @pow(double 1.000000e+01, double -8.000000e+00)
%89 = fmul double 5.678000e+00, %88
store double %89, double* %39
store double 4.100000e-01, double* %40
%90 = load double, double* %29
%91 = load double, double* %28
%92 = call i32 (double, double, ...) bitcast (i32 (...)* @z0_m to i32 (double, double, ...)*)(double %90, double %91)
%93 = sitofp i32 %92 to double
store double %93, double* %41
%94 = load double, double* %29
%95 = call i32 (double, ...) bitcast (i32 (...)* @leafai to i32 (double, ...)*)(double %94)
%96 = sitofp i32 %95 to double
store double %96, double* %42
%97 = load double, double* %29
%98 = load double, double* %27
%99 = load double, double* %28
%100 = call i32 (double, double, double, ...) bitcast (i32 (...)* @f_c to i32 (double, double, double, ...)*)(double %97, double %98, double %99)
%101 = sitofp i32 %100 to double
store double %101, double* %43
%102 = load double, double* %41
%103 = fmul double %102, 4.900000e+00
store double %103, double* %44
%104 = load double, double* %41
%105 = fdiv double %104, 1.360000e-01
store double %105, double* %45
store double 1.000000e+01, double* %46
%106 = load double, double* %17
%107 = load double, double* %44
%108 = fsub double %106, %107
%109 = load double, double* %41
%110 = fdiv double %108, %109
%111 = call double @log(double %110)
%112 = load double, double* %46
%113 = load double, double* %44
%114 = fsub double %112, %113
%115 = load double, double* %41
%116 = fdiv double %114, %115
%117 = call double @log(double %116)
%118 = fdiv double %111, %117
store double %118, double* %47
%119 = load double, double* %20
%120 = load double, double* %47
%121 = fmul double %119, %120
store double %121, double* %48
%122 = load double, double* %19
%123 = load double, double* %32
%124 = fsub double 4.433100e+04, %123
%125 = load double, double* %22
%126 = fsub double 4.433100e+04, %125
%127 = fdiv double %124, %126
%128 = call double @pow(double %127, double 0x401504FA3727AF49)
%129 = fmul double %122, %128
store double %129, double* %19
%130 = load double, double* %19
%131 = load double, double* %32
%132 = load double, double* %17
%133 = fadd double %131, %132
%134 = fsub double 4.433100e+04, %133
%135 = load double, double* %22
%136 = fsub double 4.433100e+04, %135
%137 = fdiv double %134, %136
%138 = call double @pow(double %137, double 0x401504FA3727AF49)
%139 = fmul double %130, %138
store double %139, double* %49
%140 = load double, double* %48
%141 = load double, double* %17
%142 = load double, double* %45
%143 = load double, double* %42
%144 = load double, double* %43
%145 = load double, double* %18
%146 = load double, double* %19
%147 = call i32 (double, double, double, double, double, double, double, ...) bitcast (i32 (...)* @kb_1 to i32 (double, double, double, double, double, double, double, ...)*)(double %140, double %141, double %142, double %143, double %144, double %145, double %146)
%148 = sitofp i32 %147 to double
store double %148, double* %50
%149 = load double, double* %41
%150 = load double, double* %50
%151 = call double @exp(double %150)
%152 = fdiv double %149, %151
store double %152, double* %51
%153 = load double, double* %17
%154 = load double, double* %44
%155 = fsub double %153, %154
%156 = load double, double* %51
%157 = fdiv double %155, %156
%158 = call double @log(double %157)
%159 = load double, double* %46
%160 = load double, double* %44
%161 = fsub double %159, %160
%162 = load double, double* %51
%163 = fdiv double %161, %162
%164 = call double @log(double %163)
%165 = fdiv double %158, %164
store double %165, double* %52
%166 = load double, double* %18
%167 = fcmp olt double %166, 1.000000e+02
br i1 %167, label %168, label %171
168: ; preds = %16
%169 = load double, double* %18
%170 = fadd double %169, 2.731500e+02
store double %170, double* %18
br label %171
171: ; preds = %168, %16
%172 = load double, double* %18
%173 = load double, double* %43
%174 = fsub double 1.000000e+00, %173
%175 = load double, double* %52
%176 = load double, double* %43
%177 = fmul double %175, %176
%178 = call double @llvm.fmuladd.f64(double %172, double %174, double %177)
%179 = load double, double* %32
%180 = fdiv double %179, 4.433100e+04
%181 = fsub double 1.000000e+00, %180
%182 = call double @pow(double %181, double 1.502900e+00)
%183 = fdiv double %178, %182
store double %183, double* %53
%184 = load double, double* %31
%185 = load double, double* %32
%186 = fdiv double %185, 4.433100e+04
%187 = fsub double 1.000000e+00, %186
%188 = call double @pow(double %187, double 1.502900e+00)
%189 = fdiv double %184, %188
store double %189, double* %54
%190 = load double, double* %54
%191 = load double, double* %53
%192 = fadd double %190, %191
%193 = fmul double 5.000000e-01, %192
store double %193, double* %55
%194 = load double, double* %54
%195 = fcmp ogt double %194, 1.000000e+02
br i1 %195, label %196, label %199
196: ; preds = %171
%197 = load double, double* %54
%198 = fsub double %197, 2.731500e+02
store double %198, double* %56
br label %201
199: ; preds = %171
%200 = load double, double* %54
store double %200, double* %56
br label %201
201: ; preds = %199, %196
%202 = load double, double* %56
%203 = fmul double 1.750200e+01, %202
%204 = load double, double* %56
%205 = fadd double %204, 2.409700e+02
%206 = fdiv double %203, %205
%207 = call double @exp(double %206)
%208 = fmul double 6.110000e+02, %207
store double %208, double* %57
%209 = load double, double* %23
%210 = fmul double 6.250000e-01, %209
%211 = load double, double* %49
%212 = fdiv double %210, %211
store double %212, double* %58
%213 = load double, double* %55
%214 = fcmp ogt double %213, 1.000000e+02
br i1 %214, label %215, label %218
215: ; preds = %201
%216 = load double, double* %55
%217 = fsub double %216, 2.731500e+02
store double %217, double* %59
br label %220
218: ; preds = %201
%219 = load double, double* %55
store double %219, double* %59
br label %220
220: ; preds = %218, %215
%221 = load double, double* %26
%222 = call i32 (double, ...) bitcast (i32 (...)* @leafai to i32 (double, ...)*)(double %221)
%223 = sitofp i32 %222 to double
store double %223, double* %42
%224 = load double, double* %26
%225 = load double, double* %27
%226 = load double, double* %28
%227 = call i32 (double, double, double, ...) bitcast (i32 (...)* @f_c to i32 (double, double, double, ...)*)(double %224, double %225, double %226)
%228 = sitofp i32 %227 to double
store double %228, double* %43
%229 = load double, double* %26
%230 = load double, double* %28
%231 = call i32 (double, double, ...) bitcast (i32 (...)* @z0_m to i32 (double, double, ...)*)(double %229, double %230)
%232 = sitofp i32 %231 to double
store double %232, double* %41
%233 = load double, double* %41
%234 = fmul double %233, 4.900000e+00
store double %234, double* %44
%235 = load double, double* %41
%236 = fdiv double %235, 1.360000e-01
store double %236, double* %45
%237 = load double, double* %48
%238 = load double, double* %17
%239 = load double, double* %45
%240 = load double, double* %42
%241 = load double, double* %43
%242 = load double, double* %59
%243 = load double, double* %49
%244 = call i32 (double, double, double, double, double, double, double, ...) bitcast (i32 (...)* @kb_1 to i32 (double, double, double, double, double, double, double, ...)*)(double %237, double %238, double %239, double %240, double %241, double %242, double %243)
%245 = sitofp i32 %244 to double
store double %245, double* %50
%246 = load double, double* %41
%247 = load double, double* %50
%248 = call double @exp(double %247)
%249 = fdiv double %246, %248
store double %249, double* %51
%250 = load double, double* %31
%251 = load double, double* %58
%252 = call double @llvm.fmuladd.f64(double 6.100000e-01, double %251, double 1.000000e+00)
%253 = fmul double %250, %252
store double %253, double* %60
%254 = load double, double* %54
%255 = load double, double* %53
%256 = fsub double %254, %255
store double %256, double* %61
%257 = load double, double* %49
%258 = load double, double* %58
%259 = fmul double %257, %258
%260 = load double, double* %34
%261 = load double, double* %35
%262 = fdiv double %260, %261
%263 = fmul double %259, %262
store double %263, double* %23
%264 = load double, double* %19
%265 = load double, double* %35
%266 = load double, double* %60
%267 = fmul double %265, %266
%268 = fdiv double %264, %267
store double %268, double* %62
%269 = load double, double* %19
%270 = load double, double* %35
%271 = load double, double* %31
%272 = fmul double %270, %271
%273 = fdiv double %269, %272
%274 = load double, double* %23
%275 = fmul double 3.780000e-01, %274
%276 = load double, double* %19
%277 = fdiv double %275, %276
%278 = fsub double 1.000000e+00, %277
%279 = fmul double %273, %278
store double %279, double* %63
store double 1.200000e-01, double* %64
store double 1.250000e+02, double* %65
%280 = load double, double* %64
%281 = load double, double* %17
%282 = fmul double %280, %281
%283 = load double, double* %65
%284 = load double, double* %41
%285 = fmul double %283, %284
%286 = fcmp oge double %282, %285
br i1 %286, label %287, label %291
287: ; preds = %220
%288 = load double, double* %64
%289 = load double, double* %17
%290 = fmul double %288, %289
store double %290, double* %66
br label %295
291: ; preds = %220
%292 = load double, double* %65
%293 = load double, double* %41
%294 = fmul double %292, %293
store double %294, double* %66
br label %295
295: ; preds = %291, %287
%296 = load double, double* %40
%297 = load double, double* %48
%298 = fmul double %296, %297
%299 = load double, double* %17
%300 = load double, double* %44
%301 = fsub double %299, %300
%302 = load double, double* %41
%303 = fdiv double %301, %302
%304 = call double @log(double %303)
%305 = fdiv double %298, %304
store double %305, double* %67
%306 = load double, double* %61
%307 = load double, double* %40
%308 = fmul double %306, %307
%309 = load double, double* %62
%310 = fmul double %308, %309
%311 = load double, double* %36
%312 = fmul double %310, %311
%313 = load double, double* %67
%314 = fmul double %312, %313
%315 = load double, double* %17
%316 = load double, double* %44
%317 = fsub double %315, %316
%318 = load double, double* %51
%319 = fdiv double %317, %318
%320 = call double @log(double %319)
%321 = fdiv double %314, %320
store double %321, double* %45
%322 = load double, double* %45
store double %322, double* %68
store double 1.000000e+01, double* %69
store i32 0, i32* %70
%323 = load double, double* %17
%324 = load double, double* %66
%325 = fcmp oge double %323, %324
br i1 %325, label %326, label %398
326: ; preds = %295
br label %327
327: ; preds = %335, %326
%328 = load double, double* %69
%329 = fcmp ogt double %328, 1.000000e-02
br i1 %329, label %330, label %333
330: ; preds = %327
%331 = load i32, i32* %70
%332 = icmp slt i32 %331, 100
br label %333
333: ; preds = %330, %327
%334 = phi i1 [ false, %327 ], [ %332, %330 ]
br i1 %334, label %335, label %397
335: ; preds = %333
%336 = load double, double* %63
%337 = fneg double %336
%338 = load double, double* %36
%339 = fmul double %337, %338
%340 = load double, double* %60
%341 = fmul double %339, %340
%342 = load double, double* %40
%343 = load double, double* %38
%344 = fmul double %342, %343
%345 = fdiv double %341, %344
%346 = load double, double* %67
%347 = call double @pow(double %346, double 3.000000e+00)
%348 = fmul double %345, %347
%349 = load double, double* %45
%350 = fdiv double %348, %349
store double %350, double* %71
%351 = load double, double* %40
%352 = load double, double* %48
%353 = fmul double %351, %352
%354 = load double, double* %17
%355 = load double, double* %44
%356 = fsub double %354, %355
%357 = load double, double* %41
%358 = fdiv double %356, %357
%359 = call double @log(double %358)
%360 = load double, double* %17
%361 = load double, double* %71
%362 = load double, double* %41
%363 = call i32 (double, double, double, ...) bitcast (i32 (...)* @bw to i32 (double, double, double, ...)*)(double %360, double %361, double %362)
%364 = sitofp i32 %363 to double
%365 = fsub double %359, %364
%366 = fdiv double %353, %365
store double %366, double* %67
%367 = load double, double* %61
%368 = load double, double* %40
%369 = fmul double %367, %368
%370 = load double, double* %62
%371 = fmul double %369, %370
%372 = load double, double* %36
%373 = fmul double %371, %372
%374 = load double, double* %67
%375 = fmul double %373, %374
%376 = load double, double* %17
%377 = load double, double* %44
%378 = fsub double %376, %377
%379 = load double, double* %51
%380 = fdiv double %378, %379
%381 = call double @log(double %380)
%382 = load double, double* %17
%383 = load double, double* %71
%384 = load double, double* %41
%385 = load double, double* %51
%386 = call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %382, double %383, double %384, double %385)
%387 = sitofp i32 %386 to double
%388 = fsub double %381, %387
%389 = fdiv double %375, %388
store double %389, double* %45
%390 = load double, double* %68
%391 = load double, double* %45
%392 = fsub double %390, %391
%393 = call double @llvm.fabs.f64(double %392)
store double %393, double* %69
%394 = load double, double* %45
store double %394, double* %68
%395 = load i32, i32* %70
%396 = add nsw i32 %395, 1
store i32 %396, i32* %70
br label %327
397: ; preds = %333
br label %485
398: ; preds = %295
br label %399
399: ; preds = %407, %398
%400 = load double, double* %69
%401 = fcmp ogt double %400, 1.000000e-02
br i1 %401, label %402, label %405
402: ; preds = %399
%403 = load i32, i32* %70
%404 = icmp slt i32 %403, 100
br label %405
405: ; preds = %402, %399
%406 = phi i1 [ false, %399 ], [ %404, %402 ]
br i1 %406, label %407, label %484
407: ; preds = %405
%408 = load double, double* %63
%409 = fneg double %408
%410 = load double, double* %36
%411 = fmul double %409, %410
%412 = load double, double* %60
%413 = fmul double %411, %412
%414 = load double, double* %40
%415 = load double, double* %38
%416 = fmul double %414, %415
%417 = fdiv double %413, %416
%418 = load double, double* %67
%419 = call double @pow(double %418, double 3.000000e+00)
%420 = fmul double %417, %419
%421 = load double, double* %45
%422 = fdiv double %420, %421
store double %422, double* %71
%423 = load double, double* %40
%424 = load double, double* %48
%425 = fmul double %423, %424
%426 = load double, double* %17
%427 = load double, double* %44
%428 = fsub double %426, %427
%429 = load double, double* %41
%430 = fdiv double %428, %429
%431 = call double @log(double %430)
%432 = load double, double* %17
%433 = load double, double* %44
%434 = fsub double %432, %433
%435 = load double, double* %71
%436 = fdiv double %434, %435
%437 = call i32 (double, ...) bitcast (i32 (...)* @psim to i32 (double, ...)*)(double %436)
%438 = sitofp i32 %437 to double
%439 = fsub double %431, %438
%440 = load double, double* %41
%441 = load double, double* %71
%442 = fdiv double %440, %441
%443 = call i32 (double, ...) bitcast (i32 (...)* @psim to i32 (double, ...)*)(double %442)
%444 = sitofp i32 %443 to double
%445 = fadd double %439, %444
%446 = fdiv double %425, %445
store double %446, double* %67
%447 = load double, double* %61
%448 = load double, double* %40
%449 = fmul double %447, %448
%450 = load double, double* %62
%451 = fmul double %449, %450
%452 = load double, double* %36
%453 = fmul double %451, %452
%454 = load double, double* %67
%455 = fmul double %453, %454
%456 = load double, double* %17
%457 = load double, double* %44
%458 = fsub double %456, %457
%459 = load double, double* %51
%460 = fdiv double %458, %459
%461 = call double @log(double %460)
%462 = load double, double* %17
%463 = load double, double* %44
%464 = fsub double %462, %463
%465 = load double, double* %71
%466 = fdiv double %464, %465
%467 = call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %466)
%468 = sitofp i32 %467 to double
%469 = fsub double %461, %468
%470 = load double, double* %51
%471 = load double, double* %71
%472 = fdiv double %470, %471
%473 = call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %472)
%474 = sitofp i32 %473 to double
%475 = fadd double %469, %474
%476 = fdiv double %455, %475
store double %476, double* %45
%477 = load double, double* %68
%478 = load double, double* %45
%479 = fsub double %477, %478
%480 = call double @llvm.fabs.f64(double %479)
store double %480, double* %69
%481 = load double, double* %45
store double %481, double* %68
%482 = load i32, i32* %70
%483 = add nsw i32 %482, 1
store i32 %483, i32* %70
br label %399
484: ; preds = %405
br label %485
485: ; preds = %484, %397
%486 = load double, double* %53
%487 = fdiv double %486, 1.000000e+03
%488 = call double @pow(double %487, double 2.000000e+00)
%489 = fmul double 0x4022666666666666, %488
store double %489, double* %72
%490 = load double, double* %25
%491 = fsub double 1.000000e+00, %490
%492 = load double, double* %24
%493 = load double, double* %39
%494 = load double, double* %72
%495 = load double, double* %53
%496 = call double @pow(double %495, double 4.000000e+00)
%497 = load double, double* %30
%498 = load double, double* %31
%499 = call double @pow(double %498, double 4.000000e+00)
%500 = fmul double %497, %499
%501 = fneg double %500
%502 = call double @llvm.fmuladd.f64(double %494, double %496, double %501)
%503 = fmul double %493, %502
%504 = call double @llvm.fmuladd.f64(double %491, double %492, double %503)
store double %504, double* %73
%505 = load double, double* %73
%506 = load double, double* %43
%507 = fsub double 1.000000e+00, %506
%508 = call double @llvm.fmuladd.f64(double %507, double 2.650000e-01, double 5.000000e-02)
%509 = fmul double %505, %508
store double %509, double* %74
%510 = load double, double* %73
%511 = load double, double* %74
%512 = fsub double %510, %511
store double %512, double* %75
%513 = load double, double* %67
%514 = call double @pow(double %513, double 3.000000e+00)
%515 = fneg double %514
%516 = load double, double* %63
%517 = fmul double %515, %516
%518 = load double, double* %40
%519 = fmul double 6.100000e-01, %518
%520 = load double, double* %38
%521 = fmul double %519, %520
%522 = load double, double* %73
%523 = load double, double* %74
%524 = fsub double %522, %523
%525 = fmul double %521, %524
%526 = load double, double* %37
%527 = fdiv double %525, %526
%528 = fdiv double %517, %527
store double %528, double* %76
%529 = load double, double* %17
%530 = load double, double* %66
%531 = fcmp oge double %529, %530
br i1 %531, label %532, label %539
532: ; preds = %485
%533 = load double, double* %17
%534 = load double, double* %76
%535 = load double, double* %41
%536 = load double, double* %51
%537 = call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %533, double %534, double %535, double %536)
%538 = sitofp i32 %537 to double
store double %538, double* %77
br label %546
539: ; preds = %485
%540 = load double, double* %17
%541 = fneg double %540
%542 = load double, double* %76
%543 = fdiv double %541, %542
%544 = call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %543)
%545 = sitofp i32 %544 to double
store double %545, double* %77
br label %546
546: ; preds = %539, %532
%547 = load double, double* %17
%548 = load double, double* %44
%549 = fsub double %547, %548
%550 = load double, double* %51
%551 = fdiv double %549, %550
%552 = call double @log(double %551)
%553 = load double, double* %77
%554 = fsub double %552, %553
%555 = load double, double* %40
%556 = load double, double* %67
%557 = fmul double %555, %556
%558 = fdiv double %554, %557
store double %558, double* %78
%559 = load double, double* %78
%560 = fcmp ole double %559, 0.000000e+00
br i1 %560, label %561, label %572
561: ; preds = %546
%562 = load double, double* %17
%563 = load double, double* %44
%564 = fsub double %562, %563
%565 = load double, double* %51
%566 = fdiv double %564, %565
%567 = call double @log(double %566)
%568 = load double, double* %40
%569 = load double, double* %67
%570 = fmul double %568, %569
%571 = fdiv double %567, %570
store double %571, double* %78
br label %572
572: ; preds = %561, %546
%573 = load double, double* %57
%574 = fmul double 0x40B07974FA05143C, %573
%575 = load double, double* %59
%576 = fadd double %575, 2.409700e+02
%577 = call double @pow(double %576, double 2.000000e+00)
%578 = fdiv double %574, %577
store double %578, double* %79
%579 = load double, double* %73
%580 = load double, double* %74
%581 = fsub double %579, %580
%582 = load double, double* %62
%583 = load double, double* %36
%584 = fmul double %582, %583
%585 = load double, double* %78
%586 = fdiv double %584, %585
%587 = load double, double* %57
%588 = load double, double* %23
%589 = fsub double %587, %588
%590 = fmul double %586, %589
%591 = load double, double* %33
%592 = fdiv double %590, %591
%593 = fsub double %581, %592
%594 = load double, double* %79
%595 = load double, double* %33
%596 = fdiv double %594, %595
%597 = fadd double 1.000000e+00, %596
%598 = fdiv double %593, %597
store double %598, double* %80
%599 = load double, double* %17
%600 = load double, double* %66
%601 = fcmp oge double %599, %600
br i1 %601, label %602, label %609
602: ; preds = %572
%603 = load double, double* %17
%604 = load double, double* %71
%605 = load double, double* %41
%606 = load double, double* %51
%607 = call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %603, double %604, double %605, double %606)
%608 = sitofp i32 %607 to double
store double %608, double* %81
br label %616
609: ; preds = %572
%610 = load double, double* %17
%611 = fneg double %610
%612 = load double, double* %71
%613 = fdiv double %611, %612
%614 = call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %613)
%615 = sitofp i32 %614 to double
store double %615, double* %81
br label %616
616: ; preds = %609, %602
%617 = load double, double* %17
%618 = load double, double* %44
%619 = fsub double %617, %618
%620 = load double, double* %51
%621 = fdiv double %619, %620
%622 = call double @log(double %621)
%623 = load double, double* %81
%624 = fsub double %622, %623
%625 = load double, double* %40
%626 = load double, double* %67
%627 = fmul double %625, %626
%628 = fdiv double %624, %627
store double %628, double* %82
%629 = load double, double* %62
%630 = load double, double* %36
%631 = fmul double %629, %630
%632 = load double, double* %61
%633 = fmul double %631, %632
%634 = load double, double* %82
%635 = fdiv double %633, %634
store double %635, double* %83
%636 = load double, double* %83
%637 = load double, double* %75
%638 = fcmp ogt double %636, %637
br i1 %638, label %639, label %641
639: ; preds = %616
%640 = load double, double* %75
store double %640, double* %83
br label %641
641: ; preds = %639, %616
%642 = load double, double* %83
%643 = load double, double* %80
%644 = fsub double %642, %643
%645 = load double, double* %75
%646 = load double, double* %80
%647 = fsub double %645, %646
%648 = fdiv double %644, %647
%649 = fsub double 1.000000e+00, %648
store double %649, double* %84
%650 = load double, double* %84
%651 = load double, double* %80
%652 = load double, double* %75
%653 = fdiv double %651, %652
%654 = fsub double 1.000000e+00, %653
%655 = fmul double %650, %654
store double %655, double* %85
%656 = load double, double* %85
ret double %656
}

LLVM IR (-O2):
define double @sebs_evapfr(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9, double %10, double %11, double %12, double %13, double %14, double %15) {
%17 = tail call i32 (double, double, ...) bitcast (i32 (...)* @z0_m to i32 (double, double, ...)*)(double %12, double %11)
%18 = sitofp i32 %17 to double
%19 = tail call i32 (double, ...) bitcast (i32 (...)* @leafai to i32 (double, ...)*)(double %12)
%20 = sitofp i32 %19 to double
%21 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @f_c to i32 (double, double, double, ...)*)(double %12, double %10, double %11)
%22 = sitofp i32 %21 to double
%23 = fmul double %18, 4.900000e+00
%24 = fdiv double %18, 1.360000e-01
%25 = fsub double %0, %23
%26 = fdiv double %25, %18
%27 = tail call double @log(double %26)
%28 = fsub double 1.000000e+01, %23
%29 = fdiv double %28, %18
%30 = tail call double @log(double %29)
%31 = fdiv double %27, %30
%32 = fmul double %31, %3
%33 = fsub double 4.433100e+04, %15
%34 = fsub double 4.433100e+04, %5
%35 = fdiv double %33, %34
%36 = tail call double @pow(double %35, double 0x401504FA3727AF49)
%37 = fmul double %36, %2
%38 = fadd double %0, %15
%39 = fsub double 4.433100e+04, %38
%40 = fdiv double %39, %34
%41 = tail call double @pow(double %40, double 0x401504FA3727AF49)
%42 = fmul double %37, %41
%43 = tail call i32 (double, double, double, double, double, double, double, ...) bitcast (i32 (...)* @kb_1 to i32 (double, double, double, double, double, double, double, ...)*)(double %32, double %0, double %24, double %20, double %22, double %1, double %37)
%44 = sitofp i32 %43 to double
%45 = tail call double @exp(double %44)
%46 = fdiv double %18, %45
%47 = fdiv double %25, %46
%48 = tail call double @log(double %47)
%49 = fdiv double %28, %46
%50 = tail call double @log(double %49)
%51 = fdiv double %48, %50
%52 = fcmp olt double %1, 1.000000e+02
%53 = fadd double %1, 2.731500e+02
%54 = select i1 %52, double %53, double %1
%55 = fsub double 1.000000e+00, %22
%56 = fmul double %51, %22
%57 = tail call double @llvm.fmuladd.f64(double %54, double %55, double %56)
%58 = fdiv double %15, 4.433100e+04
%59 = fsub double 1.000000e+00, %58
%60 = tail call double @pow(double %59, double 1.502900e+00)
%61 = tail call double @pow(double %59, double 1.502900e+00)
%62 = insertelement <2 x double> poison, double %14, i64 0
%63 = insertelement <2 x double> %62, double %57, i64 1
%64 = insertelement <2 x double> poison, double %61, i64 0
%65 = insertelement <2 x double> %64, double %60, i64 1
%66 = fdiv <2 x double> %63, %65
%67 = extractelement <2 x double> %66, i64 0
%68 = extractelement <2 x double> %66, i64 1
%69 = fadd double %67, %68
%70 = fmul double %69, 5.000000e-01
%71 = fcmp ogt double %67, 1.000000e+02
%72 = fadd double %67, -2.731500e+02
%73 = select i1 %71, double %72, double %67
%74 = fmul double %73, 1.750200e+01
%75 = fadd double %73, 2.409700e+02
%76 = fdiv double %74, %75
%77 = tail call double @exp(double %76)
%78 = fmul double %77, 6.110000e+02
%79 = fmul double %6, 6.250000e-01
%80 = fdiv double %79, %42
%81 = fcmp ogt double %70, 1.000000e+02
%82 = fadd double %70, -2.731500e+02
%83 = select i1 %81, double %82, double %70
%84 = tail call i32 (double, ...) bitcast (i32 (...)* @leafai to i32 (double, ...)*)(double %9)
%85 = sitofp i32 %84 to double
%86 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @f_c to i32 (double, double, double, ...)*)(double %9, double %10, double %11)
%87 = sitofp i32 %86 to double
%88 = tail call i32 (double, double, ...) bitcast (i32 (...)* @z0_m to i32 (double, double, ...)*)(double %9, double %11)
%89 = sitofp i32 %88 to double
%90 = fmul double %89, 4.900000e+00
%91 = fdiv double %89, 1.360000e-01
%92 = tail call i32 (double, double, double, double, double, double, double, ...) bitcast (i32 (...)* @kb_1 to i32 (double, double, double, double, double, double, double, ...)*)(double %32, double %0, double %91, double %85, double %87, double %83, double %42)
%93 = sitofp i32 %92 to double
%94 = tail call double @exp(double %93)
%95 = fdiv double %89, %94
%96 = tail call double @llvm.fmuladd.f64(double %80, double 6.100000e-01, double 1.000000e+00)
%97 = fmul double %96, %14
%98 = fsub double %67, %68
%99 = fmul double %42, %80
%100 = fmul double %99, 0x3FF9B315F9B8A6AB
%101 = fmul double %97, 2.870400e+02
%102 = fdiv double %37, %101
%103 = fmul double %14, 2.870400e+02
%104 = fdiv double %37, %103
%105 = fmul double %100, 3.780000e-01
%106 = fdiv double %105, %37
%107 = fsub double 1.000000e+00, %106
%108 = fmul double %104, %107
%109 = fmul double %0, 1.200000e-01
%110 = fmul double %89, 1.250000e+02
%111 = fcmp oge double %109, %110
%112 = select i1 %111, double %109, double %110
%113 = fmul double %32, 4.100000e-01
%114 = fsub double %0, %90
%115 = fdiv double %114, %89
%116 = tail call double @log(double %115)
%117 = fdiv double %113, %116
%118 = fmul double %98, 4.100000e-01
%119 = fmul double %102, %118
%120 = fmul double %119, 1.005000e+03
%121 = fmul double %120, %117
%122 = fdiv double %114, %95
%123 = tail call double @log(double %122)
%124 = fdiv double %121, %123
%125 = fcmp ole double %112, %0
%126 = fmul double %108, -1.005000e+03
%127 = fmul double %97, %126
%128 = fdiv double %127, 4.022100e+00
br i1 %125, label %129, label %153
129: ; preds = %16, %129
%130 = phi double [ %146, %129 ], [ %124, %16 ]
%131 = phi i32 [ %149, %129 ], [ 0, %16 ]
%132 = phi double [ %140, %129 ], [ %117, %16 ]
%133 = tail call double @pow(double %132, double 3.000000e+00)
%134 = fmul double %128, %133
%135 = fdiv double %134, %130
%136 = tail call double @log(double %115)
%137 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @bw to i32 (double, double, double, ...)*)(double %0, double %135, double %89)
%138 = sitofp i32 %137 to double
%139 = fsub double %136, %138
%140 = fdiv double %113, %139
%141 = fmul double %120, %140
%142 = tail call double @log(double %122)
%143 = tail call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %0, double %135, double %89, double %95)
%144 = sitofp i32 %143 to double
%145 = fsub double %142, %144
%146 = fdiv double %141, %145
%147 = fsub double %130, %146
%148 = tail call double @llvm.fabs.f64(double %147)
%149 = add nuw nsw i32 %131, 1
%150 = fcmp ogt double %148, 1.000000e-02
%151 = icmp ult i32 %131, 99
%152 = select i1 %150, i1 %151, i1 false
br i1 %152, label %129, label %186
153: ; preds = %16, %153
%154 = phi double [ %179, %153 ], [ %124, %16 ]
%155 = phi i32 [ %182, %153 ], [ 0, %16 ]
%156 = phi double [ %169, %153 ], [ %117, %16 ]
%157 = tail call double @pow(double %156, double 3.000000e+00)
%158 = fmul double %128, %157
%159 = fdiv double %158, %154
%160 = tail call double @log(double %115)
%161 = fdiv double %114, %159
%162 = tail call i32 (double, ...) bitcast (i32 (...)* @psim to i32 (double, ...)*)(double %161)
%163 = sitofp i32 %162 to double
%164 = fsub double %160, %163
%165 = fdiv double %89, %159
%166 = tail call i32 (double, ...) bitcast (i32 (...)* @psim to i32 (double, ...)*)(double %165)
%167 = sitofp i32 %166 to double
%168 = fadd double %164, %167
%169 = fdiv double %113, %168
%170 = fmul double %120, %169
%171 = tail call double @log(double %122)
%172 = tail call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %161)
%173 = sitofp i32 %172 to double
%174 = fsub double %171, %173
%175 = fdiv double %95, %159
%176 = tail call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %175)
%177 = sitofp i32 %176 to double
%178 = fadd double %174, %177
%179 = fdiv double %170, %178
%180 = fsub double %154, %179
%181 = tail call double @llvm.fabs.f64(double %180)
%182 = add nuw nsw i32 %155, 1
%183 = fcmp ogt double %181, 1.000000e-02
%184 = icmp ult i32 %155, 99
%185 = select i1 %183, i1 %184, i1 false
br i1 %185, label %153, label %186
186: ; preds = %153, %129
%187 = phi double [ %140, %129 ], [ %169, %153 ]
%188 = phi double [ %135, %129 ], [ %159, %153 ]
%189 = fdiv double %68, 1.000000e+03
%190 = fmul double %189, %189
%191 = fmul double %190, 0x4022666666666666
%192 = fsub double 1.000000e+00, %8
%193 = tail call double @pow(double %68, double 4.000000e+00)
%194 = tail call double @pow(double %14, double 4.000000e+00)
%195 = fneg double %194
%196 = fmul double %195, %13
%197 = tail call double @llvm.fmuladd.f64(double %191, double %193, double %196)
%198 = fmul double %197, 5.678000e-08
%199 = tail call double @llvm.fmuladd.f64(double %192, double %7, double %198)
%200 = fsub double 1.000000e+00, %87
%201 = tail call double @llvm.fmuladd.f64(double %200, double 2.650000e-01, double 5.000000e-02)
%202 = fmul double %201, %199
%203 = fsub double %199, %202
%204 = tail call double @pow(double %187, double 3.000000e+00)
%205 = fneg double %204
%206 = fmul double %108, %205
%207 = fmul double %203, 0x4003A0BAA582DBE8
%208 = fdiv double %207, 2.430000e+06
%209 = fdiv double %206, %208
br i1 %125, label %210, label %212
210: ; preds = %186
%211 = tail call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %0, double %209, double %89, double %95)
br label %216
212: ; preds = %186
%213 = fneg double %0
%214 = fdiv double %213, %209
%215 = tail call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %214)
br label %216
216: ; preds = %212, %210
%217 = phi i32 [ %211, %210 ], [ %215, %212 ]
%218 = sitofp i32 %217 to double
%219 = tail call double @log(double %122)
%220 = fsub double %219, %218
%221 = fmul double %187, 4.100000e-01
%222 = fdiv double %220, %221
%223 = fcmp ugt double %222, 0.000000e+00
br i1 %223, label %227, label %224
224: ; preds = %216
%225 = tail call double @log(double %122)
%226 = fdiv double %225, %221
br label %227
227: ; preds = %224, %216
%228 = phi double [ %226, %224 ], [ %222, %216 ]
%229 = fmul double %78, 0x40B07974FA05143C
%230 = fadd double %83, 2.409700e+02
%231 = fmul double %230, %230
%232 = fdiv double %229, %231
%233 = fmul double %102, 1.005000e+03
%234 = fdiv double %233, %228
%235 = fsub double %78, %100
%236 = fmul double %235, %234
%237 = fdiv double %236, 6.700000e+01
%238 = fsub double %203, %237
%239 = fdiv double %232, 6.700000e+01
%240 = fadd double %239, 1.000000e+00
%241 = fdiv double %238, %240
br i1 %125, label %242, label %244
242: ; preds = %227
%243 = tail call i32 (double, double, double, double, ...) bitcast (i32 (...)* @cw to i32 (double, double, double, double, ...)*)(double %0, double %188, double %89, double %95)
br label %248
244: ; preds = %227
%245 = fneg double %0
%246 = fdiv double %245, %188
%247 = tail call i32 (double, ...) bitcast (i32 (...)* @psih to i32 (double, ...)*)(double %246)
br label %248
248: ; preds = %244, %242
%249 = phi i32 [ %243, %242 ], [ %247, %244 ]
%250 = sitofp i32 %249 to double
%251 = tail call double @log(double %122)
%252 = fsub double %251, %250
%253 = fdiv double %252, %221
%254 = fmul double %233, %98
%255 = fdiv double %254, %253
%256 = fcmp ogt double %255, %203
%257 = select i1 %256, double %203, double %255
%258 = fsub double %257, %241
%259 = fsub double %203, %241
%260 = insertelement <2 x double> poison, double %241, i64 0
%261 = insertelement <2 x double> %260, double %258, i64 1
%262 = insertelement <2 x double> poison, double %203, i64 0
%263 = insertelement <2 x double> %262, double %259, i64 1
%264 = fdiv <2 x double> %261, %263
%265 = fsub <2 x double> <double 1.000000e+00, double 1.000000e+00>, %264
%266 = shufflevector <2 x double> %265, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%267 = fmul <2 x double> %265, %266
%268 = extractelement <2 x double> %267, i64 0
ret double %268
}