double gsw_cabbeling(double sa, double ct, double p) {
  double v01 = 9.998420897506056e2, v02 = 2.839940833161907e0,
         v03 = -3.147759265588511e-2, v04 = 1.181805545074306e-3,
         v05 = -6.698001071123802e0, v06 = -2.986498947203215e-2,
         v07 = 2.327859407479162e-4, v08 = -3.988822378968490e-2,
         v09 = 5.095422573880500e-4, v10 = -1.426984671633621e-5,
         v11 = 1.645039373682922e-7, v12 = -2.233269627352527e-2,
         v13 = -3.436090079851880e-4, v14 = 3.726050720345733e-6,
         v15 = -1.806789763745328e-4, v16 = 6.876837219536232e-7,
         v17 = -3.087032500374211e-7, v18 = -1.988366587925593e-8,
         v19 = -1.061519070296458e-11, v20 = 1.550932729220080e-10, v21 = 1.0e0,
         v22 = 2.775927747785646e-3, v23 = -2.349607444135925e-5,
         v24 = 1.119513357486743e-6, v25 = 6.743689325042773e-10,
         v26 = -7.521448093615448e-3, v27 = -2.764306979894411e-5,
         v28 = 1.262937315098546e-7, v29 = 9.527875081696435e-10,
         v30 = -1.811147201949891e-11, v31 = -3.303308871386421e-5,
         v32 = 3.801564588876298e-7, v33 = -7.672876869259043e-9,
         v34 = -4.634182341116144e-11, v35 = 2.681097235569143e-12,
         v36 = 5.419326551148740e-6, v37 = -2.742185394906099e-5,
         v38 = -3.212746477974189e-7, v39 = 3.191413910561627e-9,
         v40 = -1.931012931541776e-12, v41 = -1.105097577149576e-7,
         v42 = 6.211426728363857e-10, v43 = -1.119011592875110e-10,
         v44 = -1.941660213148725e-11, v45 = -1.864826425365600e-14,
         v46 = 1.119522344879478e-14, v47 = -1.200507748551599e-15,
         v48 = 6.057902487546866e-17, a01 = 2.839940833161907e0,
         a02 = -6.295518531177023e-2, a03 = 3.545416635222918e-3,
         a04 = -2.986498947203215e-2, a05 = 4.655718814958324e-4,
         a06 = 5.095422573880500e-4, a07 = -2.853969343267241e-5,
         a08 = 4.935118121048767e-7, a09 = -3.436090079851880e-4,
         a10 = 7.452101440691467e-6, a11 = 6.876837219536232e-7,
         a12 = -1.988366587925593e-8, a13 = -2.123038140592916e-11,
         a14 = 2.775927747785646e-3, a15 = -4.699214888271850e-5,
         a16 = 3.358540072460230e-6, a17 = 2.697475730017109e-9,
         a18 = -2.764306979894411e-5, a19 = 2.525874630197091e-7,
         a20 = 2.858362524508931e-9, a21 = -7.244588807799565e-11,
         a22 = 3.801564588876298e-7, a23 = -1.534575373851809e-8,
         a24 = -1.390254702334843e-10, a25 = 1.072438894227657e-11,
         a26 = -3.212746477974189e-7, a27 = 6.382827821123254e-9,
         a28 = -5.793038794625329e-12, a29 = 6.211426728363857e-10,
         a30 = -1.941660213148725e-11, a31 = -3.729652850731201e-14,
         a32 = 1.119522344879478e-14, a33 = 6.057902487546866e-17,
         b01 = -6.698001071123802e0, b02 = -2.986498947203215e-2,
         b03 = 2.327859407479162e-4, b04 = -5.983233568452735e-2,
         b05 = 7.643133860820750e-4, b06 = -2.140477007450431e-5,
         b07 = 2.467559060524383e-7, b08 = -1.806789763745328e-4,
         b09 = 6.876837219536232e-7, b10 = 1.550932729220080e-10,
         b11 = -7.521448093615448e-3, b12 = -2.764306979894411e-5,
         b13 = 1.262937315098546e-7, b14 = 9.527875081696435e-10,
         b15 = -1.811147201949891e-11, b16 = -4.954963307079632e-5,
         b17 = 5.702346883314446e-7, b18 = -1.150931530388857e-8,
         b19 = -6.951273511674217e-11, b20 = 4.021645853353715e-12,
         b21 = 1.083865310229748e-5, b22 = -1.105097577149576e-7,
         b23 = 6.211426728363857e-10, b24 = 1.119522344879478e-14;
  double sqrtsa, v_hat_denominator, v_hat_numerator;
  double dvhatden_dct, dvhatnum_dct, dvhatden_dctdct, dvhatden_dctdsa;
  double dvhatden_dsa, dvhatnum_dsa, dvhatnum_dsadsa, dvhatden_dsadsa;
  double dvhatnum_dctdct, dvhatnum_dsadct, dvhatnum_dctdsa;
  double p1a, p1b, p1c, p1d, part1, factor2a, factor2b;
  double p2a, p2b, p2c, p2d, p2e, part2;
  double factor3a, factor3b, p3a, p3b, p3c, p3d, part3;
  sqrtsa = sqrt(sa);
  v_hat_denominator =
      v01 + ct * (v02 + ct * (v03 + v04 * ct)) +
      sa * (v05 + ct * (v06 + v07 * ct) +
            sqrtsa * (v08 + ct * (v09 + ct * (v10 + v11 * ct)))) +
      p * (v12 + ct * (v13 + v14 * ct) + sa * (v15 + v16 * ct) +
           p * (v17 + ct * (v18 + v19 * ct) + v20 * sa));
  v_hat_numerator =
      v21 + ct * (v22 + ct * (v23 + ct * (v24 + v25 * ct))) +
      sa * (v26 + ct * (v27 + ct * (v28 + ct * (v29 + v30 * ct))) + v36 * sa +
            sqrtsa * (v31 + ct * (v32 + ct * (v33 + ct * (v34 + v35 * ct))))) +
      p * (v37 + ct * (v38 + ct * (v39 + v40 * ct)) + sa * (v41 + v42 * ct) +
           p * (v43 + ct * (v44 + v45 * ct + v46 * sa) + p * (v47 + v48 * ct)));
  dvhatden_dct =
      a01 + ct * (a02 + a03 * ct) +
      sa * (a04 + a05 * ct + sqrtsa * (a06 + ct * (a07 + a08 * ct))) +
      p * (a09 + a10 * ct + a11 * sa + p * (a12 + a13 * ct));
  dvhatnum_dct = a14 + ct * (a15 + ct * (a16 + a17 * ct)) +
                 sa * (a18 + ct * (a19 + ct * (a20 + a21 * ct)) +
                       sqrtsa * (a22 + ct * (a23 + ct * (a24 + a25 * ct)))) +
                 p * (a26 + ct * (a27 + a28 * ct) + a29 * sa +
                      p * (a30 + a31 * ct + a32 * sa + a33 * p));
  dvhatden_dctdct = a02 + 2e0 * a03 * ct +
                    sa * (a05 + sqrtsa * (a07 + 2e0 * a08 * ct)) +
                    p * (a10 + a13 * p);
  dvhatden_dctdsa = a04 + a05 * ct +
                    (3e0 / 2e0) * sqrtsa * (a06 + ct * (a07 + a08 * ct)) +
                    a11 * p;
  dvhatden_dsa = b01 + ct * (b02 + b03 * ct) +
                 sqrtsa * (b04 + ct * (b05 + ct * (b06 + b07 * ct))) +
                 p * (b08 + b09 * ct + b10 * p);
  dvhatnum_dsa =
      b11 + ct * (b12 + ct * (b13 + ct * (b14 + b15 * ct))) +
      sqrtsa * (b16 + ct * (b17 + ct * (b18 + ct * (b19 + b20 * ct)))) +
      b21 * sa + p * (b22 + ct * (b23 + b24 * p));
  dvhatnum_dctdct = a15 + ct * (2 * a16 + 3 * a17 * ct) +
                    sa * (a19 + ct * (2 * a20 + 3 * a21 * ct) +
                          sqrtsa * (a23 + ct * (2 * a24 + 3 * a25 * ct))) +
                    p * (a27 + 2 * a28 * ct + a31 * p);
  dvhatnum_dctdsa =
      a18 + ct * (a19 + ct * (a20 + a21 * ct)) +
      (3e0 / 2e0) * sqrtsa * (a22 + ct * (a23 + ct * (a24 + a25 * ct))) +
      p * (a29 + p * a32);
  dvhatnum_dsadsa =
      (1e0 / (2e0 * sqrtsa)) *
          (b16 + ct * (b17 + ct * (b18 + ct * (b19 + b20 * ct)))) +
      b21;
  dvhatden_dsadsa =
      (1e0 / (2e0 * sqrtsa)) * (b04 + ct * (b05 + ct * (b06 + b07 * ct)));
  p1a = dvhatnum_dctdct / v_hat_numerator;
  p1b = (dvhatnum_dct * dvhatden_dct) / (v_hat_numerator * v_hat_denominator);
  p1c = dvhatden_dctdct / v_hat_denominator;
  p1d = dvhatden_dct / v_hat_denominator;
  part1 = p1a - 2e0 * p1b - p1c + 2e0 * p1d * p1d;
  factor2a =
      (v_hat_denominator * dvhatnum_dct - v_hat_numerator * dvhatden_dct);
  factor2b =
      (v_hat_denominator * dvhatnum_dsa - v_hat_numerator * dvhatden_dsa);
  p2a = dvhatnum_dctdsa / v_hat_numerator;
  p2b = (dvhatnum_dct * dvhatden_dsa) / (v_hat_numerator * v_hat_denominator);
  p2c = (dvhatnum_dsa * dvhatden_dct) / (v_hat_numerator * v_hat_denominator);
  p2d = dvhatden_dctdsa / v_hat_denominator;
  p2e = (dvhatden_dct * dvhatden_dsa) / (v_hat_denominator * v_hat_denominator);
  part2 = p2a - p2b - p2c - p2d + 2e0 * p2e;
  factor3a =
      (v_hat_denominator * dvhatnum_dct - v_hat_numerator * dvhatden_dct);
  factor3b =
      (v_hat_denominator * dvhatnum_dsa - v_hat_numerator * dvhatden_dsa);
  p3a = dvhatnum_dsadsa / v_hat_numerator;
  p3b = (dvhatnum_dsa * dvhatden_dsa) / (v_hat_numerator * v_hat_denominator);
  p3c = (v_hat_numerator * dvhatden_dsadsa) /
        (v_hat_numerator * v_hat_denominator);
  p3d = dvhatden_dsa / v_hat_denominator;
  part3 = p3a - 2e0 * p3b - p3c + 2e0 * p3d * p3d;
  return (part1 - 2e0 * (factor2a / factor2b) * part2 +
          (factor3a / factor3b) * (factor3a / factor3b) * part3);
}


