double gsw_c_from_sp(double sp, double t, double p) {
  double a0 = 0.0080e0, a1 = -0.1692e0, a2 = 25.3851e0, a3 = 14.0941e0,
         a4 = -7.0261e0, a5 = 2.7081e0, b0 = 0.0005e0, b1 = -0.0056e0,
         b2 = -0.0066e0, b3 = -0.0375e0, b4 = 0.0636e0, b5 = -0.0144e0,
         c0 = 0.6766097e0, c1 = 2.00564e-2, c2 = 1.104259e-4, c3 = -6.9698e-7,
         c4 = 1.0031e-9, d1 = 3.426e-2, d2 = 4.464e-4, d3 = 4.215e-1,
         d4 = -3.107e-3, e1 = 2.070e-5, e2 = -6.370e-10, e3 = 3.989e-15,
         p0 = 4.577801212923119e-3, p1 = 1.924049429136640e-1,
         p2 = 2.183871685127932e-5, p3 = -7.292156330457999e-3,
         p4 = 1.568129536470258e-4, p5 = -1.478995271680869e-6,
         p6 = 9.086442524716395e-4, p7 = -1.949560839540487e-5,
         p8 = -3.223058111118377e-6, p9 = 1.175871639741131e-7,
         p10 = -7.522895856600089e-5, p11 = -2.254458513439107e-6,
         p12 = 6.179992190192848e-7, p13 = 1.005054226996868e-8,
         p14 = -1.923745566122602e-9, p15 = 2.259550611212616e-6,
         p16 = 1.631749165091437e-7, p17 = -5.931857989915256e-9,
         p18 = -4.693392029005252e-9, p19 = 2.571854839274148e-10,
         p20 = 4.198786822861038e-12, q0 = 5.540896868127855e-5,
         q1 = 2.015419291097848e-1, q2 = -1.445310045430192e-5,
         q3 = -1.567047628411722e-2, q4 = 2.464756294660119e-4,
         q5 = -2.575458304732166e-7, q6 = 5.071449842454419e-3,
         q7 = 9.081985795339206e-5, q8 = -3.635420818812898e-6,
         q9 = 2.249490528450555e-8, q10 = -1.143810377431888e-3,
         q11 = 2.066112484281530e-5, q12 = 7.482907137737503e-7,
         q13 = 4.019321577844724e-8, q14 = -5.755568141370501e-10,
         q15 = 1.120748754429459e-4, q16 = -2.420274029674485e-6,
         q17 = -4.774829347564670e-8, q18 = -4.279037686797859e-9,
         q19 = -2.045829202713288e-10, q20 = 5.025109163112005e-12,
         s0 = 3.432285006604888e-3, s1 = 1.672940491817403e-1,
         s2 = 2.640304401023995e-5, s3 = 1.082267090441036e-1,
         s4 = -6.296778883666940e-5, s5 = -4.542775152303671e-7,
         s6 = -1.859711038699727e-1, s7 = 7.659006320303959e-4,
         s8 = -4.794661268817618e-7, s9 = 8.093368602891911e-9,
         s10 = 1.001140606840692e-1, s11 = -1.038712945546608e-3,
         s12 = -6.227915160991074e-6, s13 = 2.798564479737090e-8,
         s14 = -1.343623657549961e-10, s15 = 1.024345179842964e-2,
         s16 = 4.981135430579384e-4, s17 = 4.466087528793912e-6,
         s18 = 1.960872795577774e-8, s19 = -2.723159418888634e-10,
         s20 = 1.122200786423241e-12, u0 = 5.180529787390576e-3,
         u1 = 1.052097167201052e-3, u2 = 3.666193708310848e-5,
         u3 = 7.112223828976632e0, u4 = -3.631366777096209e-4,
         u5 = -7.336295318742821e-7, u6 = -1.576886793288888e+2,
         u7 = -1.840239113483083e-3, u8 = 8.624279120240952e-6,
         u9 = 1.233529799729501e-8, u10 = 1.826482800939545e+3,
         u11 = 1.633903983457674e-1, u12 = -9.201096427222349e-5,
         u13 = -9.187900959754842e-8, u14 = -1.442010369809705e-10,
         u15 = -8.542357182595853e+3, u16 = -1.408635241899082e0,
         u17 = 1.660164829963661e-4, u18 = 6.797409608973845e-7,
         u19 = 3.345074990451475e-10, u20 = 8.285687652694768e-13, k = 0.0162e0;
  double t68, ft68, x, rtx, dsp_drtx, sqrty, part1, part2, hill_ratio, sp_est,
      rtx_old, rt, aa, bb, cc, dd, ee, ra, r, rt_lc, rtxm, sp_hill_raw;
  t68 = t * 1.00024e0;
  ft68 = (t68 - 15e0) / (1e0 + k * (t68 - 15e0));
  x = sqrt(sp);
  if (sp > 9.0) {
    rtx = p0 +
          x * (p1 + p4 * t68 +
               x * (p3 + p7 * t68 +
                    x * (p6 + p11 * t68 + x * (p10 + p16 * t68 + x * p15)))) +
          t68 * (p2 + t68 * (p5 + x * x * (p12 + x * p17) + p8 * x +
                             t68 * (p9 + x * (p13 + x * p18) +
                                    t68 * (p14 + p19 * x + p20 * t68))));
  }
  if (sp >= 0.25 && sp < 9.0) {
    rtx = q0 +
          x * (q1 + q4 * t68 +
               x * (q3 + q7 * t68 +
                    x * (q6 + q11 * t68 + x * (q10 + q16 * t68 + x * q15)))) +
          t68 * (q2 + t68 * (q5 + x * x * (q12 + x * q17) + q8 * x +
                             t68 * (q9 + x * (q13 + x * q18) +
                                    t68 * (q14 + q19 * x + q20 * t68))));
  }
  if (sp >= 0.003 && sp < 0.25) {
    rtx = s0 +
          x * (s1 + s4 * t68 +
               x * (s3 + s7 * t68 +
                    x * (s6 + s11 * t68 + x * (s10 + s16 * t68 + x * s15)))) +
          t68 * (s2 + t68 * (s5 + x * x * (s12 + x * s17) + s8 * x +
                             t68 * (s9 + x * (s13 + x * s18) +
                                    t68 * (s14 + s19 * x + s20 * t68))));
  }
  if (sp < 0.003) {
    rtx = u0 +
          x * (u1 + u4 * t68 +
               x * (u3 + u7 * t68 +
                    x * (u6 + u11 * t68 + x * (u10 + u16 * t68 + x * u15)))) +
          t68 * (u2 + t68 * (u5 + x * x * (u12 + x * u17) + u8 * x +
                             t68 * (u9 + x * (u13 + x * u18) +
                                    t68 * (u14 + u19 * x + u20 * t68))));
  }
  dsp_drtx =
      a1 +
      (2e0 * a2 + (3e0 * a3 + (4e0 * a4 + 5e0 * a5 * rtx) * rtx) * rtx) * rtx +
      ft68 * (b1 + (2e0 * b2 +
                    (3e0 * b3 + (4e0 * b4 + 5e0 * b5 * rtx) * rtx) * rtx) *
                       rtx);
  if (sp < 2.0) {
    x = 400e0 * (rtx * rtx);
    sqrty = 10.0 * rtx;
    part1 = 1e0 + x * (1.5e0 + x);
    part2 = 1e0 + sqrty * (1e0 + sqrty * (1e0 + sqrty));
    hill_ratio = gsw_hill_ratio_at_sp2(t);
    dsp_drtx =
        dsp_drtx + a0 * 800e0 * rtx * (1.5e0 + 2e0 * x) / (part1 * part1) +
        b0 * ft68 * (10e0 + sqrty * (20e0 + 30e0 * sqrty)) / (part2 * part2);
    dsp_drtx = hill_ratio * dsp_drtx;
  }
  sp_est = a0 + (a1 + (a2 + (a3 + (a4 + a5 * rtx) * rtx) * rtx) * rtx) * rtx +
           ft68 * (b0 + (b1 + (b2 + (b3 + (b4 + b5 * rtx) * rtx) * rtx) * rtx) *
                            rtx);
  if (sp_est < 2.0) {
    x = 400e0 * (rtx * rtx);
    sqrty = 10e0 * rtx;
    part1 = 1e0 + x * (1.5e0 + x);
    part2 = 1e0 + sqrty * (1e0 + sqrty * (1e0 + sqrty));
    sp_hill_raw = sp_est - a0 / part1 - b0 * ft68 / part2;
    hill_ratio = gsw_hill_ratio_at_sp2(t);
    sp_est = hill_ratio * sp_hill_raw;
  }
  rtx_old = rtx;
  rtx = rtx_old - (sp_est - sp) / dsp_drtx;
  rtxm = 0.5e0 * (rtx + rtx_old);
  dsp_drtx =
      a1 +
      (2e0 * a2 + (3e0 * a3 + (4e0 * a4 + 5e0 * a5 * rtxm) * rtxm) * rtxm) *
          rtxm +
      ft68 * (b1 + (2e0 * b2 +
                    (3e0 * b3 + (4e0 * b4 + 5e0 * b5 * rtxm) * rtxm) * rtxm) *
                       rtxm);
  if (sp_est < 2.0) {
    x = 400e0 * (rtxm * rtxm);
    sqrty = 10e0 * rtxm;
    part1 = 1e0 + x * (1.5e0 + x);
    part2 = 1e0 + sqrty * (1e0 + sqrty * (1e0 + sqrty));
    dsp_drtx =
        dsp_drtx + a0 * 800e0 * rtxm * (1.5e0 + 2e0 * x) / (part1 * part1) +
        b0 * ft68 * (10e0 + sqrty * (20e0 + 30e0 * sqrty)) / (part2 * part2);
    hill_ratio = gsw_hill_ratio_at_sp2(t);
    dsp_drtx = hill_ratio * dsp_drtx;
  }
  rtx = rtx_old - (sp_est - sp) / dsp_drtx;
  sp_est = a0 + (a1 + (a2 + (a3 + (a4 + a5 * rtx) * rtx) * rtx) * rtx) * rtx +
           ft68 * (b0 + (b1 + (b2 + (b3 + (b4 + b5 * rtx) * rtx) * rtx) * rtx) *
                            rtx);
  if (sp_est < 2.0) {
    x = 400e0 * (rtx * rtx);
    sqrty = 10e0 * rtx;
    part1 = 1e0 + x * (1.5e0 + x);
    part2 = 1e0 + sqrty * (1e0 + sqrty * (1e0 + sqrty));
    sp_hill_raw = sp_est - a0 / part1 - b0 * ft68 / part2;
    hill_ratio = gsw_hill_ratio_at_sp2(t);
    sp_est = hill_ratio * sp_hill_raw;
  }
  rtx = rtx - (sp_est - sp) / dsp_drtx;
  rt = rtx * rtx;
  aa = d3 + d4 * t68;
  bb = 1e0 + t68 * (d1 + d2 * t68);
  cc = p * (e1 + p * (e2 + e3 * p));
  rt_lc = c0 + (c1 + (c2 + (c3 + c4 * t68) * t68) * t68) * t68;
  dd = bb - aa * rt_lc * rt;
  ee = rt_lc * rt * aa * (bb + cc);
  ra = sqrt(dd * dd + 4e0 * ee) - dd;
  r = 0.5e0 * ra / aa;
  return (42.9140e0 * r);
}


