double humlik(double x, double y) {
  const double c[6] = {1.0117281,   -0.75197147,   0.012557727,
                       0.010022008, -2.4206814e-4, 5.0084806e-7};
  const double s[6] = {1.393237,     0.23115241,   -0.15535147,
                       0.0062183662, 9.1908299e-5, -6.2752596e-7};
  const double t[6] = {0.31424038, 0.94778839, 1.5976826,
                       2.2795071,  3.020637,   3.8897249};
  const double rrtpi = 0.56418958;
  double a0, d0, d2, e0, e2, e4, h0, h2, h4, h6, p0, p2, p4, p6, p8, z0, z2, z4,
      z6, z8;
  double mf[6], pf[6], mq[6], pq[6], xm[6], ym[6], xp[6], yp[6];
  _Bool rg1, rg2, rg3;
  double xlim0, xlim1, xlim2, xlim3, xlim4;
  double yq, yrrtpi;
  double abx, xq;
  double k;
  yq = y * y;
  yrrtpi = y * rrtpi;
  rg1 = 1, rg2 = 1, rg3 = 1;
  abx = fabs(x);
  xq = abx * abx;
  if (y >= 70.55)
    return yrrtpi / (xq + yq);
  xlim0 = sqrt(y * (40. - y * 3.6) + 15100.);
  xlim1 = (y >= 8.425 ? 0. : sqrt(164. - y * (y * 1.8 + 4.3)));
  xlim2 = 6.8 - y;
  xlim3 = y * 2.4;
  xlim4 = y * 18.1 + 1.65;
  if (y <= 1e-6)
    xlim2 = xlim1 = xlim0;
  if (abx >= xlim0)
    return yrrtpi / (xq + yq);
  else if (abx >= xlim1) {
    if (rg1) {
      rg1 = 0;
      a0 = yq + 0.5;
      d0 = a0 * a0;
      d2 = yq + yq - 1.;
    }
    return rrtpi / (d0 + xq * (d2 + xq)) * y * (a0 + xq);
  } else if (abx > xlim2) {
    if (rg2) {
      rg2 = 0;
      h0 = yq * (yq * (yq * (yq + 6.) + 10.5) + 4.5) + 0.5625;
      h2 = yq * (yq * (yq * 4. + 6.) + 9.) - 4.5;
      h4 = 10.5 - yq * (6. - yq * 6.);
      h6 = yq * 4. - 6.;
      e0 = yq * (yq * (yq + 5.5) + 8.25) + 1.875;
      e2 = yq * (yq * 3. + 1.) + 5.25;
      e4 = h6 * 0.75;
    }
    return rrtpi / (h0 + xq * (h2 + xq * (h4 + xq * (h6 + xq)))) * y *
           (e0 + xq * (e2 + xq * (e4 + xq)));
  } else if (abx < xlim3) {
    if (rg3) {
      rg3 = 0;
      z0 = y * (y * (y * (y * (y * (y * (y * (y * (y * (y + 13.3988) +
                                                   88.26741) +
                                              369.1989) +
                                         1074.409) +
                                    2256.981) +
                               3447.629) +
                          3764.966) +
                     2802.87) +
                1280.829) +
           272.1014;
      z2 = y * (y * (y * (y * (y * (y * (y * (y * 5. + 53.59518) + 266.2987) +
                                    793.4273) +
                               1549.675) +
                          2037.31) +
                     1758.336) +
                902.3066) +
           211.678;
      z4 =
          y * (y * (y * (y * (y * (y * 10. + 80.39278) + 269.2916) + 479.2576) +
                    497.3014) +
               308.1852) +
          78.86585;
      z6 =
          y * (y * (y * (y * 10. + 53.59518) + 92.75679) + 55.02933) + 22.03523;
      z8 = y * (y * 5. + 13.3988) + 1.49646;
      p0 = y * (y * (y * (y * (y * (y * (y * (y * (y * 0.3183291 + 4.264678) +
                                              27.93941) +
                                         115.3772) +
                                    328.2151) +
                               662.8097) +
                          946.897) +
                     919.4955) +
                549.3954) +
           153.5168;
      p2 = y * (y * (y * (y * (y * (y * (y * 1.2733163 + 12.79458) + 56.81652) +
                               139.4665) +
                          189.773) +
                     124.5975) -
                1.322256) -
           34.16955;
      p4 = y * (y * (y * (y * (y * 1.9099744 + 12.79568) + 29.81482) +
                     24.01655) +
                10.46332) +
           2.584042;
      p6 = y * (y * (y * 1.273316 + 4.266322) + 0.9377051) - 0.07272979;
      p8 = y * .3183291 + 5.480304e-4;
    }
    return 1.7724538 /
           (z0 + xq * (z2 + xq * (z4 + xq * (z6 + xq * (z8 + xq))))) *
           (p0 + xq * (p2 + xq * (p4 + xq * (p6 + xq * p8))));
  } else {
    double ypy0 = y + 1.5;
    double ypy0q = ypy0 * ypy0;
    int j;
    for (j = 0; j <= 5; ++j) {
      double d = x - t[j];
      mq[j] = d * d;
      mf[j] = 1. / (mq[j] + ypy0q);
      xm[j] = mf[j] * d;
      ym[j] = mf[j] * ypy0;
      d = x + t[j];
      pq[j] = d * d;
      pf[j] = 1. / (pq[j] + ypy0q);
      xp[j] = pf[j] * d;
      yp[j] = pf[j] * ypy0;
    }
    k = 0.;
    if (abx <= xlim4)
      for (j = 0; j <= 5; ++j)
        k += c[j] * (ym[j] + yp[j]) - s[j] * (xm[j] - xp[j]);
    else {
      double yf = y + 3.;
      for (j = 0; j <= 5; ++j)
        k += (c[j] * (mq[j] * mf[j] - ym[j] * 1.5) + s[j] * yf * xm[j]) /
                 (mq[j] + 2.25) +
             (c[j] * (pq[j] * pf[j] - yp[j] * 1.5) - s[j] * yf * xp[j]) /
                 (pq[j] + 2.25);
      k = y * k + exp(-xq);
    }
    return k;
  }
}