x86 assembly (clang, -O0):
<gsw_cabbeling>:
push   %rbp
mov    %rsp,%rbp
sub    $0x470,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  0x2146(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  0x2079(%rip),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0x2124(%rip),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  0x210f(%rip),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1f72(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  0x1f5d(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x1f48(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x20d3(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x1ffe(%rip),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x20b1(%rip),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x209c(%rip),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x2087(%rip),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1fb2(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x2065(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1eb5(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x1e9d(%rip),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x202d(%rip),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x1f55(%rip),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x2005(%rip),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x1e55(%rip),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x1dbd(%rip),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x1f05(%rip),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0x1fbd(%rip),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x1fa5(%rip),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x1f8d(%rip),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x1ded(%rip),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x1dd5(%rip),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  0x1dbd(%rip),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x1da5(%rip),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x1d8d(%rip),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x1f25(%rip),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x1e2d(%rip),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x1efd(%rip),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x1ee5(%rip),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0x1ecd(%rip),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x1eb5(%rip),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x1e9d(%rip),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x1dad(%rip),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  0x1e75(%rip),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  0x1e5d(%rip),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  0x1ca5(%rip),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  0x1c8d(%rip),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  0x1e25(%rip),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x1d35(%rip),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  0x1dfd(%rip),%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  0x1c45(%rip),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  0x1dd5(%rip),%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  0x1ce5(%rip),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  0x1dad(%rip),%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  0x1d95(%rip),%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  0x1d7d(%rip),%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  0x1c95(%rip),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  0x1d55(%rip),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  0x1d3d(%rip),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  0x1d25(%rip),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  0x1d0d(%rip),%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  0x1cf5(%rip),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  0x1cdd(%rip),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  0x1bed(%rip),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  0x1cb5(%rip),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x1c9d(%rip),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x1c85(%rip),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  0x1c6d(%rip),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  0x1c55(%rip),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0x1c3d(%rip),%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  0x1b65(%rip),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  0x1c15(%rip),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  0x1bfd(%rip),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  0x1be5(%rip),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x1bcd(%rip),%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  0x1bb5(%rip),%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  0x1b9d(%rip),%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  0x1b85(%rip),%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  0x1b6d(%rip),%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  0x1b55(%rip),%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  0x1b3d(%rip),%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  0x1a5d(%rip),%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  0x1b15(%rip),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  0x1afd(%rip),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  0x1a25(%rip),%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  0x1ad5(%rip),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0x1abd(%rip),%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0x1aa5(%rip),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  0x1a8d(%rip),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0x1a75(%rip),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  0x1a5d(%rip),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  0x1a45(%rip),%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  0x1a2d(%rip),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  0x1a15(%rip),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0x19fd(%rip),%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  0x19e5(%rip),%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  0x19cd(%rip),%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  0x19b5(%rip),%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  0x199d(%rip),%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  0x1985(%rip),%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
movsd  0x196d(%rip),%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  0x1955(%rip),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  0x193d(%rip),%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  0x1925(%rip),%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
movsd  0x190d(%rip),%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  0x18f5(%rip),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  0x18dd(%rip),%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  0x18c5(%rip),%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
movsd  0x18ad(%rip),%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
movsd  0x1895(%rip),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
call   1030 <sqrt@plt>
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x20(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm3
movsd  -0x10(%rbp),%xmm2
movsd  -0x30(%rbp),%xmm5
movsd  -0x38(%rbp),%xmm4
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm2
movsd  -0x10(%rbp),%xmm3
movsd  -0x48(%rbp),%xmm5
movsd  -0x50(%rbp),%xmm4
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm5
movsd  -0x10(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm7
movsd  -0x10(%rbp),%xmm6
movsd  -0x68(%rbp),%xmm9
movsd  -0x70(%rbp),%xmm8
movsd  -0x10(%rbp),%xmm10
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  -0x18(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm3
movsd  -0x10(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm5
movsd  -0x88(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  -0x90(%rbp),%xmm5
ff
movsd  -0x98(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x18(%rbp),%xmm2
movsd  -0xa0(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm5
movsd  -0xa8(%rbp),%xmm7
ff
movsd  -0xb0(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0xb8(%rbp),%xmm4
ff
movsd  -0x8(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0xc0(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0xc8(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0xd0(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0xd8(%rbp),%xmm7
ff
movsd  -0xe0(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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  -0x8(%rbp),%xmm1
movsd  -0xe8(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0xf0(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0xf8(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm6
movsd  -0x100(%rbp),%xmm9
ff ff
movsd  -0x108(%rbp),%xmm8
ff ff
movsd  -0x10(%rbp),%xmm10
mulsd  %xmm10,%xmm8
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x8(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x110(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x118(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm6
movsd  -0x120(%rbp),%xmm9
ff ff
movsd  -0x10(%rbp),%xmm8
movsd  -0x128(%rbp),%xmm11
ff ff
movsd  -0x130(%rbp),%xmm10
ff ff
movsd  -0x10(%rbp),%xmm12
mulsd  %xmm12,%xmm10
addsd  %xmm11,%xmm10
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  -0x18(%rbp),%xmm0
movsd  -0x140(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x148(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x150(%rbp),%xmm7
ff
movsd  -0x158(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  -0x160(%rbp),%xmm5
ff
movsd  -0x168(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x18(%rbp),%xmm2
movsd  -0x170(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm5
movsd  -0x178(%rbp),%xmm6
ff
movsd  -0x180(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm8
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x188(%rbp),%xmm6
ff
movsd  -0x8(%rbp),%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x18(%rbp),%xmm4
movsd  -0x190(%rbp),%xmm7
ff
movsd  -0x198(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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,-0x378(%rbp)
ff
movsd  -0x1a0(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x1a8(%rbp),%xmm3
ff
movsd  -0x1b0(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  -0x1b8(%rbp),%xmm2
ff
movsd  -0x1c0(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x1c8(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x1d0(%rbp),%xmm7
ff
movsd  -0x1d8(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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  -0x18(%rbp),%xmm0
movsd  -0x1e0(%rbp),%xmm3
ff
movsd  -0x1e8(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x1f0(%rbp),%xmm3
ff
movsd  -0x8(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x18(%rbp),%xmm2
movsd  -0x1f8(%rbp),%xmm5
ff
movsd  -0x200(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
movsd  -0x208(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x210(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x218(%rbp),%xmm5
ff
movsd  -0x220(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  -0x228(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm3
movsd  -0x230(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x238(%rbp),%xmm7
ff
movsd  -0x240(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x248(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x250(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm6
movsd  -0x258(%rbp),%xmm9
ff ff
movsd  -0x260(%rbp),%xmm8
ff ff
movsd  -0x10(%rbp),%xmm10
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  -0x18(%rbp),%xmm0
movsd  -0x268(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x270(%rbp),%xmm5
ff
movsd  -0x278(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x280(%rbp),%xmm3
ff
movsd  -0x8(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x18(%rbp),%xmm2
movsd  -0x288(%rbp),%xmm5
ff
movsd  -0x290(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x298(%rbp),%xmm5
ff
movsd  -0x8(%rbp),%xmm6
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x2a0(%rbp),%xmm4
ff
movsd  -0x18(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0x1a8(%rbp),%xmm1
ff
movsd  0x11a9(%rip),%xmm0
mulsd  -0x1b0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  -0x1c0(%rbp),%xmm3
ff
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x1d0(%rbp),%xmm5
ff
movsd  0x116f(%rip),%xmm4
mulsd  -0x1d8(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x18(%rbp),%xmm0
movsd  -0x1e8(%rbp),%xmm3
ff
movsd  -0x200(%rbp),%xmm2
ff
movsd  -0x18(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x390(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm1
ff
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1103(%rip),%xmm1
mulsd  -0x368(%rbp),%xmm1
ff
movsd  -0x1c8(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x1d0(%rbp),%xmm5
ff
movsd  -0x1d8(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x18(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x2a8(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x2b0(%rbp),%xmm3
ff
movsd  -0x2b8(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x368(%rbp),%xmm1
ff
movsd  -0x2c0(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x2c8(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x2d0(%rbp),%xmm7
ff
movsd  -0x2d8(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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  -0x18(%rbp),%xmm0
movsd  -0x2e0(%rbp),%xmm2
movsd  -0x2e8(%rbp),%xmm3
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x2f0(%rbp),%xmm2
ff
movsd  -0x18(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x2f8(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm1
movsd  -0x300(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x308(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x310(%rbp),%xmm7
ff
movsd  -0x318(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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  -0x368(%rbp),%xmm0
ff
movsd  -0x320(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x328(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x330(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm6
movsd  -0x338(%rbp),%xmm9
ff ff
movsd  -0x340(%rbp),%xmm8
ff ff
movsd  -0x10(%rbp),%xmm10
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  -0x348(%rbp),%xmm1
ff
movsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x18(%rbp),%xmm0
movsd  -0x350(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x358(%rbp),%xmm5
ff
movsd  -0x360(%rbp),%xmm4
ff
movsd  -0x18(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x210(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x218(%rbp),%xmm2
ff
movsd  0xe91(%rip),%xmm3
mulsd  -0x220(%rbp),%xmm3
ff
mulsd  -0x10(%rbp),%xmm3
addsd  %xmm2,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  -0x230(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm3
movsd  -0x238(%rbp),%xmm4
ff
movsd  0xe52(%rip),%xmm5
mulsd  -0x240(%rbp),%xmm5
ff
mulsd  -0x10(%rbp),%xmm5
addsd  %xmm4,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x368(%rbp),%xmm2
ff
movsd  -0x250(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x258(%rbp),%xmm6
ff
movsd  0xe10(%rip),%xmm7
mulsd  -0x260(%rbp),%xmm7
ff
mulsd  -0x10(%rbp),%xmm7
addsd  %xmm6,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x18(%rbp),%xmm0
movsd  -0x270(%rbp),%xmm2
ff
movsd  0xdb6(%rip),%xmm3
mulsd  -0x278(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x290(%rbp),%xmm2
ff
movsd  -0x18(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x228(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x230(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x238(%rbp),%xmm5
ff
movsd  -0x240(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xd3d(%rip),%xmm1
mulsd  -0x368(%rbp),%xmm1
ff
movsd  -0x248(%rbp),%xmm3
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x250(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm4
movsd  -0x258(%rbp),%xmm7
ff
movsd  -0x260(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%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  -0x18(%rbp),%xmm0
movsd  -0x280(%rbp),%xmm3
ff
movsd  -0x18(%rbp),%xmm2
movsd  -0x298(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  0xc9a(%rip),%xmm1
mulsd  -0x368(%rbp),%xmm1
ff
movsd  0xc92(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  -0x320(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x328(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm3
movsd  -0x330(%rbp),%xmm6
ff
movsd  -0x10(%rbp),%xmm5
movsd  -0x338(%rbp),%xmm8
ff ff
movsd  -0x340(%rbp),%xmm7
ff
movsd  -0x10(%rbp),%xmm9
mulsd  %xmm9,%xmm7
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x348(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  0xc06(%rip),%xmm1
mulsd  -0x368(%rbp),%xmm1
ff
movsd  0xbfe(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  -0x2c0(%rbp),%xmm2
ff
movsd  -0x10(%rbp),%xmm1
movsd  -0x2c8(%rbp),%xmm4
ff
movsd  -0x10(%rbp),%xmm3
movsd  -0x2d0(%rbp),%xmm6
ff
movsd  -0x2d8(%rbp),%xmm5
ff
movsd  -0x10(%rbp),%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3c0(%rbp),%xmm0
ff
divsd  -0x378(%rbp),%xmm0
ff
movsd  %xmm0,-0x3d8(%rbp)
ff
movsd  -0x388(%rbp),%xmm0
ff
mulsd  -0x380(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  -0x390(%rbp),%xmm0
ff
divsd  -0x370(%rbp),%xmm0
ff
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x380(%rbp),%xmm0
ff
divsd  -0x370(%rbp),%xmm0
ff
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  -0x3d8(%rbp),%xmm1
ff
movsd  -0x3e0(%rbp),%xmm0
ff
addsd  %xmm0,%xmm0
subsd  %xmm0,%xmm1
subsd  -0x3e8(%rbp),%xmm1
ff
movsd  0xb03(%rip),%xmm0
mulsd  -0x3f0(%rbp),%xmm0
ff
movsd  -0x3f0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x380(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movsd  -0x3a8(%rbp),%xmm2
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x3a0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
movsd  -0x3d0(%rbp),%xmm0
ff
divsd  -0x378(%rbp),%xmm0
ff
movsd  %xmm0,-0x410(%rbp)
ff
movsd  -0x388(%rbp),%xmm0
ff
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x418(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm0
ff
mulsd  -0x380(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x420(%rbp)
ff
movsd  -0x398(%rbp),%xmm0
ff
divsd  -0x370(%rbp),%xmm0
ff
movsd  %xmm0,-0x428(%rbp)
ff
movsd  -0x380(%rbp),%xmm0
ff
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  -0x370(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x430(%rbp)
ff
movsd  -0x410(%rbp),%xmm1
ff
subsd  -0x418(%rbp),%xmm1
ff
subsd  -0x420(%rbp),%xmm1
ff
subsd  -0x428(%rbp),%xmm1
ff
movsd  -0x430(%rbp),%xmm0
ff
addsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x438(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movsd  -0x388(%rbp),%xmm2
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x380(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x440(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movsd  -0x3a8(%rbp),%xmm2
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x3a0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x448(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm0
ff
divsd  -0x378(%rbp),%xmm0
ff
movsd  %xmm0,-0x450(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm0
ff
mulsd  -0x3a0(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x458(%rbp)
ff
movsd  -0x378(%rbp),%xmm0
ff
mulsd  -0x3b8(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
mulsd  -0x370(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x460(%rbp)
ff
movsd  -0x3a0(%rbp),%xmm0
ff
divsd  -0x370(%rbp),%xmm0
ff
movsd  %xmm0,-0x468(%rbp)
ff
movsd  -0x450(%rbp),%xmm1
ff
movsd  -0x458(%rbp),%xmm0
ff
addsd  %xmm0,%xmm0
subsd  %xmm0,%xmm1
subsd  -0x460(%rbp),%xmm1
ff
movsd  0x82b(%rip),%xmm0
mulsd  -0x468(%rbp),%xmm0
ff
movsd  -0x468(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x470(%rbp)
ff
movsd  -0x3f8(%rbp),%xmm0
ff
movsd  -0x400(%rbp),%xmm2
ff
divsd  -0x408(%rbp),%xmm2
ff
movsd  0x7eb(%rip),%xmm1
mulsd  %xmm2,%xmm1
movsd  -0x438(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x440(%rbp),%xmm0
ff
divsd  -0x448(%rbp),%xmm0
ff
movsd  -0x440(%rbp),%xmm2
ff
divsd  -0x448(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
movsd  -0x470(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
add    $0x470,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<gsw_cabbeling>:
sub    $0xb8,%rsp
movaps %xmm2,0x20(%rsp)
movaps %xmm1,0xa0(%rsp)
movapd %xmm0,%xmm1
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
movapd %xmm1,0x10(%rsp)
jb     1141 <gsw_cabbeling+0x31>
xorps  %xmm0,%xmm0
sqrtsd %xmm1,%xmm0
jmp    1150 <gsw_cabbeling+0x40>
movapd %xmm1,%xmm0
call   1030 <sqrt@plt>
movapd 0x10(%rsp),%xmm1
movapd 0xa0(%rsp),%xmm11
movapd %xmm11,%xmm10
unpcklpd %xmm11,%xmm10
movapd 0xe94(%rip),%xmm2
mulpd  %xmm10,%xmm2
addpd  0xe97(%rip),%xmm2
mulpd  %xmm10,%xmm2
addpd  0xe9a(%rip),%xmm2
movapd %xmm2,%xmm9
movapd %xmm2,0x50(%rsp)
movapd %xmm11,%xmm2
mulsd  0x1062(%rip),%xmm2
addsd  0x1062(%rip),%xmm2
movapd %xmm1,%xmm3
movapd %xmm1,%xmm14
unpcklpd %xmm11,%xmm3
shufpd $0x2,0xe73(%rip),%xmm2
movsd  0x104b(%rip),%xmm1
mulsd  %xmm11,%xmm1
addsd  0x1046(%rip),%xmm1
shufpd $0x2,0xe75(%rip),%xmm1
movapd 0xe5d(%rip),%xmm4
mulpd  %xmm10,%xmm1
addpd  0xe70(%rip),%xmm1
mulpd  %xmm3,%xmm4
mulpd  %xmm10,%xmm1
addpd  0xe6f(%rip),%xmm1
mulpd  %xmm10,%xmm1
addpd  0xe72(%rip),%xmm1
movsd  0x100a(%rip),%xmm5
mulsd  %xmm11,%xmm5
addsd  0x1005(%rip),%xmm5
mulsd  %xmm11,%xmm5
addsd  0x1000(%rip),%xmm5
mulsd  %xmm11,%xmm5
movsd  0xffa(%rip),%xmm15
addsd  %xmm15,%xmm5
mulsd  %xmm11,%xmm5
addsd  0xff0(%rip),%xmm5
addpd  %xmm2,%xmm4
movapd %xmm4,%xmm8
movapd %xmm4,0x70(%rsp)
movsd  0xfe1(%rip),%xmm7
movsd  0xfe1(%rip),%xmm2
mulsd  %xmm11,%xmm2
addsd  0xfdc(%rip),%xmm2
shufpd $0x2,0xe0b(%rip),%xmm2
mulsd  %xmm14,%xmm7
mulpd  %xmm10,%xmm2
addpd  0xe09(%rip),%xmm2
addsd  %xmm5,%xmm7
mulpd  %xmm10,%xmm2
addpd  0xe08(%rip),%xmm2
mulpd  %xmm10,%xmm2
addpd  0xe0b(%rip),%xmm2
movapd %xmm0,%xmm6
movapd %xmm0,0x60(%rsp)
unpcklpd %xmm0,%xmm6
mulpd  %xmm2,%xmm6
shufpd $0x2,%xmm9,%xmm7
addpd  %xmm6,%xmm7
movapd %xmm14,%xmm0
unpcklpd %xmm14,%xmm0
mulpd  %xmm0,%xmm7
movapd %xmm0,0x80(%rsp)
addpd  %xmm1,%xmm7
movsd  0xf6c(%rip),%xmm6
mulsd  %xmm11,%xmm6
addsd  0xf67(%rip),%xmm6
shufpd $0x2,0xdc6(%rip),%xmm6
mulpd  %xmm10,%xmm6
addpd  0xdc9(%rip),%xmm6
mulpd  %xmm10,%xmm6
addpd  0xdcc(%rip),%xmm6
movsd  0xf54(%rip),%xmm1
mulsd  %xmm11,%xmm1
movsd  0xf4e(%rip),%xmm13
addsd  %xmm13,%xmm1
shufpd $0x2,0xdb8(%rip),%xmm1
mulpd  0xdc0(%rip),%xmm3
addpd  %xmm1,%xmm3
movsd  0xf14(%rip),%xmm2
movapd %xmm11,%xmm4
mulsd  %xmm2,%xmm4
addsd  0xf0b(%rip),%xmm4
shufpd $0x2,%xmm8,%xmm4
mulpd  %xmm0,%xmm4
mulpd  %xmm10,%xmm3
addpd  0xd9c(%rip),%xmm3
movsd  0xf04(%rip),%xmm1
mulsd  %xmm11,%xmm1
addsd  0xeff(%rip),%xmm1
addpd  %xmm6,%xmm4
movapd 0x20(%rsp),%xmm12
movapd %xmm12,%xmm6
unpcklpd %xmm14,%xmm6
shufpd $0x2,0xd79(%rip),%xmm1
mulpd  %xmm6,%xmm1
addpd  %xmm3,%xmm1
movapd %xmm12,%xmm3
unpcklpd %xmm12,%xmm3
movapd %xmm3,0x40(%rsp)
mulpd  %xmm3,%xmm1
addpd  %xmm4,%xmm1
mulpd  %xmm3,%xmm1
addpd  %xmm7,%xmm1
movsd  0xed9(%rip),%xmm3
mulsd  %xmm11,%xmm3
addsd  0xed4(%rip),%xmm3
mulsd  %xmm11,%xmm3
addsd  0xecf(%rip),%xmm3
mulsd  %xmm11,%xmm3
addsd  %xmm15,%xmm3
movsd  0xee5(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xee0(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xedb(%rip),%xmm0
movapd %xmm14,%xmm15
mulsd  %xmm14,%xmm2
addsd  %xmm0,%xmm2
movapd %xmm2,0x30(%rsp)
movsd  0xec7(%rip),%xmm6
movapd %xmm11,%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm13,%xmm4
movsd  0xeb8(%rip),%xmm8
mulsd  %xmm14,%xmm8
addsd  %xmm4,%xmm8
movsd  0xebe(%rip),%xmm7
mulsd  %xmm11,%xmm7
addsd  0xeb9(%rip),%xmm7
movsd  0xe19(%rip),%xmm4
movapd %xmm11,%xmm14
mulsd  %xmm4,%xmm14
movapd 0x60(%rsp),%xmm9
mulsd  %xmm9,%xmm7
addsd  %xmm4,%xmm7
movsd  0xe77(%rip),%xmm4
mulsd  %xmm11,%xmm4
addsd  0xe72(%rip),%xmm4
mulsd  %xmm15,%xmm7
addsd  %xmm4,%xmm7
movsd  0xde8(%rip),%xmm13
movapd %xmm11,%xmm4
mulsd  %xmm13,%xmm4
mulsd  %xmm12,%xmm13
addsd  0xd20(%rip),%xmm13
addsd  0xdbf(%rip),%xmm14
mulsd  %xmm12,%xmm13
addsd  %xmm7,%xmm13
movsd  0xe45(%rip),%xmm2
mulsd  %xmm9,%xmm2
movapd %xmm2,%xmm7
movsd  %xmm2,0x8(%rsp)
movapd 0xc2e(%rip),%xmm0
mulpd  %xmm10,%xmm0
addpd  0xc31(%rip),%xmm0
mulpd  %xmm10,%xmm0
addpd  0xc34(%rip),%xmm0
mulsd  %xmm0,%xmm7
addsd  %xmm14,%xmm7
movsd  0xe0b(%rip),%xmm2
mulsd  %xmm12,%xmm2
addsd  %xmm7,%xmm2
movapd %xmm2,0x90(%rsp)
movapd %xmm9,%xmm7
unpcklpd %xmm11,%xmm7
mulpd  %xmm0,%xmm7
shufpd $0x2,0xc09(%rip),%xmm14
addpd  %xmm14,%xmm7
addsd  0xd44(%rip),%xmm4
movapd %xmm15,%xmm14
unpcklpd %xmm9,%xmm14
movapd %xmm9,%xmm2
mulpd  %xmm7,%xmm14
addpd  0x50(%rsp),%xmm14
shufpd $0x2,0xb98(%rip),%xmm4
movapd 0x40(%rsp),%xmm15
mulpd  %xmm15,%xmm4
addpd  0x70(%rsp),%xmm4
movsd  0xd9e(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xd99(%rip),%xmm0
mulpd  %xmm15,%xmm4
mulsd  %xmm11,%xmm0
addsd  0xd8f(%rip),%xmm0
addpd  %xmm14,%xmm4
movapd 0xba1(%rip),%xmm9
unpcklpd %xmm0,%xmm9
mulpd  %xmm10,%xmm9
addpd  0xb9e(%rip),%xmm9
mulpd  %xmm10,%xmm9
movapd 0xbb0(%rip),%xmm10
unpcklpd %xmm5,%xmm10
addpd  0xb92(%rip),%xmm9
movapd %xmm11,%xmm0
unpcklpd %xmm2,%xmm0
mulpd  %xmm9,%xmm0
addpd  %xmm10,%xmm0
movsd  0xcae(%rip),%xmm14
mulsd  %xmm11,%xmm14
addsd  0xca8(%rip),%xmm14
mulsd  %xmm11,%xmm14
addsd  0xca2(%rip),%xmm14
mulsd  %xmm11,%xmm14
addsd  0xc9c(%rip),%xmm14
movapd %xmm2,%xmm5
movapd %xmm2,%xmm12
mulsd  %xmm14,%xmm5
addsd  %xmm3,%xmm5
shufpd $0x2,0xb51(%rip),%xmm5
mulpd  0x80(%rsp),%xmm5
addpd  %xmm0,%xmm5
shufpd $0x2,0xb4a(%rip),%xmm8
movapd 0xb51(%rip),%xmm10
mulpd  %xmm15,%xmm10
addpd  %xmm8,%xmm10
movapd 0x20(%rsp),%xmm8
movapd %xmm8,%xmm2
unpcklpd %xmm11,%xmm2
movapd 0x30(%rsp),%xmm0
shufpd $0x2,0xb37(%rip),%xmm0
mulpd  %xmm10,%xmm2
addpd  %xmm0,%xmm2
mulpd  %xmm15,%xmm2
addpd  %xmm5,%xmm2
movsd  0xcad(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xca8(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xbe3(%rip),%xmm0
movsd  0xc9b(%rip),%xmm5
mulsd  %xmm11,%xmm5
addsd  0xc96(%rip),%xmm5
mulsd  %xmm11,%xmm5
addsd  0xbd9(%rip),%xmm5
mulsd  %xmm12,%xmm5
addsd  %xmm0,%xmm5
movsd  0xc48(%rip),%xmm0
mulsd  %xmm11,%xmm0
addsd  0xc43(%rip),%xmm0
mulsd  0x10(%rsp),%xmm5
mulsd  %xmm11,%xmm0
addsd  0xc38(%rip),%xmm0
addsd  %xmm0,%xmm5
mulsd  0xc53(%rip),%xmm11
addsd  0xbaa(%rip),%xmm11
mulsd  %xmm8,%xmm6
addsd  %xmm11,%xmm6
mulsd  %xmm8,%xmm6
addsd  %xmm5,%xmm6
movsd  0x8(%rsp),%xmm5
mulsd  %xmm14,%xmm5
addsd  %xmm3,%xmm5
unpckhpd %xmm10,%xmm10
mulsd  %xmm8,%xmm10
addsd  %xmm5,%xmm10
movapd %xmm12,%xmm3
addsd  %xmm12,%xmm3
movsd  0xc0f(%rip),%xmm0
divsd  %xmm3,%xmm0
unpckhpd %xmm9,%xmm9
mulsd  %xmm0,%xmm9
unpckhpd %xmm7,%xmm7
mulsd  %xmm0,%xmm7
divsd  %xmm1,%xmm6
movapd %xmm2,%xmm0
mulsd  %xmm4,%xmm0
movapd %xmm1,%xmm8
movapd %xmm1,%xmm5
movapd %xmm1,%xmm3
unpckhpd %xmm1,%xmm3
mulsd  %xmm3,%xmm8
divsd  %xmm8,%xmm0
divsd  %xmm3,%xmm13
addsd  %xmm0,%xmm0
subsd  %xmm0,%xmm6
movapd %xmm4,%xmm0
divsd  %xmm3,%xmm0
subsd  %xmm13,%xmm6
movapd %xmm0,%xmm11
addsd  %xmm0,%xmm11
mulsd  %xmm0,%xmm11
addsd  %xmm6,%xmm11
unpcklpd %xmm1,%xmm5
mulpd  %xmm4,%xmm5
movapd %xmm3,%xmm0
mulpd  %xmm2,%xmm0
subpd  %xmm5,%xmm0
movapd %xmm4,%xmm5
unpckhpd %xmm4,%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm2,%xmm6
unpcklpd %xmm6,%xmm10
movapd %xmm1,%xmm6
unpcklpd %xmm8,%xmm6
divpd  %xmm6,%xmm10
unpckhpd %xmm2,%xmm2
movapd %xmm2,%xmm6
mulsd  %xmm4,%xmm6
unpcklpd 0x90(%rsp),%xmm6
addsd  0xb57(%rip),%xmm9
divsd  %xmm1,%xmm9
mulsd  %xmm1,%xmm7
mulsd  %xmm3,%xmm1
divpd  %xmm1,%xmm6
mulsd  %xmm5,%xmm4
mulsd  %xmm5,%xmm2
divsd  %xmm3,%xmm5
mulsd  %xmm3,%xmm3
divsd  %xmm3,%xmm4
movapd %xmm10,%xmm1
unpckhpd %xmm10,%xmm1
subsd  %xmm1,%xmm10
subsd  %xmm6,%xmm10
unpckhpd %xmm6,%xmm6
subsd  %xmm6,%xmm10
addsd  %xmm4,%xmm4
addsd  %xmm10,%xmm4
divsd  %xmm8,%xmm2
divsd  %xmm8,%xmm7
addsd  %xmm2,%xmm2
subsd  %xmm2,%xmm9
subsd  %xmm7,%xmm9
movapd %xmm5,%xmm1
addsd  %xmm5,%xmm1
mulsd  %xmm5,%xmm1
addsd  %xmm9,%xmm1
movapd %xmm0,%xmm2
unpckhpd %xmm0,%xmm2
divsd  %xmm2,%xmm0
movsd  0xad7(%rip),%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm11,%xmm2
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm2,%xmm0
add    $0xb8,%rsp
ret

LLVM IR (-O0):
define double @gsw_cabbeling(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
%138 = alloca double
%139 = alloca double
%140 = alloca double
%141 = alloca double
%142 = alloca double
%143 = alloca double
%144 = alloca double
%145 = alloca double
store double %0, double* %4
store double %1, double* %5
store double %2, double* %6
store double 0x408F3EBC998D192F, double* %7
store double 0x4006B832E6480B06, double* %8
store double 0xBFA01DD4BE07158E, double* %9
store double 0x3F535CDA0AA5141F, double* %10
store double 0xC01ACAC0CAF432E4, double* %11
store double 0xBF9E94ED844FA0F2, double* %12
store double 0x3F2E830001452CFC, double* %13
store double 0xBFA46C3AB1582DFC, double* %14
store double 0x3F40B259AA6BB2BF, double* %15
store double 0xBEEDED10CC84A6D6, double* %16
store double 0x3E86144FEF843373, double* %17
store double 0xBF96DE61E08152B8, double* %18
store double 0xBF3684CD73B033D1, double* %19
store double 0x3ECF41A20BDDB36E, double* %20
store double 0xBF27AE9496D640EA, double* %21
store double 0x3EA713287F3E0D0D, double* %22
store double 0xBE94B77B40758AB4, double* %23
store double 0xBE55599498FA7240, double* %24
store double 0xBDA757D23461E618, double* %25
store double 0x3DE550DC0324AE3D, double* %26
store double 1.000000e+00, double* %27
store double 0x3F66BD8ADC91CDB6, double* %28
store double 0xBEF8A32DF0E2C663, double* %29
store double 0x3EB2C845F439D142, double* %30
store double 0x3E072BCFD6295640, double* %31
store double 0xBF7ECECF594A4D0F, double* %32
store double 0xBEFCFC614ABDE6BC, double* %33
store double 0x3E80F36B6915609B, double* %34
store double 0x3E105E675DDF54DA, double* %35
store double 0xBDB3E9ED19245025, double* %36
store double 0xBF0151A0492353E4, double* %37
store double 0x3E998309C9A5AF2D, double* %38
store double 0xBE407A356B462757, double* %39
store double 0xBDC97A08262FF761, double* %40
store double 0x3D87954B5454878B, double* %41
store double 0x3ED6BAF523B168F6, double* %42
store double 0xBEFCC0FF745ACC9B, double* %43
store double 0xBE958F74D806A8A4, double* %44
store double 0x3E2B69FE4FF2D058, double* %45
store double 0xBD80FC412ACF34B7, double* %46
store double 0xBE7DAA2C37AA778F, double* %47
store double 0x3E0557A0F47894E8, double* %48
store double 0xBDDEC25813BB665A, double* %49
store double 0xBDB55949A24CF361, double* %50
store double 0xBD14FEFF084CF710, double* %51
store double 0x3D09359B5FDCD33E, double* %52
store double 0xBCD5A05D6377C5EB, double* %53
store double 0x3C9175F16D32352C, double* %54
store double 0x4006B832E6480B06, double* %55
store double 0xBFB01DD4BE07158F, double* %56
store double 0x3F6D0B470FF79E2F, double* %57
store double 0xBF9E94ED844FA0F2, double* %58
store double 0x3F3E830001452CFC, double* %59
store double 0x3F40B259AA6BB2BF, double* %60
store double 0xBEFDED10CC84A6D3, double* %61
store double 0x3EA08F3BF3A32698, double* %62
store double 0xBF3684CD73B033D1, double* %63
store double 0x3EDF41A20BDDB36F, double* %64
store double 0x3EA713287F3E0D0D, double* %65
store double 0xBE55599498FA7240, double* %66
store double 0xBDB757D23461E618, double* %67
store double 0x3F66BD8ADC91CDB6, double* %68
store double 0xBF08A32DF0E2C663, double* %69
store double 0x3ECC2C68EE56B9E6, double* %70
store double 0x3E272BCFD629563F, double* %71
store double 0xBEFCFC614ABDE6BC, double* %72
store double 0x3E90F36B69156099, double* %73
store double 0x3E288D9B0CCEFF48, double* %74
store double 0xBDD3E9ED19245025, double* %75
store double 0x3E998309C9A5AF2D, double* %76
store double 0xBE507A356B462758, double* %77
store double 0xBDE31B861CA3F988, double* %78
store double 0x3DA7954B54548789, double* %79
store double 0xBE958F74D806A8A4, double* %80
store double 0x3E3B69FE4FF2D058, double* %81
store double 0xBD997A61C036CF14, double* %82
store double 0x3E0557A0F47894E8, double* %83
store double 0xBDB55949A24CF361, double* %84
store double 0xBD24FEFF084CF711, double* %85
store double 0x3D09359B5FDCD33E, double* %86
store double 0x3C9175F16D32352C, double* %87
store double 0xC01ACAC0CAF432E4, double* %88
store double 0xBF9E94ED844FA0F2, double* %89
store double 0x3F2E830001452CFC, double* %90
store double 0xBFAEA2580A0444FA, double* %91
store double 0x3F490B867FA18C1F, double* %92
store double 0xBEF671CC99637D1F, double* %93
store double 0x3E908F3BF3A32697, double* %94
store double 0xBF27AE9496D640EA, double* %95
store double 0x3EA713287F3E0D0D, double* %96
store double 0x3DE550DC0324AE3D, double* %97
store double 0xBF7ECECF594A4D0F, double* %98
store double 0xBEFCFC614ABDE6BC, double* %99
store double 0x3E80F36B6915609B, double* %100
store double 0x3E105E675DDF54DA, double* %101
store double 0xBDB3E9ED19245025, double* %102
store double 0xBF09FA706DB4FDD7, double* %103
store double 0x3EA32247573C4361, double* %104
store double 0xBE48B75020E93B06, double* %105
store double 0xBDD31B861CA3F989, double* %106
store double 0x3D91AFF87F3F65A9, double* %107
store double 0x3EE6BAF523B168F6, double* %108
store double 0xBE7DAA2C37AA778F, double* %109
store double 0x3E0557A0F47894E8, double* %110
store double 0x3D09359B5FDCD33E, double* %111
%146 = load double, double* %4
%147 = call double @sqrt(double %146)
store double %147, double* %112
%148 = load double, double* %7
%149 = load double, double* %5
%150 = load double, double* %8
%151 = load double, double* %5
%152 = load double, double* %9
%153 = load double, double* %10
%154 = load double, double* %5
%155 = call double @llvm.fmuladd.f64(double %153, double %154, double %152)
%156 = call double @llvm.fmuladd.f64(double %151, double %155, double %150)
%157 = call double @llvm.fmuladd.f64(double %149, double %156, double %148)
%158 = load double, double* %4
%159 = load double, double* %11
%160 = load double, double* %5
%161 = load double, double* %12
%162 = load double, double* %13
%163 = load double, double* %5
%164 = call double @llvm.fmuladd.f64(double %162, double %163, double %161)
%165 = call double @llvm.fmuladd.f64(double %160, double %164, double %159)
%166 = load double, double* %112
%167 = load double, double* %14
%168 = load double, double* %5
%169 = load double, double* %15
%170 = load double, double* %5
%171 = load double, double* %16
%172 = load double, double* %17
%173 = load double, double* %5
%174 = call double @llvm.fmuladd.f64(double %172, double %173, double %171)
%175 = call double @llvm.fmuladd.f64(double %170, double %174, double %169)
%176 = call double @llvm.fmuladd.f64(double %168, double %175, double %167)
%177 = call double @llvm.fmuladd.f64(double %166, double %176, double %165)
%178 = call double @llvm.fmuladd.f64(double %158, double %177, double %157)
%179 = load double, double* %6
%180 = load double, double* %18
%181 = load double, double* %5
%182 = load double, double* %19
%183 = load double, double* %20
%184 = load double, double* %5
%185 = call double @llvm.fmuladd.f64(double %183, double %184, double %182)
%186 = call double @llvm.fmuladd.f64(double %181, double %185, double %180)
%187 = load double, double* %4
%188 = load double, double* %21
%189 = load double, double* %22
%190 = load double, double* %5
%191 = call double @llvm.fmuladd.f64(double %189, double %190, double %188)
%192 = call double @llvm.fmuladd.f64(double %187, double %191, double %186)
%193 = load double, double* %6
%194 = load double, double* %23
%195 = load double, double* %5
%196 = load double, double* %24
%197 = load double, double* %25
%198 = load double, double* %5
%199 = call double @llvm.fmuladd.f64(double %197, double %198, double %196)
%200 = call double @llvm.fmuladd.f64(double %195, double %199, double %194)
%201 = load double, double* %26
%202 = load double, double* %4
%203 = call double @llvm.fmuladd.f64(double %201, double %202, double %200)
%204 = call double @llvm.fmuladd.f64(double %193, double %203, double %192)
%205 = call double @llvm.fmuladd.f64(double %179, double %204, double %178)
store double %205, double* %113
%206 = load double, double* %27
%207 = load double, double* %5
%208 = load double, double* %28
%209 = load double, double* %5
%210 = load double, double* %29
%211 = load double, double* %5
%212 = load double, double* %30
%213 = load double, double* %31
%214 = load double, double* %5
%215 = call double @llvm.fmuladd.f64(double %213, double %214, double %212)
%216 = call double @llvm.fmuladd.f64(double %211, double %215, double %210)
%217 = call double @llvm.fmuladd.f64(double %209, double %216, double %208)
%218 = call double @llvm.fmuladd.f64(double %207, double %217, double %206)
%219 = load double, double* %4
%220 = load double, double* %32
%221 = load double, double* %5
%222 = load double, double* %33
%223 = load double, double* %5
%224 = load double, double* %34
%225 = load double, double* %5
%226 = load double, double* %35
%227 = load double, double* %36
%228 = load double, double* %5
%229 = call double @llvm.fmuladd.f64(double %227, double %228, double %226)
%230 = call double @llvm.fmuladd.f64(double %225, double %229, double %224)
%231 = call double @llvm.fmuladd.f64(double %223, double %230, double %222)
%232 = call double @llvm.fmuladd.f64(double %221, double %231, double %220)
%233 = load double, double* %42
%234 = load double, double* %4
%235 = call double @llvm.fmuladd.f64(double %233, double %234, double %232)
%236 = load double, double* %112
%237 = load double, double* %37
%238 = load double, double* %5
%239 = load double, double* %38
%240 = load double, double* %5
%241 = load double, double* %39
%242 = load double, double* %5
%243 = load double, double* %40
%244 = load double, double* %41
%245 = load double, double* %5
%246 = call double @llvm.fmuladd.f64(double %244, double %245, double %243)
%247 = call double @llvm.fmuladd.f64(double %242, double %246, double %241)
%248 = call double @llvm.fmuladd.f64(double %240, double %247, double %239)
%249 = call double @llvm.fmuladd.f64(double %238, double %248, double %237)
%250 = call double @llvm.fmuladd.f64(double %236, double %249, double %235)
%251 = call double @llvm.fmuladd.f64(double %219, double %250, double %218)
%252 = load double, double* %6
%253 = load double, double* %43
%254 = load double, double* %5
%255 = load double, double* %44
%256 = load double, double* %5
%257 = load double, double* %45
%258 = load double, double* %46
%259 = load double, double* %5
%260 = call double @llvm.fmuladd.f64(double %258, double %259, double %257)
%261 = call double @llvm.fmuladd.f64(double %256, double %260, double %255)
%262 = call double @llvm.fmuladd.f64(double %254, double %261, double %253)
%263 = load double, double* %4
%264 = load double, double* %47
%265 = load double, double* %48
%266 = load double, double* %5
%267 = call double @llvm.fmuladd.f64(double %265, double %266, double %264)
%268 = call double @llvm.fmuladd.f64(double %263, double %267, double %262)
%269 = load double, double* %6
%270 = load double, double* %49
%271 = load double, double* %5
%272 = load double, double* %50
%273 = load double, double* %51
%274 = load double, double* %5
%275 = call double @llvm.fmuladd.f64(double %273, double %274, double %272)
%276 = load double, double* %52
%277 = load double, double* %4
%278 = call double @llvm.fmuladd.f64(double %276, double %277, double %275)
%279 = call double @llvm.fmuladd.f64(double %271, double %278, double %270)
%280 = load double, double* %6
%281 = load double, double* %53
%282 = load double, double* %54
%283 = load double, double* %5
%284 = call double @llvm.fmuladd.f64(double %282, double %283, double %281)
%285 = call double @llvm.fmuladd.f64(double %280, double %284, double %279)
%286 = call double @llvm.fmuladd.f64(double %269, double %285, double %268)
%287 = call double @llvm.fmuladd.f64(double %252, double %286, double %251)
store double %287, double* %114
%288 = load double, double* %55
%289 = load double, double* %5
%290 = load double, double* %56
%291 = load double, double* %57
%292 = load double, double* %5
%293 = call double @llvm.fmuladd.f64(double %291, double %292, double %290)
%294 = call double @llvm.fmuladd.f64(double %289, double %293, double %288)
%295 = load double, double* %4
%296 = load double, double* %58
%297 = load double, double* %59
%298 = load double, double* %5
%299 = call double @llvm.fmuladd.f64(double %297, double %298, double %296)
%300 = load double, double* %112
%301 = load double, double* %60
%302 = load double, double* %5
%303 = load double, double* %61
%304 = load double, double* %62
%305 = load double, double* %5
%306 = call double @llvm.fmuladd.f64(double %304, double %305, double %303)
%307 = call double @llvm.fmuladd.f64(double %302, double %306, double %301)
%308 = call double @llvm.fmuladd.f64(double %300, double %307, double %299)
%309 = call double @llvm.fmuladd.f64(double %295, double %308, double %294)
%310 = load double, double* %6
%311 = load double, double* %63
%312 = load double, double* %64
%313 = load double, double* %5
%314 = call double @llvm.fmuladd.f64(double %312, double %313, double %311)
%315 = load double, double* %65
%316 = load double, double* %4
%317 = call double @llvm.fmuladd.f64(double %315, double %316, double %314)
%318 = load double, double* %6
%319 = load double, double* %66
%320 = load double, double* %67
%321 = load double, double* %5
%322 = call double @llvm.fmuladd.f64(double %320, double %321, double %319)
%323 = call double @llvm.fmuladd.f64(double %318, double %322, double %317)
%324 = call double @llvm.fmuladd.f64(double %310, double %323, double %309)
store double %324, double* %115
%325 = load double, double* %68
%326 = load double, double* %5
%327 = load double, double* %69
%328 = load double, double* %5
%329 = load double, double* %70
%330 = load double, double* %71
%331 = load double, double* %5
%332 = call double @llvm.fmuladd.f64(double %330, double %331, double %329)
%333 = call double @llvm.fmuladd.f64(double %328, double %332, double %327)
%334 = call double @llvm.fmuladd.f64(double %326, double %333, double %325)
%335 = load double, double* %4
%336 = load double, double* %72
%337 = load double, double* %5
%338 = load double, double* %73
%339 = load double, double* %5
%340 = load double, double* %74
%341 = load double, double* %75
%342 = load double, double* %5
%343 = call double @llvm.fmuladd.f64(double %341, double %342, double %340)
%344 = call double @llvm.fmuladd.f64(double %339, double %343, double %338)
%345 = call double @llvm.fmuladd.f64(double %337, double %344, double %336)
%346 = load double, double* %112
%347 = load double, double* %76
%348 = load double, double* %5
%349 = load double, double* %77
%350 = load double, double* %5
%351 = load double, double* %78
%352 = load double, double* %79
%353 = load double, double* %5
%354 = call double @llvm.fmuladd.f64(double %352, double %353, double %351)
%355 = call double @llvm.fmuladd.f64(double %350, double %354, double %349)
%356 = call double @llvm.fmuladd.f64(double %348, double %355, double %347)
%357 = call double @llvm.fmuladd.f64(double %346, double %356, double %345)
%358 = call double @llvm.fmuladd.f64(double %335, double %357, double %334)
%359 = load double, double* %6
%360 = load double, double* %80
%361 = load double, double* %5
%362 = load double, double* %81
%363 = load double, double* %82
%364 = load double, double* %5
%365 = call double @llvm.fmuladd.f64(double %363, double %364, double %362)
%366 = call double @llvm.fmuladd.f64(double %361, double %365, double %360)
%367 = load double, double* %83
%368 = load double, double* %4
%369 = call double @llvm.fmuladd.f64(double %367, double %368, double %366)
%370 = load double, double* %6
%371 = load double, double* %84
%372 = load double, double* %85
%373 = load double, double* %5
%374 = call double @llvm.fmuladd.f64(double %372, double %373, double %371)
%375 = load double, double* %86
%376 = load double, double* %4
%377 = call double @llvm.fmuladd.f64(double %375, double %376, double %374)
%378 = load double, double* %87
%379 = load double, double* %6
%380 = call double @llvm.fmuladd.f64(double %378, double %379, double %377)
%381 = call double @llvm.fmuladd.f64(double %370, double %380, double %369)
%382 = call double @llvm.fmuladd.f64(double %359, double %381, double %358)
store double %382, double* %116
%383 = load double, double* %56
%384 = load double, double* %57
%385 = fmul double 2.000000e+00, %384
%386 = load double, double* %5
%387 = call double @llvm.fmuladd.f64(double %385, double %386, double %383)
%388 = load double, double* %4
%389 = load double, double* %59
%390 = load double, double* %112
%391 = load double, double* %61
%392 = load double, double* %62
%393 = fmul double 2.000000e+00, %392
%394 = load double, double* %5
%395 = call double @llvm.fmuladd.f64(double %393, double %394, double %391)
%396 = call double @llvm.fmuladd.f64(double %390, double %395, double %389)
%397 = call double @llvm.fmuladd.f64(double %388, double %396, double %387)
%398 = load double, double* %6
%399 = load double, double* %64
%400 = load double, double* %67
%401 = load double, double* %6
%402 = call double @llvm.fmuladd.f64(double %400, double %401, double %399)
%403 = call double @llvm.fmuladd.f64(double %398, double %402, double %397)
store double %403, double* %117
%404 = load double, double* %58
%405 = load double, double* %59
%406 = load double, double* %5
%407 = call double @llvm.fmuladd.f64(double %405, double %406, double %404)
%408 = load double, double* %112
%409 = fmul double 1.500000e+00, %408
%410 = load double, double* %60
%411 = load double, double* %5
%412 = load double, double* %61
%413 = load double, double* %62
%414 = load double, double* %5
%415 = call double @llvm.fmuladd.f64(double %413, double %414, double %412)
%416 = call double @llvm.fmuladd.f64(double %411, double %415, double %410)
%417 = call double @llvm.fmuladd.f64(double %409, double %416, double %407)
%418 = load double, double* %65
%419 = load double, double* %6
%420 = call double @llvm.fmuladd.f64(double %418, double %419, double %417)
store double %420, double* %118
%421 = load double, double* %88
%422 = load double, double* %5
%423 = load double, double* %89
%424 = load double, double* %90
%425 = load double, double* %5
%426 = call double @llvm.fmuladd.f64(double %424, double %425, double %423)
%427 = call double @llvm.fmuladd.f64(double %422, double %426, double %421)
%428 = load double, double* %112
%429 = load double, double* %91
%430 = load double, double* %5
%431 = load double, double* %92
%432 = load double, double* %5
%433 = load double, double* %93
%434 = load double, double* %94
%435 = load double, double* %5
%436 = call double @llvm.fmuladd.f64(double %434, double %435, double %433)
%437 = call double @llvm.fmuladd.f64(double %432, double %436, double %431)
%438 = call double @llvm.fmuladd.f64(double %430, double %437, double %429)
%439 = call double @llvm.fmuladd.f64(double %428, double %438, double %427)
%440 = load double, double* %6
%441 = load double, double* %95
%442 = load double, double* %96
%443 = load double, double* %5
%444 = call double @llvm.fmuladd.f64(double %442, double %443, double %441)
%445 = load double, double* %97
%446 = load double, double* %6
%447 = call double @llvm.fmuladd.f64(double %445, double %446, double %444)
%448 = call double @llvm.fmuladd.f64(double %440, double %447, double %439)
store double %448, double* %119
%449 = load double, double* %98
%450 = load double, double* %5
%451 = load double, double* %99
%452 = load double, double* %5
%453 = load double, double* %100
%454 = load double, double* %5
%455 = load double, double* %101
%456 = load double, double* %102
%457 = load double, double* %5
%458 = call double @llvm.fmuladd.f64(double %456, double %457, double %455)
%459 = call double @llvm.fmuladd.f64(double %454, double %458, double %453)
%460 = call double @llvm.fmuladd.f64(double %452, double %459, double %451)
%461 = call double @llvm.fmuladd.f64(double %450, double %460, double %449)
%462 = load double, double* %112
%463 = load double, double* %103
%464 = load double, double* %5
%465 = load double, double* %104
%466 = load double, double* %5
%467 = load double, double* %105
%468 = load double, double* %5
%469 = load double, double* %106
%470 = load double, double* %107
%471 = load double, double* %5
%472 = call double @llvm.fmuladd.f64(double %470, double %471, double %469)
%473 = call double @llvm.fmuladd.f64(double %468, double %472, double %467)
%474 = call double @llvm.fmuladd.f64(double %466, double %473, double %465)
%475 = call double @llvm.fmuladd.f64(double %464, double %474, double %463)
%476 = call double @llvm.fmuladd.f64(double %462, double %475, double %461)
%477 = load double, double* %108
%478 = load double, double* %4
%479 = call double @llvm.fmuladd.f64(double %477, double %478, double %476)
%480 = load double, double* %6
%481 = load double, double* %109
%482 = load double, double* %5
%483 = load double, double* %110
%484 = load double, double* %111
%485 = load double, double* %6
%486 = call double @llvm.fmuladd.f64(double %484, double %485, double %483)
%487 = call double @llvm.fmuladd.f64(double %482, double %486, double %481)
%488 = call double @llvm.fmuladd.f64(double %480, double %487, double %479)
store double %488, double* %120
%489 = load double, double* %69
%490 = load double, double* %5
%491 = load double, double* %70
%492 = load double, double* %71
%493 = fmul double 3.000000e+00, %492
%494 = load double, double* %5
%495 = fmul double %493, %494
%496 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %491, double %495)
%497 = call double @llvm.fmuladd.f64(double %490, double %496, double %489)
%498 = load double, double* %4
%499 = load double, double* %73
%500 = load double, double* %5
%501 = load double, double* %74
%502 = load double, double* %75
%503 = fmul double 3.000000e+00, %502
%504 = load double, double* %5
%505 = fmul double %503, %504
%506 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %501, double %505)
%507 = call double @llvm.fmuladd.f64(double %500, double %506, double %499)
%508 = load double, double* %112
%509 = load double, double* %77
%510 = load double, double* %5
%511 = load double, double* %78
%512 = load double, double* %79
%513 = fmul double 3.000000e+00, %512
%514 = load double, double* %5
%515 = fmul double %513, %514
%516 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %511, double %515)
%517 = call double @llvm.fmuladd.f64(double %510, double %516, double %509)
%518 = call double @llvm.fmuladd.f64(double %508, double %517, double %507)
%519 = call double @llvm.fmuladd.f64(double %498, double %518, double %497)
%520 = load double, double* %6
%521 = load double, double* %81
%522 = load double, double* %82
%523 = fmul double 2.000000e+00, %522
%524 = load double, double* %5
%525 = call double @llvm.fmuladd.f64(double %523, double %524, double %521)
%526 = load double, double* %85
%527 = load double, double* %6
%528 = call double @llvm.fmuladd.f64(double %526, double %527, double %525)
%529 = call double @llvm.fmuladd.f64(double %520, double %528, double %519)
store double %529, double* %123
%530 = load double, double* %72
%531 = load double, double* %5
%532 = load double, double* %73
%533 = load double, double* %5
%534 = load double, double* %74
%535 = load double, double* %75
%536 = load double, double* %5
%537 = call double @llvm.fmuladd.f64(double %535, double %536, double %534)
%538 = call double @llvm.fmuladd.f64(double %533, double %537, double %532)
%539 = call double @llvm.fmuladd.f64(double %531, double %538, double %530)
%540 = load double, double* %112
%541 = fmul double 1.500000e+00, %540
%542 = load double, double* %76
%543 = load double, double* %5
%544 = load double, double* %77
%545 = load double, double* %5
%546 = load double, double* %78
%547 = load double, double* %79
%548 = load double, double* %5
%549 = call double @llvm.fmuladd.f64(double %547, double %548, double %546)
%550 = call double @llvm.fmuladd.f64(double %545, double %549, double %544)
%551 = call double @llvm.fmuladd.f64(double %543, double %550, double %542)
%552 = call double @llvm.fmuladd.f64(double %541, double %551, double %539)
%553 = load double, double* %6
%554 = load double, double* %83
%555 = load double, double* %6
%556 = load double, double* %86
%557 = call double @llvm.fmuladd.f64(double %555, double %556, double %554)
%558 = call double @llvm.fmuladd.f64(double %553, double %557, double %552)
store double %558, double* %125
%559 = load double, double* %112
%560 = fmul double 2.000000e+00, %559
%561 = fdiv double 1.000000e+00, %560
%562 = load double, double* %103
%563 = load double, double* %5
%564 = load double, double* %104
%565 = load double, double* %5
%566 = load double, double* %105
%567 = load double, double* %5
%568 = load double, double* %106
%569 = load double, double* %107
%570 = load double, double* %5
%571 = call double @llvm.fmuladd.f64(double %569, double %570, double %568)
%572 = call double @llvm.fmuladd.f64(double %567, double %571, double %566)
%573 = call double @llvm.fmuladd.f64(double %565, double %572, double %564)
%574 = call double @llvm.fmuladd.f64(double %563, double %573, double %562)
%575 = load double, double* %108
%576 = call double @llvm.fmuladd.f64(double %561, double %574, double %575)
store double %576, double* %121
%577 = load double, double* %112
%578 = fmul double 2.000000e+00, %577
%579 = fdiv double 1.000000e+00, %578
%580 = load double, double* %91
%581 = load double, double* %5
%582 = load double, double* %92
%583 = load double, double* %5
%584 = load double, double* %93
%585 = load double, double* %94
%586 = load double, double* %5
%587 = call double @llvm.fmuladd.f64(double %585, double %586, double %584)
%588 = call double @llvm.fmuladd.f64(double %583, double %587, double %582)
%589 = call double @llvm.fmuladd.f64(double %581, double %588, double %580)
%590 = fmul double %579, %589
store double %590, double* %122
%591 = load double, double* %123
%592 = load double, double* %114
%593 = fdiv double %591, %592
store double %593, double* %126
%594 = load double, double* %116
%595 = load double, double* %115
%596 = fmul double %594, %595
%597 = load double, double* %114
%598 = load double, double* %113
%599 = fmul double %597, %598
%600 = fdiv double %596, %599
store double %600, double* %127
%601 = load double, double* %117
%602 = load double, double* %113
%603 = fdiv double %601, %602
store double %603, double* %128
%604 = load double, double* %115
%605 = load double, double* %113
%606 = fdiv double %604, %605
store double %606, double* %129
%607 = load double, double* %126
%608 = load double, double* %127
%609 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %608, double %607)
%610 = load double, double* %128
%611 = fsub double %609, %610
%612 = load double, double* %129
%613 = fmul double 2.000000e+00, %612
%614 = load double, double* %129
%615 = call double @llvm.fmuladd.f64(double %613, double %614, double %611)
store double %615, double* %130
%616 = load double, double* %113
%617 = load double, double* %116
%618 = load double, double* %114
%619 = load double, double* %115
%620 = fmul double %618, %619
%621 = fneg double %620
%622 = call double @llvm.fmuladd.f64(double %616, double %617, double %621)
store double %622, double* %131
%623 = load double, double* %113
%624 = load double, double* %120
%625 = load double, double* %114
%626 = load double, double* %119
%627 = fmul double %625, %626
%628 = fneg double %627
%629 = call double @llvm.fmuladd.f64(double %623, double %624, double %628)
store double %629, double* %132
%630 = load double, double* %125
%631 = load double, double* %114
%632 = fdiv double %630, %631
store double %632, double* %133
%633 = load double, double* %116
%634 = load double, double* %119
%635 = fmul double %633, %634
%636 = load double, double* %114
%637 = load double, double* %113
%638 = fmul double %636, %637
%639 = fdiv double %635, %638
store double %639, double* %134
%640 = load double, double* %120
%641 = load double, double* %115
%642 = fmul double %640, %641
%643 = load double, double* %114
%644 = load double, double* %113
%645 = fmul double %643, %644
%646 = fdiv double %642, %645
store double %646, double* %135
%647 = load double, double* %118
%648 = load double, double* %113
%649 = fdiv double %647, %648
store double %649, double* %136
%650 = load double, double* %115
%651 = load double, double* %119
%652 = fmul double %650, %651
%653 = load double, double* %113
%654 = load double, double* %113
%655 = fmul double %653, %654
%656 = fdiv double %652, %655
store double %656, double* %137
%657 = load double, double* %133
%658 = load double, double* %134
%659 = fsub double %657, %658
%660 = load double, double* %135
%661 = fsub double %659, %660
%662 = load double, double* %136
%663 = fsub double %661, %662
%664 = load double, double* %137
%665 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %664, double %663)
store double %665, double* %138
%666 = load double, double* %113
%667 = load double, double* %116
%668 = load double, double* %114
%669 = load double, double* %115
%670 = fmul double %668, %669
%671 = fneg double %670
%672 = call double @llvm.fmuladd.f64(double %666, double %667, double %671)
store double %672, double* %139
%673 = load double, double* %113
%674 = load double, double* %120
%675 = load double, double* %114
%676 = load double, double* %119
%677 = fmul double %675, %676
%678 = fneg double %677
%679 = call double @llvm.fmuladd.f64(double %673, double %674, double %678)
store double %679, double* %140
%680 = load double, double* %121
%681 = load double, double* %114
%682 = fdiv double %680, %681
store double %682, double* %141
%683 = load double, double* %120
%684 = load double, double* %119
%685 = fmul double %683, %684
%686 = load double, double* %114
%687 = load double, double* %113
%688 = fmul double %686, %687
%689 = fdiv double %685, %688
store double %689, double* %142
%690 = load double, double* %114
%691 = load double, double* %122
%692 = fmul double %690, %691
%693 = load double, double* %114
%694 = load double, double* %113
%695 = fmul double %693, %694
%696 = fdiv double %692, %695
store double %696, double* %143
%697 = load double, double* %119
%698 = load double, double* %113
%699 = fdiv double %697, %698
store double %699, double* %144
%700 = load double, double* %141
%701 = load double, double* %142
%702 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %701, double %700)
%703 = load double, double* %143
%704 = fsub double %702, %703
%705 = load double, double* %144
%706 = fmul double 2.000000e+00, %705
%707 = load double, double* %144
%708 = call double @llvm.fmuladd.f64(double %706, double %707, double %704)
store double %708, double* %145
%709 = load double, double* %130
%710 = load double, double* %131
%711 = load double, double* %132
%712 = fdiv double %710, %711
%713 = fmul double 2.000000e+00, %712
%714 = load double, double* %138
%715 = fneg double %713
%716 = call double @llvm.fmuladd.f64(double %715, double %714, double %709)
%717 = load double, double* %139
%718 = load double, double* %140
%719 = fdiv double %717, %718
%720 = load double, double* %139
%721 = load double, double* %140
%722 = fdiv double %720, %721
%723 = fmul double %719, %722
%724 = load double, double* %145
%725 = call double @llvm.fmuladd.f64(double %723, double %724, double %716)
ret double %725
}

LLVM IR (-O2):
define double @gsw_cabbeling(double %0, double %1, double %2) {
%4 = tail call double @sqrt(double %0)
%5 = insertelement <2 x double> poison, double %1, i64 0
%6 = shufflevector <2 x double> %5, <2 x double> poison, <2 x i32> zeroinitializer
%7 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> <double 0x3F6D0B470FF79E2F, double 0x3F2E830001452CFC>, <2 x double> <double 0xBFB01DD4BE07158F, double 0xBF9E94ED844FA0F2>)
%8 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %7, <2 x double> <double 0x4006B832E6480B06, double 0xC01ACAC0CAF432E4>)
%9 = tail call double @llvm.fmuladd.f64(double %1, double 0x3EDF41A20BDDB36F, double 0xBF3684CD73B033D1)
%10 = insertelement <2 x double> poison, double %0, i64 0
%11 = insertelement <2 x double> %10, double %1, i64 1
%12 = insertelement <2 x double> <double poison, double 0xBF27AE9496D640EA>, double %9, i64 0
%13 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %11, <2 x double> <double 0x3EA713287F3E0D0D, double 0x3EA713287F3E0D0D>, <2 x double> %12)
%14 = tail call double @llvm.fmuladd.f64(double %1, double 0x3E072BCFD6295640, double 0x3EB2C845F439D142)
%15 = insertelement <2 x double> <double poison, double 0x3F535CDA0AA5141F>, double %14, i64 0
%16 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %15, <2 x double> <double 0xBEF8A32DF0E2C663, double 0xBFA01DD4BE07158E>)
%17 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %16, <2 x double> <double 0x3F66BD8ADC91CDB6, double 0x4006B832E6480B06>)
%18 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %17, <2 x double> <double 1.000000e+00, double 0x408F3EBC998D192F>)
%19 = tail call double @llvm.fmuladd.f64(double %1, double 0xBDB3E9ED19245025, double 0x3E105E675DDF54DA)
%20 = tail call double @llvm.fmuladd.f64(double %1, double %19, double 0x3E80F36B6915609B)
%21 = tail call double @llvm.fmuladd.f64(double %1, double %20, double 0xBEFCFC614ABDE6BC)
%22 = tail call double @llvm.fmuladd.f64(double %1, double %21, double 0xBF7ECECF594A4D0F)
%23 = tail call double @llvm.fmuladd.f64(double %0, double 0x3ED6BAF523B168F6, double %22)
%24 = tail call double @llvm.fmuladd.f64(double %1, double 0x3D87954B5454878B, double 0xBDC97A08262FF761)
%25 = insertelement <2 x double> <double poison, double 0x3E86144FEF843373>, double %24, i64 0
%26 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %25, <2 x double> <double 0xBE407A356B462757, double 0xBEEDED10CC84A6D6>)
%27 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %26, <2 x double> <double 0x3E998309C9A5AF2D, double 0x3F40B259AA6BB2BF>)
%28 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %27, <2 x double> <double 0xBF0151A0492353E4, double 0xBFA46C3AB1582DFC>)
%29 = insertelement <2 x double> poison, double %4, i64 0
%30 = shufflevector <2 x double> %29, <2 x double> poison, <2 x i32> zeroinitializer
%31 = insertelement <2 x double> %8, double %23, i64 0
%32 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %30, <2 x double> %28, <2 x double> %31)
%33 = shufflevector <2 x double> %10, <2 x double> poison, <2 x i32> zeroinitializer
%34 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %33, <2 x double> %32, <2 x double> %18)
%35 = tail call double @llvm.fmuladd.f64(double %1, double 0xBD80FC412ACF34B7, double 0x3E2B69FE4FF2D058)
%36 = insertelement <2 x double> <double poison, double 0x3ECF41A20BDDB36E>, double %35, i64 0
%37 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %36, <2 x double> <double 0xBE958F74D806A8A4, double 0xBF3684CD73B033D1>)
%38 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %37, <2 x double> <double 0xBEFCC0FF745ACC9B, double 0xBF96DE61E08152B8>)
%39 = tail call double @llvm.fmuladd.f64(double %1, double 0x3E0557A0F47894E8, double 0xBE7DAA2C37AA778F)
%40 = insertelement <2 x double> %13, double %39, i64 0
%41 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %33, <2 x double> %40, <2 x double> %38)
%42 = tail call double @llvm.fmuladd.f64(double %1, double 0xBD14FEFF084CF710, double 0xBDB55949A24CF361)
%43 = insertelement <2 x double> <double poison, double 0xBE55599498FA7240>, double %42, i64 0
%44 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %11, <2 x double> <double 0x3D09359B5FDCD33E, double 0xBDA757D23461E618>, <2 x double> %43)
%45 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %44, <2 x double> <double 0xBDDEC25813BB665A, double 0xBE94B77B40758AB4>)
%46 = tail call double @llvm.fmuladd.f64(double %1, double 0x3C9175F16D32352C, double 0xBCD5A05D6377C5EB)
%47 = insertelement <2 x double> poison, double %2, i64 0
%48 = insertelement <2 x double> %47, double %0, i64 1
%49 = insertelement <2 x double> <double poison, double 0x3DE550DC0324AE3D>, double %46, i64 0
%50 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %48, <2 x double> %49, <2 x double> %45)
%51 = shufflevector <2 x double> %47, <2 x double> poison, <2 x i32> zeroinitializer
%52 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> %50, <2 x double> %41)
%53 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> %52, <2 x double> %34)
%54 = tail call double @llvm.fmuladd.f64(double %1, double 0x3F3E830001452CFC, double 0xBF9E94ED844FA0F2)
%55 = tail call double @llvm.fmuladd.f64(double %1, double 0xBDB757D23461E618, double 0xBE55599498FA7240)
%56 = tail call double @llvm.fmuladd.f64(double %1, double 0xBDD3E9ED19245025, double 0x3E288D9B0CCEFF48)
%57 = tail call double @llvm.fmuladd.f64(double %1, double %56, double 0x3E90F36B69156099)
%58 = tail call double @llvm.fmuladd.f64(double %1, double %57, double 0xBEFCFC614ABDE6BC)
%59 = tail call double @llvm.fmuladd.f64(double %1, double 0x3DA7954B54548789, double 0xBDE31B861CA3F988)
%60 = tail call double @llvm.fmuladd.f64(double %1, double %59, double 0xBE507A356B462758)
%61 = tail call double @llvm.fmuladd.f64(double %1, double %60, double 0x3E998309C9A5AF2D)
%62 = tail call double @llvm.fmuladd.f64(double %4, double %61, double %58)
%63 = tail call double @llvm.fmuladd.f64(double %1, double 0xBD997A61C036CF14, double 0x3E3B69FE4FF2D058)
%64 = tail call double @llvm.fmuladd.f64(double %1, double %63, double 0xBE958F74D806A8A4)
%65 = tail call double @llvm.fmuladd.f64(double %0, double 0x3E0557A0F47894E8, double %64)
%66 = tail call double @llvm.fmuladd.f64(double %1, double 0xBD24FEFF084CF711, double 0xBDB55949A24CF361)
%67 = tail call double @llvm.fmuladd.f64(double %0, double 0x3D09359B5FDCD33E, double %66)
%68 = tail call double @llvm.fmuladd.f64(double %1, double 0x3F7D0B470FF79E2F, double 0xBFB01DD4BE07158F)
%69 = tail call double @llvm.fmuladd.f64(double %1, double 0x3EB08F3BF3A32698, double 0xBEFDED10CC84A6D3)
%70 = tail call double @llvm.fmuladd.f64(double %4, double %69, double 0x3F3E830001452CFC)
%71 = tail call double @llvm.fmuladd.f64(double %0, double %70, double %68)
%72 = tail call double @llvm.fmuladd.f64(double %2, double 0xBDB757D23461E618, double 0x3EDF41A20BDDB36F)
%73 = tail call double @llvm.fmuladd.f64(double %2, double %72, double %71)
%74 = fmul double %4, 1.500000e+00
%75 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> <double 0x3EA08F3BF3A32698, double 0x3E908F3BF3A32697>, <2 x double> <double 0xBEFDED10CC84A6D3, double 0xBEF671CC99637D1F>)
%76 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %75, <2 x double> <double 0x3F40B259AA6BB2BF, double 0x3F490B867FA18C1F>)
%77 = extractelement <2 x double> %76, i64 0
%78 = tail call double @llvm.fmuladd.f64(double %74, double %77, double %54)
%79 = tail call double @llvm.fmuladd.f64(double %2, double 0x3EA713287F3E0D0D, double %78)
%80 = insertelement <2 x double> poison, double %1, i64 1
%81 = insertelement <2 x double> %80, double %4, i64 0
%82 = insertelement <2 x double> <double poison, double 0xBFAEA2580A0444FA>, double %54, i64 0
%83 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %81, <2 x double> %76, <2 x double> %82)
%84 = insertelement <2 x double> %10, double %4, i64 1
%85 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %84, <2 x double> %83, <2 x double> %8)
%86 = insertelement <2 x double> <double poison, double 0x3DE550DC0324AE3D>, double %55, i64 0
%87 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> %86, <2 x double> %13)
%88 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> %87, <2 x double> %85)
%89 = tail call double @llvm.fmuladd.f64(double %1, double 0x3D91AFF87F3F65A9, double 0xBDD31B861CA3F989)
%90 = tail call double @llvm.fmuladd.f64(double %1, double %89, double 0xBE48B75020E93B06)
%91 = insertelement <2 x double> <double 0x3E272BCFD629563F, double poison>, double %90, i64 1
%92 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %91, <2 x double> <double 0x3ECC2C68EE56B9E6, double 0x3EA32247573C4361>)
%93 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %6, <2 x double> %92, <2 x double> <double 0xBF08A32DF0E2C663, double 0xBF09FA706DB4FDD7>)
%94 = insertelement <2 x double> %5, double %4, i64 1
%95 = insertelement <2 x double> <double 0x3F66BD8ADC91CDB6, double poison>, double %22, i64 1
%96 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %94, <2 x double> %93, <2 x double> %95)
%97 = insertelement <2 x double> <double poison, double 0x3EE6BAF523B168F6>, double %62, i64 0
%98 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %33, <2 x double> %97, <2 x double> %96)
%99 = insertelement <2 x double> <double poison, double 0x3E0557A0F47894E8>, double %67, i64 0
%100 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> <double 0x3C9175F16D32352C, double 0x3D09359B5FDCD33E>, <2 x double> %99)
%101 = insertelement <2 x double> %47, double %1, i64 1
%102 = insertelement <2 x double> <double poison, double 0xBE7DAA2C37AA778F>, double %65, i64 0
%103 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %101, <2 x double> %100, <2 x double> %102)
%104 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> %103, <2 x double> %98)
%105 = fmul double %1, 0x3E4160DBE09F00AF
%106 = fadd double %105, 0x3EDC2C68EE56B9E6
%107 = tail call double @llvm.fmuladd.f64(double %1, double %106, double 0xBF08A32DF0E2C663)
%108 = fmul double %1, 0x3DEDDEE3A5B67838
%109 = fsub double 0x3E388D9B0CCEFF48, %108
%110 = tail call double @llvm.fmuladd.f64(double %1, double %109, double 0x3E90F36B69156099)
%111 = fmul double %1, 0x3DC1AFF87F3F65A7
%112 = fadd double %111, 0xBDF31B861CA3F988
%113 = tail call double @llvm.fmuladd.f64(double %1, double %112, double 0xBE507A356B462758)
%114 = tail call double @llvm.fmuladd.f64(double %4, double %113, double %110)
%115 = tail call double @llvm.fmuladd.f64(double %0, double %114, double %107)
%116 = tail call double @llvm.fmuladd.f64(double %1, double 0xBDA97A61C036CF14, double 0x3E3B69FE4FF2D058)
%117 = tail call double @llvm.fmuladd.f64(double %2, double 0xBD24FEFF084CF711, double %116)
%118 = tail call double @llvm.fmuladd.f64(double %2, double %117, double %115)
%119 = tail call double @llvm.fmuladd.f64(double %74, double %61, double %58)
%120 = extractelement <2 x double> %100, i64 1
%121 = tail call double @llvm.fmuladd.f64(double %2, double %120, double %119)
%122 = fmul double %4, 2.000000e+00
%123 = fdiv double 1.000000e+00, %122
%124 = extractelement <2 x double> %93, i64 1
%125 = tail call double @llvm.fmuladd.f64(double %123, double %124, double 0x3EE6BAF523B168F6)
%126 = extractelement <2 x double> %83, i64 1
%127 = fmul double %126, %123
%128 = extractelement <2 x double> %53, i64 0
%129 = fdiv double %118, %128
%130 = extractelement <2 x double> %104, i64 0
%131 = extractelement <2 x double> %88, i64 0
%132 = fmul <2 x double> %104, %88
%133 = extractelement <2 x double> %132, i64 0
%134 = extractelement <2 x double> %53, i64 1
%135 = fmul double %128, %134
%136 = fdiv double %133, %135
%137 = fdiv double %73, %134
%138 = fdiv double %131, %134
%139 = tail call double @llvm.fmuladd.f64(double %136, double -2.000000e+00, double %129)
%140 = fsub double %139, %137
%141 = fmul double %138, 2.000000e+00
%142 = tail call double @llvm.fmuladd.f64(double %141, double %138, double %140)
%143 = fneg double %128
%144 = insertelement <2 x double> poison, double %143, i64 0
%145 = shufflevector <2 x double> %144, <2 x double> poison, <2 x i32> zeroinitializer
%146 = fmul <2 x double> %88, %145
%147 = shufflevector <2 x double> %53, <2 x double> undef, <2 x i32> <i32 1, i32 1>
%148 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %147, <2 x double> %104, <2 x double> %146)
%149 = extractelement <2 x double> %88, i64 1
%150 = fmul double %149, %130
%151 = insertelement <2 x double> poison, double %121, i64 0
%152 = insertelement <2 x double> %151, double %150, i64 1
%153 = insertelement <2 x double> %53, double %135, i64 1
%154 = fdiv <2 x double> %152, %153
%155 = extractelement <2 x double> %104, i64 1
%156 = fmul double %155, %131
%157 = insertelement <2 x double> poison, double %156, i64 0
%158 = insertelement <2 x double> %157, double %79, i64 1
%159 = insertelement <2 x double> %53, double %135, i64 0
%160 = fdiv <2 x double> %158, %159
%161 = fmul double %149, %131
%162 = fmul double %134, %134
%163 = fdiv double %161, %162
%164 = shufflevector <2 x double> %154, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%165 = fsub <2 x double> %154, %164
%166 = fsub <2 x double> %165, %160
%167 = shufflevector <2 x double> %160, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%168 = fsub <2 x double> %166, %167
%169 = extractelement <2 x double> %168, i64 0
%170 = tail call double @llvm.fmuladd.f64(double %163, double 2.000000e+00, double %169)
%171 = fdiv double %125, %128
%172 = fmul double %149, %155
%173 = fdiv double %172, %135
%174 = fmul double %128, %127
%175 = fdiv double %174, %135
%176 = fdiv double %149, %134
%177 = tail call double @llvm.fmuladd.f64(double %173, double -2.000000e+00, double %171)
%178 = fsub double %177, %175
%179 = fmul double %176, 2.000000e+00
%180 = tail call double @llvm.fmuladd.f64(double %179, double %176, double %178)
%181 = extractelement <2 x double> %148, i64 0
%182 = extractelement <2 x double> %148, i64 1
%183 = fdiv double %181, %182
%184 = fmul double %183, -2.000000e+00
%185 = tail call double @llvm.fmuladd.f64(double %184, double %170, double %142)
%186 = fmul double %183, %183
%187 = tail call double @llvm.fmuladd.f64(double %186, double %180, double %185)
ret double %187
}