x86 assembly (clang, -O0):
<gsw_c_from_sp>:
push   %rbp
mov    %rsp,%rbp
sub    $0x430,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  0x223e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  0x2229(%rip),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0x2214(%rip),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  0x21ff(%rip),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x21ea(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  0x21d5(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x21c0(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x21ab(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x2196(%rip),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x2181(%rip),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x216c(%rip),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x2157(%rip),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x2142(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x212d(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x2115(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x20fd(%rip),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x20e5(%rip),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x20cd(%rip),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x20b5(%rip),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x209d(%rip),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x2085(%rip),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x206d(%rip),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0x2055(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x203d(%rip),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x2025(%rip),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x200d(%rip),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x1ff5(%rip),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  0x1fdd(%rip),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x1fc5(%rip),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x1fad(%rip),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x1f95(%rip),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x1f7d(%rip),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x1f65(%rip),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x1f4d(%rip),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0x1f35(%rip),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x1f1d(%rip),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x1f05(%rip),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x1eed(%rip),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  0x1ed5(%rip),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  0x1ebd(%rip),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  0x1ea5(%rip),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  0x1e8d(%rip),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  0x1e75(%rip),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x1e5d(%rip),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  0x1e45(%rip),%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  0x1e2d(%rip),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  0x1e15(%rip),%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  0x1dfd(%rip),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  0x1de5(%rip),%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  0x1dcd(%rip),%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  0x1db5(%rip),%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  0x1d9d(%rip),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  0x1d85(%rip),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  0x1d6d(%rip),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  0x1d55(%rip),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  0x1d3d(%rip),%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  0x1d25(%rip),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  0x1d0d(%rip),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  0x1cf5(%rip),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  0x1cdd(%rip),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x1cc5(%rip),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x1cad(%rip),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  0x1c95(%rip),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  0x1c7d(%rip),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0x1c65(%rip),%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  0x1c4d(%rip),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  0x1c35(%rip),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  0x1c1d(%rip),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  0x1c05(%rip),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x1bed(%rip),%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  0x1bd5(%rip),%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  0x1bbd(%rip),%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  0x1ba5(%rip),%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  0x1b8d(%rip),%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  0x1b75(%rip),%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  0x1b5d(%rip),%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  0x1b45(%rip),%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  0x1b2d(%rip),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  0x1b15(%rip),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  0x1afd(%rip),%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  0x1ae5(%rip),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0x1acd(%rip),%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0x1ab5(%rip),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  0x1a9d(%rip),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0x1a85(%rip),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  0x1a6d(%rip),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  0x1a55(%rip),%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  0x1a3d(%rip),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  0x1a25(%rip),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0x1a0d(%rip),%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  0x19f5(%rip),%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  0x19dd(%rip),%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  0x19c5(%rip),%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  0x19ad(%rip),%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  0x1995(%rip),%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
movsd  0x197d(%rip),%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  0x1965(%rip),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  0x194d(%rip),%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  0x1935(%rip),%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
movsd  0x191d(%rip),%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  0x1905(%rip),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  0x18ed(%rip),%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  0x18d5(%rip),%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
movsd  0x18bd(%rip),%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
movsd  0x18a5(%rip),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movsd  0x188d(%rip),%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
movsd  0x1875(%rip),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  0x185d(%rip),%xmm0
movsd  %xmm0,-0x378(%rbp)
ff
movsd  0x1845(%rip),%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
movsd  0x182d(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0x388(%rbp),%xmm0
ff
movsd  0x1808(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0x380(%rbp),%xmm1
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  0x17ec(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x17d4(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x390(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
call   1040 <sqrt@plt>
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x179d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1a83 <gsw_c_from_sp+0x963>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x100(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x398(%rbp),%xmm2
ff
movsd  -0xf8(%rbp),%xmm4
ff
movsd  -0x118(%rbp),%xmm5
ff
movsd  -0x388(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x398(%rbp),%xmm4
ff
movsd  -0x110(%rbp),%xmm6
ff
movsd  -0x138(%rbp),%xmm7
ff
movsd  -0x388(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x130(%rbp),%xmm8
ff ff
movsd  -0x160(%rbp),%xmm9
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x158(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x388(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm4
ff
mulsd  -0x398(%rbp),%xmm4
ff
movsd  -0x140(%rbp),%xmm7
ff
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x168(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x120(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x388(%rbp),%xmm4
ff
movsd  -0x128(%rbp),%xmm6
ff
movsd  -0x398(%rbp),%xmm7
ff
movsd  -0x148(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x170(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x388(%rbp),%xmm6
ff
movsd  -0x150(%rbp),%xmm8
ff ff
movsd  -0x178(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x180(%rbp),%xmm8
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x18f8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1cc3 <gsw_c_from_sp+0xba3>
movsd  0x155e(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    1cc3 <gsw_c_from_sp+0xba3>
movsd  -0x188(%rbp),%xmm0
ff
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0x190(%rbp),%xmm2
ff
movsd  -0x1a8(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x398(%rbp),%xmm2
ff
movsd  -0x1a0(%rbp),%xmm4
ff
movsd  -0x1c0(%rbp),%xmm5
ff
movsd  -0x388(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x398(%rbp),%xmm4
ff
movsd  -0x1b8(%rbp),%xmm6
ff
movsd  -0x1e0(%rbp),%xmm7
ff
movsd  -0x388(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x1d8(%rbp),%xmm8
ff ff
movsd  -0x208(%rbp),%xmm9
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x200(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x388(%rbp),%xmm0
ff
movsd  -0x198(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x1b0(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm4
ff
mulsd  -0x398(%rbp),%xmm4
ff
movsd  -0x1e8(%rbp),%xmm7
ff
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x210(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x1c8(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x388(%rbp),%xmm4
ff
movsd  -0x1d0(%rbp),%xmm6
ff
movsd  -0x398(%rbp),%xmm7
ff
movsd  -0x1f0(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x218(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x388(%rbp),%xmm6
ff
movsd  -0x1f8(%rbp),%xmm8
ff ff
movsd  -0x220(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x228(%rbp),%xmm8
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x16c0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1f03 <gsw_c_from_sp+0xde3>
movsd  0x16a6(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    1f03 <gsw_c_from_sp+0xde3>
movsd  -0x230(%rbp),%xmm0
ff
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0x238(%rbp),%xmm2
ff
movsd  -0x250(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x398(%rbp),%xmm2
ff
movsd  -0x248(%rbp),%xmm4
ff
movsd  -0x268(%rbp),%xmm5
ff
movsd  -0x388(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x398(%rbp),%xmm4
ff
movsd  -0x260(%rbp),%xmm6
ff
movsd  -0x288(%rbp),%xmm7
ff
movsd  -0x388(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x280(%rbp),%xmm8
ff ff
movsd  -0x2b0(%rbp),%xmm9
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x2a8(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x388(%rbp),%xmm0
ff
movsd  -0x240(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x258(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm4
mulsd  -0x398(%rbp),%xmm4
ff
movsd  -0x290(%rbp),%xmm7
ff
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x2b8(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x270(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x388(%rbp),%xmm4
ff
movsd  -0x278(%rbp),%xmm6
ff
movsd  -0x398(%rbp),%xmm7
ff
movsd  -0x298(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x2c0(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x388(%rbp),%xmm6
ff
movsd  -0x2a0(%rbp),%xmm8
ff ff
movsd  -0x2c8(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x2d0(%rbp),%xmm8
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  0x1485(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    212c <gsw_c_from_sp+0x100c>
movsd  -0x2d8(%rbp),%xmm0
ff
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0x2e0(%rbp),%xmm2
ff
movsd  -0x2f8(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x398(%rbp),%xmm2
ff
movsd  -0x2f0(%rbp),%xmm4
ff
movsd  -0x310(%rbp),%xmm5
ff
movsd  -0x388(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x398(%rbp),%xmm4
ff
movsd  -0x308(%rbp),%xmm6
ff
movsd  -0x330(%rbp),%xmm7
ff
movsd  -0x388(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x328(%rbp),%xmm8
ff ff
movsd  -0x358(%rbp),%xmm9
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x350(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x388(%rbp),%xmm0
movsd  -0x2e8(%rbp),%xmm3
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x300(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm4
ff
mulsd  -0x398(%rbp),%xmm4
ff
movsd  -0x338(%rbp),%xmm7
ff
movsd  -0x398(%rbp),%xmm6
ff
movsd  -0x360(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x318(%rbp),%xmm5
ff
movsd  -0x398(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x388(%rbp),%xmm4
ff
movsd  -0x320(%rbp),%xmm6
ff
movsd  -0x398(%rbp),%xmm7
ff
movsd  -0x340(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm8
ff ff
movsd  -0x368(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x388(%rbp),%xmm6
ff
movsd  -0x348(%rbp),%xmm8
ff ff
movsd  -0x370(%rbp),%xmm9
ff ff
movsd  -0x398(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm9
addsd  %xmm8,%xmm9
movsd  -0x378(%rbp),%xmm8
ff ff
movsd  -0x388(%rbp),%xmm10
ff ff
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
movsd  0x1268(%rip),%xmm4
mulsd  -0x48(%rbp),%xmm4
mulsd  -0x3a0(%rbp),%xmm4
ff
movsd  0x124b(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  -0x3a0(%rbp),%xmm3
ff
movsd  0x122b(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  -0x3a0(%rbp),%xmm2
ff
addsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x3a0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x390(%rbp),%xmm0
ff
movsd  -0x58(%rbp),%xmm3
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm4
movsd  -0x70(%rbp),%xmm5
movsd  0x11ef(%rip),%xmm6
mulsd  -0x78(%rbp),%xmm6
mulsd  -0x3a0(%rbp),%xmm6
ff
movsd  0x11d2(%rip),%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  -0x3a0(%rbp),%xmm5
ff
movsd  0x11b2(%rip),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  -0x3a0(%rbp),%xmm4
ff
addsd  %xmm2,%xmm2
addsd  %xmm4,%xmm2
movsd  -0x3a0(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  0x116a(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    23d7 <gsw_c_from_sp+0x12b7>
movsd  -0x3a0(%rbp),%xmm1
ff
mulsd  -0x3a0(%rbp),%xmm1
ff
movsd  0x118f(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  0x1153(%rip),%xmm0
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x398(%rbp),%xmm0
ff
movsd  0x114b(%rip),%xmm1
addsd  -0x398(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xd6f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm0
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  0xd4b(%rip),%xmm2
addsd  -0x3b0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0xd37(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xd27(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm0
ff
movsd  0x10c3(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
mulsd  -0x3a0(%rbp),%xmm1
ff
movsd  -0x398(%rbp),%xmm2
ff
addsd  %xmm2,%xmm2
movsd  0x109a(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  -0x3b8(%rbp),%xmm2
ff
mulsd  -0x3b8(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  -0x50(%rbp),%xmm1
mulsd  -0x390(%rbp),%xmm1
ff
movsd  -0x3b0(%rbp),%xmm2
ff
movsd  -0x3b0(%rbp),%xmm3
ff
movsd  0x1045(%rip),%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1041(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x1021(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  -0x3c0(%rbp),%xmm2
ff
mulsd  -0x3c0(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x3c8(%rbp),%xmm0
ff
mulsd  -0x3a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm2
movsd  -0x30(%rbp),%xmm3
movsd  -0x38(%rbp),%xmm4
movsd  -0x40(%rbp),%xmm5
movsd  -0x48(%rbp),%xmm1
movsd  -0x3a0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm1
addsd  %xmm5,%xmm1
movsd  -0x3a0(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm1
addsd  %xmm4,%xmm1
movsd  -0x3a0(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  -0x3a0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x3a0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x390(%rbp),%xmm0
ff
movsd  -0x50(%rbp),%xmm3
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  -0x78(%rbp),%xmm2
movsd  -0x3a0(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm2
addsd  %xmm7,%xmm2
movsd  -0x3a0(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm2
addsd  %xmm6,%xmm2
movsd  -0x3a0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm2
addsd  %xmm5,%xmm2
movsd  -0x3a0(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm2
addsd  %xmm4,%xmm2
movsd  -0x3a0(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  0xec3(%rip),%xmm0
ucomisd -0x3d0(%rbp),%xmm0
ff
jbe    2601 <gsw_c_from_sp+0x14e1>
movsd  -0x3a0(%rbp),%xmm1
ff
mulsd  -0x3a0(%rbp),%xmm1
ff
movsd  0xee5(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  0xea9(%rip),%xmm0
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x398(%rbp),%xmm0
ff
movsd  0xea1(%rip),%xmm1
addsd  -0x398(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xac5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm0
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  0xaa1(%rip),%xmm2
addsd  -0x3b0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0xa8d(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xa7d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x3d0(%rbp),%xmm0
ff
movsd  -0x20(%rbp),%xmm1
divsd  -0x3b8(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  -0x50(%rbp),%xmm1
mulsd  -0x390(%rbp),%xmm1
ff
divsd  -0x3c0(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x430(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x3c8(%rbp),%xmm0
ff
mulsd  -0x430(%rbp),%xmm0
ff
movsd  %xmm0,-0x3d0(%rbp)
movsd  -0x3a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3d8(%rbp)
ff
movsd  -0x3d8(%rbp),%xmm0
ff
movsd  -0x3d0(%rbp),%xmm1
ff
subsd  -0x8(%rbp),%xmm1
divsd  -0x3a8(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x3a0(%rbp),%xmm1
ff
addsd  -0x3d8(%rbp),%xmm1
ff
movsd  0xd96(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x428(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
movsd  0xd36(%rip),%xmm4
mulsd  -0x48(%rbp),%xmm4
mulsd  -0x428(%rbp),%xmm4
ff
movsd  0xd19(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  -0x428(%rbp),%xmm3
ff
movsd  0xcf9(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  -0x428(%rbp),%xmm2
ff
addsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x428(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x390(%rbp),%xmm0
ff
movsd  -0x58(%rbp),%xmm3
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm4
movsd  -0x70(%rbp),%xmm5
movsd  0xcbd(%rip),%xmm6
mulsd  -0x78(%rbp),%xmm6
mulsd  -0x428(%rbp),%xmm6
ff
movsd  0xca0(%rip),%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  -0x428(%rbp),%xmm5
ff
movsd  0xc80(%rip),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  -0x428(%rbp),%xmm4
ff
addsd  %xmm2,%xmm2
addsd  %xmm4,%xmm2
movsd  -0x428(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  0xc38(%rip),%xmm0
ucomisd -0x3d0(%rbp),%xmm0
ff
jbe    290c <gsw_c_from_sp+0x17ec>
movsd  -0x428(%rbp),%xmm1
ff
mulsd  -0x428(%rbp),%xmm1
ff
movsd  0xc5a(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  0xc1e(%rip),%xmm0
mulsd  -0x428(%rbp),%xmm0
ff
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x398(%rbp),%xmm0
ff
movsd  0xc16(%rip),%xmm1
addsd  -0x398(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x83a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm0
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  0x816(%rip),%xmm2
addsd  -0x3b0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0x802(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x7f2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm0
ff
movsd  0xba6(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
mulsd  -0x428(%rbp),%xmm1
ff
movsd  -0x398(%rbp),%xmm2
ff
addsd  %xmm2,%xmm2
movsd  0xb7d(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  -0x3b8(%rbp),%xmm2
ff
mulsd  -0x3b8(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  -0x50(%rbp),%xmm1
mulsd  -0x390(%rbp),%xmm1
ff
movsd  -0x3b0(%rbp),%xmm2
ff
movsd  -0x3b0(%rbp),%xmm3
ff
movsd  0xb28(%rip),%xmm4
mulsd  %xmm4,%xmm3
movsd  0xb24(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0xb04(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  -0x3c0(%rbp),%xmm2
ff
mulsd  -0x3c0(%rbp),%xmm2
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x3c8(%rbp),%xmm0
ff
mulsd  -0x3a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x3d8(%rbp),%xmm0
ff
movsd  -0x3d0(%rbp),%xmm1
ff
subsd  -0x8(%rbp),%xmm1
divsd  -0x3a8(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm2
movsd  -0x30(%rbp),%xmm3
movsd  -0x38(%rbp),%xmm4
movsd  -0x40(%rbp),%xmm5
movsd  -0x48(%rbp),%xmm1
movsd  -0x3a0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm1
addsd  %xmm5,%xmm1
movsd  -0x3a0(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm1
addsd  %xmm4,%xmm1
movsd  -0x3a0(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  -0x3a0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x3a0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x390(%rbp),%xmm0
ff
movsd  -0x50(%rbp),%xmm3
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  -0x78(%rbp),%xmm2
movsd  -0x3a0(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm2
addsd  %xmm7,%xmm2
movsd  -0x3a0(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm2
addsd  %xmm6,%xmm2
movsd  -0x3a0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm2
addsd  %xmm5,%xmm2
movsd  -0x3a0(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm2
addsd  %xmm4,%xmm2
movsd  -0x3a0(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  0x965(%rip),%xmm0
ucomisd -0x3d0(%rbp),%xmm0
ff
jbe    2b5f <gsw_c_from_sp+0x1a3f>
movsd  -0x3a0(%rbp),%xmm1
ff
mulsd  -0x3a0(%rbp),%xmm1
ff
movsd  0x987(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  0x94b(%rip),%xmm0
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x398(%rbp),%xmm0
ff
movsd  0x943(%rip),%xmm1
addsd  -0x398(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0x567(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm0
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  0x543(%rip),%xmm2
addsd  -0x3b0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0x52f(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x51f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x3d0(%rbp),%xmm0
ff
movsd  -0x20(%rbp),%xmm1
divsd  -0x3b8(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  -0x50(%rbp),%xmm1
mulsd  -0x390(%rbp),%xmm1
ff
divsd  -0x3c0(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x430(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x3c8(%rbp),%xmm0
ff
mulsd  -0x430(%rbp),%xmm0
ff
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  -0x3a0(%rbp),%xmm0
ff
movsd  -0x3d0(%rbp),%xmm1
ff
subsd  -0x8(%rbp),%xmm1
divsd  -0x3a8(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x3a0(%rbp),%xmm0
ff
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x388(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x388(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x388(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x40c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0xc8(%rbp),%xmm2
ff
movsd  -0x18(%rbp),%xmm1
movsd  -0xd0(%rbp),%xmm4
ff
movsd  -0xd8(%rbp),%xmm3
ff
movsd  -0x18(%rbp),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x80(%rbp),%xmm1
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm3
ff
movsd  -0x98(%rbp),%xmm4
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x388(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm0
addsd  %xmm4,%xmm0
movsd  -0x388(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm0
addsd  %xmm3,%xmm0
movsd  -0x388(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x388(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x420(%rbp)
ff
movsd  -0x3f0(%rbp),%xmm1
ff
movsd  -0x3e8(%rbp),%xmm0
ff
mulsd  -0x420(%rbp),%xmm0
ff
movsd  -0x3e0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x420(%rbp),%xmm0
ff
mulsd  -0x3e0(%rbp),%xmm0
ff
mulsd  -0x3e8(%rbp),%xmm0
ff
movsd  -0x3f0(%rbp),%xmm1
ff
addsd  -0x3f8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
movsd  -0x400(%rbp),%xmm0
ff
movsd  -0x400(%rbp),%xmm2
ff
movsd  0x65d(%rip),%xmm1
mulsd  -0x408(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <sqrt@plt>
subsd  -0x400(%rbp),%xmm0
ff
movsd  %xmm0,-0x410(%rbp)
ff
movsd  0x670(%rip),%xmm0
mulsd  -0x410(%rbp),%xmm0
ff
divsd  -0x3e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x418(%rbp)
ff
movsd  0x658(%rip),%xmm0
mulsd  -0x418(%rbp),%xmm0
ff
add    $0x430,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<gsw_c_from_sp>:
sub    $0x88,%rsp
movapd %xmm2,0x70(%rsp)
movapd %xmm0,%xmm8
movsd  0xec6(%rip),%xmm7
movsd  %xmm1,(%rsp)
mulsd  %xmm1,%xmm7
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm8
movapd %xmm7,0x50(%rsp)
movsd  %xmm8,0x20(%rsp)
jb     1165 <gsw_c_from_sp+0x45>
xorps  %xmm0,%xmm0
sqrtsd %xmm8,%xmm0
jmp    117c <gsw_c_from_sp+0x5c>
movapd %xmm8,%xmm0
call   1040 <sqrt@plt>
movsd  0x20(%rsp),%xmm8
movapd 0x50(%rsp),%xmm7
movsd  0xe83(%rip),%xmm9
addsd  %xmm7,%xmm9
ucomisd 0xe8d(%rip),%xmm8
jbe    12bd <gsw_c_from_sp+0x19d>
movsd  0xe87(%rip),%xmm2
mulsd  %xmm7,%xmm2
addsd  0xe83(%rip),%xmm2
movsd  0xe83(%rip),%xmm3
mulsd  %xmm7,%xmm3
addsd  0xe7f(%rip),%xmm3
movsd  0xe7f(%rip),%xmm4
mulsd  %xmm7,%xmm4
addsd  0xe7b(%rip),%xmm4
movsd  0xe7b(%rip),%xmm5
mulsd  %xmm7,%xmm5
addsd  0xe77(%rip),%xmm5
movsd  0xe77(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm5,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm4,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm3,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm1
addsd  0xe53(%rip),%xmm1
movapd %xmm0,%xmm2
mulsd  %xmm0,%xmm2
movsd  0xe4b(%rip),%xmm3
mulsd  %xmm0,%xmm3
addsd  0xe47(%rip),%xmm3
mulsd  %xmm2,%xmm3
addsd  0xe43(%rip),%xmm3
movsd  0xe43(%rip),%xmm2
mulsd  %xmm0,%xmm2
movsd  0xe3f(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xe3b(%rip),%xmm4
addsd  %xmm3,%xmm2
mulsd  %xmm0,%xmm4
addsd  0xe33(%rip),%xmm4
movsd  0xe33(%rip),%xmm3
mulsd  %xmm0,%xmm3
addsd  0xe2f(%rip),%xmm3
movsd  0xe2f(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm4,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm2,%xmm6
mulsd  %xmm7,%xmm6
addsd  0xe13(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm1,%xmm6
movsd  0xd4b(%rip),%xmm1
mulsd  %xmm9,%xmm1
ucomisd 0xdfd(%rip),%xmm8
jb     1410 <gsw_c_from_sp+0x2f0>
movsd  0xd3f(%rip),%xmm2
ucomisd %xmm8,%xmm2
jbe    1410 <gsw_c_from_sp+0x2f0>
movsd  0xde4(%rip),%xmm3
mulsd  %xmm7,%xmm3
addsd  0xde0(%rip),%xmm3
movsd  0xde0(%rip),%xmm4
mulsd  %xmm7,%xmm4
addsd  0xddc(%rip),%xmm4
movsd  0xddc(%rip),%xmm5
mulsd  %xmm7,%xmm5
addsd  0xdd8(%rip),%xmm5
movsd  0xdd8(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  0xdd4(%rip),%xmm6
movsd  0xdd4(%rip),%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm6,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm5,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm4,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm0,%xmm2
addsd  0xdb0(%rip),%xmm2
movapd %xmm0,%xmm3
mulsd  %xmm0,%xmm3
movsd  0xda8(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xda4(%rip),%xmm4
mulsd  %xmm3,%xmm4
addsd  0xda0(%rip),%xmm4
movsd  0xda0(%rip),%xmm3
mulsd  %xmm0,%xmm3
movsd  0xd9c(%rip),%xmm5
mulsd  %xmm0,%xmm5
addsd  0xd98(%rip),%xmm5
addsd  %xmm4,%xmm3
mulsd  %xmm0,%xmm5
addsd  0xd90(%rip),%xmm5
movsd  0xd90(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xd8c(%rip),%xmm4
movsd  0xd8c(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm4,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm5,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm7,%xmm6
addsd  0xd70(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm2,%xmm6
addsd  0xc00(%rip),%xmm1
ucomisd 0xd5f(%rip),%xmm8
jb     155e <gsw_c_from_sp+0x43e>
movsd  0xca1(%rip),%xmm2
ucomisd %xmm8,%xmm2
jbe    155e <gsw_c_from_sp+0x43e>
movsd  0xd46(%rip),%xmm3
mulsd  %xmm7,%xmm3
addsd  0xd42(%rip),%xmm3
movsd  0xd42(%rip),%xmm4
mulsd  %xmm7,%xmm4
addsd  0xd3e(%rip),%xmm4
movsd  0xd3e(%rip),%xmm5
mulsd  %xmm7,%xmm5
addsd  0xd3a(%rip),%xmm5
movsd  0xd3a(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  0xd36(%rip),%xmm6
movsd  0xd36(%rip),%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm6,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm5,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm4,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm0,%xmm2
addsd  0xd12(%rip),%xmm2
movapd %xmm0,%xmm3
mulsd  %xmm0,%xmm3
movsd  0xd0a(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xd06(%rip),%xmm4
mulsd  %xmm3,%xmm4
addsd  0xd02(%rip),%xmm4
movsd  0xd02(%rip),%xmm3
mulsd  %xmm0,%xmm3
movsd  0xcfe(%rip),%xmm5
mulsd  %xmm0,%xmm5
addsd  0xcfa(%rip),%xmm5
addsd  %xmm4,%xmm3
mulsd  %xmm0,%xmm5
addsd  0xcf2(%rip),%xmm5
movsd  0xcf2(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xcee(%rip),%xmm4
movsd  0xcee(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm4,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm5,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm7,%xmm6
addsd  0xcd2(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm2,%xmm6
divsd  %xmm1,%xmm9
movsd  0xc15(%rip),%xmm1
ucomisd %xmm8,%xmm1
jbe    1696 <gsw_c_from_sp+0x576>
movsd  0xcb2(%rip),%xmm2
mulsd  %xmm7,%xmm2
addsd  0xcae(%rip),%xmm2
movsd  0xcae(%rip),%xmm3
mulsd  %xmm7,%xmm3
addsd  0xcaa(%rip),%xmm3
movsd  0xcaa(%rip),%xmm4
mulsd  %xmm7,%xmm4
addsd  0xca6(%rip),%xmm4
movsd  0xca6(%rip),%xmm5
mulsd  %xmm7,%xmm5
addsd  0xca2(%rip),%xmm5
movsd  0xca2(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm5,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm4,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm3,%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm1
addsd  0xc7e(%rip),%xmm1
movapd %xmm0,%xmm2
mulsd  %xmm0,%xmm2
movsd  0xc76(%rip),%xmm3
mulsd  %xmm0,%xmm3
addsd  0xc72(%rip),%xmm3
mulsd  %xmm2,%xmm3
addsd  0xc6e(%rip),%xmm3
movsd  0xc6e(%rip),%xmm2
mulsd  %xmm0,%xmm2
movsd  0xc6a(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  0xc66(%rip),%xmm4
addsd  %xmm3,%xmm2
mulsd  %xmm0,%xmm4
addsd  0xc5e(%rip),%xmm4
mulsd  0xc5e(%rip),%xmm0
addsd  0xc5e(%rip),%xmm0
movsd  0xc5e(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm0,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm4,%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm2,%xmm6
mulsd  %xmm7,%xmm6
addsd  0xc42(%rip),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm1,%xmm6
movsd  0xc3a(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xc36(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xc32(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xc2e(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xc2a(%rip),%xmm0
movsd  0xc2a(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0xc26(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0xc22(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0xc1e(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0xc1a(%rip),%xmm3
mulsd  %xmm9,%xmm3
addsd  %xmm0,%xmm3
movsd  0xc11(%rip),%xmm2
ucomisd %xmm8,%xmm2
movapd %xmm9,0x40(%rsp)
movapd %xmm6,0x10(%rsp)
jbe    1821 <gsw_c_from_sp+0x701>
movapd %xmm6,%xmm0
mulsd  %xmm6,%xmm0
unpcklpd %xmm0,%xmm6
mulpd  0xcad(%rip),%xmm6
movapd %xmm6,0x60(%rsp)
movapd %xmm6,%xmm0
unpckhpd %xmm6,%xmm0
addsd  0xbd7(%rip),%xmm0
movsd  0x8b7(%rip),%xmm1
movapd %xmm6,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm6,%xmm2
addsd  %xmm1,%xmm2
unpcklpd %xmm0,%xmm2
mulpd  %xmm6,%xmm2
addpd  0xc7f(%rip),%xmm2
movapd %xmm2,0x30(%rsp)
movsd  (%rsp),%xmm0
mov    $0x1,%al
movsd  %xmm3,0x8(%rsp)
call   1030 <gsw_hill_ratio_at_sp2@plt>
movapd 0x10(%rsp),%xmm6
movapd 0x40(%rsp),%xmm9
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movapd %xmm9,%xmm1
unpcklpd %xmm6,%xmm1
mulpd  0xc52(%rip),%xmm1
movsd  0xb72(%rip),%xmm2
movapd 0x60(%rsp),%xmm3
mulsd  %xmm3,%xmm2
addsd  0xb68(%rip),%xmm2
shufpd $0x2,0xc3f(%rip),%xmm2
mulpd  %xmm3,%xmm2
addpd  0xc43(%rip),%xmm2
mulpd  %xmm1,%xmm2
movapd 0x30(%rsp),%xmm1
mulpd  %xmm1,%xmm1
divpd  %xmm1,%xmm2
movapd %xmm2,%xmm1
unpckhpd %xmm2,%xmm1
addsd  0x8(%rsp),%xmm1
addsd  %xmm2,%xmm1
movsd  0xb0f(%rip),%xmm2
mulsd  %xmm0,%xmm1
movapd %xmm1,%xmm3
movsd  0xb1f(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xb1b(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xb17(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xb13(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xa9f(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xb03(%rip),%xmm0
movsd  0xb03(%rip),%xmm5
mulsd  %xmm6,%xmm5
addsd  0xaff(%rip),%xmm5
mulsd  %xmm6,%xmm5
addsd  0xafb(%rip),%xmm5
mulsd  %xmm6,%xmm5
addsd  0xaf7(%rip),%xmm5
mulsd  %xmm6,%xmm5
addsd  0xa83(%rip),%xmm5
mulsd  %xmm6,%xmm5
addsd  0xae7(%rip),%xmm5
mulsd  %xmm9,%xmm5
addsd  %xmm0,%xmm5
ucomisd %xmm5,%xmm2
jbe    1979 <gsw_c_from_sp+0x859>
movapd %xmm6,%xmm0
mulsd  %xmm6,%xmm0
unpcklpd %xmm6,%xmm0
mulpd  0xb70(%rip),%xmm0
movsd  0xa58(%rip),%xmm1
addsd  %xmm0,%xmm1
movapd %xmm0,%xmm2
unpckhpd %xmm0,%xmm2
movsd  %xmm3,0x8(%rsp)
movsd  0x726(%rip),%xmm3
movapd %xmm2,%xmm4
addsd  %xmm3,%xmm4
mulsd  %xmm2,%xmm4
addsd  %xmm3,%xmm4
unpcklpd %xmm4,%xmm1
mulpd  %xmm0,%xmm1
addpd  0xaee(%rip),%xmm1
movsd  0xa76(%rip),%xmm0
mulsd  %xmm9,%xmm0
movapd 0xb29(%rip),%xmm2
unpcklpd %xmm0,%xmm2
divpd  %xmm1,%xmm2
subsd  %xmm2,%xmm5
unpckhpd %xmm2,%xmm2
subsd  %xmm2,%xmm5
movsd  %xmm5,0x30(%rsp)
movsd  (%rsp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
movsd  0x30(%rsp),%xmm5
movsd  0x8(%rsp),%xmm3
movsd  0x9c7(%rip),%xmm2
movapd 0x10(%rsp),%xmm6
movapd 0x40(%rsp),%xmm9
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  %xmm0,%xmm5
movsd  0x20(%rsp),%xmm0
movapd %xmm5,%xmm4
subsd  %xmm0,%xmm4
movapd %xmm4,%xmm1
divsd  %xmm3,%xmm1
movapd %xmm6,%xmm0
subsd  %xmm1,%xmm0
addsd  %xmm6,%xmm0
mulsd  0x9f5(%rip),%xmm0
movsd  0x92d(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x929(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x925(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x921(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x91d(%rip),%xmm1
movsd  0x91d(%rip),%xmm7
mulsd  %xmm0,%xmm7
addsd  0x919(%rip),%xmm7
mulsd  %xmm0,%xmm7
addsd  0x915(%rip),%xmm7
mulsd  %xmm0,%xmm7
addsd  0x911(%rip),%xmm7
mulsd  %xmm0,%xmm7
addsd  0x90d(%rip),%xmm7
mulsd  %xmm9,%xmm7
addsd  %xmm1,%xmm7
ucomisd %xmm5,%xmm2
jbe    1b08 <gsw_c_from_sp+0x9e8>
movapd %xmm0,%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm9,%xmm1
unpcklpd %xmm0,%xmm1
unpcklpd %xmm2,%xmm0
mulpd  0x9ad(%rip),%xmm0
movapd %xmm0,%xmm2
unpckhpd %xmm0,%xmm2
addsd  0x8dd(%rip),%xmm2
movsd  0x5bd(%rip),%xmm3
movsd  %xmm4,0x8(%rsp)
movapd %xmm0,%xmm4
addsd  %xmm3,%xmm4
mulsd  %xmm0,%xmm4
addsd  %xmm3,%xmm4
unpcklpd %xmm2,%xmm4
mulpd  %xmm0,%xmm4
addpd  0x97f(%rip),%xmm4
mulpd  0x987(%rip),%xmm1
movsd  0x8a7(%rip),%xmm2
mulsd  %xmm0,%xmm2
addsd  0x8a3(%rip),%xmm2
shufpd $0x2,0x97a(%rip),%xmm2
mulpd  %xmm0,%xmm2
addpd  0x97e(%rip),%xmm2
mulpd  %xmm1,%xmm2
mulpd  %xmm4,%xmm4
divpd  %xmm4,%xmm2
movapd %xmm2,%xmm0
unpckhpd %xmm2,%xmm0
addsd  %xmm7,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
mov    $0x1,%al
call   1030 <gsw_hill_ratio_at_sp2@plt>
movsd  0x8(%rsp),%xmm4
movsd  0x83a(%rip),%xmm2
movapd 0x10(%rsp),%xmm6
movapd 0x40(%rsp),%xmm9
xorps  %xmm7,%xmm7
cvtsi2sd %eax,%xmm7
mulsd  0x30(%rsp),%xmm7
divsd  %xmm7,%xmm4
subsd  %xmm4,%xmm6
movsd  0x830(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0x82c(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0x828(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0x824(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0x7b0(%rip),%xmm0
mulsd  %xmm6,%xmm0
addsd  0x814(%rip),%xmm0
movsd  0x814(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0x810(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0x80c(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0x808(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0x794(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  0x7f8(%rip),%xmm3
mulsd  %xmm9,%xmm3
addsd  %xmm0,%xmm3
ucomisd %xmm3,%xmm2
jbe    1c5a <gsw_c_from_sp+0xb3a>
movapd %xmm6,%xmm0
mulsd  %xmm6,%xmm0
unpcklpd %xmm6,%xmm0
mulpd  0x881(%rip),%xmm0
movsd  0x769(%rip),%xmm1
addsd  %xmm0,%xmm1
movapd %xmm0,%xmm2
unpckhpd %xmm0,%xmm2
movsd  0x43d(%rip),%xmm5
movapd %xmm2,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm2,%xmm4
addsd  %xmm5,%xmm4
unpcklpd %xmm4,%xmm1
mulpd  %xmm0,%xmm1
addpd  0x805(%rip),%xmm1
mulsd  0x78c(%rip),%xmm9
movapd 0x844(%rip),%xmm0
unpcklpd %xmm9,%xmm0
divpd  %xmm1,%xmm0
subsd  %xmm0,%xmm3
unpckhpd %xmm0,%xmm0
subsd  %xmm0,%xmm3
movsd  %xmm3,0x40(%rsp)
movsd  (%rsp),%xmm0
mov    $0x1,%al
movapd %xmm6,0x10(%rsp)
movsd  %xmm7,(%rsp)
call   1030 <gsw_hill_ratio_at_sp2@plt>
movsd  0x40(%rsp),%xmm3
movsd  (%rsp),%xmm7
movapd 0x10(%rsp),%xmm6
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  %xmm0,%xmm3
movapd 0x50(%rsp),%xmm5
movsd  0x20(%rsp),%xmm0
subsd  %xmm0,%xmm3
movsd  0x72e(%rip),%xmm0
mulsd  %xmm5,%xmm0
addsd  0x72a(%rip),%xmm0
movapd %xmm5,%xmm1
shufpd $0x2,0x7d5(%rip),%xmm0
unpcklpd %xmm5,%xmm1
mulpd  %xmm1,%xmm0
addpd  0x7d5(%rip),%xmm0
movsd  0x70d(%rip),%xmm1
movapd 0x70(%rsp),%xmm4
mulsd  %xmm4,%xmm1
addsd  0x703(%rip),%xmm1
movsd  0x703(%rip),%xmm2
mulsd  %xmm5,%xmm2
addsd  0x6ff(%rip),%xmm2
divsd  %xmm7,%xmm3
mulsd  %xmm5,%xmm2
addsd  0x6f7(%rip),%xmm2
subsd  %xmm3,%xmm6
mulsd  %xmm5,%xmm2
addsd  0x6ef(%rip),%xmm2
mulsd  %xmm6,%xmm6
movapd %xmm4,%xmm3
unpcklpd %xmm2,%xmm3
unpcklpd %xmm5,%xmm1
mulpd  %xmm3,%xmm1
addpd  0x77b(%rip),%xmm1
movapd %xmm0,%xmm3
unpcklpd %xmm6,%xmm4
mulpd  %xmm1,%xmm4
movapd %xmm0,%xmm2
mulpd  %xmm4,%xmm2
addsd  %xmm0,%xmm4
movapd %xmm0,%xmm5
unpckhpd %xmm0,%xmm5
unpckhpd %xmm1,%xmm1
mulsd  %xmm5,%xmm1
mulsd  %xmm6,%xmm1
subsd  %xmm1,%xmm3
unpckhpd %xmm2,%xmm2
mulsd  %xmm4,%xmm2
mulsd  0x69b(%rip),%xmm2
movapd %xmm3,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1d61 <gsw_c_from_sp+0xc41>
sqrtsd %xmm0,%xmm0
jmp    1d7e <gsw_c_from_sp+0xc5e>
movapd %xmm3,0x20(%rsp)
movapd %xmm5,0x10(%rsp)
call   1040 <sqrt@plt>
movapd 0x10(%rsp),%xmm5
movapd 0x20(%rsp),%xmm3
subsd  %xmm3,%xmm0
mulsd  0x60e(%rip),%xmm0
divsd  %xmm5,%xmm0
mulsd  0x652(%rip),%xmm0
add    $0x88,%rsp
ret

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

LLVM IR (-O2):
define double @gsw_c_from_sp(double %0, double %1, double %2) {
%4 = fmul double %1, 1.000240e+00
%5 = fadd double %4, -1.500000e+01
%6 = tail call double @llvm.fmuladd.f64(double %5, double 1.620000e-02, double 1.000000e+00)
%7 = fdiv double %5, %6
%8 = tail call double @sqrt(double %0)
%9 = fcmp ogt double %0, 9.000000e+00
br i1 %9, label %10, label %32
10: ; preds = %3
%11 = tail call double @llvm.fmuladd.f64(double %4, double 0x3F248DC503D77398, double 0x3FC8A0B9A4B39356)
%12 = tail call double @llvm.fmuladd.f64(double %4, double 0xBEF4715001F0E80F, double 0xBF7DDE614F4E620C)
%13 = tail call double @llvm.fmuladd.f64(double %4, double 0xBEC2E969ACC85F72, double 0x3F4DC642AC8D5CF3)
%14 = tail call double @llvm.fmuladd.f64(double %4, double 0x3E85E6A5BE97E8C8, double 0xBF13B887AAC153F9)
%15 = tail call double @llvm.fmuladd.f64(double %8, double 0x3EC2F45915D5748F, double %14)
%16 = tail call double @llvm.fmuladd.f64(double %8, double %15, double %13)
%17 = tail call double @llvm.fmuladd.f64(double %8, double %16, double %12)
%18 = tail call double @llvm.fmuladd.f64(double %8, double %17, double %11)
%19 = tail call double @llvm.fmuladd.f64(double %8, double %18, double 0x3F72C02C27F418C3)
%20 = fmul double %8, %8
%21 = tail call double @llvm.fmuladd.f64(double %8, double 0xBE397A2596ED8E50, double 0x3EA4BC92A78FB23F)
%22 = tail call double @llvm.fmuladd.f64(double %20, double %21, double 0xBEB8D03C7FA6CB85)
%23 = tail call double @llvm.fmuladd.f64(double %8, double 0xBECB0976EF61CF36, double %22)
%24 = tail call double @llvm.fmuladd.f64(double %8, double 0xBE342870697CA5F6, double 0x3E45955813600E59)
%25 = tail call double @llvm.fmuladd.f64(double %8, double %24, double 0x3E7F908743DB7C8C)
%26 = tail call double @llvm.fmuladd.f64(double %8, double 0x3DF1AC747317B6F0, double 0xBE20865C7A1264EF)
%27 = tail call double @llvm.fmuladd.f64(double %4, double 0x3D927769E7C3F98A, double %26)
%28 = tail call double @llvm.fmuladd.f64(double %4, double %27, double %25)
%29 = tail call double @llvm.fmuladd.f64(double %4, double %28, double %23)
%30 = tail call double @llvm.fmuladd.f64(double %4, double %29, double 0x3EF6E64931D1ABDB)
%31 = tail call double @llvm.fmuladd.f64(double %4, double %30, double %19)
br label %32
32: ; preds = %10, %3
%33 = phi double [ %31, %10 ], [ undef, %3 ]
%34 = fcmp oge double %0, 2.500000e-01
%35 = fcmp olt double %0, 9.000000e+00
%36 = and i1 %34, %35
br i1 %36, label %37, label %59
37: ; preds = %32
%38 = tail call double @llvm.fmuladd.f64(double %4, double 0x3F30272CC48FB0A2, double 0x3FC9CC203D264EAE)
%39 = tail call double @llvm.fmuladd.f64(double %4, double 0x3F17CED147692F39, double 0xBF900BEBDC9CB320)
%40 = tail call double @llvm.fmuladd.f64(double %4, double 0x3EF5AA2DB01F2885, double 0x3F74C5CCF37761E2)
%41 = tail call double @llvm.fmuladd.f64(double %4, double 0xBEC44D7FB8116979, double 0xBF52BD7D0A7D4307)
%42 = tail call double @llvm.fmuladd.f64(double %8, double 0x3F1D6137B2EC9C8A, double %41)
%43 = tail call double @llvm.fmuladd.f64(double %8, double %42, double %40)
%44 = tail call double @llvm.fmuladd.f64(double %8, double %43, double %39)
%45 = tail call double @llvm.fmuladd.f64(double %8, double %44, double %38)
%46 = tail call double @llvm.fmuladd.f64(double %8, double %45, double 0x3F0D0CDDAAC8FEAA)
%47 = fmul double %8, %8
%48 = tail call double @llvm.fmuladd.f64(double %8, double 0xBE69A279B968B42B, double 0x3EA91BC4AE76EBA3)
%49 = tail call double @llvm.fmuladd.f64(double %47, double %48, double 0xBE91489A8A8999A7)
%50 = tail call double @llvm.fmuladd.f64(double %8, double 0xBECE7F01BB278693, double %49)
%51 = tail call double @llvm.fmuladd.f64(double %8, double 0xBE3260DA08821E45, double 0x3E65941D0F348CD4)
%52 = tail call double @llvm.fmuladd.f64(double %8, double %51, double 0x3E58275A3C3A6711)
%53 = tail call double @llvm.fmuladd.f64(double %8, double 0xBDEC1E1F20831D50, double 0xBE03C6A6BA122051)
%54 = tail call double @llvm.fmuladd.f64(double %4, double 0x3D9619C51AB290A8, double %53)
%55 = tail call double @llvm.fmuladd.f64(double %4, double %54, double %52)
%56 = tail call double @llvm.fmuladd.f64(double %4, double %55, double %50)
%57 = tail call double @llvm.fmuladd.f64(double %4, double %56, double 0xBEEE4F730038AF59)
%58 = tail call double @llvm.fmuladd.f64(double %4, double %57, double %46)
br label %59
59: ; preds = %37, %32
%60 = phi double [ %58, %37 ], [ %33, %32 ]
%61 = fcmp oge double %0, 3.000000e-03
%62 = fcmp olt double %0, 2.500000e-01
%63 = and i1 %61, %62
br i1 %63, label %64, label %86
64: ; preds = %59
%65 = tail call double @llvm.fmuladd.f64(double %4, double 0xBF1081B260014AC7, double 0x3FC569E4330686D8)
%66 = tail call double @llvm.fmuladd.f64(double %4, double 0x3F4918D71551B759, double 0x3FBBB4BEDFE5EC01)
%67 = tail call double @llvm.fmuladd.f64(double %4, double 0xBF5104AD88633275, double 0xBFC7CDE6B08FAFC7)
%68 = tail call double @llvm.fmuladd.f64(double %4, double 0x3F40527AB045BF6E, double 0x3FB9A11338820194)
%69 = tail call double @llvm.fmuladd.f64(double %8, double 0x3F84FA84D3C77DAF, double %68)
%70 = tail call double @llvm.fmuladd.f64(double %8, double %69, double %67)
%71 = tail call double @llvm.fmuladd.f64(double %8, double %70, double %66)
%72 = tail call double @llvm.fmuladd.f64(double %8, double %71, double %65)
%73 = tail call double @llvm.fmuladd.f64(double %8, double %72, double 0x3F6C1E05FB534E3A)
%74 = fmul double %8, %8
%75 = tail call double @llvm.fmuladd.f64(double %8, double 0x3ED2BB6CCAC9EBCF, double 0xBEDA1F2C48B9567E)
%76 = tail call double @llvm.fmuladd.f64(double %74, double %75, double 0xBE9E7C6DA4141D19)
%77 = tail call double @llvm.fmuladd.f64(double %8, double 0xBEA0169529CB9139, double %76)
%78 = tail call double @llvm.fmuladd.f64(double %8, double 0x3E550E018FA8CE74, double 0x3E5E0CA2ADECB5E7)
%79 = tail call double @llvm.fmuladd.f64(double %8, double %78, double 0x3E4161605E97DF25)
%80 = tail call double @llvm.fmuladd.f64(double %8, double 0xBDF2B6A1F97370BF, double 0xBDE2777499C70EE8)
%81 = tail call double @llvm.fmuladd.f64(double %4, double 0x3D73BDF16B4DAE5E, double %80)
%82 = tail call double @llvm.fmuladd.f64(double %4, double %81, double %79)
%83 = tail call double @llvm.fmuladd.f64(double %4, double %82, double %77)
%84 = tail call double @llvm.fmuladd.f64(double %4, double %83, double 0x3EFBAF835E5DF6A4)
%85 = tail call double @llvm.fmuladd.f64(double %4, double %84, double %73)
br label %86
86: ; preds = %64, %59
%87 = phi double [ %85, %64 ], [ %60, %59 ]
%88 = fcmp olt double %0, 3.000000e-03
br i1 %88, label %89, label %111
89: ; preds = %86
%90 = tail call double @llvm.fmuladd.f64(double %4, double 0xBF37CC6C279D19BD, double 0x3F513CD0BB38D0D9)
%91 = tail call double @llvm.fmuladd.f64(double %4, double 0xBF5E2685B3CA6C19, double 0x401C72EACDAD2569)
%92 = tail call double @llvm.fmuladd.f64(double %4, double 0x3FC4E9FA00B00FD8, double 0xC063B609A93B6047)
%93 = tail call double @llvm.fmuladd.f64(double %4, double 0xBFF689C51B7F3196, double 0x409C89EE635E974C)
%94 = tail call double @llvm.fmuladd.f64(double %8, double 0xC0C0AF2DB828C7F2, double %93)
%95 = tail call double @llvm.fmuladd.f64(double %8, double %94, double %92)
%96 = tail call double @llvm.fmuladd.f64(double %8, double %95, double %91)
%97 = tail call double @llvm.fmuladd.f64(double %8, double %96, double %90)
%98 = tail call double @llvm.fmuladd.f64(double %8, double %97, double 0x3F75382DE03469F4)
%99 = fmul double %8, %8
%100 = tail call double @llvm.fmuladd.f64(double %8, double 0x3F25C296BAE9F96E, double 0xBF181EC0546698B0)
%101 = tail call double @llvm.fmuladd.f64(double %99, double %100, double 0xBEA89DD466CC1074)
%102 = tail call double @llvm.fmuladd.f64(double %8, double 0x3EE2161FE590833A, double %101)
%103 = tail call double @llvm.fmuladd.f64(double %8, double 0x3EA6CEEE2E4696ED, double 0xBE78A9E0A162FE12)
%104 = tail call double @llvm.fmuladd.f64(double %8, double %103, double 0x3E4A7D66DBB68582)
%105 = tail call double @llvm.fmuladd.f64(double %8, double 0x3DF6FCB7D919F5AC, double 0xBDE3D19F790B3F67)
%106 = tail call double @llvm.fmuladd.f64(double %4, double 0x3D6D27157EBB8F79, double %105)
%107 = tail call double @llvm.fmuladd.f64(double %4, double %106, double %104)
%108 = tail call double @llvm.fmuladd.f64(double %4, double %107, double %102)
%109 = tail call double @llvm.fmuladd.f64(double %4, double %108, double 0x3F0338AE90F5157E)
%110 = tail call double @llvm.fmuladd.f64(double %4, double %109, double %98)
br label %111
111: ; preds = %89, %86
%112 = phi double [ %110, %89 ], [ %87, %86 ]
%113 = fmul double %112, 1.354050e+01
%114 = fadd double %113, -2.810440e+01
%115 = fmul double %112, %114
%116 = fadd double %115, 4.228230e+01
%117 = fmul double %112, %116
%118 = fadd double %117, 5.077020e+01
%119 = tail call double @llvm.fmuladd.f64(double %118, double %112, double -1.692000e-01)
%120 = fmul double %112, 0x3FB26E978D4FDF3B
%121 = fsub double 2.544000e-01, %120
%122 = fmul double %112, %121
%123 = fadd double %122, 0xBFBCCCCCCCCCCCCC
%124 = fmul double %112, %123
%125 = fadd double %124, -1.320000e-02
%126 = tail call double @llvm.fmuladd.f64(double %125, double %112, double -5.600000e-03)
%127 = tail call double @llvm.fmuladd.f64(double %7, double %126, double %119)
%128 = fcmp olt double %0, 2.000000e+00
br i1 %128, label %129, label %158
129: ; preds = %111
%130 = fmul double %112, %112
%131 = insertelement <2 x double> poison, double %112, i64 0
%132 = insertelement <2 x double> %131, double %130, i64 1
%133 = fmul <2 x double> %132, <double 1.000000e+01, double 4.000000e+02>
%134 = extractelement <2 x double> %133, i64 1
%135 = fadd double %134, 1.500000e+00
%136 = extractelement <2 x double> %133, i64 0
%137 = fadd double %136, 1.000000e+00
%138 = tail call double @llvm.fmuladd.f64(double %136, double %137, double 1.000000e+00)
%139 = insertelement <2 x double> poison, double %138, i64 0
%140 = insertelement <2 x double> %139, double %135, i64 1
%141 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %133, <2 x double> %140, <2 x double> <double 1.000000e+00, double 1.000000e+00>)
%142 = tail call i32 (double, ...) bitcast (i32 (...)* @gsw_hill_ratio_at_sp2 to i32 (double, ...)*)(double %1)
%143 = sitofp i32 %142 to double
%144 = insertelement <2 x double> poison, double %7, i64 0
%145 = insertelement <2 x double> %144, double %112, i64 1
%146 = fmul <2 x double> %145, <double 5.000000e-04, double 6.400000e+00>
%147 = tail call double @llvm.fmuladd.f64(double %136, double 3.000000e+01, double 2.000000e+01)
%148 = insertelement <2 x double> <double poison, double 2.000000e+00>, double %147, i64 0
%149 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %133, <2 x double> %148, <2 x double> <double 1.000000e+01, double 1.500000e+00>)
%150 = fmul <2 x double> %146, %149
%151 = fmul <2 x double> %141, %141
%152 = fdiv <2 x double> %150, %151
%153 = extractelement <2 x double> %152, i64 1
%154 = fadd double %153, %127
%155 = extractelement <2 x double> %152, i64 0
%156 = fadd double %155, %154
%157 = fmul double %156, %143
br label %158
158: ; preds = %129, %111
%159 = phi double [ %157, %129 ], [ %127, %111 ]
%160 = tail call double @llvm.fmuladd.f64(double %112, double 2.708100e+00, double -7.026100e+00)
%161 = tail call double @llvm.fmuladd.f64(double %160, double %112, double 1.409410e+01)
%162 = tail call double @llvm.fmuladd.f64(double %161, double %112, double 2.538510e+01)
%163 = tail call double @llvm.fmuladd.f64(double %162, double %112, double -1.692000e-01)
%164 = tail call double @llvm.fmuladd.f64(double %163, double %112, double 8.000000e-03)
%165 = tail call double @llvm.fmuladd.f64(double %112, double -1.440000e-02, double 6.360000e-02)
%166 = tail call double @llvm.fmuladd.f64(double %165, double %112, double -3.750000e-02)
%167 = tail call double @llvm.fmuladd.f64(double %166, double %112, double -6.600000e-03)
%168 = tail call double @llvm.fmuladd.f64(double %167, double %112, double -5.600000e-03)
%169 = tail call double @llvm.fmuladd.f64(double %168, double %112, double 5.000000e-04)
%170 = tail call double @llvm.fmuladd.f64(double %7, double %169, double %164)
%171 = fcmp olt double %170, 2.000000e+00
br i1 %171, label %172, label %195
172: ; preds = %158
%173 = fmul double %112, %112
%174 = insertelement <2 x double> poison, double %112, i64 1
%175 = insertelement <2 x double> %174, double %173, i64 0
%176 = fmul <2 x double> %175, <double 4.000000e+02, double 1.000000e+01>
%177 = extractelement <2 x double> %176, i64 0
%178 = fadd double %177, 1.500000e+00
%179 = extractelement <2 x double> %176, i64 1
%180 = fadd double %179, 1.000000e+00
%181 = tail call double @llvm.fmuladd.f64(double %179, double %180, double 1.000000e+00)
%182 = insertelement <2 x double> poison, double %178, i64 0
%183 = insertelement <2 x double> %182, double %181, i64 1
%184 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %176, <2 x double> %183, <2 x double> <double 1.000000e+00, double 1.000000e+00>)
%185 = fmul double %7, 5.000000e-04
%186 = insertelement <2 x double> <double 8.000000e-03, double poison>, double %185, i64 1
%187 = fdiv <2 x double> %186, %184
%188 = extractelement <2 x double> %187, i64 0
%189 = fsub double %170, %188
%190 = extractelement <2 x double> %187, i64 1
%191 = fsub double %189, %190
%192 = tail call i32 (double, ...) bitcast (i32 (...)* @gsw_hill_ratio_at_sp2 to i32 (double, ...)*)(double %1)
%193 = sitofp i32 %192 to double
%194 = fmul double %191, %193
br label %195
195: ; preds = %172, %158
%196 = phi double [ %194, %172 ], [ %170, %158 ]
%197 = fsub double %196, %0
%198 = fdiv double %197, %159
%199 = fsub double %112, %198
%200 = fadd double %112, %199
%201 = fmul double %200, 5.000000e-01
%202 = fmul double %201, 1.354050e+01
%203 = fadd double %202, -2.810440e+01
%204 = fmul double %201, %203
%205 = fadd double %204, 4.228230e+01
%206 = fmul double %201, %205
%207 = fadd double %206, 5.077020e+01
%208 = tail call double @llvm.fmuladd.f64(double %207, double %201, double -1.692000e-01)
%209 = fmul double %201, 0x3FB26E978D4FDF3B
%210 = fsub double 2.544000e-01, %209
%211 = fmul double %201, %210
%212 = fadd double %211, 0xBFBCCCCCCCCCCCCC
%213 = fmul double %201, %212
%214 = fadd double %213, -1.320000e-02
%215 = tail call double @llvm.fmuladd.f64(double %214, double %201, double -5.600000e-03)
%216 = tail call double @llvm.fmuladd.f64(double %7, double %215, double %208)
%217 = fcmp olt double %196, 2.000000e+00
br i1 %217, label %218, label %247
218: ; preds = %195
%219 = fmul double %201, %201
%220 = insertelement <2 x double> poison, double %201, i64 0
%221 = insertelement <2 x double> %220, double %219, i64 1
%222 = fmul <2 x double> %221, <double 1.000000e+01, double 4.000000e+02>
%223 = extractelement <2 x double> %222, i64 1
%224 = fadd double %223, 1.500000e+00
%225 = extractelement <2 x double> %222, i64 0
%226 = fadd double %225, 1.000000e+00
%227 = tail call double @llvm.fmuladd.f64(double %225, double %226, double 1.000000e+00)
%228 = insertelement <2 x double> poison, double %227, i64 0
%229 = insertelement <2 x double> %228, double %224, i64 1
%230 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %222, <2 x double> %229, <2 x double> <double 1.000000e+00, double 1.000000e+00>)
%231 = insertelement <2 x double> poison, double %7, i64 0
%232 = insertelement <2 x double> %231, double %201, i64 1
%233 = fmul <2 x double> %232, <double 5.000000e-04, double 6.400000e+00>
%234 = tail call double @llvm.fmuladd.f64(double %225, double 3.000000e+01, double 2.000000e+01)
%235 = insertelement <2 x double> <double poison, double 2.000000e+00>, double %234, i64 0
%236 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %222, <2 x double> %235, <2 x double> <double 1.000000e+01, double 1.500000e+00>)
%237 = fmul <2 x double> %233, %236
%238 = fmul <2 x double> %230, %230
%239 = fdiv <2 x double> %237, %238
%240 = extractelement <2 x double> %239, i64 1
%241 = fadd double %240, %216
%242 = extractelement <2 x double> %239, i64 0
%243 = fadd double %242, %241
%244 = tail call i32 (double, ...) bitcast (i32 (...)* @gsw_hill_ratio_at_sp2 to i32 (double, ...)*)(double %1)
%245 = sitofp i32 %244 to double
%246 = fmul double %243, %245
br label %247
247: ; preds = %218, %195
%248 = phi double [ %246, %218 ], [ %216, %195 ]
%249 = fdiv double %197, %248
%250 = fsub double %112, %249
%251 = tail call double @llvm.fmuladd.f64(double %250, double 2.708100e+00, double -7.026100e+00)
%252 = tail call double @llvm.fmuladd.f64(double %251, double %250, double 1.409410e+01)
%253 = tail call double @llvm.fmuladd.f64(double %252, double %250, double 2.538510e+01)
%254 = tail call double @llvm.fmuladd.f64(double %253, double %250, double -1.692000e-01)
%255 = tail call double @llvm.fmuladd.f64(double %254, double %250, double 8.000000e-03)
%256 = tail call double @llvm.fmuladd.f64(double %250, double -1.440000e-02, double 6.360000e-02)
%257 = tail call double @llvm.fmuladd.f64(double %256, double %250, double -3.750000e-02)
%258 = tail call double @llvm.fmuladd.f64(double %257, double %250, double -6.600000e-03)
%259 = tail call double @llvm.fmuladd.f64(double %258, double %250, double -5.600000e-03)
%260 = tail call double @llvm.fmuladd.f64(double %259, double %250, double 5.000000e-04)
%261 = tail call double @llvm.fmuladd.f64(double %7, double %260, double %255)
%262 = fcmp olt double %261, 2.000000e+00
br i1 %262, label %263, label %286
263: ; preds = %247
%264 = fmul double %250, %250
%265 = insertelement <2 x double> poison, double %264, i64 0
%266 = insertelement <2 x double> %265, double %250, i64 1
%267 = fmul <2 x double> %266, <double 4.000000e+02, double 1.000000e+01>
%268 = extractelement <2 x double> %267, i64 0
%269 = fadd double %268, 1.500000e+00
%270 = extractelement <2 x double> %267, i64 1
%271 = fadd double %270, 1.000000e+00
%272 = tail call double @llvm.fmuladd.f64(double %270, double %271, double 1.000000e+00)
%273 = insertelement <2 x double> poison, double %269, i64 0
%274 = insertelement <2 x double> %273, double %272, i64 1
%275 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %267, <2 x double> %274, <2 x double> <double 1.000000e+00, double 1.000000e+00>)
%276 = fmul double %7, 5.000000e-04
%277 = insertelement <2 x double> <double 8.000000e-03, double poison>, double %276, i64 1
%278 = fdiv <2 x double> %277, %275
%279 = extractelement <2 x double> %278, i64 0
%280 = fsub double %261, %279
%281 = extractelement <2 x double> %278, i64 1
%282 = fsub double %280, %281
%283 = tail call i32 (double, ...) bitcast (i32 (...)* @gsw_hill_ratio_at_sp2 to i32 (double, ...)*)(double %1)
%284 = sitofp i32 %283 to double
%285 = fmul double %282, %284
br label %286
286: ; preds = %263, %247
%287 = phi double [ %285, %263 ], [ %261, %247 ]
%288 = fsub double %287, %0
%289 = fdiv double %288, %248
%290 = fsub double %250, %289
%291 = fmul double %290, %290
%292 = tail call double @llvm.fmuladd.f64(double %4, double 4.464000e-04, double 3.426000e-02)
%293 = insertelement <2 x double> poison, double %4, i64 0
%294 = shufflevector <2 x double> %293, <2 x double> poison, <2 x i32> zeroinitializer
%295 = insertelement <2 x double> <double poison, double -3.107000e-03>, double %292, i64 0
%296 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %294, <2 x double> %295, <2 x double> <double 1.000000e+00, double 4.215000e-01>)
%297 = tail call double @llvm.fmuladd.f64(double %2, double 3.989000e-15, double -6.370000e-10)
%298 = tail call double @llvm.fmuladd.f64(double %4, double 1.003100e-09, double -6.969800e-07)
%299 = tail call double @llvm.fmuladd.f64(double %298, double %4, double 0x3F1CF28E843B034E)
%300 = tail call double @llvm.fmuladd.f64(double %299, double %4, double 2.005640e-02)
%301 = insertelement <2 x double> poison, double %2, i64 0
%302 = insertelement <2 x double> %301, double %300, i64 1
%303 = insertelement <2 x double> poison, double %4, i64 1
%304 = insertelement <2 x double> %303, double %297, i64 0
%305 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %302, <2 x double> %304, <2 x double> <double 2.070000e-05, double 0x3FE5A6C962B500FE>)
%306 = extractelement <2 x double> %296, i64 1
%307 = fneg double %306
%308 = extractelement <2 x double> %305, i64 1
%309 = fmul double %308, %307
%310 = extractelement <2 x double> %296, i64 0
%311 = tail call double @llvm.fmuladd.f64(double %309, double %291, double %310)
%312 = insertelement <2 x double> %301, double %291, i64 1
%313 = fmul <2 x double> %305, %312
%314 = fadd <2 x double> %296, %313
%315 = fmul <2 x double> %296, %313
%316 = shufflevector <2 x double> %315, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%317 = fmul <2 x double> %314, %316
%318 = extractelement <2 x double> %317, i64 0
%319 = fmul double %318, 4.000000e+00
%320 = tail call double @llvm.fmuladd.f64(double %311, double %311, double %319)
%321 = tail call double @sqrt(double %320)
%322 = fsub double %321, %311
%323 = fmul double %322, 5.000000e-01
%324 = fdiv double %323, %306
%325 = fmul double %324, 4.291400e+01
ret double %325
}