x86 assembly (clang, -O0):
<humlik>:
push   %rbp
mov    %rsp,%rbp
sub    $0x380,%rsp
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x18(%rbp)
lea    -0x50(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1030 <memset@plt>
movsd  0x1f3b(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x1f26(%rip),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x1f11(%rip),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  0x1efc(%rip),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0x1ee7(%rip),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  0x1ed2(%rip),%xmm0
movsd  %xmm0,-0x28(%rbp)
lea    -0x80(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1030 <memset@plt>
movsd  0x1ead(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x1e98(%rip),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1e83(%rip),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x1e6e(%rip),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x1e59(%rip),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x1e44(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
lea    -0xb0(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1030 <memset@plt>
movsd  0x1e1c(%rip),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x1e04(%rip),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x1dec(%rip),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x1dd4(%rip),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1dbc(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x1da4(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1d8c(%rip),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  0x1d6a(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movb   $0x1,-0x2e1(%rbp)
movb   $0x1,-0x2e2(%rbp)
movb   $0x1,-0x2e3(%rbp)
movsd  -0x10(%rbp),%xmm0
movaps 0x20a4(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x328(%rbp),%xmm0
ff
mulsd  -0x328(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1d03(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     132d <humlik+0x1fd>
movsd  -0x320(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm1
ff
addsd  -0x318(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    23a3 <humlik+0x1273>
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1d5a(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1d56(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1d36(%rip),%xmm1
addsd  %xmm1,%xmm0
call   1050 <sqrt@plt>
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1d10(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     13aa <humlik+0x27a>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
jmp    1400 <humlik+0x2d0>
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  0x1d0c(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1d08(%rip),%xmm2
addsd  %xmm2,%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm1,%xmm0
movsd  0x1cd1(%rip),%xmm1
addsd  %xmm1,%xmm0
call   1050 <sqrt@plt>
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x368(%rbp),%xmm0
ff
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  0x1ce0(%rip),%xmm0
subsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  0x1cc3(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1c99(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1c95(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
movsd  0x1c71(%rip),%xmm0
ucomisd -0x18(%rbp),%xmm0
jb     148a <humlik+0x35a>
movsd  -0x2f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x328(%rbp),%xmm0
ff
ucomisd -0x2f0(%rbp),%xmm0
ff
jb     14c6 <humlik+0x396>
movsd  -0x320(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm1
ff
addsd  -0x318(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    23a3 <humlik+0x1273>
movsd  -0x328(%rbp),%xmm0
ff
ucomisd -0x2f8(%rbp),%xmm0
ff
jb     159b <humlik+0x46b>
testb  $0x1,-0x2e1(%rbp)
je     1544 <humlik+0x414>
movb   $0x0,-0x2e1(%rbp)
movsd  0x1e70(%rip),%xmm0
addsd  -0x318(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
addsd  -0x318(%rbp),%xmm0
ff
movsd  0x1be0(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0xd0(%rbp),%xmm2
ff
addsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1a94(%rip),%xmm0
divsd  %xmm1,%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  -0xc0(%rbp),%xmm1
ff
addsd  -0x330(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    23a3 <humlik+0x1273>
movsd  -0x328(%rbp),%xmm0
ff
ucomisd -0x300(%rbp),%xmm0
ff
jbe    1862 <humlik+0x732>
testb  $0x1,-0x2e2(%rbp)
je     17ab <humlik+0x67b>
movb   $0x0,-0x2e2(%rbp)
movsd  -0x318(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm1
ff
movsd  -0x318(%rbp),%xmm2
ff
movsd  0x1d5b(%rip),%xmm3
addsd  -0x318(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  0x1d3f(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1d57(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1d3f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm1
ff
movsd  -0x318(%rbp),%xmm2
ff
movsd  0x1ce3(%rip),%xmm3
mulsd  %xmm3,%xmm2
movsd  0x1cef(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1cef(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1cd7(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1c94(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm2,%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm1,%xmm0
movsd  0x1c61(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
movsd  0x1c35(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1c31(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm1
ff
movsd  0x1bfd(%rip),%xmm2
addsd  -0x318(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  0x1be1(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1bc9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x318(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm1
ff
movsd  0x199d(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x19a1(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1b81(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x1b65(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0xf8(%rbp),%xmm3
ff
movsd  -0x330(%rbp),%xmm2
ff
movsd  -0x100(%rbp),%xmm5
ff
movsd  -0x330(%rbp),%xmm4
ff
movsd  -0x108(%rbp),%xmm6
ff
addsd  -0x330(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x17fd(%rip),%xmm0
divsd  %xmm1,%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0xe0(%rbp),%xmm4
ff
movsd  -0x330(%rbp),%xmm3
ff
movsd  -0xe8(%rbp),%xmm5
ff
addsd  -0x330(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    23a3 <humlik+0x1273>
movsd  -0x328(%rbp),%xmm1
ff
movsd  -0x308(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1eb1 <humlik+0xd81>
testb  $0x1,-0x2e3(%rbp)
je     1db8 <humlik+0xc88>
movb   $0x0,-0x2e3(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  -0x18(%rbp),%xmm5
movsd  -0x18(%rbp),%xmm6
movsd  -0x18(%rbp),%xmm7
movsd  -0x18(%rbp),%xmm8
movsd  0x1951(%rip),%xmm9
addsd  -0x18(%rbp),%xmm9
mulsd  %xmm9,%xmm8
movsd  0x1a15(%rip),%xmm9
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
movsd  0x19fa(%rip),%xmm8
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm6
movsd  0x19e1(%rip),%xmm7
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
movsd  0x19c9(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0x19b1(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1999(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x1981(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1969(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1951(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  -0x18(%rbp),%xmm5
movsd  -0x18(%rbp),%xmm6
movsd  -0x18(%rbp),%xmm7
movsd  0x1874(%rip),%xmm8
mulsd  %xmm8,%xmm7
movsd  0x1896(%rip),%xmm8
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm6
movsd  0x18ed(%rip),%xmm7
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
movsd  0x18d5(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0x18bd(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x18a5(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x188d(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1875(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x185d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  -0x18(%rbp),%xmm5
movsd  0x17eb(%rip),%xmm6
mulsd  %xmm6,%xmm5
movsd  0x1817(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0x17ff(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x17e7(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x17cf(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x17b7(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x179f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  0x1767(%rip),%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1763(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x1743(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x172b(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1713(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  0x16e5(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x16e1(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x16c1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  -0x18(%rbp),%xmm5
movsd  -0x18(%rbp),%xmm6
movsd  -0x18(%rbp),%xmm7
movsd  -0x18(%rbp),%xmm8
movsd  0x1596(%rip),%xmm9
mulsd  %xmm9,%xmm8
movsd  0x1668(%rip),%xmm9
addsd  %xmm9,%xmm8
mulsd  %xmm8,%xmm7
movsd  0x164d(%rip),%xmm8
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm6
movsd  0x1634(%rip),%xmm7
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
movsd  0x161c(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0x1604(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x15ec(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x15d4(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x15bc(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x15a4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  -0x18(%rbp),%xmm5
movsd  -0x18(%rbp),%xmm6
movsd  0x155d(%rip),%xmm7
mulsd  %xmm7,%xmm6
movsd  0x1559(%rip),%xmm7
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
movsd  0x1539(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0x1521(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1509(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x14f1(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x14d9(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x14c1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm3
movsd  -0x18(%rbp),%xmm4
movsd  0x1484(%rip),%xmm5
mulsd  %xmm5,%xmm4
movsd  0x1480(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1460(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0x1448(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1430(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1418(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  0x13e5(%rip),%xmm3
mulsd  %xmm3,%xmm2
movsd  0x13e1(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x13c1(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0x13a9(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1380(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x137c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x138(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0x140(%rbp),%xmm3
ff
movsd  -0x330(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm5
ff
movsd  -0x330(%rbp),%xmm4
ff
movsd  -0x150(%rbp),%xmm7
ff
movsd  -0x330(%rbp),%xmm6
ff
movsd  -0x158(%rbp),%xmm8
ff ff
addsd  -0x330(%rbp),%xmm8
ff ff
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  0x14c5(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0x118(%rbp),%xmm4
ff
movsd  -0x330(%rbp),%xmm3
ff
movsd  -0x120(%rbp),%xmm6
ff
movsd  -0x330(%rbp),%xmm5
ff
movsd  -0x128(%rbp),%xmm8
ff ff
movsd  -0x330(%rbp),%xmm7
ff
movsd  -0x130(%rbp),%xmm9
ff ff
mulsd  %xmm9,%xmm7
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    23a3 <humlik+0x1273>
movsd  0x1247(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x340(%rbp),%xmm0
ff
mulsd  -0x340(%rbp),%xmm0
ff
movsd  %xmm0,-0x348(%rbp)
ff
movl   $0x0,-0x34c(%rbp)
cmpl   $0x5,-0x34c(%rbp)
jg     208b <humlik+0xf5b>
movsd  -0x10(%rbp),%xmm0
movslq -0x34c(%rbp),%rax
subsd  -0xb0(%rbp,%rax,8),%xmm0
ff ff
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x358(%rbp),%xmm0
ff
mulsd  -0x358(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x1f0(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x1f0(%rbp,%rax,8),%xmm1
ff ff
addsd  -0x348(%rbp),%xmm1
ff
movsd  0x11c6(%rip),%xmm0
divsd  %xmm1,%xmm0
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x190(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x190(%rbp,%rax,8),%xmm0
ff ff
mulsd  -0x358(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x250(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x190(%rbp,%rax,8),%xmm0
ff ff
mulsd  -0x340(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x280(%rbp,%rax,8)
ff ff
movsd  -0x10(%rbp),%xmm0
movslq -0x34c(%rbp),%rax
addsd  -0xb0(%rbp,%rax,8),%xmm0
ff ff
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x358(%rbp),%xmm0
ff
mulsd  -0x358(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x220(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x220(%rbp,%rax,8),%xmm1
addsd  -0x348(%rbp),%xmm1
movsd  0x1105(%rip),%xmm0
divsd  %xmm1,%xmm0
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x1c0(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x1c0(%rbp,%rax,8),%xmm0
ff ff
mulsd  -0x358(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x2b0(%rbp,%rax,8)
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x1c0(%rbp,%rax,8),%xmm0
ff ff
mulsd  -0x340(%rbp),%xmm0
ff
movslq -0x34c(%rbp),%rax
movsd  %xmm0,-0x2e0(%rbp,%rax,8)
ff ff
mov    -0x34c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34c(%rbp)
jmp    1ee8 <humlik+0xdb8>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x328(%rbp),%xmm1
ff
movsd  -0x310(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     216d <humlik+0x103d>
movl   $0x0,-0x34c(%rbp)
cmpl   $0x5,-0x34c(%rbp)
jg     2168 <humlik+0x1038>
movslq -0x34c(%rbp),%rax
movsd  -0x50(%rbp,%rax,8),%xmm0
movslq -0x34c(%rbp),%rax
movsd  -0x280(%rbp,%rax,8),%xmm2
ff ff
movslq -0x34c(%rbp),%rax
addsd  -0x2e0(%rbp,%rax,8),%xmm2
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x80(%rbp,%rax,8),%xmm1
movslq -0x34c(%rbp),%rax
movsd  -0x250(%rbp,%rax,8),%xmm3
ff ff
movslq -0x34c(%rbp),%rax
subsd  -0x2b0(%rbp,%rax,8),%xmm3
ff ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
addsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x338(%rbp)
ff
mov    -0x34c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34c(%rbp)
jmp    20ba <humlik+0xf8a>
jmp    2396 <humlik+0x1266>
movsd  0xf93(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x34c(%rbp)
cmpl   $0x5,-0x34c(%rbp)
jg     2332 <humlik+0x1202>
movslq -0x34c(%rbp),%rax
movsd  -0x50(%rbp,%rax,8),%xmm0
movslq -0x34c(%rbp),%rax
movsd  -0x1f0(%rbp,%rax,8),%xmm2
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x190(%rbp,%rax,8),%xmm3
ff ff
movslq -0x34c(%rbp),%rax
movsd  0xf2b(%rip),%xmm1
mulsd  -0x280(%rbp,%rax,8),%xmm1
ff ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movslq -0x34c(%rbp),%rax
movsd  -0x80(%rbp,%rax,8),%xmm1
mulsd  -0x360(%rbp),%xmm1
ff
movslq -0x34c(%rbp),%rax
mulsd  -0x250(%rbp,%rax,8),%xmm1
ff ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movslq -0x34c(%rbp),%rax
movsd  0xed7(%rip),%xmm1
addsd  -0x1f0(%rbp,%rax,8),%xmm1
ff ff
divsd  %xmm1,%xmm0
movslq -0x34c(%rbp),%rax
movsd  -0x50(%rbp,%rax,8),%xmm1
movslq -0x34c(%rbp),%rax
movsd  -0x220(%rbp,%rax,8),%xmm3
ff ff
movslq -0x34c(%rbp),%rax
movsd  -0x1c0(%rbp,%rax,8),%xmm4
ff ff
movslq -0x34c(%rbp),%rax
movsd  0xe7e(%rip),%xmm2
mulsd  -0x2e0(%rbp,%rax,8),%xmm2
ff ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movslq -0x34c(%rbp),%rax
movsd  -0x80(%rbp,%rax,8),%xmm2
mulsd  -0x360(%rbp),%xmm2
ff
movslq -0x34c(%rbp),%rax
mulsd  -0x2b0(%rbp,%rax,8),%xmm2
ff ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movslq -0x34c(%rbp),%rax
movsd  0xe13(%rip),%xmm2
addsd  -0x220(%rbp,%rax,8),%xmm2
ff ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
addsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x338(%rbp)
ff
mov    -0x34c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34c(%rbp)
jmp    218c <humlik+0x105c>
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x330(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1040 <exp@plt>
movsd  -0x378(%rbp),%xmm2
ff
movaps %xmm0,%xmm1
movsd  -0x370(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x380,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<humlik>:
sub    $0x288,%rsp
movapd %xmm0,%xmm9
movaps 0xecd(%rip),%xmm0
movaps %xmm0,0x190(%rsp)
movaps 0xece(%rip),%xmm0
movaps %xmm0,0x1a0(%rsp)
movaps 0xecf(%rip),%xmm0
movaps %xmm0,0x1b0(%rsp)
movaps 0xed0(%rip),%xmm0
movaps %xmm0,0x160(%rsp)
movaps 0xed1(%rip),%xmm0
movaps %xmm0,0x170(%rsp)
movaps 0xed2(%rip),%xmm0
movaps %xmm0,0x180(%rsp)
movaps 0xed3(%rip),%xmm0
movaps %xmm0,0x130(%rsp)
movaps 0xed4(%rip),%xmm0
movaps %xmm0,0x140(%rsp)
movapd 0xed4(%rip),%xmm0
movapd %xmm0,0x150(%rsp)
movapd %xmm1,%xmm4
mulsd  %xmm1,%xmm4
movsd  0xf0b(%rip),%xmm6
mulsd  %xmm1,%xmm6
movapd %xmm9,%xmm11
mulsd  %xmm9,%xmm11
ucomisd 0xefd(%rip),%xmm1
jae    14bb <humlik+0x39b>
movsd  0xef7(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xef3(%rip),%xmm0
movapd 0xe92(%rip),%xmm10
mulsd  %xmm1,%xmm0
addsd  0xee6(%rip),%xmm0
andpd  %xmm9,%xmm10
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jb     122c <humlik+0x10c>
sqrtsd %xmm0,%xmm5
ucomisd 0xed3(%rip),%xmm1
jb     1291 <humlik+0x171>
jmp    12d2 <humlik+0x1b2>
movapd %xmm11,0x10(%rsp)
movapd %xmm1,0x20(%rsp)
movsd  %xmm6,0x8(%rsp)
movapd %xmm9,0x50(%rsp)
movapd %xmm4,0x40(%rsp)
movapd %xmm10,0x30(%rsp)
call   1040 <sqrt@plt>
xorpd  %xmm2,%xmm2
movapd 0x30(%rsp),%xmm10
movapd 0x40(%rsp),%xmm4
movapd 0x50(%rsp),%xmm9
movsd  0x8(%rsp),%xmm6
movapd 0x20(%rsp),%xmm1
movapd 0x10(%rsp),%xmm11
movapd %xmm0,%xmm5
ucomisd 0xe69(%rip),%xmm1
jae    12d2 <humlik+0x1b2>
movapd 0xe07(%rip),%xmm2
movsd  0xe5f(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xe5b(%rip),%xmm0
xorpd  %xmm1,%xmm2
mulsd  %xmm2,%xmm0
addsd  0xe53(%rip),%xmm0
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
jb     1447 <humlik+0x327>
xorps  %xmm2,%xmm2
sqrtsd %xmm0,%xmm2
ucomisd %xmm5,%xmm10
jae    14bb <humlik+0x39b>
movapd %xmm1,%xmm0
cmpnlesd 0xe4e(%rip),%xmm0
movapd %xmm0,%xmm3
andnpd %xmm5,%xmm3
andpd  %xmm0,%xmm2
orpd   %xmm3,%xmm2
ucomisd %xmm2,%xmm10
jae    14d1 <humlik+0x3b1>
movsd  0xe0b(%rip),%xmm2
subsd  %xmm1,%xmm2
andpd  %xmm2,%xmm0
orpd   %xmm0,%xmm3
ucomisd %xmm3,%xmm10
jbe    151a <humlik+0x3fa>
movsd  0x108c(%rip),%xmm3
mulsd  %xmm4,%xmm3
movsd  0x1088(%rip),%xmm0
movapd %xmm3,%xmm7
addsd  %xmm0,%xmm7
movsd  0x1080(%rip),%xmm6
mulsd  %xmm7,%xmm6
movsd  0xe73(%rip),%xmm9
mulsd  %xmm4,%xmm9
addsd  0xdfd(%rip),%xmm9
mulsd  %xmm4,%xmm9
addsd  0x105f(%rip),%xmm9
movsd  0x105f(%rip),%xmm2
addsd  %xmm4,%xmm2
mulsd  %xmm4,%xmm2
addsd  0x1057(%rip),%xmm2
mulsd  %xmm4,%xmm2
addsd  0x1053(%rip),%xmm2
mulsd  %xmm4,%xmm0
movsd  0x104f(%rip),%xmm5
addsd  %xmm5,%xmm0
mulsd  %xmm4,%xmm0
movsd  0x1046(%rip),%xmm8
addsd  %xmm5,%xmm3
mulsd  %xmm4,%xmm3
addsd  0x103e(%rip),%xmm3
mulsd  %xmm4,%xmm3
addsd  0x103a(%rip),%xmm3
addsd  %xmm4,%xmm5
mulsd  %xmm4,%xmm5
addsd  %xmm8,%xmm5
mulsd  %xmm4,%xmm5
addsd  0x1029(%rip),%xmm5
subsd  %xmm0,%xmm8
mulsd  %xmm4,%xmm5
addsd  0x1020(%rip),%xmm5
addsd  %xmm11,%xmm7
mulsd  %xmm11,%xmm7
addsd  %xmm8,%xmm7
mulsd  %xmm11,%xmm7
addsd  %xmm3,%xmm7
mulsd  %xmm11,%xmm7
addsd  %xmm5,%xmm7
movsd  0xcaf(%rip),%xmm3
divsd  %xmm7,%xmm3
mulsd  %xmm1,%xmm3
addsd  %xmm11,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm9,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm2,%xmm6
mulsd  %xmm3,%xmm6
jmp    14c5 <humlik+0x3a5>
movapd %xmm11,0x10(%rsp)
movapd %xmm1,0x20(%rsp)
movsd  %xmm6,0x8(%rsp)
movapd %xmm9,0x50(%rsp)
movapd %xmm4,0x40(%rsp)
movapd %xmm10,0x30(%rsp)
movapd %xmm5,0x120(%rsp)
call   1040 <sqrt@plt>
movapd 0x120(%rsp),%xmm5
movapd 0x30(%rsp),%xmm10
movapd 0x40(%rsp),%xmm4
movapd 0x50(%rsp),%xmm9
movsd  0x8(%rsp),%xmm6
movapd 0x20(%rsp),%xmm1
movapd 0x10(%rsp),%xmm11
movapd %xmm0,%xmm2
ucomisd %xmm5,%xmm10
jb     12dd <humlik+0x1bd>
addsd  %xmm4,%xmm11
divsd  %xmm11,%xmm6
movapd %xmm6,%xmm0
add    $0x288,%rsp
ret
movsd  0xc67(%rip),%xmm6
addsd  %xmm4,%xmm6
addsd  %xmm4,%xmm4
addsd  0xc5f(%rip),%xmm4
movapd %xmm6,%xmm0
mulsd  %xmm6,%xmm0
addsd  %xmm11,%xmm4
mulsd  %xmm11,%xmm4
addsd  %xmm0,%xmm4
movsd  0xbc9(%rip),%xmm0
divsd  %xmm4,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm11,%xmm6
mulsd  %xmm0,%xmm6
jmp    14c5 <humlik+0x3a5>
movsd  0xbfe(%rip),%xmm0
mulsd  %xmm1,%xmm0
ucomisd %xmm10,%xmm0
jbe    1872 <humlik+0x752>
movsd  0xcae(%rip),%xmm8
mulsd  %xmm1,%xmm8
addsd  0xca8(%rip),%xmm8
mulsd  %xmm1,%xmm8
addsd  0xca2(%rip),%xmm8
mulsd  %xmm1,%xmm8
addsd  0xc9c(%rip),%xmm8
movsd  0xc9b(%rip),%xmm10
mulsd  %xmm1,%xmm10
addsd  0xc95(%rip),%xmm10
mulsd  %xmm1,%xmm10
addsd  0xc8f(%rip),%xmm10
mulsd  %xmm1,%xmm10
addsd  0xc89(%rip),%xmm10
mulsd  %xmm1,%xmm10
addsd  0xc83(%rip),%xmm10
mulsd  %xmm1,%xmm10
addsd  0xc7d(%rip),%xmm10
movsd  0xc7d(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xc79(%rip),%xmm2
movsd  0xc09(%rip),%xmm3
mulsd  %xmm1,%xmm2
addsd  0xc6d(%rip),%xmm2
mulsd  %xmm1,%xmm3
mulsd  %xmm1,%xmm2
addsd  0xc65(%rip),%xmm2
movsd  0xbed(%rip),%xmm6
mulsd  %xmm1,%xmm2
addsd  0xc59(%rip),%xmm2
addsd  %xmm3,%xmm6
mulsd  %xmm1,%xmm2
addsd  0xc51(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xc4d(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xc49(%rip),%xmm2
addsd  0xc49(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc45(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc41(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc3d(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc39(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc35(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc31(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc2d(%rip),%xmm3
mulsd  %xmm1,%xmm3
addsd  0xc29(%rip),%xmm3
movsd  0xc29(%rip),%xmm4
mulsd  %xmm1,%xmm4
movsd  0xc25(%rip),%xmm5
movapd %xmm4,%xmm0
addsd  %xmm5,%xmm0
mulsd  %xmm1,%xmm0
addsd  0xc19(%rip),%xmm0
movsd  0xc19(%rip),%xmm7
mulsd  %xmm1,%xmm7
movsd  0xc14(%rip),%xmm9
movapd %xmm7,%xmm12
addsd  %xmm9,%xmm12
mulsd  %xmm1,%xmm12
addsd  0xc04(%rip),%xmm12
mulsd  %xmm1,%xmm12
addsd  0xbfe(%rip),%xmm12
mulsd  %xmm1,%xmm12
addsd  0xbf8(%rip),%xmm12
addsd  0xbf8(%rip),%xmm7
mulsd  %xmm1,%xmm7
addsd  0xbf4(%rip),%xmm7
mulsd  %xmm1,%xmm7
addsd  0xbf0(%rip),%xmm7
mulsd  %xmm1,%xmm7
addsd  0xbec(%rip),%xmm7
mulsd  %xmm1,%xmm7
addsd  0xbe8(%rip),%xmm7
mulsd  %xmm1,%xmm7
addsd  0xbe4(%rip),%xmm7
addsd  %xmm9,%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbdb(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbd7(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbd3(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbcf(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbcb(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbc7(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xbc3(%rip),%xmm4
addsd  %xmm1,%xmm5
mulsd  %xmm1,%xmm5
addsd  0xbbb(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xbb7(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xbb3(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xbaf(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xbab(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xba7(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xba3(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xb9f(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xb9b(%rip),%xmm5
addsd  %xmm11,%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm12,%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm7,%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm4,%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm5,%xmm0
movsd  0xb71(%rip),%xmm1
divsd  %xmm0,%xmm1
mulsd  %xmm11,%xmm6
addsd  %xmm8,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm10,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm2,%xmm6
mulsd  %xmm11,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm1,%xmm6
jmp    14c5 <humlik+0x3a5>
movsd  0x8ad(%rip),%xmm8
mulsd  %xmm1,%xmm8
addsd  0x8a7(%rip),%xmm8
movsd  0x8bf(%rip),%xmm0
addsd  %xmm1,%xmm0
movapd %xmm0,%xmm2
mulsd  %xmm0,%xmm2
movsd  0x8b3(%rip),%xmm4
xor    %eax,%eax
movsd  0x8b1(%rip),%xmm3
nop
movapd %xmm9,%xmm5
subsd  %xmm4,%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm5,%xmm6
movsd  %xmm6,0x1f0(%rsp,%rax,1)
addsd  %xmm2,%xmm6
movapd %xmm3,%xmm7
divsd  %xmm6,%xmm7
movsd  %xmm7,0x250(%rsp,%rax,1)
mulsd  %xmm7,%xmm5
movsd  %xmm5,0xf0(%rsp,%rax,1)
mulsd  %xmm0,%xmm7
movsd  %xmm7,0xc0(%rsp,%rax,1)
addsd  %xmm9,%xmm4
movapd %xmm4,%xmm5
mulsd  %xmm4,%xmm5
movsd  %xmm5,0x1c0(%rsp,%rax,1)
addsd  %xmm2,%xmm5
movapd %xmm3,%xmm6
divsd  %xmm5,%xmm6
movsd  %xmm6,0x220(%rsp,%rax,1)
mulsd  %xmm6,%xmm4
movsd  %xmm4,0x90(%rsp,%rax,1)
mulsd  %xmm0,%xmm6
movsd  %xmm6,0x60(%rsp,%rax,1)
cmp    $0x28,%rax
je     1953 <humlik+0x833>
movsd  0x138(%rsp,%rax,1),%xmm4
add    $0x8,%rax
jmp    18b0 <humlik+0x790>
ucomisd %xmm10,%xmm8
jae    1a65 <humlik+0x945>
movsd  0x862(%rip),%xmm0
movapd %xmm1,0x20(%rsp)
addsd  %xmm1,%xmm0
xorpd  %xmm1,%xmm1
movsd  0x7f4(%rip),%xmm4
movsd  0x84c(%rip),%xmm5
xor    %eax,%eax
movapd 0x721(%rip),%xmm8
movapd 0x708(%rip),%xmm9
movapd 0x71f(%rip),%xmm10
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movapd %xmm1,%xmm6
mulsd  %xmm0,%xmm5
movsd  0xc0(%rsp,%rax,1),%xmm7
movhpd 0x60(%rsp,%rax,1),%xmm7
mulpd  %xmm8,%xmm7
movsd  0x1f0(%rsp,%rax,1),%xmm1
movhpd 0x1c0(%rsp,%rax,1),%xmm1
movsd  0x250(%rsp,%rax,1),%xmm2
movhpd 0x220(%rsp,%rax,1),%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm7,%xmm2
movapd %xmm5,%xmm7
xorpd  %xmm9,%xmm7
movhpd 0x90(%rsp,%rax,1),%xmm5
movsd  0xf0(%rsp,%rax,1),%xmm3
unpcklpd %xmm7,%xmm3
mulpd  %xmm5,%xmm3
unpcklpd %xmm4,%xmm4
mulpd  %xmm2,%xmm4
addpd  %xmm3,%xmm4
addpd  %xmm10,%xmm1
divpd  %xmm1,%xmm4
movapd %xmm4,%xmm1
unpckhpd %xmm4,%xmm1
addsd  %xmm4,%xmm1
addsd  %xmm6,%xmm1
cmp    $0x28,%rax
je     1bca <humlik+0xaaa>
movsd  0x198(%rsp,%rax,1),%xmm4
movsd  0x168(%rsp,%rax,1),%xmm5
add    $0x8,%rax
jmp    19b0 <humlik+0x890>
movsd  0xc0(%rsp),%xmm1
movsd  0xc8(%rsp),%xmm0
addsd  0x60(%rsp),%xmm1
movsd  0xf0(%rsp),%xmm2
subsd  0x90(%rsp),%xmm2
mulsd  0x6d1(%rip),%xmm2
movsd  0xf8(%rsp),%xmm3
mulsd  0x6c8(%rip),%xmm1
addsd  %xmm2,%xmm1
xorpd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
addsd  0x68(%rsp),%xmm0
subsd  0x98(%rsp),%xmm3
mulsd  0x6ad(%rip),%xmm3
mulsd  0x6ad(%rip),%xmm0
addsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  0xd0(%rsp),%xmm1
addsd  0x70(%rsp),%xmm1
movsd  0x100(%rsp),%xmm2
subsd  0xa0(%rsp),%xmm2
mulsd  0x684(%rip),%xmm2
mulsd  0x684(%rip),%xmm1
addsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xd8(%rsp),%xmm0
addsd  0x78(%rsp),%xmm0
movsd  0x108(%rsp),%xmm2
subsd  0xa8(%rsp),%xmm2
mulsd  0x65b(%rip),%xmm2
mulsd  0x65b(%rip),%xmm0
addsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xe0(%rsp),%xmm1
addsd  0x80(%rsp),%xmm1
movsd  0x110(%rsp),%xmm2
subsd  0xb0(%rsp),%xmm2
mulsd  0x62f(%rip),%xmm2
mulsd  0x62f(%rip),%xmm1
addsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xe8(%rsp),%xmm6
addsd  0x88(%rsp),%xmm6
movsd  0x118(%rsp),%xmm0
subsd  0xb8(%rsp),%xmm0
mulsd  0x603(%rip),%xmm0
mulsd  0x603(%rip),%xmm6
addsd  %xmm0,%xmm6
addsd  %xmm1,%xmm6
jmp    14c5 <humlik+0x3a5>
xorpd  0x4cd(%rip),%xmm11
movapd %xmm11,%xmm0
movapd %xmm1,0x10(%rsp)
call   1030 <exp@plt>
movapd 0x20(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
addsd  %xmm1,%xmm0
add    $0x288,%rsp
ret

LLVM IR (-O0):
define double @humlik(double %0, double %1) {
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca [6 x double]
%7 = alloca [6 x double]
%8 = alloca [6 x 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 [6 x double]
%31 = alloca [6 x double]
%32 = alloca [6 x double]
%33 = alloca [6 x double]
%34 = alloca [6 x double]
%35 = alloca [6 x double]
%36 = alloca [6 x double]
%37 = alloca [6 x double]
%38 = alloca i8
%39 = alloca i8
%40 = alloca i8
%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 i32
%54 = alloca double
%55 = alloca double
store double %0, double* %4
store double %1, double* %5
%56 = bitcast [6 x double]* %6 to i8*
%57 = bitcast i8* %56 to [6 x double]*
%58 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 0
store double 0x3FF03009CDDF1B84, double* %58
%59 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 1
store double 0xBFE8102678E599F8, double* %59
%60 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 2
store double 0x3F89B7DD96377E35, double* %60
%61 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 3
store double 0x3F84866B24CD5011, double* %61
%62 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 4
store double 0xBF2FBA757D49C89C, double* %62
%63 = getelementptr inbounds [6 x double], [6 x double]* %57, i32 0, i32 5
store double 0x3EA0CE40880C53DA, double* %63
%64 = bitcast [6 x double]* %7 to i8*
%65 = bitcast i8* %64 to [6 x double]*
%66 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 0
store double 0x3FF64AB2E1693C04, double* %66
%67 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 1
store double 0x3FCD9666F4ABB901, double* %67
%68 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 2
store double 0xBFC3E28E95848C16, double* %68
%69 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 3
store double 0x3F79786DF76AB54A, double* %69
%70 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 4
store double 0x3F1817DC8DC229FE, double* %70
%71 = getelementptr inbounds [6 x double], [6 x double]* %65, i32 0, i32 5
store double 0xBEA50E682DF3E1CB, double* %71
%72 = bitcast [6 x double]* %8 to i8*
%73 = bitcast i8* %72 to [6 x double]*
%74 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 0
store double 0x3FD41C83AECBAFEC, double* %74
%75 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 1
store double 0x3FEE544851528305, double* %75
%76 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 2
store double 0x3FF9901BA1463645, double* %76
%77 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 3
store double 0x40023C6E37EBFF98, double* %77
%78 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 4
store double 0x40082A43BB40B34E, double* %78
%79 = getelementptr inbounds [6 x double], [6 x double]* %73, i32 0, i32 5
store double 0x400F1E28169F7EB6, double* %79
store double 0x3FE20DD74E5B01D9, double* %9
%80 = load double, double* %5
%81 = load double, double* %5
%82 = fmul double %80, %81
store double %82, double* %46
%83 = load double, double* %5
%84 = fmul double %83, 0x3FE20DD74E5B01D9
store double %84, double* %47
store i8 1, i8* %38
store i8 1, i8* %39
store i8 1, i8* %40
%85 = load double, double* %4
%86 = call double @llvm.fabs.f64(double %85)
store double %86, double* %48
%87 = load double, double* %48
%88 = load double, double* %48
%89 = fmul double %87, %88
store double %89, double* %49
%90 = load double, double* %5
%91 = fcmp oge double %90, 7.055000e+01
br i1 %91, label %92, label %98
92: ; preds = %2
%93 = load double, double* %47
%94 = load double, double* %49
%95 = load double, double* %46
%96 = fadd double %94, %95
%97 = fdiv double %93, %96
store double %97, double* %3
br label %619
98: ; preds = %2
%99 = load double, double* %5
%100 = load double, double* %5
%101 = fneg double %100
%102 = call double @llvm.fmuladd.f64(double %101, double 3.600000e+00, double 4.000000e+01)
%103 = call double @llvm.fmuladd.f64(double %99, double %102, double 1.510000e+04)
%104 = call double @sqrt(double %103)
store double %104, double* %41
%105 = load double, double* %5
%106 = fcmp oge double %105, 8.425000e+00
br i1 %106, label %107, label %108
107: ; preds = %98
br label %115
108: ; preds = %98
%109 = load double, double* %5
%110 = load double, double* %5
%111 = call double @llvm.fmuladd.f64(double %110, double 1.800000e+00, double 4.300000e+00)
%112 = fneg double %109
%113 = call double @llvm.fmuladd.f64(double %112, double %111, double 1.640000e+02)
%114 = call double @sqrt(double %113)
br label %115
115: ; preds = %108, %107
%116 = phi double [ 0.000000e+00, %107 ], [ %114, %108 ]
store double %116, double* %42
%117 = load double, double* %5
%118 = fsub double 6.800000e+00, %117
store double %118, double* %43
%119 = load double, double* %5
%120 = fmul double %119, 2.400000e+00
store double %120, double* %44
%121 = load double, double* %5
%122 = call double @llvm.fmuladd.f64(double %121, double 1.810000e+01, double 1.650000e+00)
store double %122, double* %45
%123 = load double, double* %5
%124 = fcmp ole double %123, 0x3EB0C6F7A0B5ED8D
br i1 %124, label %125, label %127
125: ; preds = %115
%126 = load double, double* %41
store double %126, double* %42
store double %126, double* %43
br label %127
127: ; preds = %125, %115
%128 = load double, double* %48
%129 = load double, double* %41
%130 = fcmp oge double %128, %129
br i1 %130, label %131, label %137
131: ; preds = %127
%132 = load double, double* %47
%133 = load double, double* %49
%134 = load double, double* %46
%135 = fadd double %133, %134
%136 = fdiv double %132, %135
store double %136, double* %3
br label %619
137: ; preds = %127
%138 = load double, double* %48
%139 = load double, double* %42
%140 = fcmp oge double %138, %139
br i1 %140, label %141, label %168
141: ; preds = %137
%142 = load i8, i8* %38
%143 = trunc i8 %142 to i1
br i1 %143, label %144, label %154
144: ; preds = %141
store i8 0, i8* %38
%145 = load double, double* %46
%146 = fadd double %145, 5.000000e-01
store double %146, double* %10
%147 = load double, double* %10
%148 = load double, double* %10
%149 = fmul double %147, %148
store double %149, double* %11
%150 = load double, double* %46
%151 = load double, double* %46
%152 = fadd double %150, %151
%153 = fsub double %152, 1.000000e+00
store double %153, double* %12
br label %154
154: ; preds = %144, %141
%155 = load double, double* %11
%156 = load double, double* %49
%157 = load double, double* %12
%158 = load double, double* %49
%159 = fadd double %157, %158
%160 = call double @llvm.fmuladd.f64(double %156, double %159, double %155)
%161 = fdiv double 0x3FE20DD74E5B01D9, %160
%162 = load double, double* %5
%163 = fmul double %161, %162
%164 = load double, double* %10
%165 = load double, double* %49
%166 = fadd double %164, %165
%167 = fmul double %163, %166
store double %167, double* %3
br label %619
168: ; preds = %137
%169 = load double, double* %48
%170 = load double, double* %43
%171 = fcmp ogt double %169, %170
br i1 %171, label %172, label %236
172: ; preds = %168
%173 = load i8, i8* %39
%174 = trunc i8 %173 to i1
br i1 %174, label %175, label %210
175: ; preds = %172
store i8 0, i8* %39
%176 = load double, double* %46
%177 = load double, double* %46
%178 = load double, double* %46
%179 = load double, double* %46
%180 = fadd double %179, 6.000000e+00
%181 = call double @llvm.fmuladd.f64(double %178, double %180, double 1.050000e+01)
%182 = call double @llvm.fmuladd.f64(double %177, double %181, double 4.500000e+00)
%183 = call double @llvm.fmuladd.f64(double %176, double %182, double 5.625000e-01)
store double %183, double* %16
%184 = load double, double* %46
%185 = load double, double* %46
%186 = load double, double* %46
%187 = call double @llvm.fmuladd.f64(double %186, double 4.000000e+00, double 6.000000e+00)
%188 = call double @llvm.fmuladd.f64(double %185, double %187, double 9.000000e+00)
%189 = call double @llvm.fmuladd.f64(double %184, double %188, double -4.500000e+00)
store double %189, double* %17
%190 = load double, double* %46
%191 = load double, double* %46
%192 = fneg double %191
%193 = call double @llvm.fmuladd.f64(double %192, double 6.000000e+00, double 6.000000e+00)
%194 = fneg double %190
%195 = call double @llvm.fmuladd.f64(double %194, double %193, double 1.050000e+01)
store double %195, double* %18
%196 = load double, double* %46
%197 = call double @llvm.fmuladd.f64(double %196, double 4.000000e+00, double -6.000000e+00)
store double %197, double* %19
%198 = load double, double* %46
%199 = load double, double* %46
%200 = load double, double* %46
%201 = fadd double %200, 5.500000e+00
%202 = call double @llvm.fmuladd.f64(double %199, double %201, double 8.250000e+00)
%203 = call double @llvm.fmuladd.f64(double %198, double %202, double 1.875000e+00)
store double %203, double* %13
%204 = load double, double* %46
%205 = load double, double* %46
%206 = call double @llvm.fmuladd.f64(double %205, double 3.000000e+00, double 1.000000e+00)
%207 = call double @llvm.fmuladd.f64(double %204, double %206, double 5.250000e+00)
store double %207, double* %14
%208 = load double, double* %19
%209 = fmul double %208, 7.500000e-01
store double %209, double* %15
br label %210
210: ; preds = %175, %172
%211 = load double, double* %16
%212 = load double, double* %49
%213 = load double, double* %17
%214 = load double, double* %49
%215 = load double, double* %18
%216 = load double, double* %49
%217 = load double, double* %19
%218 = load double, double* %49
%219 = fadd double %217, %218
%220 = call double @llvm.fmuladd.f64(double %216, double %219, double %215)
%221 = call double @llvm.fmuladd.f64(double %214, double %220, double %213)
%222 = call double @llvm.fmuladd.f64(double %212, double %221, double %211)
%223 = fdiv double 0x3FE20DD74E5B01D9, %222
%224 = load double, double* %5
%225 = fmul double %223, %224
%226 = load double, double* %13
%227 = load double, double* %49
%228 = load double, double* %14
%229 = load double, double* %49
%230 = load double, double* %15
%231 = load double, double* %49
%232 = fadd double %230, %231
%233 = call double @llvm.fmuladd.f64(double %229, double %232, double %228)
%234 = call double @llvm.fmuladd.f64(double %227, double %233, double %226)
%235 = fmul double %225, %234
store double %235, double* %3
br label %619
236: ; preds = %168
%237 = load double, double* %48
%238 = load double, double* %44
%239 = fcmp olt double %237, %238
br i1 %239, label %240, label %385
240: ; preds = %236
%241 = load i8, i8* %40
%242 = trunc i8 %241 to i1
br i1 %242, label %243, label %354
243: ; preds = %240
store i8 0, i8* %40
%244 = load double, double* %5
%245 = load double, double* %5
%246 = load double, double* %5
%247 = load double, double* %5
%248 = load double, double* %5
%249 = load double, double* %5
%250 = load double, double* %5
%251 = load double, double* %5
%252 = load double, double* %5
%253 = load double, double* %5
%254 = fadd double %253, 1.339880e+01
%255 = call double @llvm.fmuladd.f64(double %252, double %254, double 0x4056111D3ED527E5)
%256 = call double @llvm.fmuladd.f64(double %251, double %255, double 0x4077132EB1C432CA)
%257 = call double @llvm.fmuladd.f64(double %250, double %256, double 0x4090C9A2D0E56042)
%258 = call double @llvm.fmuladd.f64(double %249, double %257, double 0x40A1A1F645A1CAC1)
%259 = call double @llvm.fmuladd.f64(double %248, double %258, double 0x40AAEF420C49BA5E)
%260 = call double @llvm.fmuladd.f64(double %247, double %259, double 0x40AD69EE978D4FDF)
%261 = call double @llvm.fmuladd.f64(double %246, double %260, double 2.802870e+03)
%262 = call double @llvm.fmuladd.f64(double %245, double %261, double 0x40940350E5604189)
%263 = call double @llvm.fmuladd.f64(double %244, double %262, double 0x4071019F559B3D08)
store double %263, double* %25
%264 = load double, double* %5
%265 = load double, double* %5
%266 = load double, double* %5
%267 = load double, double* %5
%268 = load double, double* %5
%269 = load double, double* %5
%270 = load double, double* %5
%271 = load double, double* %5
%272 = call double @llvm.fmuladd.f64(double %271, double 5.000000e+00, double 0x404ACC2EDBB59DDC)
%273 = call double @llvm.fmuladd.f64(double %270, double %272, double 0x4070A4C779A6B50B)
%274 = call double @llvm.fmuladd.f64(double %269, double %273, double 0x4088CB6B1C432CA5)
%275 = call double @llvm.fmuladd.f64(double %268, double %274, double 0x409836B333333333)
%276 = call double @llvm.fmuladd.f64(double %267, double %275, double 2.037310e+03)
%277 = call double @llvm.fmuladd.f64(double %266, double %276, double 0x409B795810624DD3)
%278 = call double @llvm.fmuladd.f64(double %265, double %277, double 0x408C3273EAB367A1)
%279 = call double @llvm.fmuladd.f64(double %264, double %278, double 2.116780e+02)
store double %279, double* %26
%280 = load double, double* %5
%281 = load double, double* %5
%282 = load double, double* %5
%283 = load double, double* %5
%284 = load double, double* %5
%285 = load double, double* %5
%286 = call double @llvm.fmuladd.f64(double %285, double 1.000000e+01, double 0x405419234EB9A177)
%287 = call double @llvm.fmuladd.f64(double %284, double %286, double 0x4070D4AA64C2F838)
%288 = call double @llvm.fmuladd.f64(double %283, double %287, double 0x407DF41F212D7732)
%289 = call double @llvm.fmuladd.f64(double %282, double %288, double 0x407F14D288CE703B)
%290 = call double @llvm.fmuladd.f64(double %281, double %289, double 0x407342F694467382)
%291 = call double @llvm.fmuladd.f64(double %280, double %290, double 0x4053B76A161E4F76)
store double %291, double* %27
%292 = load double, double* %5
%293 = load double, double* %5
%294 = load double, double* %5
%295 = load double, double* %5
%296 = call double @llvm.fmuladd.f64(double %295, double 1.000000e+01, double 0x404ACC2EDBB59DDC)
%297 = call double @llvm.fmuladd.f64(double %294, double %296, double 0x4057306F3F52FC26)
%298 = call double @llvm.fmuladd.f64(double %293, double %297, double 0x404B83C115DF6556)
%299 = call double @llvm.fmuladd.f64(double %292, double %298, double 0x40360904D551D68C)
store double %299, double* %28
%300 = load double, double* %5
%301 = load double, double* %5
%302 = call double @llvm.fmuladd.f64(double %301, double 5.000000e+00, double 1.339880e+01)
%303 = call double @llvm.fmuladd.f64(double %300, double %302, double 1.496460e+00)
store double %303, double* %29
%304 = load double, double* %5
%305 = load double, double* %5
%306 = load double, double* %5
%307 = load double, double* %5
%308 = load double, double* %5
%309 = load double, double* %5
%310 = load double, double* %5
%311 = load double, double* %5
%312 = load double, double* %5
%313 = call double @llvm.fmuladd.f64(double %312, double 0x3FD45F8104775E05, double 0x40110F07BFE7E1FC)
%314 = call double @llvm.fmuladd.f64(double %311, double %313, double 0x403BF07D2C7B890D)
%315 = call double @llvm.fmuladd.f64(double %310, double %314, double 0x405CD8240B780347)
%316 = call double @llvm.fmuladd.f64(double %309, double %315, double 0x407483710CB295EA)
%317 = call double @llvm.fmuladd.f64(double %308, double %316, double 0x4084B67A43FE5C92)
%318 = call double @llvm.fmuladd.f64(double %307, double %317, double 9.468970e+02)
%319 = call double @llvm.fmuladd.f64(double %306, double %318, double 0x408CBBF6C8B43958)
%320 = call double @llvm.fmuladd.f64(double %305, double %319, double 0x40812B29C779A6B5)
%321 = call double @llvm.fmuladd.f64(double %304, double %320, double 0x40633089A0275254)
store double %321, double* %20
%322 = load double, double* %5
%323 = load double, double* %5
%324 = load double, double* %5
%325 = load double, double* %5
%326 = load double, double* %5
%327 = load double, double* %5
%328 = load double, double* %5
%329 = call double @llvm.fmuladd.f64(double %328, double 0x3FF45F80E99F6B6B, double 0x402996D330941C82)
%330 = call double @llvm.fmuladd.f64(double %327, double %329, double 0x404C6883BA3443D4)
%331 = call double @llvm.fmuladd.f64(double %326, double %330, double 0x40616EED916872B0)
%332 = call double @llvm.fmuladd.f64(double %325, double %331, double 1.897730e+02)
%333 = call double @llvm.fmuladd.f64(double %324, double %332, double 0x405F263D70A3D70A)
%334 = call double @llvm.fmuladd.f64(double %323, double %333, double 0xBFF527F5E84F0953)
%335 = call double @llvm.fmuladd.f64(double %322, double %334, double 0xC04115B3D07C84B6)
store double %335, double* %21
%336 = load double, double* %5
%337 = load double, double* %5
%338 = load double, double* %5
%339 = load double, double* %5
%340 = load double, double* %5
%341 = call double @llvm.fmuladd.f64(double %340, double 0x3FFE8F41510327D3, double 0x402997635E74299E)
%342 = call double @llvm.fmuladd.f64(double %339, double %341, double 0x403DD0980B242071)
%343 = call double @llvm.fmuladd.f64(double %338, double %342, double 0x4038043C9EECBFB1)
%344 = call double @llvm.fmuladd.f64(double %337, double %343, double 0x4024ED38476F2A5A)
%345 = call double @llvm.fmuladd.f64(double %336, double %344, double 0x4004AC1E364BEC68)
store double %345, double* %22
%346 = load double, double* %5
%347 = load double, double* %5
%348 = load double, double* %5
%349 = call double @llvm.fmuladd.f64(double %348, double 0x3FF45F809917939A, double 0x401110B6B6E0D23D)
%350 = call double @llvm.fmuladd.f64(double %347, double %349, double 0x3FEE01AE20395B6B)
%351 = call double @llvm.fmuladd.f64(double %346, double %350, double 0xBFB29E6B657EB4E7)
store double %351, double* %23
%352 = load double, double* %5
%353 = call double @llvm.fmuladd.f64(double %352, double 0x3FD45F8104775E05, double 0x3F41F53652965DA2)
store double %353, double* %24
br label %354
354: ; preds = %243, %240
%355 = load double, double* %25
%356 = load double, double* %49
%357 = load double, double* %26
%358 = load double, double* %49
%359 = load double, double* %27
%360 = load double, double* %49
%361 = load double, double* %28
%362 = load double, double* %49
%363 = load double, double* %29
%364 = load double, double* %49
%365 = fadd double %363, %364
%366 = call double @llvm.fmuladd.f64(double %362, double %365, double %361)
%367 = call double @llvm.fmuladd.f64(double %360, double %366, double %359)
%368 = call double @llvm.fmuladd.f64(double %358, double %367, double %357)
%369 = call double @llvm.fmuladd.f64(double %356, double %368, double %355)
%370 = fdiv double 0x3FFC5BF8840ABC1C, %369
%371 = load double, double* %20
%372 = load double, double* %49
%373 = load double, double* %21
%374 = load double, double* %49
%375 = load double, double* %22
%376 = load double, double* %49
%377 = load double, double* %23
%378 = load double, double* %49
%379 = load double, double* %24
%380 = call double @llvm.fmuladd.f64(double %378, double %379, double %377)
%381 = call double @llvm.fmuladd.f64(double %376, double %380, double %375)
%382 = call double @llvm.fmuladd.f64(double %374, double %381, double %373)
%383 = call double @llvm.fmuladd.f64(double %372, double %382, double %371)
%384 = fmul double %370, %383
store double %384, double* %3
br label %619
385: ; preds = %236
%386 = load double, double* %5
%387 = fadd double %386, 1.500000e+00
store double %387, double* %51
%388 = load double, double* %51
%389 = load double, double* %51
%390 = fmul double %388, %389
store double %390, double* %52
store i32 0, i32* %53
br label %391
391: ; preds = %475, %385
%392 = load i32, i32* %53
%393 = icmp sle i32 %392, 5
br i1 %393, label %394, label %478
394: ; preds = %391
%395 = load double, double* %4
%396 = load i32, i32* %53
%397 = sext i32 %396 to i64
%398 = getelementptr inbounds [6 x double], [6 x double]* %8, i64 0, i64 %397
%399 = load double, double* %398
%400 = fsub double %395, %399
store double %400, double* %54
%401 = load double, double* %54
%402 = load double, double* %54
%403 = fmul double %401, %402
%404 = load i32, i32* %53
%405 = sext i32 %404 to i64
%406 = getelementptr inbounds [6 x double], [6 x double]* %32, i64 0, i64 %405
store double %403, double* %406
%407 = load i32, i32* %53
%408 = sext i32 %407 to i64
%409 = getelementptr inbounds [6 x double], [6 x double]* %32, i64 0, i64 %408
%410 = load double, double* %409
%411 = load double, double* %52
%412 = fadd double %410, %411
%413 = fdiv double 1.000000e+00, %412
%414 = load i32, i32* %53
%415 = sext i32 %414 to i64
%416 = getelementptr inbounds [6 x double], [6 x double]* %30, i64 0, i64 %415
store double %413, double* %416
%417 = load i32, i32* %53
%418 = sext i32 %417 to i64
%419 = getelementptr inbounds [6 x double], [6 x double]* %30, i64 0, i64 %418
%420 = load double, double* %419
%421 = load double, double* %54
%422 = fmul double %420, %421
%423 = load i32, i32* %53
%424 = sext i32 %423 to i64
%425 = getelementptr inbounds [6 x double], [6 x double]* %34, i64 0, i64 %424
store double %422, double* %425
%426 = load i32, i32* %53
%427 = sext i32 %426 to i64
%428 = getelementptr inbounds [6 x double], [6 x double]* %30, i64 0, i64 %427
%429 = load double, double* %428
%430 = load double, double* %51
%431 = fmul double %429, %430
%432 = load i32, i32* %53
%433 = sext i32 %432 to i64
%434 = getelementptr inbounds [6 x double], [6 x double]* %35, i64 0, i64 %433
store double %431, double* %434
%435 = load double, double* %4
%436 = load i32, i32* %53
%437 = sext i32 %436 to i64
%438 = getelementptr inbounds [6 x double], [6 x double]* %8, i64 0, i64 %437
%439 = load double, double* %438
%440 = fadd double %435, %439
store double %440, double* %54
%441 = load double, double* %54
%442 = load double, double* %54
%443 = fmul double %441, %442
%444 = load i32, i32* %53
%445 = sext i32 %444 to i64
%446 = getelementptr inbounds [6 x double], [6 x double]* %33, i64 0, i64 %445
store double %443, double* %446
%447 = load i32, i32* %53
%448 = sext i32 %447 to i64
%449 = getelementptr inbounds [6 x double], [6 x double]* %33, i64 0, i64 %448
%450 = load double, double* %449
%451 = load double, double* %52
%452 = fadd double %450, %451
%453 = fdiv double 1.000000e+00, %452
%454 = load i32, i32* %53
%455 = sext i32 %454 to i64
%456 = getelementptr inbounds [6 x double], [6 x double]* %31, i64 0, i64 %455
store double %453, double* %456
%457 = load i32, i32* %53
%458 = sext i32 %457 to i64
%459 = getelementptr inbounds [6 x double], [6 x double]* %31, i64 0, i64 %458
%460 = load double, double* %459
%461 = load double, double* %54
%462 = fmul double %460, %461
%463 = load i32, i32* %53
%464 = sext i32 %463 to i64
%465 = getelementptr inbounds [6 x double], [6 x double]* %36, i64 0, i64 %464
store double %462, double* %465
%466 = load i32, i32* %53
%467 = sext i32 %466 to i64
%468 = getelementptr inbounds [6 x double], [6 x double]* %31, i64 0, i64 %467
%469 = load double, double* %468
%470 = load double, double* %51
%471 = fmul double %469, %470
%472 = load i32, i32* %53
%473 = sext i32 %472 to i64
%474 = getelementptr inbounds [6 x double], [6 x double]* %37, i64 0, i64 %473
store double %471, double* %474
br label %475
475: ; preds = %394
%476 = load i32, i32* %53
%477 = add nsw i32 %476, 1
store i32 %477, i32* %53
br label %391
478: ; preds = %391
store double 0.000000e+00, double* %50
%479 = load double, double* %48
%480 = load double, double* %45
%481 = fcmp ole double %479, %480
br i1 %481, label %482, label %522
482: ; preds = %478
store i32 0, i32* %53
br label %483
483: ; preds = %518, %482
%484 = load i32, i32* %53
%485 = icmp sle i32 %484, 5
br i1 %485, label %486, label %521
486: ; preds = %483
%487 = load i32, i32* %53
%488 = sext i32 %487 to i64
%489 = getelementptr inbounds [6 x double], [6 x double]* %6, i64 0, i64 %488
%490 = load double, double* %489
%491 = load i32, i32* %53
%492 = sext i32 %491 to i64
%493 = getelementptr inbounds [6 x double], [6 x double]* %35, i64 0, i64 %492
%494 = load double, double* %493
%495 = load i32, i32* %53
%496 = sext i32 %495 to i64
%497 = getelementptr inbounds [6 x double], [6 x double]* %37, i64 0, i64 %496
%498 = load double, double* %497
%499 = fadd double %494, %498
%500 = load i32, i32* %53
%501 = sext i32 %500 to i64
%502 = getelementptr inbounds [6 x double], [6 x double]* %7, i64 0, i64 %501
%503 = load double, double* %502
%504 = load i32, i32* %53
%505 = sext i32 %504 to i64
%506 = getelementptr inbounds [6 x double], [6 x double]* %34, i64 0, i64 %505
%507 = load double, double* %506
%508 = load i32, i32* %53
%509 = sext i32 %508 to i64
%510 = getelementptr inbounds [6 x double], [6 x double]* %36, i64 0, i64 %509
%511 = load double, double* %510
%512 = fsub double %507, %511
%513 = fmul double %503, %512
%514 = fneg double %513
%515 = call double @llvm.fmuladd.f64(double %490, double %499, double %514)
%516 = load double, double* %50
%517 = fadd double %516, %515
store double %517, double* %50
br label %518
518: ; preds = %486
%519 = load i32, i32* %53
%520 = add nsw i32 %519, 1
store i32 %520, i32* %53
br label %483
521: ; preds = %483
br label %617
522: ; preds = %478
%523 = load double, double* %5
%524 = fadd double %523, 3.000000e+00
store double %524, double* %55
store i32 0, i32* %53
br label %525
525: ; preds = %607, %522
%526 = load i32, i32* %53
%527 = icmp sle i32 %526, 5
br i1 %527, label %528, label %610
528: ; preds = %525
%529 = load i32, i32* %53
%530 = sext i32 %529 to i64
%531 = getelementptr inbounds [6 x double], [6 x double]* %6, i64 0, i64 %530
%532 = load double, double* %531
%533 = load i32, i32* %53
%534 = sext i32 %533 to i64
%535 = getelementptr inbounds [6 x double], [6 x double]* %32, i64 0, i64 %534
%536 = load double, double* %535
%537 = load i32, i32* %53
%538 = sext i32 %537 to i64
%539 = getelementptr inbounds [6 x double], [6 x double]* %30, i64 0, i64 %538
%540 = load double, double* %539
%541 = load i32, i32* %53
%542 = sext i32 %541 to i64
%543 = getelementptr inbounds [6 x double], [6 x double]* %35, i64 0, i64 %542
%544 = load double, double* %543
%545 = fmul double %544, 1.500000e+00
%546 = fneg double %545
%547 = call double @llvm.fmuladd.f64(double %536, double %540, double %546)
%548 = load i32, i32* %53
%549 = sext i32 %548 to i64
%550 = getelementptr inbounds [6 x double], [6 x double]* %7, i64 0, i64 %549
%551 = load double, double* %550
%552 = load double, double* %55
%553 = fmul double %551, %552
%554 = load i32, i32* %53
%555 = sext i32 %554 to i64
%556 = getelementptr inbounds [6 x double], [6 x double]* %34, i64 0, i64 %555
%557 = load double, double* %556
%558 = fmul double %553, %557
%559 = call double @llvm.fmuladd.f64(double %532, double %547, double %558)
%560 = load i32, i32* %53
%561 = sext i32 %560 to i64
%562 = getelementptr inbounds [6 x double], [6 x double]* %32, i64 0, i64 %561
%563 = load double, double* %562
%564 = fadd double %563, 2.250000e+00
%565 = fdiv double %559, %564
%566 = load i32, i32* %53
%567 = sext i32 %566 to i64
%568 = getelementptr inbounds [6 x double], [6 x double]* %6, i64 0, i64 %567
%569 = load double, double* %568
%570 = load i32, i32* %53
%571 = sext i32 %570 to i64
%572 = getelementptr inbounds [6 x double], [6 x double]* %33, i64 0, i64 %571
%573 = load double, double* %572
%574 = load i32, i32* %53
%575 = sext i32 %574 to i64
%576 = getelementptr inbounds [6 x double], [6 x double]* %31, i64 0, i64 %575
%577 = load double, double* %576
%578 = load i32, i32* %53
%579 = sext i32 %578 to i64
%580 = getelementptr inbounds [6 x double], [6 x double]* %37, i64 0, i64 %579
%581 = load double, double* %580
%582 = fmul double %581, 1.500000e+00
%583 = fneg double %582
%584 = call double @llvm.fmuladd.f64(double %573, double %577, double %583)
%585 = load i32, i32* %53
%586 = sext i32 %585 to i64
%587 = getelementptr inbounds [6 x double], [6 x double]* %7, i64 0, i64 %586
%588 = load double, double* %587
%589 = load double, double* %55
%590 = fmul double %588, %589
%591 = load i32, i32* %53
%592 = sext i32 %591 to i64
%593 = getelementptr inbounds [6 x double], [6 x double]* %36, i64 0, i64 %592
%594 = load double, double* %593
%595 = fmul double %590, %594
%596 = fneg double %595
%597 = call double @llvm.fmuladd.f64(double %569, double %584, double %596)
%598 = load i32, i32* %53
%599 = sext i32 %598 to i64
%600 = getelementptr inbounds [6 x double], [6 x double]* %33, i64 0, i64 %599
%601 = load double, double* %600
%602 = fadd double %601, 2.250000e+00
%603 = fdiv double %597, %602
%604 = fadd double %565, %603
%605 = load double, double* %50
%606 = fadd double %605, %604
store double %606, double* %50
br label %607
607: ; preds = %528
%608 = load i32, i32* %53
%609 = add nsw i32 %608, 1
store i32 %609, i32* %53
br label %525
610: ; preds = %525
%611 = load double, double* %5
%612 = load double, double* %50
%613 = load double, double* %49
%614 = fneg double %613
%615 = call double @exp(double %614)
%616 = call double @llvm.fmuladd.f64(double %611, double %612, double %615)
store double %616, double* %50
br label %617
617: ; preds = %610, %521
%618 = load double, double* %50
store double %618, double* %3
br label %619
619: ; preds = %617, %354, %210, %154, %131, %92
%620 = load double, double* %3
ret double %620
}

LLVM IR (-O2):
define double @humlik(double %0, double %1) {
%3 = alloca [6 x double]
%4 = alloca [6 x double]
%5 = alloca [6 x double]
%6 = alloca [6 x double]
%7 = alloca [6 x double]
%8 = alloca [6 x double]
%9 = alloca [6 x double]
%10 = alloca [6 x double]
%11 = alloca [6 x double]
%12 = alloca [6 x double]
%13 = alloca [6 x double]
%14 = bitcast [6 x double]* %3 to i8*
%15 = bitcast [6 x double]* %3 to <2 x double>*
store <2 x double> <double 0x3FF03009CDDF1B84, double 0xBFE8102678E599F8>, <2 x double>* %15
%16 = getelementptr inbounds [6 x double], [6 x double]* %3, i64 0, i64 2
%17 = bitcast double* %16 to <2 x double>*
store <2 x double> <double 0x3F89B7DD96377E35, double 0x3F84866B24CD5011>, <2 x double>* %17
%18 = getelementptr inbounds [6 x double], [6 x double]* %3, i64 0, i64 4
%19 = bitcast double* %18 to <2 x double>*
store <2 x double> <double 0xBF2FBA757D49C89C, double 0x3EA0CE40880C53DA>, <2 x double>* %19
%20 = bitcast [6 x double]* %4 to i8*
%21 = bitcast [6 x double]* %4 to <2 x double>*
store <2 x double> <double 0x3FF64AB2E1693C04, double 0x3FCD9666F4ABB901>, <2 x double>* %21
%22 = getelementptr inbounds [6 x double], [6 x double]* %4, i64 0, i64 2
%23 = bitcast double* %22 to <2 x double>*
store <2 x double> <double 0xBFC3E28E95848C16, double 0x3F79786DF76AB54A>, <2 x double>* %23
%24 = getelementptr inbounds [6 x double], [6 x double]* %4, i64 0, i64 4
%25 = bitcast double* %24 to <2 x double>*
store <2 x double> <double 0x3F1817DC8DC229FE, double 0xBEA50E682DF3E1CB>, <2 x double>* %25
%26 = bitcast [6 x double]* %5 to i8*
%27 = bitcast [6 x double]* %5 to <2 x double>*
store <2 x double> <double 0x3FD41C83AECBAFEC, double 0x3FEE544851528305>, <2 x double>* %27
%28 = getelementptr inbounds [6 x double], [6 x double]* %5, i64 0, i64 2
%29 = bitcast double* %28 to <2 x double>*
store <2 x double> <double 0x3FF9901BA1463645, double 0x40023C6E37EBFF98>, <2 x double>* %29
%30 = getelementptr inbounds [6 x double], [6 x double]* %5, i64 0, i64 4
%31 = bitcast double* %30 to <2 x double>*
store <2 x double> <double 0x40082A43BB40B34E, double 0x400F1E28169F7EB6>, <2 x double>* %31
%32 = bitcast [6 x double]* %6 to i8*
%33 = bitcast [6 x double]* %7 to i8*
%34 = bitcast [6 x double]* %8 to i8*
%35 = bitcast [6 x double]* %9 to i8*
%36 = bitcast [6 x double]* %10 to i8*
%37 = bitcast [6 x double]* %11 to i8*
%38 = bitcast [6 x double]* %12 to i8*
%39 = bitcast [6 x double]* %13 to i8*
%40 = fmul double %1, %1
%41 = fmul double %1, 0x3FE20DD74E5B01D9
%42 = tail call double @llvm.fabs.f64(double %0)
%43 = fmul double %0, %0
%44 = fcmp ult double %1, 7.055000e+01
br i1 %44, label %48, label %45
45: ; preds = %2
%46 = fadd double %43, %40
%47 = fdiv double %41, %46
br label %352
48: ; preds = %2
%49 = fneg double %1
%50 = tail call double @llvm.fmuladd.f64(double %49, double 3.600000e+00, double 4.000000e+01)
%51 = tail call double @llvm.fmuladd.f64(double %1, double %50, double 1.510000e+04)
%52 = tail call double @sqrt(double %51)
%53 = fcmp ult double %1, 8.425000e+00
br i1 %53, label %54, label %58
54: ; preds = %48
%55 = tail call double @llvm.fmuladd.f64(double %1, double 1.800000e+00, double 4.300000e+00)
%56 = tail call double @llvm.fmuladd.f64(double %49, double %55, double 1.640000e+02)
%57 = tail call double @sqrt(double %56)
br label %58
58: ; preds = %48, %54
%59 = phi double [ %57, %54 ], [ 0.000000e+00, %48 ]
%60 = fsub double 6.800000e+00, %1
%61 = fmul double %1, 2.400000e+00
%62 = tail call double @llvm.fmuladd.f64(double %1, double 1.810000e+01, double 1.650000e+00)
%63 = fcmp ugt double %1, 0x3EB0C6F7A0B5ED8D
%64 = select i1 %63, double %60, double %52
%65 = fcmp ult double %42, %52
br i1 %65, label %69, label %66
66: ; preds = %58
%67 = fadd double %43, %40
%68 = fdiv double %41, %67
br label %352
69: ; preds = %58
%70 = select i1 %63, double %59, double %52
%71 = fcmp ult double %42, %70
br i1 %71, label %83, label %72
72: ; preds = %69
%73 = fadd double %40, 5.000000e-01
%74 = fadd double %40, %40
%75 = fadd double %74, -1.000000e+00
%76 = fmul double %73, %73
%77 = fadd double %43, %75
%78 = tail call double @llvm.fmuladd.f64(double %43, double %77, double %76)
%79 = fdiv double 0x3FE20DD74E5B01D9, %78
%80 = fmul double %79, %1
%81 = fadd double %43, %73
%82 = fmul double %81, %80
br label %352
83: ; preds = %69
%84 = fcmp ogt double %42, %64
br i1 %84, label %85, label %113
85: ; preds = %83
%86 = fneg double %40
%87 = tail call double @llvm.fmuladd.f64(double %40, double 4.000000e+00, double -6.000000e+00)
%88 = fmul double %87, 7.500000e-01
%89 = tail call double @llvm.fmuladd.f64(double %40, double 3.000000e+00, double 1.000000e+00)
%90 = tail call double @llvm.fmuladd.f64(double %40, double %89, double 5.250000e+00)
%91 = fadd double %40, 5.500000e+00
%92 = tail call double @llvm.fmuladd.f64(double %40, double %91, double 8.250000e+00)
%93 = tail call double @llvm.fmuladd.f64(double %40, double %92, double 1.875000e+00)
%94 = tail call double @llvm.fmuladd.f64(double %86, double 6.000000e+00, double 6.000000e+00)
%95 = tail call double @llvm.fmuladd.f64(double %86, double %94, double 1.050000e+01)
%96 = tail call double @llvm.fmuladd.f64(double %40, double 4.000000e+00, double 6.000000e+00)
%97 = tail call double @llvm.fmuladd.f64(double %40, double %96, double 9.000000e+00)
%98 = tail call double @llvm.fmuladd.f64(double %40, double %97, double -4.500000e+00)
%99 = fadd double %40, 6.000000e+00
%100 = tail call double @llvm.fmuladd.f64(double %40, double %99, double 1.050000e+01)
%101 = tail call double @llvm.fmuladd.f64(double %40, double %100, double 4.500000e+00)
%102 = tail call double @llvm.fmuladd.f64(double %40, double %101, double 5.625000e-01)
%103 = fadd double %43, %87
%104 = tail call double @llvm.fmuladd.f64(double %43, double %103, double %95)
%105 = tail call double @llvm.fmuladd.f64(double %43, double %104, double %98)
%106 = tail call double @llvm.fmuladd.f64(double %43, double %105, double %102)
%107 = fdiv double 0x3FE20DD74E5B01D9, %106
%108 = fmul double %107, %1
%109 = fadd double %43, %88
%110 = tail call double @llvm.fmuladd.f64(double %43, double %109, double %90)
%111 = tail call double @llvm.fmuladd.f64(double %43, double %110, double %93)
%112 = fmul double %111, %108
br label %352
113: ; preds = %83
%114 = fcmp olt double %42, %61
br i1 %114, label %115, label %182
115: ; preds = %113
%116 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FD45F8104775E05, double 0x3F41F53652965DA2)
%117 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FF45F809917939A, double 0x401110B6B6E0D23D)
%118 = tail call double @llvm.fmuladd.f64(double %1, double %117, double 0x3FEE01AE20395B6B)
%119 = tail call double @llvm.fmuladd.f64(double %1, double %118, double 0xBFB29E6B657EB4E7)
%120 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FFE8F41510327D3, double 0x402997635E74299E)
%121 = tail call double @llvm.fmuladd.f64(double %1, double %120, double 0x403DD0980B242071)
%122 = tail call double @llvm.fmuladd.f64(double %1, double %121, double 0x4038043C9EECBFB1)
%123 = tail call double @llvm.fmuladd.f64(double %1, double %122, double 0x4024ED38476F2A5A)
%124 = tail call double @llvm.fmuladd.f64(double %1, double %123, double 0x4004AC1E364BEC68)
%125 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FF45F80E99F6B6B, double 0x402996D330941C82)
%126 = tail call double @llvm.fmuladd.f64(double %1, double %125, double 0x404C6883BA3443D4)
%127 = tail call double @llvm.fmuladd.f64(double %1, double %126, double 0x40616EED916872B0)
%128 = tail call double @llvm.fmuladd.f64(double %1, double %127, double 1.897730e+02)
%129 = tail call double @llvm.fmuladd.f64(double %1, double %128, double 0x405F263D70A3D70A)
%130 = tail call double @llvm.fmuladd.f64(double %1, double %129, double 0xBFF527F5E84F0953)
%131 = tail call double @llvm.fmuladd.f64(double %1, double %130, double 0xC04115B3D07C84B6)
%132 = tail call double @llvm.fmuladd.f64(double %1, double 0x3FD45F8104775E05, double 0x40110F07BFE7E1FC)
%133 = tail call double @llvm.fmuladd.f64(double %1, double %132, double 0x403BF07D2C7B890D)
%134 = tail call double @llvm.fmuladd.f64(double %1, double %133, double 0x405CD8240B780347)
%135 = tail call double @llvm.fmuladd.f64(double %1, double %134, double 0x407483710CB295EA)
%136 = tail call double @llvm.fmuladd.f64(double %1, double %135, double 0x4084B67A43FE5C92)
%137 = tail call double @llvm.fmuladd.f64(double %1, double %136, double 9.468970e+02)
%138 = tail call double @llvm.fmuladd.f64(double %1, double %137, double 0x408CBBF6C8B43958)
%139 = tail call double @llvm.fmuladd.f64(double %1, double %138, double 0x40812B29C779A6B5)
%140 = tail call double @llvm.fmuladd.f64(double %1, double %139, double 0x40633089A0275254)
%141 = tail call double @llvm.fmuladd.f64(double %1, double 5.000000e+00, double 1.339880e+01)
%142 = tail call double @llvm.fmuladd.f64(double %1, double %141, double 1.496460e+00)
%143 = tail call double @llvm.fmuladd.f64(double %1, double 1.000000e+01, double 0x404ACC2EDBB59DDC)
%144 = tail call double @llvm.fmuladd.f64(double %1, double %143, double 0x4057306F3F52FC26)
%145 = tail call double @llvm.fmuladd.f64(double %1, double %144, double 0x404B83C115DF6556)
%146 = tail call double @llvm.fmuladd.f64(double %1, double %145, double 0x40360904D551D68C)
%147 = tail call double @llvm.fmuladd.f64(double %1, double 1.000000e+01, double 0x405419234EB9A177)
%148 = tail call double @llvm.fmuladd.f64(double %1, double %147, double 0x4070D4AA64C2F838)
%149 = tail call double @llvm.fmuladd.f64(double %1, double %148, double 0x407DF41F212D7732)
%150 = tail call double @llvm.fmuladd.f64(double %1, double %149, double 0x407F14D288CE703B)
%151 = tail call double @llvm.fmuladd.f64(double %1, double %150, double 0x407342F694467382)
%152 = tail call double @llvm.fmuladd.f64(double %1, double %151, double 0x4053B76A161E4F76)
%153 = tail call double @llvm.fmuladd.f64(double %1, double 5.000000e+00, double 0x404ACC2EDBB59DDC)
%154 = tail call double @llvm.fmuladd.f64(double %1, double %153, double 0x4070A4C779A6B50B)
%155 = tail call double @llvm.fmuladd.f64(double %1, double %154, double 0x4088CB6B1C432CA5)
%156 = tail call double @llvm.fmuladd.f64(double %1, double %155, double 0x409836B333333333)
%157 = tail call double @llvm.fmuladd.f64(double %1, double %156, double 2.037310e+03)
%158 = tail call double @llvm.fmuladd.f64(double %1, double %157, double 0x409B795810624DD3)
%159 = tail call double @llvm.fmuladd.f64(double %1, double %158, double 0x408C3273EAB367A1)
%160 = tail call double @llvm.fmuladd.f64(double %1, double %159, double 2.116780e+02)
%161 = fadd double %1, 1.339880e+01
%162 = tail call double @llvm.fmuladd.f64(double %1, double %161, double 0x4056111D3ED527E5)
%163 = tail call double @llvm.fmuladd.f64(double %1, double %162, double 0x4077132EB1C432CA)
%164 = tail call double @llvm.fmuladd.f64(double %1, double %163, double 0x4090C9A2D0E56042)
%165 = tail call double @llvm.fmuladd.f64(double %1, double %164, double 0x40A1A1F645A1CAC1)
%166 = tail call double @llvm.fmuladd.f64(double %1, double %165, double 0x40AAEF420C49BA5E)
%167 = tail call double @llvm.fmuladd.f64(double %1, double %166, double 0x40AD69EE978D4FDF)
%168 = tail call double @llvm.fmuladd.f64(double %1, double %167, double 2.802870e+03)
%169 = tail call double @llvm.fmuladd.f64(double %1, double %168, double 0x40940350E5604189)
%170 = tail call double @llvm.fmuladd.f64(double %1, double %169, double 0x4071019F559B3D08)
%171 = fadd double %43, %142
%172 = tail call double @llvm.fmuladd.f64(double %43, double %171, double %146)
%173 = tail call double @llvm.fmuladd.f64(double %43, double %172, double %152)
%174 = tail call double @llvm.fmuladd.f64(double %43, double %173, double %160)
%175 = tail call double @llvm.fmuladd.f64(double %43, double %174, double %170)
%176 = fdiv double 0x3FFC5BF8840ABC1C, %175
%177 = tail call double @llvm.fmuladd.f64(double %43, double %116, double %119)
%178 = tail call double @llvm.fmuladd.f64(double %43, double %177, double %124)
%179 = tail call double @llvm.fmuladd.f64(double %43, double %178, double %131)
%180 = tail call double @llvm.fmuladd.f64(double %43, double %179, double %140)
%181 = fmul double %180, %176
br label %352
182: ; preds = %113
%183 = fadd double %1, 1.500000e+00
%184 = fmul double %183, %183
br label %185
185: ; preds = %210, %182
%186 = phi double [ 0x3FD41C83AECBAFEC, %182 ], [ %212, %210 ]
%187 = phi i64 [ 0, %182 ], [ %208, %210 ]
%188 = fsub double %0, %186
%189 = fmul double %188, %188
%190 = getelementptr inbounds [6 x double], [6 x double]* %8, i64 0, i64 %187
store double %189, double* %190
%191 = fadd double %184, %189
%192 = fdiv double 1.000000e+00, %191
%193 = getelementptr inbounds [6 x double], [6 x double]* %6, i64 0, i64 %187
store double %192, double* %193
%194 = fmul double %188, %192
%195 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 %187
store double %194, double* %195
%196 = fmul double %183, %192
%197 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 %187
store double %196, double* %197
%198 = fadd double %186, %0
%199 = fmul double %198, %198
%200 = getelementptr inbounds [6 x double], [6 x double]* %9, i64 0, i64 %187
store double %199, double* %200
%201 = fadd double %184, %199
%202 = fdiv double 1.000000e+00, %201
%203 = getelementptr inbounds [6 x double], [6 x double]* %7, i64 0, i64 %187
store double %202, double* %203
%204 = fmul double %198, %202
%205 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 %187
store double %204, double* %205
%206 = fmul double %183, %202
%207 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 %187
store double %206, double* %207
%208 = add nuw nsw i64 %187, 1
%209 = icmp eq i64 %208, 6
br i1 %209, label %213, label %210
210: ; preds = %185
%211 = getelementptr inbounds [6 x double], [6 x double]* %5, i64 0, i64 %208
%212 = load double, double* %211
br label %185
213: ; preds = %185
%214 = fcmp ugt double %42, %62
br i1 %214, label %294, label %215
215: ; preds = %213
%216 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 0
%217 = load double, double* %216
%218 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 0
%219 = load double, double* %218
%220 = fadd double %217, %219
%221 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 0
%222 = load double, double* %221
%223 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 0
%224 = load double, double* %223
%225 = fsub double %222, %224
%226 = fmul double %225, 0xBFF64AB2E1693C04
%227 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FF03009CDDF1B84, double %226)
%228 = fadd double %227, 0.000000e+00
%229 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 1
%230 = load double, double* %229
%231 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 1
%232 = load double, double* %231
%233 = fadd double %230, %232
%234 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 1
%235 = load double, double* %234
%236 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 1
%237 = load double, double* %236
%238 = fsub double %235, %237
%239 = fmul double %238, 0xBFCD9666F4ABB901
%240 = tail call double @llvm.fmuladd.f64(double %233, double 0xBFE8102678E599F8, double %239)
%241 = fadd double %228, %240
%242 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 2
%243 = load double, double* %242
%244 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 2
%245 = load double, double* %244
%246 = fadd double %243, %245
%247 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 2
%248 = load double, double* %247
%249 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 2
%250 = load double, double* %249
%251 = fsub double %248, %250
%252 = fmul double %251, 0x3FC3E28E95848C16
%253 = tail call double @llvm.fmuladd.f64(double %246, double 0x3F89B7DD96377E35, double %252)
%254 = fadd double %241, %253
%255 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 3
%256 = load double, double* %255
%257 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 3
%258 = load double, double* %257
%259 = fadd double %256, %258
%260 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 3
%261 = load double, double* %260
%262 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 3
%263 = load double, double* %262
%264 = fsub double %261, %263
%265 = fmul double %264, 0xBF79786DF76AB54A
%266 = tail call double @llvm.fmuladd.f64(double %259, double 0x3F84866B24CD5011, double %265)
%267 = fadd double %254, %266
%268 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 4
%269 = load double, double* %268
%270 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 4
%271 = load double, double* %270
%272 = fadd double %269, %271
%273 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 4
%274 = load double, double* %273
%275 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 4
%276 = load double, double* %275
%277 = fsub double %274, %276
%278 = fmul double %277, 0xBF1817DC8DC229FE
%279 = tail call double @llvm.fmuladd.f64(double %272, double 0xBF2FBA757D49C89C, double %278)
%280 = fadd double %267, %279
%281 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 5
%282 = load double, double* %281
%283 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 5
%284 = load double, double* %283
%285 = fadd double %282, %284
%286 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 5
%287 = load double, double* %286
%288 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 5
%289 = load double, double* %288
%290 = fsub double %287, %289
%291 = fmul double %290, 0x3EA50E682DF3E1CB
%292 = tail call double @llvm.fmuladd.f64(double %285, double 0x3EA0CE40880C53DA, double %291)
%293 = fadd double %280, %292
br label %352
294: ; preds = %213
%295 = fadd double %1, 3.000000e+00
br label %296
296: ; preds = %343, %294
%297 = phi double [ 0x3FF64AB2E1693C04, %294 ], [ %347, %343 ]
%298 = phi double [ 0x3FF03009CDDF1B84, %294 ], [ %345, %343 ]
%299 = phi i64 [ 0, %294 ], [ %341, %343 ]
%300 = phi double [ 0.000000e+00, %294 ], [ %340, %343 ]
%301 = getelementptr inbounds [6 x double], [6 x double]* %8, i64 0, i64 %299
%302 = load double, double* %301
%303 = getelementptr inbounds [6 x double], [6 x double]* %6, i64 0, i64 %299
%304 = load double, double* %303
%305 = getelementptr inbounds [6 x double], [6 x double]* %11, i64 0, i64 %299
%306 = load double, double* %305
%307 = fmul double %295, %297
%308 = getelementptr inbounds [6 x double], [6 x double]* %10, i64 0, i64 %299
%309 = load double, double* %308
%310 = getelementptr inbounds [6 x double], [6 x double]* %9, i64 0, i64 %299
%311 = load double, double* %310
%312 = getelementptr inbounds [6 x double], [6 x double]* %7, i64 0, i64 %299
%313 = load double, double* %312
%314 = getelementptr inbounds [6 x double], [6 x double]* %13, i64 0, i64 %299
%315 = load double, double* %314
%316 = insertelement <2 x double> poison, double %306, i64 0
%317 = insertelement <2 x double> %316, double %315, i64 1
%318 = fmul <2 x double> %317, <double -1.500000e+00, double -1.500000e+00>
%319 = insertelement <2 x double> poison, double %302, i64 0
%320 = insertelement <2 x double> %319, double %311, i64 1
%321 = insertelement <2 x double> poison, double %304, i64 0
%322 = insertelement <2 x double> %321, double %313, i64 1
%323 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %320, <2 x double> %322, <2 x double> %318)
%324 = getelementptr inbounds [6 x double], [6 x double]* %12, i64 0, i64 %299
%325 = load double, double* %324
%326 = fneg double %307
%327 = insertelement <2 x double> poison, double %307, i64 0
%328 = insertelement <2 x double> %327, double %325, i64 1
%329 = insertelement <2 x double> poison, double %309, i64 0
%330 = insertelement <2 x double> %329, double %326, i64 1
%331 = fmul <2 x double> %328, %330
%332 = insertelement <2 x double> poison, double %298, i64 0
%333 = shufflevector <2 x double> %332, <2 x double> poison, <2 x i32> zeroinitializer
%334 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %333, <2 x double> %323, <2 x double> %331)
%335 = fadd <2 x double> %320, <double 2.250000e+00, double 2.250000e+00>
%336 = fdiv <2 x double> %334, %335
%337 = shufflevector <2 x double> %336, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%338 = fadd <2 x double> %336, %337
%339 = extractelement <2 x double> %338, i64 0
%340 = fadd double %300, %339
%341 = add nuw nsw i64 %299, 1
%342 = icmp eq i64 %341, 6
br i1 %342, label %348, label %343
343: ; preds = %296
%344 = getelementptr inbounds [6 x double], [6 x double]* %3, i64 0, i64 %341
%345 = load double, double* %344
%346 = getelementptr inbounds [6 x double], [6 x double]* %4, i64 0, i64 %341
%347 = load double, double* %346
br label %296
348: ; preds = %296
%349 = fneg double %43
%350 = tail call double @exp(double %349)
%351 = tail call double @llvm.fmuladd.f64(double %1, double %340, double %350)
br label %352
352: ; preds = %215, %348, %115, %85, %72, %66, %45
%353 = phi double [ %47, %45 ], [ %68, %66 ], [ %82, %72 ], [ %112, %85 ], [ %181, %115 ], [ %351, %348 ], [ %293, %215 ]
ret double %353
}