#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
double exp(double);
double fabs(double);
double pow(double, double);
double sqrt(double);
int sqfun(int ix, int ir, double gMSAWave[]) {
  double acc = 1.0e-6;
  double reta, eta2, eta21, eta22, eta3, eta32, eta2d, eta2d2, eta3d, eta6d,
      e12, e24, rgek;
  double rak, ak1, ak2, dak, dak2, dak4, d, d2, dd2, dd4, dd45, ex1, ex2, sk,
      ck, ckma, skma;
  double al1, al2, al3, al4, al5, al6, be1, be2, be3, vu1, vu2, vu3, vu4, vu5,
      ph1, ph2, ta1, ta2, ta3, ta4, ta5;
  double a1, a2, a3, b1, b2, b3, v1, v2, v3, p1, p2, p3, pp, pp1, pp2, p1p2, t1,
      t2, t3, um1, um2, um3, um4, um5, um6;
  double w0, w1, w2, w3, w4, w12, w13, w14, w15, w16, w24, w25, w26, w32, w34,
      w3425, w35, w3526, w36, w46, w56;
  double fa, fap, ca, e24g, pwk, qpw, pg, del, fun, fund, g24;
  int ii, ibig, itm = 40;
  a2 = 0;
  a3 = 0;
  b2 = 0;
  b3 = 0;
  v2 = 0;
  v3 = 0;
  p2 = 0;
  p3 = 0;
  reta = gMSAWave[16];
  eta2 = reta * reta;
  eta3 = eta2 * reta;
  e12 = 12.0 * reta;
  e24 = e12 + e12;
  gMSAWave[13] = pow((gMSAWave[4] / gMSAWave[16]), (1.0 / 3.0));
  gMSAWave[12] = gMSAWave[6] / gMSAWave[13];
  ibig = 0;
  if ((gMSAWave[12] > 15.0) && (ix == 1)) {
    ibig = 1;
  }
  gMSAWave[11] = gMSAWave[5] * gMSAWave[13] * exp(gMSAWave[6] - gMSAWave[12]);
  rgek = gMSAWave[11];
  rak = gMSAWave[12];
  ak2 = rak * rak;
  ak1 = 1.0 + rak;
  dak2 = 1.0 / ak2;
  dak4 = dak2 * dak2;
  d = 1.0 - reta;
  d2 = d * d;
  dak = d / rak;
  dd2 = 1.0 / d2;
  dd4 = dd2 * dd2;
  dd45 = dd4 * 2.0e-1;
  eta3d = 3.0 * reta;
  eta6d = eta3d + eta3d;
  eta32 = eta3 + eta3;
  eta2d = reta + 2.0;
  eta2d2 = eta2d * eta2d;
  eta21 = 2.0 * reta + 1.0;
  eta22 = eta21 * eta21;
  al1 = -eta21 * dak;
  al2 = (14.0 * eta2 - 4.0 * reta - 1.0) * dak2;
  al3 = 36.0 * eta2 * dak4;
  be1 = -(eta2 + 7.0 * reta + 1.0) * dak;
  be2 = 9.0 * reta * (eta2 + 4.0 * reta - 2.0) * dak2;
  be3 = 12.0 * reta * (2.0 * eta2 + 8.0 * reta - 1.0) * dak4;
  vu1 = -(eta3 + 3.0 * eta2 + 45.0 * reta + 5.0) * dak;
  vu2 = (eta32 + 3.0 * eta2 + 42.0 * reta - 2.0e1) * dak2;
  vu3 = (eta32 + 3.0e1 * reta - 5.0) * dak4;
  vu4 = vu1 + e24 * rak * vu3;
  vu5 = eta6d * (vu2 + 4.0 * vu3);
  ph1 = eta6d / rak;
  ph2 = d - e12 * dak2;
  ta1 = (reta + 5.0) / (5.0 * rak);
  ta2 = eta2d * dak2;
  ta3 = -e12 * rgek * (ta1 + ta2);
  ta4 = eta3d * ak2 * (ta1 * ta1 - ta2 * ta2);
  ta5 = eta3d * (reta + 8.0) * 1.0e-1 - 2.0 * eta22 * dak2;
  ex1 = exp(rak);
  ex2 = 0.0;
  if (gMSAWave[12] < 20.0) {
    ex2 = exp(-rak);
  }
  sk = 0.5 * (ex1 - ex2);
  ck = 0.5 * (ex1 + ex2);
  ckma = ck - 1.0 - rak * sk;
  skma = sk - rak * ck;
  a1 = (e24 * rgek * (al1 + al2 + ak1 * al3) - eta22) * dd4;
  if (ibig == 0) {
    a2 = e24 * (al3 * skma + al2 * sk - al1 * ck) * dd4;
    a3 = e24 * (eta22 * dak2 - 0.5 * d2 + al3 * ckma - al1 * sk + al2 * ck) *
         dd4;
  }
  b1 = (1.5 * reta * eta2d2 - e12 * rgek * (be1 + be2 + ak1 * be3)) * dd4;
  if (ibig == 0) {
    b2 = e12 * (-be3 * skma - be2 * sk + be1 * ck) * dd4;
    b3 = e12 *
         (0.5 * d2 * eta2d - eta3d * eta2d2 * dak2 - be3 * ckma + be1 * sk -
          be2 * ck) *
         dd4;
  }
  v1 = (eta21 * (eta2 - 2.0 * reta + 1.0e1) * 2.5e-1 - rgek * (vu4 + vu5)) *
       dd45;
  if (ibig == 0) {
    v2 = (vu4 * ck - vu5 * sk) * dd45;
    v3 = ((eta3 - 6.0 * eta2 + 5.0) * d -
          eta6d * (2.0 * eta3 - 3.0 * eta2 + 18.0 * reta + 1.0e1) * dak2 +
          e24 * vu3 + vu4 * sk - vu5 * ck) *
         dd45;
  }
  pp1 = ph1 * ph1;
  pp2 = ph2 * ph2;
  pp = pp1 + pp2;
  p1p2 = ph1 * ph2 * 2.0;
  p1 = (rgek * (pp1 + pp2 - p1p2) - 0.5 * eta2d) * dd2;
  if (ibig == 0) {
    p2 = (pp * sk + p1p2 * ck) * dd2;
    p3 = (pp * ck + p1p2 * sk + pp1 - pp2) * dd2;
  }
  t1 = ta3 + ta4 * a1 + ta5 * b1;
  if (ibig != 0) {
    v3 = ((eta3 - 6.0 * eta2 + 5.0) * d -
          eta6d * (2.0 * eta3 - 3.0 * eta2 + 18.0 * reta + 1.0e1) * dak2 +
          e24 * vu3) *
         dd45;
    t3 = ta4 * a3 + ta5 * b3 + e12 * ta2 - 4.0e-1 * reta * (reta + 1.0e1) - 1.0;
    p3 = (pp1 - pp2) * dd2;
    b3 = e12 * (0.5 * d2 * eta2d - eta3d * eta2d2 * dak2 + be3) * dd4;
    a3 = e24 * (eta22 * dak2 - 0.5 * d2 - al3) * dd4;
    um6 = t3 * a3 - e12 * v3 * v3;
    um5 = t1 * a3 + a1 * t3 - e24 * v1 * v3;
    um4 = t1 * a1 - e12 * v1 * v1;
    al6 = e12 * p3 * p3;
    al5 = e24 * p1 * p3 - b3 - b3 - ak2;
    al4 = e12 * p1 * p1 - b1 - b1;
    w56 = um5 * al6 - al5 * um6;
    w46 = um4 * al6 - al4 * um6;
    fa = -w46 / w56;
    ca = -fa;
    gMSAWave[3] = fa;
    gMSAWave[2] = ca;
    gMSAWave[1] = b1 + b3 * fa;
    gMSAWave[0] = a1 + a3 * fa;
    gMSAWave[8] = v1 + v3 * fa;
    gMSAWave[14] = -(p1 + p3 * fa);
    gMSAWave[15] = gMSAWave[14];
    if (fabs(gMSAWave[15]) < 1.0e-3) {
      gMSAWave[15] = 0.0;
    }
    gMSAWave[10] = gMSAWave[16];
  } else {
    t2 = ta4 * a2 + ta5 * b2 + e12 * (ta1 * ck - ta2 * sk);
    t3 = ta4 * a3 + ta5 * b3 + e12 * (ta1 * sk - ta2 * (ck - 1.0)) -
         4.0e-1 * reta * (reta + 1.0e1) - 1.0;
    um1 = t2 * a2 - e12 * v2 * v2;
    um2 = t1 * a2 + t2 * a1 - e24 * v1 * v2;
    um3 = t2 * a3 + t3 * a2 - e24 * v2 * v3;
    um4 = t1 * a1 - e12 * v1 * v1;
    um5 = t1 * a3 + t3 * a1 - e24 * v1 * v3;
    um6 = t3 * a3 - e12 * v3 * v3;
    if ((ix == 1) || (ix == 3)) {
      al1 = e12 * p2 * p2;
      al2 = e24 * p1 * p2 - b2 - b2;
      al3 = e24 * p2 * p3;
      al4 = e12 * p1 * p1 - b1 - b1;
      al5 = e24 * p1 * p3 - b3 - b3 - ak2;
      al6 = e12 * p3 * p3;
      w16 = um1 * al6 - al1 * um6;
      w15 = um1 * al5 - al1 * um5;
      w14 = um1 * al4 - al1 * um4;
      w13 = um1 * al3 - al1 * um3;
      w12 = um1 * al2 - al1 * um2;
      w26 = um2 * al6 - al2 * um6;
      w25 = um2 * al5 - al2 * um5;
      w24 = um2 * al4 - al2 * um4;
      w36 = um3 * al6 - al3 * um6;
      w35 = um3 * al5 - al3 * um5;
      w34 = um3 * al4 - al3 * um4;
      w32 = um3 * al2 - al3 * um2;
      w46 = um4 * al6 - al4 * um6;
      w56 = um5 * al6 - al5 * um6;
      w3526 = w35 + w26;
      w3425 = w34 + w25;
      w4 = w16 * w16 - w13 * w36;
      w3 = 2.0 * w16 * w15 - w13 * w3526 - w12 * w36;
      w2 = w15 * w15 + 2.0 * w16 * w14 - w13 * w3425 - w12 * w3526;
      w1 = 2.0 * w15 * w14 - w13 * w24 - w12 * w3425;
      w0 = w14 * w14 - w12 * w24;
      if (ix == 1) {
        fap = (w14 - w34 - w46) / (w12 - w15 + w35 - w26 + w56 - w32);
      } else {
        gMSAWave[14] = 0.5 * eta2d * dd2 * exp(-rgek);
        if ((gMSAWave[11] <= 2.0) && (gMSAWave[11] >= 0.0) &&
            (gMSAWave[12] <= 1.0)) {
          e24g = e24 * rgek * exp(rak);
          pwk = sqrt(e24g);
          qpw = (1.0 - sqrt(1.0 + 2.0 * d2 * d * pwk / eta22)) * eta21 / d;
          gMSAWave[14] = -qpw * qpw / e24 + 0.5 * eta2d * dd2;
        }
        pg = p1 + gMSAWave[14];
        ca = ak2 * pg + 2.0 * (b3 * pg - b1 * p3) +
             e12 * gMSAWave[14] * gMSAWave[14] * p3;
        ca = -ca / (ak2 * p2 + 2.0 * (b3 * p2 - b2 * p3));
        fap = -(pg + p2 * ca) / p3;
      }
      ii = 0;
      do {
        ii = ii + 1;
        if (ii > itm) {
          ir = -2;
          return (ir);
        }
        fa = fap;
        fun = w0 + (w1 + (w2 + (w3 + w4 * fa) * fa) * fa) * fa;
        fund = w1 + (2.0 * w2 + (3.0 * w3 + 4.0 * w4 * fa) * fa) * fa;
        fap = fa - fun / fund;
        del = fabs((fap - fa) / fa);
      } while (del > acc);
      ir = ir + ii;
      fa = fap;
      ca = -(w16 * fa * fa + w15 * fa + w14) / (w13 * fa + w12);
      gMSAWave[14] = -(p1 + p2 * ca + p3 * fa);
      gMSAWave[15] = gMSAWave[14];
      if (fabs(gMSAWave[15]) < 1.0e-3) {
        gMSAWave[15] = 0.0;
      }
      gMSAWave[10] = gMSAWave[16];
    } else {
      ca = ak2 * p1 + 2.0 * (b3 * p1 - b1 * p3);
      ca = -ca / (ak2 * p2 + 2.0 * (b3 * p2 - b2 * p3));
      fa = -(p1 + p2 * ca) / p3;
      if (ix == 2) {
        gMSAWave[15] = um1 * ca * ca + (um2 + um3 * fa) * ca + um4 + um5 * fa +
                       um6 * fa * fa;
      }
      if (ix == 4) {
        gMSAWave[15] = -(p1 + p2 * ca + p3 * fa);
      }
    }
    gMSAWave[3] = fa;
    gMSAWave[2] = ca;
    gMSAWave[1] = b1 + b2 * ca + b3 * fa;
    gMSAWave[0] = a1 + a2 * ca + a3 * fa;
    gMSAWave[8] = (v1 + v2 * ca + v3 * fa) / gMSAWave[0];
  }
  g24 = e24 * rgek * ex1;
  gMSAWave[7] = (rak * ak2 * ca - g24) / (ak2 * g24);
  return (ir);
}


x86 assembly (clang, -O0):
<sqfun>:
push   %rbp
mov    %rsp,%rbp
sub    $0x3b0,%rsp
mov    %edi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %rdx,-0x18(%rbp)
movsd  0x2ecb(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
movl   $0x28,-0x38c(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x28(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x2e25(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x78(%rbp),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x80(%rax),%xmm0
movsd  0x2de7(%rip),%xmm1
call   1040 <pow@plt>
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x68(%rax)
mov    -0x18(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x68(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movl   $0x0,-0x388(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  0x2d9b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1283 <sqfun+0x153>
cmpl   $0x1,-0x8(%rbp)
jne    1283 <sqfun+0x153>
movl   $0x1,-0x388(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x60(%rax),%xmm0
call   1030 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x398(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x58(%rax)
mov    -0x18(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x2d62(%rip),%xmm0
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x2d4a(%rip),%xmm0
divsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x2d1a(%rip),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x2cd5(%rip),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x2ccd(%rip),%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x2c7d(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x68(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x48(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0x2c1d(%rip),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x28(%rbp),%xmm0
addsd  %xmm0,%xmm0
movsd  0x2c33(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
movsd  0x2bba(%rip),%xmm1
mulsd  -0x28(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x2bde(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x2bae(%rip),%xmm1
subsd  %xmm1,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x2baa(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  0x2b7b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x2b5b(%rip),%xmm1
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  0x2b30(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
movsd  0x2ae9(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x2ac1(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  0x2a81(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  0x2a97(%rip),%xmm2
mulsd  -0x28(%rbp),%xmm2
addsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  0x2aba(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  0x2a80(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  0x2a73(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x2a3b(%rip),%xmm1
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  0x2a1e(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  0x2a01(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x29b9(%rip),%xmm1
subsd  %xmm1,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  0x29c3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x29a3(%rip),%xmm1
subsd  %xmm1,%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x160(%rbp),%xmm1
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
movsd  -0x168(%rbp),%xmm2
ff
movsd  -0x170(%rbp),%xmm1
ff
movsd  0x294d(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0xc0(%rbp),%xmm1
ff
movsd  -0x78(%rbp),%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  0x28d8(%rip),%xmm0
addsd  -0x28(%rbp),%xmm0
movsd  0x28cb(%rip),%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  -0x198(%rbp),%xmm1
ff
addsd  -0x1a0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x198(%rbp),%xmm1
ff
movsd  -0x198(%rbp),%xmm3
ff
movsd  -0x1a0(%rbp),%xmm2
ff
mulsd  -0x1a0(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
movsd  0x27f5(%rip),%xmm1
addsd  -0x28(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x27dc(%rip),%xmm1
mulsd  -0x40(%rbp),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x27a8(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
call   1030 <exp@plt>
movsd  %xmm0,-0xe8(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  0x2764(%rip),%xmm0
ucomisd 0x60(%rax),%xmm0
jbe    18f3 <sqfun+0x7c3>
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm1
ff
subsd  -0xf0(%rbp),%xmm1
ff
movsd  0x2795(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm1
ff
addsd  -0xf0(%rbp),%xmm1
ff
movsd  0x2771(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm1
ff
movsd  0x2725(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xf8(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  -0x118(%rbp),%xmm1
ff
addsd  -0x120(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x40(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
cmpl   $0x0,-0x388(%rbp)
jne    1b5f <sqfun+0xa2f>
movsd  -0x80(%rbp),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x110(%rbp),%xmm3
ff
movsd  -0x120(%rbp),%xmm1
ff
mulsd  -0xf8(%rbp),%xmm1
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x118(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0xb0(%rbp),%xmm3
ff
movsd  0x25db(%rip),%xmm1
mulsd  -0xc8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x128(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x118(%rbp),%xmm2
ff
movsd  -0xf8(%rbp),%xmm3
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x120(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  0x2541(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  -0x60(%rbp),%xmm2
movsd  -0x78(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
movsd  -0x148(%rbp),%xmm4
ff
addsd  -0x150(%rbp),%xmm4
ff
movsd  -0x98(%rbp),%xmm3
ff
movsd  -0x158(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d8(%rbp)
ff
cmpl   $0x0,-0x388(%rbp)
jne    1d42 <sqfun+0xc12>
movsd  -0x78(%rbp),%xmm0
movsd  -0x158(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  -0x110(%rbp),%xmm3
ff
movsd  -0x150(%rbp),%xmm1
ff
mulsd  -0xf8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x148(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x2426(%rip),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm3
movsd  -0x68(%rbp),%xmm1
mulsd  -0x60(%rbp),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x158(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x148(%rbp),%xmm2
ff
movsd  -0xf8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x150(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm2
addsd  %xmm2,%xmm2
subsd  %xmm2,%xmm1
movsd  0x2357(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x178(%rbp),%xmm2
ff
addsd  -0x180(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x230c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
cmpl   $0x0,-0x388(%rbp)
jne    1f34 <sqfun+0xe04>
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
movsd  -0x180(%rbp),%xmm1
ff
mulsd  -0xf8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  0x229e(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x2206(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0x70(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm4
movsd  0x2208(%rip),%xmm3
mulsd  -0x30(%rbp),%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
addsd  %xmm4,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x28(%rbp),%xmm3
movsd  0x2237(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x221f(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
movsd  -0x170(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x178(%rbp),%xmm1
ff
movsd  -0xf8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x180(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
mulsd  -0x188(%rbp),%xmm0
ff
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
mulsd  -0x190(%rbp),%xmm0
ff
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x228(%rbp),%xmm0
ff
addsd  -0x230(%rbp),%xmm0
ff
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
mulsd  -0x190(%rbp),%xmm0
ff
movsd  0x209c(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  -0x228(%rbp),%xmm2
ff
addsd  -0x230(%rbp),%xmm2
ff
subsd  -0x238(%rbp),%xmm2
ff
movsd  0x20d8(%rip),%xmm1
mulsd  -0x58(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x208(%rbp)
ff
cmpl   $0x0,-0x388(%rbp)
jne    2089 <sqfun+0xf59>
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm2
ff
movsd  -0x238(%rbp),%xmm1
ff
mulsd  -0x100(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
movsd  -0x238(%rbp),%xmm1
ff
mulsd  -0xf8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
addsd  -0x228(%rbp),%xmm0
ff
subsd  -0x230(%rbp),%xmm0
ff
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x1a8(%rbp),%xmm0
ff
movsd  -0x1b0(%rbp),%xmm1
ff
movsd  -0x1c0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1b8(%rbp),%xmm0
ff
movsd  -0x1d8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
cmpl   $0x0,-0x388(%rbp)
je     26f0 <sqfun+0x15c0>
movsd  -0x48(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  0x1fe0(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1f48(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0x70(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm4
movsd  0x1f4a(%rip),%xmm3
mulsd  -0x30(%rbp),%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
addsd  %xmm4,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x28(%rbp),%xmm3
movsd  0x1f79(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x1f61(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
movsd  -0x170(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x1b0(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x1b8(%rbp),%xmm1
ff
mulsd  -0x1e8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
movsd  -0x1a0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1ee0(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  0x1ebb(%rip),%xmm2
addsd  -0x28(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1e47(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x228(%rbp),%xmm0
ff
subsd  -0x230(%rbp),%xmm0
ff
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
movsd  0x1e3e(%rip),%xmm1
mulsd  -0xc8(%rbp),%xmm1
ff
movsd  -0x58(%rbp),%xmm3
movsd  -0x68(%rbp),%xmm2
mulsd  -0x60(%rbp),%xmm2
mulsd  -0xb0(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
addsd  -0x158(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm3
ff
movsd  0x1dca(%rip),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
subsd  -0x128(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mulsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x250(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x200(%rbp),%xmm1
ff
mulsd  -0x200(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0x240(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mulsd  -0x250(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x200(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x240(%rbp),%xmm0
ff
movsd  -0x1c0(%rbp),%xmm2
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
mulsd  -0x218(%rbp),%xmm0
ff
mulsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x208(%rbp),%xmm0
ff
movsd  -0x218(%rbp),%xmm2
ff
movsd  -0x1e8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x1e8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
mulsd  -0x208(%rbp),%xmm0
ff
movsd  -0x208(%rbp),%xmm2
ff
movsd  -0x1d8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x1d8(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x278(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x138(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x270(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x320(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x328(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x330(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x330(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x340(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x1d8(%rbp),%xmm1
ff
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x1f0(%rbp),%xmm1
ff
movsd  -0x200(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x208(%rbp),%xmm1
ff
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x18(%rbp),%rax
movsd  0x70(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
movsd  0x78(%rax),%xmm1
movaps 0x1a2c(%rip),%xmm0
pand   %xmm0,%xmm1
movsd  0x1a18(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    26d6 <sqfun+0x15a6>
mov    -0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
movsd  0x80(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x50(%rax)
jmp    3b52 <sqfun+0x2a22>
movsd  -0x1b0(%rbp),%xmm1
ff
movsd  -0x1c8(%rbp),%xmm2
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mulsd  -0x1e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
movsd  -0x198(%rbp),%xmm2
ff
movsd  -0x100(%rbp),%xmm4
ff
movsd  -0x1a0(%rbp),%xmm3
ff
mulsd  -0xf8(%rbp),%xmm3
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x1b0(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x1b8(%rbp),%xmm1
ff
mulsd  -0x1e8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x78(%rbp),%xmm1
movsd  -0x198(%rbp),%xmm2
ff
movsd  -0xf8(%rbp),%xmm4
ff
movsd  -0x1a0(%rbp),%xmm3
ff
movsd  -0x100(%rbp),%xmm5
ff
movsd  0x18af(%rip),%xmm6
subsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x18d8(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  0x18b3(%rip),%xmm2
addsd  -0x28(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x183f(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x248(%rbp),%xmm0
ff
movsd  -0x1c8(%rbp),%xmm2
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x1f8(%rbp),%xmm1
ff
mulsd  -0x1f8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x240(%rbp),%xmm1
ff
movsd  -0x1c8(%rbp),%xmm2
ff
movsd  -0x248(%rbp),%xmm0
ff
mulsd  -0x1c0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f8(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x248(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x250(%rbp),%xmm0
ff
mulsd  -0x1c8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
mulsd  -0x1f8(%rbp),%xmm0
ff
movsd  -0x200(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x240(%rbp),%xmm0
ff
movsd  -0x1c0(%rbp),%xmm2
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x240(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x250(%rbp),%xmm0
ff
mulsd  -0x1c0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x200(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x278(%rbp)
movsd  -0x250(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x200(%rbp),%xmm1
ff
mulsd  -0x200(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
cmpl   $0x1,-0x8(%rbp)
je     2a61 <sqfun+0x1931>
cmpl   $0x3,-0x8(%rbp)
jne    3824 <sqfun+0x26f4>
movsd  -0x78(%rbp),%xmm0
mulsd  -0x210(%rbp),%xmm0
ff
mulsd  -0x210(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x208(%rbp),%xmm0
ff
movsd  -0x210(%rbp),%xmm2
ff
movsd  -0x1e0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x1e0(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x210(%rbp),%xmm0
ff
mulsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
mulsd  -0x208(%rbp),%xmm0
ff
movsd  -0x208(%rbp),%xmm2
ff
movsd  -0x1d8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x1d8(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x208(%rbp),%xmm0
ff
movsd  -0x218(%rbp),%xmm2
ff
movsd  -0x1e8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x1e8(%rbp),%xmm0
ff
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
mulsd  -0x218(%rbp),%xmm0
ff
mulsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x138(%rbp),%xmm2
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x278(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm2
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x270(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x268(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x260(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x120(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
movsd  -0x138(%rbp),%xmm2
ff
movsd  -0x120(%rbp),%xmm1
ff
mulsd  -0x278(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm2
ff
movsd  -0x120(%rbp),%xmm1
ff
mulsd  -0x270(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x268(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0x268(%rbp),%xmm0
ff
movsd  -0x138(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm1
ff
mulsd  -0x278(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x268(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm1
ff
mulsd  -0x270(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x268(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm1
ff
mulsd  -0x260(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x270(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x278(%rbp),%xmm0
ff
movsd  -0x140(%rbp),%xmm2
ff
movsd  -0x138(%rbp),%xmm1
ff
mulsd  -0x280(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x308(%rbp),%xmm0
ff
addsd  -0x2e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x2f8(%rbp),%xmm0
ff
addsd  -0x2e0(%rbp),%xmm0
ff
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x2d0(%rbp),%xmm0
ff
movsd  -0x2d0(%rbp),%xmm2
ff
movsd  -0x2b8(%rbp),%xmm1
ff
mulsd  -0x318(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0x102b(%rip),%xmm1
mulsd  -0x2d0(%rbp),%xmm1
movsd  -0x2c8(%rbp),%xmm2
ff
movsd  -0x2b8(%rbp),%xmm0
ff
mulsd  -0x310(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x2b0(%rbp),%xmm0
ff
movsd  -0x318(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  -0x2c8(%rbp),%xmm0
ff
movsd  -0x2c8(%rbp),%xmm2
ff
movsd  0xf9d(%rip),%xmm1
mulsd  -0x2d0(%rbp),%xmm1
ff
mulsd  -0x2c0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x2b8(%rbp),%xmm1
ff
movsd  -0x300(%rbp),%xmm2
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x2b0(%rbp),%xmm0
ff
movsd  -0x310(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  0xf17(%rip),%xmm1
mulsd  -0x2c8(%rbp),%xmm1
ff
movsd  -0x2c0(%rbp),%xmm2
ff
movsd  -0x2b8(%rbp),%xmm0
ff
mulsd  -0x2d8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x2b0(%rbp),%xmm0
ff
movsd  -0x300(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm0
ff
movsd  -0x2c0(%rbp),%xmm2
ff
movsd  -0x2b0(%rbp),%xmm1
ff
mulsd  -0x2d8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
cmpl   $0x1,-0x8(%rbp)
jne    3239 <sqfun+0x2109>
movsd  -0x2c0(%rbp),%xmm0
ff
subsd  -0x2f8(%rbp),%xmm0
ff
subsd  -0x320(%rbp),%xmm0
ff
movsd  -0x2b0(%rbp),%xmm1
ff
subsd  -0x2c8(%rbp),%xmm1
ff
addsd  -0x308(%rbp),%xmm1
ff
subsd  -0x2e8(%rbp),%xmm1
ff
addsd  -0x328(%rbp),%xmm1
ff
subsd  -0x2f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
jmp    3550 <sqfun+0x2420>
movsd  0xe5f(%rip),%xmm0
mulsd  -0x58(%rbp),%xmm0
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1030 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x3a0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x18(%rbp),%rax
movsd  0xd92(%rip),%xmm0
ucomisd 0x58(%rax),%xmm0
jb     33d0 <sqfun+0x22a0>
mov    -0x18(%rbp),%rax
movsd  0x58(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     33d0 <sqfun+0x22a0>
mov    -0x18(%rbp),%rax
movsd  0xda5(%rip),%xmm0
ucomisd 0x60(%rax),%xmm0
jb     33d0 <sqfun+0x22a0>
movsd  -0x80(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
call   1030 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x3a8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x348(%rbp),%xmm0
ff
call   1050 <sqrt@plt>
movsd  %xmm0,-0x350(%rbp)
ff
movsd  0xd04(%rip),%xmm1
mulsd  -0xc8(%rbp),%xmm1
ff
mulsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x350(%rbp),%xmm1
ff
divsd  -0x40(%rbp),%xmm1
movsd  0xd1f(%rip),%xmm0
addsd  %xmm1,%xmm0
call   1050 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  0xd0b(%rip),%xmm0
subsd  %xmm1,%xmm0
mulsd  -0x38(%rbp),%xmm0
divsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x358(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  -0x358(%rbp),%xmm1
ff
divsd  -0x80(%rbp),%xmm1
movsd  0xcee(%rip),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  -0xd0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x208(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
addsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x360(%rbp),%xmm2
ff
movsd  -0x1e8(%rbp),%xmm3
movsd  -0x360(%rbp),%xmm4
ff
movsd  -0x1d8(%rbp),%xmm0
ff
mulsd  -0x218(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
movsd  0xbf0(%rip),%xmm0
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x70(%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x70(%rax),%xmm0
movsd  -0x218(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x340(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x210(%rbp),%xmm3
ff
movsd  -0x1e8(%rbp),%xmm4
ff
movsd  -0x210(%rbp),%xmm5
ff
movsd  -0x1e0(%rbp),%xmm2
ff
mulsd  -0x218(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm5,%xmm4
addsd  %xmm2,%xmm4
movsd  0xb3f(%rip),%xmm2
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x360(%rbp),%xmm1
ff
movsd  -0x210(%rbp),%xmm0
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x338(%rbp)
ff
movl   $0x0,-0x384(%rbp)
mov    -0x384(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x384(%rbp)
mov    -0x384(%rbp),%eax
cmp    -0x38c(%rbp),%eax
jle    358d <sqfun+0x245d>
movl   $0xfffffffe,-0xc(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4(%rbp)
jmp    3bd1 <sqfun+0x2aa1>
movsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x288(%rbp),%xmm1
ff
movsd  -0x290(%rbp),%xmm2
ff
movsd  -0x298(%rbp),%xmm3
ff
movsd  -0x2a0(%rbp),%xmm4
ff
movsd  -0x2a8(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm0
addsd  %xmm4,%xmm0
movsd  -0x330(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm0
addsd  %xmm3,%xmm0
movsd  -0x330(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x290(%rbp),%xmm1
ff
movsd  -0x298(%rbp),%xmm0
ff
movsd  -0x2a0(%rbp),%xmm2
ff
movsd  0xa1b(%rip),%xmm3
mulsd  -0x2a8(%rbp),%xmm3
ff
mulsd  -0x330(%rbp),%xmm3
ff
movsd  0xa1b(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  -0x330(%rbp),%xmm2
ff
addsd  %xmm0,%xmm0
addsd  %xmm2,%xmm0
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x330(%rbp),%xmm0
ff
movsd  -0x370(%rbp),%xmm1
ff
divsd  -0x378(%rbp),%xmm1
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x338(%rbp),%xmm0
ff
subsd  -0x330(%rbp),%xmm0
ff
divsd  -0x330(%rbp),%xmm0
ff
movaps 0xa28(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x368(%rbp),%xmm0
ff
ucomisd -0x20(%rbp),%xmm0
ja     355a <sqfun+0x242a>
mov    -0xc(%rbp),%eax
add    -0x384(%rbp),%eax
mov    %eax,-0xc(%rbp)
movsd  -0x338(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x2d0(%rbp),%xmm0
ff
mulsd  -0x330(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
movsd  -0x2c8(%rbp),%xmm1
ff
mulsd  -0x330(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
addsd  -0x2c0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x2b8(%rbp),%xmm1
ff
movsd  -0x330(%rbp),%xmm3
ff
movsd  -0x2b0(%rbp),%xmm2
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x208(%rbp),%xmm0
ff
movsd  -0x210(%rbp),%xmm1
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x18(%rbp),%rax
movsd  0x70(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
movsd  0x78(%rax),%xmm1
movaps 0x8f8(%rip),%xmm0
pand   %xmm0,%xmm1
movsd  0x8e4(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    380a <sqfun+0x26da>
mov    -0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x78(%rax)
mov    -0x18(%rbp),%rax
movsd  0x80(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x50(%rax)
jmp    3a66 <sqfun+0x2936>
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x208(%rbp),%xmm2
ff
movsd  -0x1e8(%rbp),%xmm3
ff
movsd  -0x208(%rbp),%xmm4
ff
movsd  -0x1d8(%rbp),%xmm1
ff
mulsd  -0x218(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  0x7b5(%rip),%xmm1
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x340(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x210(%rbp),%xmm3
ff
movsd  -0x1e8(%rbp),%xmm4
ff
movsd  -0x210(%rbp),%xmm5
ff
movsd  -0x1e0(%rbp),%xmm2
ff
mulsd  -0x218(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm5,%xmm4
addsd  %xmm2,%xmm4
movsd  0x72b(%rip),%xmm2
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x208(%rbp),%xmm1
ff
movsd  -0x210(%rbp),%xmm0
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x218(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
cmpl   $0x2,-0x8(%rbp)
jne    39ff <sqfun+0x28cf>
movsd  -0x258(%rbp),%xmm0
ff
mulsd  -0x340(%rbp),%xmm0
ff
movsd  -0x340(%rbp),%xmm2
ff
movsd  -0x260(%rbp),%xmm3
ff
movsd  -0x268(%rbp),%xmm1
ff
movsd  -0x330(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mulsd  -0x340(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
addsd  -0x270(%rbp),%xmm0
ff
movsd  -0x278(%rbp),%xmm1
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x280(%rbp),%xmm0
ff
mulsd  -0x330(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x78(%rax)
cmpl   $0x4,-0x8(%rbp)
jne    3a61 <sqfun+0x2931>
movsd  -0x208(%rbp),%xmm0
ff
movsd  -0x210(%rbp),%xmm1
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x78(%rax)
jmp    3a66 <sqfun+0x2936>
movsd  -0x330(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x340(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x1d8(%rbp),%xmm0
ff
movsd  -0x1e0(%rbp),%xmm1
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1d0(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  -0x340(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x200(%rbp),%xmm0
ff
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x80(%rbp),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x380(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mulsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x340(%rbp),%xmm2
ff
movsd  -0x380(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  -0x380(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0xc(%rbp),%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x3b0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sqfun>:
push   %rbp
push   %r15
push   %r14
push   %rbx
sub    $0x268,%rsp
mov    %rdx,%rbp
mov    %esi,%r14d
mov    %edi,%r15d
movsd  0x20(%rdx),%xmm0
movsd  0x80(%rdx),%xmm1
movapd %xmm1,0x110(%rsp)
movapd %xmm1,%xmm2
mulsd  %xmm1,%xmm2
movsd  %xmm2,0x70(%rsp)
movapd %xmm1,%xmm3
mulsd  %xmm2,%xmm3
movsd  %xmm3,0x210(%rsp)
movsd  0x1e7d(%rip),%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0xb0(%rsp)
movapd %xmm2,%xmm3
addsd  %xmm2,%xmm3
movapd %xmm3,0x170(%rsp)
divsd  %xmm1,%xmm0
movsd  0x1e5b(%rip),%xmm1
call   1040 <pow@plt>
movapd %xmm0,%xmm2
movsd  %xmm0,0x68(%rbp)
movsd  0x30(%rbp),%xmm0
movapd %xmm0,%xmm1
divsd  %xmm2,%xmm1
movsd  %xmm1,0x60(%rbp)
ucomisd 0x1e3b(%rip),%xmm1
seta   %al
cmp    $0x1,%r15d
sete   %bl
and    %al,%bl
mulsd  0x28(%rbp),%xmm2
movsd  %xmm2,0x20(%rsp)
subsd  %xmm1,%xmm0
call   1030 <exp@plt>
mulsd  0x20(%rsp),%xmm0
movapd %xmm0,0x1c0(%rsp)
movsd  %xmm0,0x58(%rbp)
movsd  0x60(%rbp),%xmm12
movapd %xmm12,%xmm10
mulsd  %xmm12,%xmm10
movsd  0x1df6(%rip),%xmm9
movapd %xmm12,%xmm0
addsd  %xmm9,%xmm0
movapd %xmm0,0x150(%rsp)
movsd  0x1deb(%rip),%xmm0
movapd 0x110(%rsp),%xmm6
movapd %xmm6,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x1b0(%rsp)
movsd  0x210(%rsp),%xmm13
movapd %xmm13,%xmm11
addsd  %xmm13,%xmm11
movsd  0x1dc5(%rip),%xmm1
mulsd  %xmm6,%xmm1
movsd  0x1dc0(%rip),%xmm15
movsd  0x70(%rsp),%xmm3
mulsd  %xmm3,%xmm15
addsd  %xmm1,%xmm15
movsd  0x1daf(%rip),%xmm8
addsd  %xmm8,%xmm15
movsd  0x1dba(%rip),%xmm2
mulsd  %xmm6,%xmm2
movsd  0x1db5(%rip),%xmm14
movapd %xmm6,%xmm1
mulsd  %xmm14,%xmm1
addsd  %xmm3,%xmm1
movsd  0x1da8(%rip),%xmm5
movsd  %xmm5,0x40(%rsp)
addsd  %xmm5,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm1,0x160(%rsp)
movsd  0x1d91(%rip),%xmm5
movapd %xmm6,%xmm2
mulsd  %xmm5,%xmm2
movapd %xmm3,%xmm5
addsd  %xmm3,%xmm5
addsd  %xmm2,%xmm5
addsd  %xmm8,%xmm5
mulsd  %xmm3,%xmm0
movapd %xmm3,%xmm8
movapd %xmm0,%xmm1
addsd  %xmm13,%xmm1
movsd  0x1d66(%rip),%xmm3
mulsd  %xmm6,%xmm3
addsd  %xmm1,%xmm3
addsd  %xmm11,%xmm0
movsd  0x1d61(%rip),%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm0,%xmm4
movapd %xmm9,%xmm2
movapd %xmm10,0xc0(%rsp)
divsd  %xmm10,%xmm2
movapd %xmm2,%xmm7
mulsd  %xmm2,%xmm7
movapd %xmm9,%xmm0
subsd  %xmm6,%xmm0
movapd %xmm6,%xmm10
movapd %xmm0,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm0,0xa0(%rsp)
movapd %xmm0,%xmm6
divsd  %xmm12,%xmm6
movapd %xmm9,%xmm0
movsd  %xmm1,0x98(%rsp)
divsd  %xmm1,%xmm0
movsd  %xmm0,0xa8(%rsp)
movsd  0x1c92(%rip),%xmm0
addsd  %xmm10,%xmm0
movsd  %xmm0,0xd0(%rsp)
movapd %xmm10,%xmm0
addsd  %xmm10,%xmm0
movsd  %xmm0,0x240(%rsp)
addsd  %xmm9,%xmm0
movapd 0x1d53(%rip),%xmm13
movapd %xmm0,0x250(%rsp)
xorpd  %xmm13,%xmm0
movsd  %xmm6,0x120(%rsp)
mulsd  %xmm6,%xmm0
movapd %xmm0,0x1d0(%rsp)
mulsd  %xmm2,%xmm15
movapd %xmm15,0x130(%rsp)
movsd  0x1c48(%rip),%xmm0
mulsd  %xmm8,%xmm0
mulsd  %xmm7,%xmm0
movapd %xmm0,0x200(%rsp)
movsd  0x1c36(%rip),%xmm0
mulsd  %xmm10,%xmm0
addsd  %xmm8,%xmm0
addsd  %xmm9,%xmm0
xorpd  %xmm13,%xmm0
movapd %xmm0,0xe0(%rsp)
movapd 0xb0(%rsp),%xmm8
mulsd  %xmm8,%xmm5
movapd %xmm5,0x60(%rsp)
movsd  0x1c2c(%rip),%xmm5
addsd  %xmm5,%xmm3
movsd  %xmm3,0x30(%rsp)
addsd  0x1c2a(%rip),%xmm4
movsd  %xmm2,0x100(%rsp)
mulsd  %xmm2,%xmm4
movsd  %xmm4,0x1a0(%rsp)
movsd  0x1c14(%rip),%xmm0
mulsd  %xmm10,%xmm0
movsd  %xmm11,0x220(%rsp)
addsd  %xmm11,%xmm0
addsd  0x1c00(%rip),%xmm0
movsd  %xmm7,0x10(%rsp)
mulsd  %xmm7,%xmm0
movapd 0x170(%rsp),%xmm1
mulsd  %xmm12,%xmm1
movapd %xmm1,0xf0(%rsp)
movsd  %xmm0,0x1f0(%rsp)
mulsd  %xmm0,%xmm14
movapd %xmm14,0x20(%rsp)
movapd %xmm8,%xmm0
xorpd  %xmm13,%xmm0
movapd %xmm0,0x190(%rsp)
movapd %xmm10,%xmm0
addsd  %xmm5,%xmm0
movsd  %xmm0,0x180(%rsp)
movapd %xmm12,%xmm0
movapd %xmm12,0x230(%rsp)
mulsd  %xmm12,%xmm5
movsd  %xmm5,0x80(%rsp)
call   1030 <exp@plt>
movsd  0x1b8b(%rip),%xmm1
ucomisd 0x60(%rbp),%xmm1
movapd %xmm0,%xmm2
movapd 0x230(%rsp),%xmm5
xorpd  0x1bd9(%rip),%xmm5
xorpd  %xmm0,%xmm0
movsd  %xmm2,0x58(%rsp)
jbe    1574 <sqfun+0x444>
movapd %xmm5,%xmm0
movapd %xmm5,0x140(%rsp)
call   1030 <exp@plt>
movapd 0x140(%rsp),%xmm5
movsd  0x58(%rsp),%xmm2
movapd 0x250(%rsp),%xmm8
mulsd  %xmm8,%xmm8
movsd  0x180(%rsp),%xmm1
divsd  0x80(%rsp),%xmm1
movsd  %xmm1,0x180(%rsp)
movsd  0xd0(%rsp),%xmm1
movapd %xmm1,%xmm3
movsd  0x100(%rsp),%xmm6
mulsd  %xmm6,%xmm3
movapd %xmm3,0x80(%rsp)
movsd  0x1aae(%rip),%xmm9
addsd  0x110(%rsp),%xmm9
movsd  0xa8(%rsp),%xmm14
mulsd  %xmm14,%xmm14
movsd  0x1b0(%rsp),%xmm3
addsd  %xmm3,%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x30(%rsp),%xmm3
movsd  0x120(%rsp),%xmm7
mulsd  %xmm7,%xmm3
movsd  %xmm3,0x30(%rsp)
movapd 0xf0(%rsp),%xmm3
mulsd  0x1f0(%rsp),%xmm3
movapd %xmm3,0xf0(%rsp)
movapd 0x20(%rsp),%xmm3
addsd  0x1a0(%rsp),%xmm3
movapd %xmm3,0x20(%rsp)
movapd 0x1c0(%rsp),%xmm4
movapd %xmm4,%xmm12
mulsd  0x190(%rsp),%xmm12
mulsd  %xmm1,%xmm1
movsd  %xmm1,0x1e0(%rsp)
movapd 0xe0(%rsp),%xmm1
mulsd  %xmm7,%xmm1
movapd %xmm1,0xe0(%rsp)
movapd 0x160(%rsp),%xmm11
mulsd  %xmm6,%xmm11
movapd 0x60(%rsp),%xmm10
mulsd  0x10(%rsp),%xmm10
movapd %xmm2,%xmm6
subsd  %xmm0,%xmm6
movsd  0x1a19(%rip),%xmm1
mulsd  %xmm1,%xmm6
addsd  %xmm2,%xmm0
mulsd  %xmm1,%xmm0
movsd  0x198d(%rip),%xmm1
addsd  %xmm0,%xmm1
movapd %xmm5,%xmm3
mulsd  %xmm6,%xmm3
movsd  %xmm1,0x260(%rsp)
addsd  %xmm1,%xmm3
mulsd  %xmm0,%xmm5
movapd %xmm6,0x10(%rsp)
addsd  %xmm6,%xmm5
movapd %xmm5,0x140(%rsp)
movapd 0x170(%rsp),%xmm6
mulsd  %xmm4,%xmm6
movapd 0x1d0(%rsp),%xmm15
movapd %xmm15,%xmm1
movapd 0x130(%rsp),%xmm7
addsd  %xmm7,%xmm1
movapd 0x150(%rsp),%xmm4
mulsd  0x200(%rsp),%xmm4
addsd  %xmm1,%xmm4
xorpd  %xmm13,%xmm13
xorpd  %xmm2,%xmm2
test   %bl,%bl
movapd %xmm8,0x1a0(%rsp)
jne    17f1 <sqfun+0x6c1>
movapd %xmm7,%xmm1
xorpd  0x19ce(%rip),%xmm15
mulsd  0x10(%rsp),%xmm1
movsd  0x1968(%rip),%xmm2
mulsd  0x98(%rsp),%xmm2
movapd %xmm8,%xmm5
mulsd  0x100(%rsp),%xmm5
addsd  %xmm2,%xmm5
movapd 0x200(%rsp),%xmm8
movapd %xmm8,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm5,%xmm2
unpcklpd %xmm1,%xmm2
unpcklpd %xmm15,%xmm7
unpcklpd %xmm8,%xmm15
movapd 0x1a0(%rsp),%xmm8
movapd 0x10(%rsp),%xmm1
unpcklpd 0x140(%rsp),%xmm1
mulpd  %xmm15,%xmm1
addpd  %xmm2,%xmm1
movapd %xmm0,%xmm2
unpcklpd %xmm0,%xmm2
mulpd  %xmm7,%xmm2
addpd  %xmm1,%xmm2
movapd 0x170(%rsp),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
movapd %xmm14,%xmm2
unpcklpd %xmm14,%xmm2
mulpd  %xmm1,%xmm2
movapd %xmm14,0x160(%rsp)
movapd %xmm2,0x130(%rsp)
movapd 0x80(%rsp),%xmm15
mulsd  %xmm15,%xmm15
movsd  0x180(%rsp),%xmm14
mulsd  %xmm14,%xmm14
movsd  0x1b0(%rsp),%xmm2
mulsd  %xmm2,%xmm9
movapd %xmm9,0x1d0(%rsp)
movsd  0x40(%rsp),%xmm1
mulsd  %xmm8,%xmm1
movsd  %xmm1,0x40(%rsp)
movapd %xmm6,0x120(%rsp)
mulsd  %xmm6,%xmm4
movapd %xmm2,%xmm6
movapd 0xb0(%rsp),%xmm8
mulsd  0x100(%rsp),%xmm8
movapd 0xf0(%rsp),%xmm9
subsd  0x30(%rsp),%xmm9
movapd 0x20(%rsp),%xmm1
mulsd  0x8(%rsp),%xmm1
movapd %xmm1,0x20(%rsp)
movapd 0xe0(%rsp),%xmm7
movapd %xmm7,%xmm1
addsd  %xmm11,%xmm1
movapd %xmm10,0x60(%rsp)
movapd 0x150(%rsp),%xmm5
mulsd  %xmm10,%xmm5
addsd  %xmm1,%xmm5
movsd  0x180a(%rip),%xmm2
mulsd  0x110(%rsp),%xmm2
movapd %xmm12,0x150(%rsp)
mulsd  %xmm12,%xmm5
mulsd  0x1e0(%rsp),%xmm2
test   %bl,%bl
jne    19bd <sqfun+0x88d>
movsd  0x17c9(%rip),%xmm1
mulsd  0x98(%rsp),%xmm1
movapd %xmm6,%xmm12
movsd  0x1e0(%rsp),%xmm6
mulsd  %xmm12,%xmm6
mulsd  0x100(%rsp),%xmm6
mulsd  0xd0(%rsp),%xmm1
subsd  %xmm6,%xmm1
movapd 0x17ee(%rip),%xmm10
xorpd  %xmm10,%xmm11
movapd 0x60(%rsp),%xmm6
mulsd  %xmm6,%xmm3
subsd  %xmm3,%xmm1
movapd 0x10(%rsp),%xmm13
movapd %xmm13,%xmm3
mulsd  %xmm11,%xmm3
unpcklpd %xmm3,%xmm1
movapd %xmm6,%xmm3
movapd %xmm12,%xmm6
xorpd  %xmm10,%xmm3
unpcklpd %xmm7,%xmm11
unpcklpd %xmm3,%xmm7
movapd %xmm13,%xmm3
unpcklpd 0x140(%rsp),%xmm3
mulpd  %xmm7,%xmm3
addpd  %xmm1,%xmm3
movapd %xmm0,%xmm1
unpcklpd %xmm0,%xmm1
mulpd  %xmm11,%xmm1
addpd  %xmm3,%xmm1
movapd 0xb0(%rsp),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm1,%xmm3
movapd 0x160(%rsp),%xmm13
unpcklpd %xmm13,%xmm13
mulpd  %xmm3,%xmm13
movapd %xmm13,0x30(%rsp)
movsd  0x180(%rsp),%xmm12
addsd  0x80(%rsp),%xmm12
movapd %xmm6,%xmm11
mulsd  0xc0(%rsp),%xmm11
subsd  %xmm15,%xmm14
movsd  %xmm14,0x140(%rsp)
movsd  0x40(%rsp),%xmm1
movsd  0x100(%rsp),%xmm14
mulsd  %xmm14,%xmm1
movapd 0x1d0(%rsp),%xmm13
mulsd  0x1692(%rip),%xmm13
subsd  0x1a0(%rsp),%xmm4
movapd %xmm4,0xf0(%rsp)
movsd  0x15e8(%rip),%xmm3
mulsd  0x160(%rsp),%xmm3
movapd %xmm3,0xe0(%rsp)
addsd  %xmm5,%xmm2
movapd %xmm2,0x40(%rsp)
movsd  0x8(%rsp),%xmm6
divsd  0x230(%rsp),%xmm6
movsd  0xa0(%rsp),%xmm3
subsd  %xmm8,%xmm3
movsd  0x70(%rsp),%xmm10
subsd  0x240(%rsp),%xmm10
addsd  0x164d(%rip),%xmm10
mulsd  0x250(%rsp),%xmm10
movapd %xmm9,%xmm2
movapd 0x20(%rsp),%xmm4
addsd  %xmm4,%xmm2
mulsd  0x1633(%rip),%xmm10
mulsd  0x1c0(%rsp),%xmm2
subsd  %xmm2,%xmm10
xorpd  %xmm5,%xmm5
test   %bl,%bl
jne    1b99 <sqfun+0xa69>
xorpd  0x1651(%rip),%xmm4
movsd  0x1619(%rip),%xmm2
movsd  0x70(%rsp),%xmm8
mulsd  %xmm8,%xmm2
addsd  0x220(%rsp),%xmm2
movsd  0x1604(%rip),%xmm5
mulsd  0x110(%rsp),%xmm5
addsd  %xmm2,%xmm5
movsd  0x15df(%rip),%xmm2
mulsd  %xmm8,%xmm2
addsd  0x210(%rsp),%xmm2
addsd  0x1569(%rip),%xmm2
addsd  0x15b1(%rip),%xmm5
mulsd  0x8(%rsp),%xmm5
mulsd  %xmm14,%xmm5
mulsd  0xa0(%rsp),%xmm2
subsd  %xmm5,%xmm2
movapd 0x170(%rsp),%xmm5
mulsd  0x1f0(%rsp),%xmm5
addsd  %xmm2,%xmm5
movapd 0x10(%rsp),%xmm7
movapd %xmm7,%xmm2
mulsd  %xmm4,%xmm2
unpcklpd %xmm9,%xmm4
mulsd  %xmm7,%xmm9
addsd  %xmm5,%xmm9
unpcklpd %xmm2,%xmm9
movapd %xmm0,%xmm2
unpcklpd %xmm0,%xmm2
mulpd  %xmm4,%xmm2
addpd  %xmm9,%xmm2
movapd 0xe0(%rsp),%xmm5
unpcklpd %xmm5,%xmm5
mulpd  %xmm2,%xmm5
movapd 0x150(%rsp),%xmm8
mulsd  %xmm12,%xmm8
mulsd  0x140(%rsp),%xmm11
addsd  %xmm1,%xmm13
movapd 0xf0(%rsp),%xmm7
movapd 0x160(%rsp),%xmm15
mulsd  %xmm15,%xmm7
movapd 0x40(%rsp),%xmm1
mulsd  %xmm15,%xmm1
movapd %xmm1,0x40(%rsp)
mulsd  0xe0(%rsp),%xmm10
movapd %xmm10,0x150(%rsp)
movapd %xmm6,%xmm10
mulsd  %xmm6,%xmm10
mulsd  %xmm3,%xmm6
mulsd  %xmm3,%xmm3
movapd %xmm10,%xmm1
addsd  %xmm3,%xmm1
addsd  %xmm6,%xmm6
movapd %xmm1,%xmm14
subsd  %xmm6,%xmm14
movsd  0x149b(%rip),%xmm4
movsd  0xd0(%rsp),%xmm12
mulsd  %xmm12,%xmm4
mulsd  0x1c0(%rsp),%xmm14
subsd  %xmm4,%xmm14
mulsd  0xa8(%rsp),%xmm14
test   %bl,%bl
movapd %xmm7,0xf0(%rsp)
je     1f5a <sqfun+0xe2a>
movapd %xmm11,%xmm1
mulsd  %xmm7,%xmm1
addsd  %xmm8,%xmm1
movapd %xmm13,%xmm9
mulsd  0x40(%rsp),%xmm9
addsd  %xmm1,%xmm9
movsd  0x1463(%rip),%xmm1
movsd  0x70(%rsp),%xmm0
mulsd  %xmm0,%xmm1
addsd  0x210(%rsp),%xmm1
mulsd  0x1450(%rip),%xmm0
movsd  0x220(%rsp),%xmm4
addsd  %xmm0,%xmm4
movapd 0xe0(%rsp),%xmm8
movsd  0x1439(%rip),%xmm2
movapd 0x110(%rsp),%xmm0
mulsd  %xmm0,%xmm2
addsd  %xmm4,%xmm2
addsd  0x13b0(%rip),%xmm1
movsd  0x13f8(%rip),%xmm4
addsd  %xmm4,%xmm2
mulsd  0x8(%rsp),%xmm2
mulsd  0xa0(%rsp),%xmm1
movsd  0x100(%rsp),%xmm7
mulsd  %xmm7,%xmm2
subsd  %xmm2,%xmm1
movapd 0x170(%rsp),%xmm6
movsd  0x1f0(%rsp),%xmm2
mulsd  %xmm6,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm2,%xmm8
movapd 0x30(%rsp),%xmm2
mulsd  %xmm13,%xmm2
movapd 0x130(%rsp),%xmm1
mulsd  %xmm11,%xmm1
addsd  %xmm2,%xmm1
movapd 0xb0(%rsp),%xmm5
movapd 0x80(%rsp),%xmm2
mulsd  %xmm5,%xmm2
addsd  %xmm1,%xmm2
addsd  %xmm0,%xmm4
mulsd  0x139a(%rip),%xmm0
mulsd  %xmm4,%xmm0
addsd  %xmm2,%xmm0
subsd  %xmm3,%xmm10
movsd  0xa8(%rsp),%xmm13
mulsd  %xmm10,%xmm13
movsd  0x1e0(%rsp),%xmm2
mulsd  0x1b0(%rsp),%xmm2
movsd  0x98(%rsp),%xmm1
mulsd  0x131b(%rip),%xmm1
mulsd  %xmm7,%xmm2
mulsd  %xmm1,%xmm12
subsd  %xmm2,%xmm12
addsd  0x60(%rsp),%xmm12
movapd 0x1a0(%rsp),%xmm4
mulsd  %xmm7,%xmm4
subsd  %xmm1,%xmm4
addsd  0x1275(%rip),%xmm0
mulsd  %xmm5,%xmm12
mulsd  %xmm15,%xmm12
subsd  0x200(%rsp),%xmm4
mulsd  %xmm6,%xmm4
mulsd  %xmm15,%xmm4
movapd %xmm8,%xmm1
movapd 0x190(%rsp),%xmm7
mulsd  %xmm7,%xmm1
mulsd  %xmm8,%xmm1
movapd 0xf0(%rsp),%xmm10
movapd %xmm10,%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm4,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm9,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movapd 0x150(%rsp),%xmm3
movapd %xmm3,%xmm1
mulsd  %xmm6,%xmm1
mulsd  %xmm8,%xmm1
subsd  %xmm1,%xmm2
mulsd  %xmm3,%xmm7
mulsd  %xmm3,%xmm7
mulsd  %xmm10,%xmm9
addsd  %xmm7,%xmm9
movapd %xmm5,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm14,%xmm6
mulsd  %xmm13,%xmm6
subsd  %xmm12,%xmm6
subsd  %xmm12,%xmm6
movapd 0xc0(%rsp),%xmm11
subsd  %xmm11,%xmm6
mulsd  %xmm0,%xmm6
mulsd  %xmm1,%xmm2
subsd  %xmm6,%xmm2
mulsd  %xmm14,%xmm5
mulsd  %xmm14,%xmm5
movapd 0x40(%rsp),%xmm6
subsd  %xmm6,%xmm5
subsd  %xmm6,%xmm5
mulsd  %xmm0,%xmm5
mulsd  %xmm9,%xmm1
subsd  %xmm5,%xmm1
movapd 0x125c(%rip),%xmm0
xorpd  %xmm0,%xmm1
divsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm12
addsd  %xmm6,%xmm12
movapd %xmm1,%xmm7
xorpd  %xmm0,%xmm7
movsd  %xmm1,0x18(%rbp)
movlpd %xmm7,0x10(%rbp)
movsd  %xmm12,0x8(%rbp)
mulsd  %xmm1,%xmm4
addsd  %xmm10,%xmm4
movsd  %xmm4,0x0(%rbp)
mulsd  %xmm1,%xmm8
addsd  %xmm3,%xmm8
movsd  %xmm8,0x40(%rbp)
mulsd  %xmm13,%xmm1
addsd  %xmm14,%xmm1
xorpd  %xmm1,%xmm0
movlpd %xmm0,0x70(%rbp)
andpd  0x1219(%rip),%xmm1
cmpltsd 0x11e0(%rip),%xmm1
andnpd %xmm0,%xmm1
movlpd %xmm1,0x78(%rbp)
movsd  0x80(%rbp),%xmm0
mov    $0xa,%eax
movsd  0x58(%rsp),%xmm3
movapd 0x120(%rsp),%xmm4
jmp    2c30 <sqfun+0x1b00>
movsd  %xmm4,0x8(%rsp)
movsd  %xmm14,0x60(%rsp)
movapd %xmm6,%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm1,%xmm4
movapd 0x10(%rsp),%xmm14
mulsd  %xmm14,%xmm4
addsd  %xmm2,%xmm4
movapd %xmm4,0x70(%rsp)
movapd %xmm5,%xmm12
movapd 0x118a(%rip),%xmm2
movapd 0x80(%rsp),%xmm5
xorpd  %xmm2,%xmm5
mulsd  %xmm14,%xmm6
mulsd  %xmm0,%xmm1
addsd  %xmm6,%xmm1
addsd  %xmm1,%xmm10
subsd  %xmm3,%xmm10
movapd 0x30(%rsp),%xmm1
movapd %xmm1,%xmm3
unpckhpd %xmm1,%xmm3
movapd %xmm3,0x80(%rsp)
mulsd  %xmm13,%xmm3
movapd %xmm11,%xmm2
unpcklpd %xmm11,%xmm2
unpcklpd %xmm8,%xmm3
movapd 0x130(%rsp),%xmm4
movapd %xmm4,%xmm9
shufpd $0x1,%xmm7,%xmm9
mulpd  %xmm9,%xmm2
addpd  %xmm3,%xmm2
movapd %xmm14,%xmm3
mulsd  %xmm5,%xmm3
movsd  0x180(%rsp),%xmm6
mulsd  %xmm6,%xmm0
addsd  %xmm3,%xmm0
movapd 0xb0(%rsp),%xmm7
movapd %xmm7,%xmm3
unpcklpd %xmm13,%xmm3
unpcklpd 0x40(%rsp),%xmm0
mulpd  %xmm3,%xmm0
mulsd  %xmm1,%xmm13
mulsd  %xmm4,%xmm11
addsd  %xmm13,%xmm11
movsd  0x260(%rsp),%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm14,%xmm6
addsd  %xmm3,%xmm6
movapd %xmm4,%xmm8
unpckhpd %xmm4,%xmm8
mulsd  %xmm7,%xmm6
addsd  %xmm11,%xmm6
movsd  0x1060(%rip),%xmm3
movapd 0x110(%rsp),%xmm5
addsd  %xmm5,%xmm3
mulsd  0x1073(%rip),%xmm5
mulsd  %xmm3,%xmm5
addsd  %xmm6,%xmm5
addsd  0xfab(%rip),%xmm5
addpd  %xmm2,%xmm0
movapd %xmm12,%xmm2
unpckhpd %xmm12,%xmm2
movapd %xmm2,%xmm3
movapd 0x190(%rsp),%xmm6
mulsd  %xmm6,%xmm3
mulsd  %xmm2,%xmm3
mulsd  %xmm0,%xmm8
addsd  %xmm3,%xmm8
movdqa 0x104e(%rip),%xmm2
movdqa 0x170(%rsp),%xmm13
pxor   %xmm13,%xmm2
movapd %xmm5,%xmm3
unpcklpd %xmm0,%xmm3
mulpd  %xmm9,%xmm3
movapd %xmm0,%xmm1
mulpd  %xmm4,%xmm1
addpd  %xmm3,%xmm1
movapd %xmm12,%xmm3
movapd 0x150(%rsp),%xmm15
shufpd $0x1,%xmm15,%xmm3
movsd  0xa8(%rsp),%xmm7
pshufd $0x44,%xmm2,%xmm14
movapd %xmm6,%xmm9
movapd 0x70(%rsp),%xmm6
mulpd  %xmm3,%xmm14
movapd %xmm14,%xmm11
mulpd  %xmm12,%xmm11
addpd  %xmm1,%xmm11
movapd 0xf0(%rsp),%xmm2
movapd %xmm2,%xmm1
mulsd  %xmm5,%xmm1
movapd %xmm0,%xmm3
unpckhpd %xmm0,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
unpckhpd %xmm14,%xmm14
mulsd  %xmm12,%xmm14
addsd  %xmm3,%xmm14
movapd %xmm15,%xmm1
movapd %xmm12,0xe0(%rsp)
unpcklpd %xmm12,%xmm1
movapd %xmm9,%xmm3
unpcklpd %xmm9,%xmm3
mulpd  %xmm1,%xmm3
mulpd  %xmm1,%xmm3
shufpd $0x1,%xmm5,%xmm0
movapd %xmm2,%xmm1
unpcklpd %xmm4,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
mulsd  %xmm7,%xmm6
mulsd  %xmm7,%xmm10
mov    %r15d,%eax
and    $0xfffffffd,%eax
cmp    $0x1,%eax
jne    25ce <sqfun+0x149e>
movdqa %xmm13,%xmm12
movsd  0x60(%rsp),%xmm0
mulsd  %xmm0,%xmm12
movapd %xmm12,%xmm3
mulsd  %xmm6,%xmm3
subsd  0x80(%rsp),%xmm3
movapd 0xb0(%rsp),%xmm5
mulsd  %xmm6,%xmm13
unpcklpd %xmm3,%xmm13
movapd 0x30(%rsp),%xmm7
movapd %xmm7,%xmm3
movsd  %xmm10,%xmm3
movapd %xmm13,%xmm15
mulpd  %xmm3,%xmm15
subpd  %xmm3,%xmm13
movapd %xmm13,%xmm1
movsd  %xmm15,%xmm1
movapd %xmm1,%xmm4
movapd %xmm5,%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm0,%xmm3
movapd 0x40(%rsp),%xmm0
subsd  %xmm0,%xmm3
mulsd  %xmm10,%xmm12
subsd  %xmm7,%xmm12
subsd  %xmm7,%xmm12
subsd  0xc0(%rsp),%xmm12
mulsd  %xmm10,%xmm5
movapd %xmm10,0x160(%rsp)
unpcklpd %xmm10,%xmm3
unpcklpd %xmm5,%xmm0
movapd %xmm3,%xmm10
subpd  %xmm0,%xmm10
mulpd  %xmm3,%xmm0
movapd %xmm0,0x20(%rsp)
mulsd  %xmm6,%xmm9
movapd %xmm6,0x70(%rsp)
mulsd  %xmm6,%xmm9
movapd %xmm2,%xmm1
unpckhpd %xmm2,%xmm1
movapd %xmm9,%xmm3
mulsd  %xmm1,%xmm3
unpckhpd %xmm0,%xmm0
movapd %xmm8,%xmm6
mulsd  %xmm0,%xmm6
addsd  %xmm3,%xmm6
movapd %xmm9,%xmm3
mulsd  %xmm14,%xmm3
movapd %xmm8,%xmm5
mulsd  %xmm12,%xmm5
addsd  %xmm3,%xmm5
movapd %xmm5,0xd0(%rsp)
movapd %xmm2,%xmm3
mulsd  %xmm9,%xmm3
movapd %xmm8,%xmm5
mulsd  %xmm10,%xmm5
addsd  %xmm3,%xmm5
movapd %xmm5,0x1b0(%rsp)
movapd %xmm9,%xmm3
mulsd  %xmm11,%xmm3
mulsd  %xmm8,%xmm15
addsd  %xmm3,%xmm15
movapd %xmm11,%xmm7
unpckhpd %xmm11,%xmm7
mulsd  %xmm7,%xmm9
unpckhpd %xmm13,%xmm13
movapd %xmm13,0x190(%rsp)
mulsd  %xmm13,%xmm8
movapd %xmm0,%xmm13
addsd  %xmm9,%xmm8
movapd %xmm4,%xmm9
movapd %xmm4,%xmm0
xorpd  0xddf(%rip),%xmm0
pshufd $0xee,%xmm0,%xmm3
movapd %xmm14,%xmm5
mulsd  %xmm3,%xmm5
movapd %xmm7,%xmm4
mulsd  %xmm12,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm2,%xmm3
movapd %xmm7,0x1f0(%rsp)
movapd %xmm7,%xmm5
movapd %xmm0,%xmm7
mulsd  %xmm10,%xmm5
addsd  %xmm3,%xmm5
movapd %xmm1,0x210(%rsp)
mulsd  %xmm0,%xmm1
movapd %xmm11,%xmm0
movapd %xmm13,0x200(%rsp)
mulsd  %xmm13,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm2,%xmm13
movapd %xmm14,%xmm2
movapd %xmm7,0x1e0(%rsp)
mulsd  %xmm7,%xmm2
movapd %xmm11,%xmm7
mulsd  %xmm12,%xmm7
addsd  %xmm2,%xmm7
movapd %xmm10,0x10(%rsp)
movapd 0x20(%rsp),%xmm1
movsd  %xmm10,%xmm1
movapd %xmm9,%xmm2
mulpd  %xmm13,%xmm2
mulpd  %xmm11,%xmm1
subpd  %xmm2,%xmm1
movapd %xmm8,%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm15,%xmm0
movapd %xmm6,%xmm3
mulsd  %xmm6,%xmm3
subsd  %xmm0,%xmm3
movapd %xmm3,0x20(%rsp)
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
movapd %xmm7,0x140(%rsp)
addsd  %xmm7,%xmm0
movapd %xmm6,0x240(%rsp)
addsd  %xmm6,%xmm6
movapd %xmm8,%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm15,%xmm0
movapd %xmm11,0x1d0(%rsp)
movapd 0x1b0(%rsp),%xmm7
movapd %xmm7,%xmm9
mulsd  %xmm6,%xmm9
movapd 0xd0(%rsp),%xmm10
mulsd  %xmm10,%xmm6
subsd  %xmm0,%xmm6
subsd  %xmm2,%xmm6
movapd %xmm6,0x110(%rsp)
movapd %xmm10,%xmm2
mulsd  %xmm10,%xmm2
addsd  %xmm9,%xmm2
addsd  %xmm1,%xmm4
movapd %xmm15,%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
subsd  %xmm3,%xmm2
movapd 0xc7e(%rip),%xmm3
movapd %xmm2,0x100(%rsp)
movapd %xmm10,%xmm0
addsd  %xmm10,%xmm0
movapd %xmm5,%xmm2
movapd %xmm15,0x220(%rsp)
mulsd  %xmm15,%xmm2
mulsd  %xmm7,%xmm0
subsd  %xmm2,%xmm0
movapd %xmm8,%xmm2
xorpd  %xmm3,%xmm2
mulsd  %xmm2,%xmm5
unpcklpd %xmm0,%xmm5
movapd %xmm7,%xmm0
unpcklpd %xmm2,%xmm0
movapd %xmm7,%xmm2
unpcklpd %xmm4,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm5,%xmm2
movapd %xmm2,0x180(%rsp)
cmp    $0x1,%r15d
jne    26f2 <sqfun+0x15c2>
movapd %xmm1,%xmm11
movapd %xmm7,%xmm6
movapd 0x10(%rsp),%xmm0
unpcklpd %xmm12,%xmm0
movapd 0x210(%rsp),%xmm1
mulpd  %xmm0,%xmm1
unpcklpd %xmm14,%xmm13
mulpd  0x200(%rsp),%xmm13
subpd  %xmm1,%xmm13
movapd 0x1e0(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
movapd 0x190(%rsp),%xmm3
mulsd  0x1d0(%rsp),%xmm3
addsd  %xmm0,%xmm3
movapd %xmm8,%xmm0
subsd  %xmm10,%xmm0
movapd 0x140(%rsp),%xmm1
addsd  %xmm0,%xmm1
movapd %xmm7,%xmm2
unpcklpd %xmm1,%xmm2
subpd  %xmm11,%xmm2
movapd %xmm2,%xmm0
addpd  %xmm13,%xmm0
unpckhpd %xmm0,%xmm0
subsd  %xmm3,%xmm0
subsd  %xmm13,%xmm2
divsd  %xmm0,%xmm2
movapd 0xc0(%rsp),%xmm11
movapd 0x30(%rsp),%xmm13
movsd  0x60(%rsp),%xmm12
movapd %xmm8,%xmm14
movapd %xmm10,%xmm15
jmp    29e3 <sqfun+0x18b3>
movapd %xmm2,%xmm9
movapd %xmm14,0x20(%rsp)
movapd %xmm11,%xmm14
movapd %xmm8,%xmm1
movapd %xmm10,%xmm0
movapd 0x40(%rsp),%xmm8
mulsd  %xmm8,%xmm0
movapd 0x30(%rsp),%xmm13
movapd %xmm13,%xmm2
movsd  0x60(%rsp),%xmm3
mulsd  %xmm3,%xmm2
subsd  %xmm0,%xmm2
addsd  %xmm2,%xmm2
movapd 0xc0(%rsp),%xmm11
movapd %xmm11,%xmm7
mulsd  %xmm3,%xmm7
addsd  %xmm2,%xmm7
movapd 0xaee(%rip),%xmm4
xorpd  %xmm4,%xmm7
movapd %xmm10,%xmm0
movapd 0x80(%rsp),%xmm5
mulsd  %xmm5,%xmm0
movapd %xmm13,%xmm2
mulsd  %xmm6,%xmm2
subsd  %xmm0,%xmm2
addsd  %xmm2,%xmm2
movapd %xmm11,%xmm0
mulsd  %xmm6,%xmm0
addsd  %xmm2,%xmm0
divsd  %xmm0,%xmm7
mulsd  %xmm7,%xmm6
addsd  %xmm3,%xmm6
xorpd  %xmm6,%xmm4
movapd %xmm4,%xmm0
divsd  %xmm10,%xmm0
cmp    $0x4,%r15d
je     27f6 <sqfun+0x16c6>
cmp    $0x2,%r15d
jne    282b <sqfun+0x16fb>
movapd %xmm1,%xmm4
mulsd  %xmm7,%xmm4
movapd %xmm14,%xmm1
movapd %xmm14,%xmm2
unpckhpd %xmm14,%xmm2
mulsd  %xmm0,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm7,%xmm1
mulsd  %xmm7,%xmm4
addsd  %xmm1,%xmm4
movapd %xmm9,%xmm10
addsd  %xmm9,%xmm4
movapd 0x20(%rsp),%xmm9
mulsd  %xmm0,%xmm9
addsd  %xmm4,%xmm9
unpckhpd %xmm10,%xmm10
mulsd  %xmm0,%xmm10
mulsd  %xmm0,%xmm10
addsd  %xmm9,%xmm10
jmp    2809 <sqfun+0x16d9>
movapd %xmm8,0x10(%rsp)
movapd 0x1c0(%rsp),%xmm0
xorpd  0xa16(%rip),%xmm0
movapd 0x80(%rsp),%xmm1
xorpd  %xmm3,%xmm1
movapd %xmm1,0x190(%rsp)
xorpd  0x40(%rsp),%xmm3
movapd %xmm3,0x1c0(%rsp)
movsd  0x8(%rsp),%xmm1
mulsd  0xa8(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
call   1030 <exp@plt>
movsd  0x8(%rsp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x70(%rbp)
movsd  0x58(%rbp),%xmm1
movsd  0x8cb(%rip),%xmm2
ucomisd %xmm1,%xmm2
jb     2848 <sqfun+0x1718>
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
movapd 0xc0(%rsp),%xmm11
movapd 0xb0(%rsp),%xmm4
movapd 0x30(%rsp),%xmm13
movsd  0x60(%rsp),%xmm12
movapd 0x70(%rsp),%xmm6
movapd 0x10(%rsp),%xmm14
movapd 0xd0(%rsp),%xmm15
jb     2953 <sqfun+0x1823>
movsd  0x85b(%rip),%xmm1
ucomisd 0x60(%rbp),%xmm1
jb     2953 <sqfun+0x1823>
movapd 0x230(%rsp),%xmm0
call   1030 <exp@plt>
mulsd  0x120(%rsp),%xmm0
xorpd  %xmm3,%xmm3
ucomisd %xmm3,%xmm0
jb     2885 <sqfun+0x1755>
sqrtsd %xmm0,%xmm0
jmp    288e <sqfun+0x175e>
mulsd  %xmm0,%xmm10
addsd  %xmm6,%xmm10
xorpd  0x917(%rip),%xmm10
mov    $0xf,%eax
movsd  0x58(%rsp),%xmm3
movapd 0x120(%rsp),%xmm4
movapd 0x130(%rsp),%xmm6
jmp    2bb3 <sqfun+0x1a83>
movsd  0x58(%rsp),%xmm3
movapd 0x120(%rsp),%xmm4
movapd 0x130(%rsp),%xmm6
jmp    2bba <sqfun+0x1a8a>
movapd 0xc0(%rsp),%xmm11
movapd 0xb0(%rsp),%xmm4
movapd 0x30(%rsp),%xmm13
movsd  0x60(%rsp),%xmm12
movapd 0x70(%rsp),%xmm6
movapd 0x10(%rsp),%xmm14
movapd 0xd0(%rsp),%xmm15
jmp    2953 <sqfun+0x1823>
call   1050 <sqrt@plt>
xorpd  %xmm3,%xmm3
movapd 0x1a0(%rsp),%xmm1
movsd  0x98(%rsp),%xmm2
addsd  %xmm2,%xmm2
mulsd  0xa0(%rsp),%xmm2
mulsd  %xmm0,%xmm2
divsd  %xmm1,%xmm2
addsd  0x75b(%rip),%xmm2
ucomisd %xmm3,%xmm2
jb     28cc <sqfun+0x179c>
xorps  %xmm0,%xmm0
sqrtsd %xmm2,%xmm0
jmp    28d5 <sqfun+0x17a5>
movapd %xmm2,%xmm0
call   1050 <sqrt@plt>
movapd 0xc0(%rsp),%xmm11
movapd 0xb0(%rsp),%xmm4
movapd 0x170(%rsp),%xmm1
movapd 0x30(%rsp),%xmm13
movsd  0x718(%rip),%xmm2
movsd  0x60(%rsp),%xmm12
movapd 0x70(%rsp),%xmm6
movapd 0x10(%rsp),%xmm14
movapd 0xd0(%rsp),%xmm15
subsd  %xmm0,%xmm2
movapd 0x250(%rsp),%xmm0
mulsd  %xmm2,%xmm0
divsd  0xa0(%rsp),%xmm0
mulsd  %xmm0,%xmm0
divsd  %xmm1,%xmm0
movsd  0x8(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x70(%rbp)
movapd %xmm1,%xmm0
movapd %xmm12,%xmm2
addsd  %xmm0,%xmm2
movapd 0x160(%rsp),%xmm5
movapd 0x1c0(%rsp),%xmm3
mulsd  %xmm5,%xmm3
movapd %xmm13,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm3,%xmm1
addsd  %xmm1,%xmm1
movapd %xmm11,%xmm3
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
mulsd  %xmm0,%xmm4
mulsd  %xmm0,%xmm4
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movapd 0x190(%rsp),%xmm1
mulsd  %xmm5,%xmm1
movapd %xmm13,%xmm0
mulsd  %xmm6,%xmm0
addsd  %xmm1,%xmm0
addsd  %xmm0,%xmm0
movapd %xmm11,%xmm1
mulsd  %xmm6,%xmm1
addsd  %xmm0,%xmm1
divsd  %xmm1,%xmm4
mulsd  %xmm6,%xmm4
subsd  %xmm4,%xmm2
xorpd  0x741(%rip),%xmm2
divsd  %xmm5,%xmm2
movsd  0x67d(%rip),%xmm7
mulsd  0x20(%rsp),%xmm7
unpcklpd 0x100(%rsp),%xmm3
movapd 0x180(%rsp),%xmm6
unpckhpd %xmm6,%xmm6
xor    %eax,%eax
movsd  0x617(%rip),%xmm5
mulsd  0x110(%rsp),%xmm5
movapd 0x70d(%rip),%xmm8
movapd 0x714(%rip),%xmm9
movsd  0x6d3(%rip),%xmm10
cs nopw 0x0(%rax,%rax,1)
nop
cmp    $0xffffffd8,%eax
je     2c6f <sqfun+0x1b3f>
movapd 0x20(%rsp),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x110(%rsp),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x100(%rsp),%xmm0
shufpd $0x2,%xmm3,%xmm0
movapd %xmm7,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm5,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm6,%xmm4
unpcklpd %xmm1,%xmm4
movapd %xmm8,%xmm1
movsd  %xmm2,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm4,%xmm1
movapd %xmm2,%xmm4
unpcklpd %xmm2,%xmm4
mulpd  %xmm1,%xmm4
addpd  0x180(%rsp),%xmm4
movapd %xmm4,%xmm0
unpckhpd %xmm4,%xmm0
divsd  %xmm0,%xmm4
movapd %xmm2,%xmm0
subsd  %xmm4,%xmm0
movapd %xmm0,%xmm1
subsd  %xmm2,%xmm1
divsd  %xmm2,%xmm1
andpd  %xmm9,%xmm1
add    $0xffffffff,%eax
ucomisd %xmm10,%xmm1
movapd %xmm0,%xmm2
ja     2a40 <sqfun+0x1910>
sub    %eax,%r14d
movapd 0x240(%rsp),%xmm1
mulsd  %xmm0,%xmm1
mulsd  %xmm0,%xmm15
mulsd  %xmm0,%xmm1
addsd  %xmm15,%xmm1
movapd 0x1b0(%rsp),%xmm7
addsd  %xmm1,%xmm7
movapd 0x60a(%rip),%xmm1
xorpd  %xmm1,%xmm7
movapd 0x220(%rsp),%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm14,%xmm2
divsd  %xmm2,%xmm7
movapd 0x70(%rsp),%xmm3
mulsd  %xmm7,%xmm3
addsd  %xmm12,%xmm3
movapd 0x160(%rsp),%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm3,%xmm2
xorpd  %xmm2,%xmm1
movlpd %xmm1,0x70(%rbp)
andpd  0x5df(%rip),%xmm2
cmpltsd 0x5a6(%rip),%xmm2
andnpd %xmm1,%xmm2
movlpd %xmm2,0x78(%rbp)
movsd  0x80(%rbp),%xmm10
mov    $0xa,%eax
movsd  0x58(%rsp),%xmm3
movapd 0x120(%rsp),%xmm4
movapd 0x40(%rsp),%xmm8
movapd 0x150(%rsp),%xmm15
movapd 0x130(%rsp),%xmm6
movapd 0x80(%rsp),%xmm5
movsd  %xmm10,0x0(%rbp,%rax,8)
movsd  %xmm0,0x18(%rbp)
movsd  %xmm7,0x10(%rbp)
mulsd  %xmm7,%xmm5
addsd  %xmm8,%xmm5
mulsd  %xmm0,%xmm13
addsd  %xmm5,%xmm13
movsd  %xmm13,0x8(%rbp)
movapd 0xe0(%rsp),%xmm5
movapd %xmm5,%xmm1
unpckhpd %xmm6,%xmm1
movapd %xmm7,%xmm2
unpcklpd %xmm7,%xmm2
mulpd  %xmm1,%xmm2
unpcklpd 0xf0(%rsp),%xmm15
addpd  %xmm2,%xmm15
unpcklpd %xmm6,%xmm5
unpcklpd %xmm0,%xmm0
mulpd  %xmm5,%xmm0
addpd  %xmm15,%xmm0
movapd %xmm0,%xmm1
unpckhpd %xmm0,%xmm1
movhpd %xmm0,0x0(%rbp)
divsd  %xmm1,%xmm0
mov    $0x8,%eax
movsd  %xmm0,0x0(%rbp,%rax,8)
mulsd  %xmm3,%xmm4
movapd 0x230(%rsp),%xmm0
mulsd  %xmm11,%xmm0
mulsd  %xmm7,%xmm0
subsd  %xmm4,%xmm0
mulsd  %xmm11,%xmm4
divsd  %xmm4,%xmm0
movsd  %xmm0,0x38(%rbp)
mov    %r14d,%eax
add    $0x268,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret
mov    $0xfffffffe,%r14d
jmp    2c5e <sqfun+0x1b2e>

LLVM IR (-O0):
define i32 @sqfun(i32 %0, i32 %1, double* %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%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 i32
%118 = alloca i32
%119 = alloca i32
store i32 %0, i32* %5
store i32 %1, i32* %6
store double* %2, double** %7
store double 0x3EB0C6F7A0B5ED8D, double* %8
store i32 40, i32* %119
store double 0.000000e+00, double* %61
store double 0.000000e+00, double* %62
store double 0.000000e+00, double* %64
store double 0.000000e+00, double* %65
store double 0.000000e+00, double* %67
store double 0.000000e+00, double* %68
store double 0.000000e+00, double* %70
store double 0.000000e+00, double* %71
%120 = load double*, double** %7
%121 = getelementptr inbounds double, double* %120, i64 16
%122 = load double, double* %121
store double %122, double* %9
%123 = load double, double* %9
%124 = load double, double* %9
%125 = fmul double %123, %124
store double %125, double* %10
%126 = load double, double* %10
%127 = load double, double* %9
%128 = fmul double %126, %127
store double %128, double* %13
%129 = load double, double* %9
%130 = fmul double 1.200000e+01, %129
store double %130, double* %19
%131 = load double, double* %19
%132 = load double, double* %19
%133 = fadd double %131, %132
store double %133, double* %20
%134 = load double*, double** %7
%135 = getelementptr inbounds double, double* %134, i64 4
%136 = load double, double* %135
%137 = load double*, double** %7
%138 = getelementptr inbounds double, double* %137, i64 16
%139 = load double, double* %138
%140 = fdiv double %136, %139
%141 = call double @pow(double %140, double 0x3FD5555555555555)
%142 = load double*, double** %7
%143 = getelementptr inbounds double, double* %142, i64 13
store double %141, double* %143
%144 = load double*, double** %7
%145 = getelementptr inbounds double, double* %144, i64 6
%146 = load double, double* %145
%147 = load double*, double** %7
%148 = getelementptr inbounds double, double* %147, i64 13
%149 = load double, double* %148
%150 = fdiv double %146, %149
%151 = load double*, double** %7
%152 = getelementptr inbounds double, double* %151, i64 12
store double %150, double* %152
store i32 0, i32* %118
%153 = load double*, double** %7
%154 = getelementptr inbounds double, double* %153, i64 12
%155 = load double, double* %154
%156 = fcmp ogt double %155, 1.500000e+01
br i1 %156, label %157, label %161
157: ; preds = %3
%158 = load i32, i32* %5
%159 = icmp eq i32 %158, 1
br i1 %159, label %160, label %161
160: ; preds = %157
store i32 1, i32* %118
br label %161
161: ; preds = %160, %157, %3
%162 = load double*, double** %7
%163 = getelementptr inbounds double, double* %162, i64 5
%164 = load double, double* %163
%165 = load double*, double** %7
%166 = getelementptr inbounds double, double* %165, i64 13
%167 = load double, double* %166
%168 = fmul double %164, %167
%169 = load double*, double** %7
%170 = getelementptr inbounds double, double* %169, i64 6
%171 = load double, double* %170
%172 = load double*, double** %7
%173 = getelementptr inbounds double, double* %172, i64 12
%174 = load double, double* %173
%175 = fsub double %171, %174
%176 = call double @exp(double %175)
%177 = fmul double %168, %176
%178 = load double*, double** %7
%179 = getelementptr inbounds double, double* %178, i64 11
store double %177, double* %179
%180 = load double*, double** %7
%181 = getelementptr inbounds double, double* %180, i64 11
%182 = load double, double* %181
store double %182, double* %21
%183 = load double*, double** %7
%184 = getelementptr inbounds double, double* %183, i64 12
%185 = load double, double* %184
store double %185, double* %22
%186 = load double, double* %22
%187 = load double, double* %22
%188 = fmul double %186, %187
store double %188, double* %24
%189 = load double, double* %22
%190 = fadd double 1.000000e+00, %189
store double %190, double* %23
%191 = load double, double* %24
%192 = fdiv double 1.000000e+00, %191
store double %192, double* %26
%193 = load double, double* %26
%194 = load double, double* %26
%195 = fmul double %193, %194
store double %195, double* %27
%196 = load double, double* %9
%197 = fsub double 1.000000e+00, %196
store double %197, double* %28
%198 = load double, double* %28
%199 = load double, double* %28
%200 = fmul double %198, %199
store double %200, double* %29
%201 = load double, double* %28
%202 = load double, double* %22
%203 = fdiv double %201, %202
store double %203, double* %25
%204 = load double, double* %29
%205 = fdiv double 1.000000e+00, %204
store double %205, double* %30
%206 = load double, double* %30
%207 = load double, double* %30
%208 = fmul double %206, %207
store double %208, double* %31
%209 = load double, double* %31
%210 = fmul double %209, 2.000000e-01
store double %210, double* %32
%211 = load double, double* %9
%212 = fmul double 3.000000e+00, %211
store double %212, double* %17
%213 = load double, double* %17
%214 = load double, double* %17
%215 = fadd double %213, %214
store double %215, double* %18
%216 = load double, double* %13
%217 = load double, double* %13
%218 = fadd double %216, %217
store double %218, double* %14
%219 = load double, double* %9
%220 = fadd double %219, 2.000000e+00
store double %220, double* %15
%221 = load double, double* %15
%222 = load double, double* %15
%223 = fmul double %221, %222
store double %223, double* %16
%224 = load double, double* %9
%225 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %224, double 1.000000e+00)
store double %225, double* %11
%226 = load double, double* %11
%227 = load double, double* %11
%228 = fmul double %226, %227
store double %228, double* %12
%229 = load double, double* %11
%230 = fneg double %229
%231 = load double, double* %25
%232 = fmul double %230, %231
store double %232, double* %39
%233 = load double, double* %10
%234 = load double, double* %9
%235 = fmul double 4.000000e+00, %234
%236 = fneg double %235
%237 = call double @llvm.fmuladd.f64(double 1.400000e+01, double %233, double %236)
%238 = fsub double %237, 1.000000e+00
%239 = load double, double* %26
%240 = fmul double %238, %239
store double %240, double* %40
%241 = load double, double* %10
%242 = fmul double 3.600000e+01, %241
%243 = load double, double* %27
%244 = fmul double %242, %243
store double %244, double* %41
%245 = load double, double* %10
%246 = load double, double* %9
%247 = call double @llvm.fmuladd.f64(double 7.000000e+00, double %246, double %245)
%248 = fadd double %247, 1.000000e+00
%249 = fneg double %248
%250 = load double, double* %25
%251 = fmul double %249, %250
store double %251, double* %45
%252 = load double, double* %9
%253 = fmul double 9.000000e+00, %252
%254 = load double, double* %10
%255 = load double, double* %9
%256 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %255, double %254)
%257 = fsub double %256, 2.000000e+00
%258 = fmul double %253, %257
%259 = load double, double* %26
%260 = fmul double %258, %259
store double %260, double* %46
%261 = load double, double* %9
%262 = fmul double 1.200000e+01, %261
%263 = load double, double* %10
%264 = load double, double* %9
%265 = fmul double 8.000000e+00, %264
%266 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %263, double %265)
%267 = fsub double %266, 1.000000e+00
%268 = fmul double %262, %267
%269 = load double, double* %27
%270 = fmul double %268, %269
store double %270, double* %47
%271 = load double, double* %13
%272 = load double, double* %10
%273 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %272, double %271)
%274 = load double, double* %9
%275 = call double @llvm.fmuladd.f64(double 4.500000e+01, double %274, double %273)
%276 = fadd double %275, 5.000000e+00
%277 = fneg double %276
%278 = load double, double* %25
%279 = fmul double %277, %278
store double %279, double* %48
%280 = load double, double* %14
%281 = load double, double* %10
%282 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %281, double %280)
%283 = load double, double* %9
%284 = call double @llvm.fmuladd.f64(double 4.200000e+01, double %283, double %282)
%285 = fsub double %284, 2.000000e+01
%286 = load double, double* %26
%287 = fmul double %285, %286
store double %287, double* %49
%288 = load double, double* %14
%289 = load double, double* %9
%290 = call double @llvm.fmuladd.f64(double 3.000000e+01, double %289, double %288)
%291 = fsub double %290, 5.000000e+00
%292 = load double, double* %27
%293 = fmul double %291, %292
store double %293, double* %50
%294 = load double, double* %48
%295 = load double, double* %20
%296 = load double, double* %22
%297 = fmul double %295, %296
%298 = load double, double* %50
%299 = call double @llvm.fmuladd.f64(double %297, double %298, double %294)
store double %299, double* %51
%300 = load double, double* %18
%301 = load double, double* %49
%302 = load double, double* %50
%303 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %302, double %301)
%304 = fmul double %300, %303
store double %304, double* %52
%305 = load double, double* %18
%306 = load double, double* %22
%307 = fdiv double %305, %306
store double %307, double* %53
%308 = load double, double* %28
%309 = load double, double* %19
%310 = load double, double* %26
%311 = fneg double %309
%312 = call double @llvm.fmuladd.f64(double %311, double %310, double %308)
store double %312, double* %54
%313 = load double, double* %9
%314 = fadd double %313, 5.000000e+00
%315 = load double, double* %22
%316 = fmul double 5.000000e+00, %315
%317 = fdiv double %314, %316
store double %317, double* %55
%318 = load double, double* %15
%319 = load double, double* %26
%320 = fmul double %318, %319
store double %320, double* %56
%321 = load double, double* %19
%322 = fneg double %321
%323 = load double, double* %21
%324 = fmul double %322, %323
%325 = load double, double* %55
%326 = load double, double* %56
%327 = fadd double %325, %326
%328 = fmul double %324, %327
store double %328, double* %57
%329 = load double, double* %17
%330 = load double, double* %24
%331 = fmul double %329, %330
%332 = load double, double* %55
%333 = load double, double* %55
%334 = load double, double* %56
%335 = load double, double* %56
%336 = fmul double %334, %335
%337 = fneg double %336
%338 = call double @llvm.fmuladd.f64(double %332, double %333, double %337)
%339 = fmul double %331, %338
store double %339, double* %58
%340 = load double, double* %17
%341 = load double, double* %9
%342 = fadd double %341, 8.000000e+00
%343 = fmul double %340, %342
%344 = load double, double* %12
%345 = fmul double 2.000000e+00, %344
%346 = load double, double* %26
%347 = fmul double %345, %346
%348 = fneg double %347
%349 = call double @llvm.fmuladd.f64(double %343, double 1.000000e-01, double %348)
store double %349, double* %59
%350 = load double, double* %22
%351 = call double @exp(double %350)
store double %351, double* %33
store double 0.000000e+00, double* %34
%352 = load double*, double** %7
%353 = getelementptr inbounds double, double* %352, i64 12
%354 = load double, double* %353
%355 = fcmp olt double %354, 2.000000e+01
br i1 %355, label %356, label %360
356: ; preds = %161
%357 = load double, double* %22
%358 = fneg double %357
%359 = call double @exp(double %358)
store double %359, double* %34
br label %360
360: ; preds = %356, %161
%361 = load double, double* %33
%362 = load double, double* %34
%363 = fsub double %361, %362
%364 = fmul double 5.000000e-01, %363
store double %364, double* %35
%365 = load double, double* %33
%366 = load double, double* %34
%367 = fadd double %365, %366
%368 = fmul double 5.000000e-01, %367
store double %368, double* %36
%369 = load double, double* %36
%370 = fsub double %369, 1.000000e+00
%371 = load double, double* %22
%372 = load double, double* %35
%373 = fneg double %371
%374 = call double @llvm.fmuladd.f64(double %373, double %372, double %370)
store double %374, double* %37
%375 = load double, double* %35
%376 = load double, double* %22
%377 = load double, double* %36
%378 = fneg double %376
%379 = call double @llvm.fmuladd.f64(double %378, double %377, double %375)
store double %379, double* %38
%380 = load double, double* %20
%381 = load double, double* %21
%382 = fmul double %380, %381
%383 = load double, double* %39
%384 = load double, double* %40
%385 = fadd double %383, %384
%386 = load double, double* %23
%387 = load double, double* %41
%388 = call double @llvm.fmuladd.f64(double %386, double %387, double %385)
%389 = load double, double* %12
%390 = fneg double %389
%391 = call double @llvm.fmuladd.f64(double %382, double %388, double %390)
%392 = load double, double* %31
%393 = fmul double %391, %392
store double %393, double* %60
%394 = load i32, i32* %118
%395 = icmp eq i32 %394, 0
br i1 %395, label %396, label %431
396: ; preds = %360
%397 = load double, double* %20
%398 = load double, double* %41
%399 = load double, double* %38
%400 = load double, double* %40
%401 = load double, double* %35
%402 = fmul double %400, %401
%403 = call double @llvm.fmuladd.f64(double %398, double %399, double %402)
%404 = load double, double* %39
%405 = load double, double* %36
%406 = fneg double %404
%407 = call double @llvm.fmuladd.f64(double %406, double %405, double %403)
%408 = fmul double %397, %407
%409 = load double, double* %31
%410 = fmul double %408, %409
store double %410, double* %61
%411 = load double, double* %20
%412 = load double, double* %12
%413 = load double, double* %26
%414 = load double, double* %29
%415 = fmul double 5.000000e-01, %414
%416 = fneg double %415
%417 = call double @llvm.fmuladd.f64(double %412, double %413, double %416)
%418 = load double, double* %41
%419 = load double, double* %37
%420 = call double @llvm.fmuladd.f64(double %418, double %419, double %417)
%421 = load double, double* %39
%422 = load double, double* %35
%423 = fneg double %421
%424 = call double @llvm.fmuladd.f64(double %423, double %422, double %420)
%425 = load double, double* %40
%426 = load double, double* %36
%427 = call double @llvm.fmuladd.f64(double %425, double %426, double %424)
%428 = fmul double %411, %427
%429 = load double, double* %31
%430 = fmul double %428, %429
store double %430, double* %62
br label %431
431: ; preds = %396, %360
%432 = load double, double* %9
%433 = fmul double 1.500000e+00, %432
%434 = load double, double* %16
%435 = load double, double* %19
%436 = load double, double* %21
%437 = fmul double %435, %436
%438 = load double, double* %45
%439 = load double, double* %46
%440 = fadd double %438, %439
%441 = load double, double* %23
%442 = load double, double* %47
%443 = call double @llvm.fmuladd.f64(double %441, double %442, double %440)
%444 = fmul double %437, %443
%445 = fneg double %444
%446 = call double @llvm.fmuladd.f64(double %433, double %434, double %445)
%447 = load double, double* %31
%448 = fmul double %446, %447
store double %448, double* %63
%449 = load i32, i32* %118
%450 = icmp eq i32 %449, 0
br i1 %450, label %451, label %492
451: ; preds = %431
%452 = load double, double* %19
%453 = load double, double* %47
%454 = fneg double %453
%455 = load double, double* %38
%456 = load double, double* %46
%457 = load double, double* %35
%458 = fmul double %456, %457
%459 = fneg double %458
%460 = call double @llvm.fmuladd.f64(double %454, double %455, double %459)
%461 = load double, double* %45
%462 = load double, double* %36
%463 = call double @llvm.fmuladd.f64(double %461, double %462, double %460)
%464 = fmul double %452, %463
%465 = load double, double* %31
%466 = fmul double %464, %465
store double %466, double* %64
%467 = load double, double* %19
%468 = load double, double* %29
%469 = fmul double 5.000000e-01, %468
%470 = load double, double* %15
%471 = load double, double* %17
%472 = load double, double* %16
%473 = fmul double %471, %472
%474 = load double, double* %26
%475 = fmul double %473, %474
%476 = fneg double %475
%477 = call double @llvm.fmuladd.f64(double %469, double %470, double %476)
%478 = load double, double* %47
%479 = load double, double* %37
%480 = fneg double %478
%481 = call double @llvm.fmuladd.f64(double %480, double %479, double %477)
%482 = load double, double* %45
%483 = load double, double* %35
%484 = call double @llvm.fmuladd.f64(double %482, double %483, double %481)
%485 = load double, double* %46
%486 = load double, double* %36
%487 = fneg double %485
%488 = call double @llvm.fmuladd.f64(double %487, double %486, double %484)
%489 = fmul double %467, %488
%490 = load double, double* %31
%491 = fmul double %489, %490
store double %491, double* %65
br label %492
492: ; preds = %451, %431
%493 = load double, double* %11
%494 = load double, double* %10
%495 = load double, double* %9
%496 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %495, double %494)
%497 = fadd double %496, 1.000000e+01
%498 = fmul double %493, %497
%499 = load double, double* %21
%500 = load double, double* %51
%501 = load double, double* %52
%502 = fadd double %500, %501
%503 = fmul double %499, %502
%504 = fneg double %503
%505 = call double @llvm.fmuladd.f64(double %498, double 2.500000e-01, double %504)
%506 = load double, double* %32
%507 = fmul double %505, %506
store double %507, double* %66
%508 = load i32, i32* %118
%509 = icmp eq i32 %508, 0
br i1 %509, label %510, label %551
510: ; preds = %492
%511 = load double, double* %51
%512 = load double, double* %36
%513 = load double, double* %52
%514 = load double, double* %35
%515 = fmul double %513, %514
%516 = fneg double %515
%517 = call double @llvm.fmuladd.f64(double %511, double %512, double %516)
%518 = load double, double* %32
%519 = fmul double %517, %518
store double %519, double* %67
%520 = load double, double* %13
%521 = load double, double* %10
%522 = call double @llvm.fmuladd.f64(double -6.000000e+00, double %521, double %520)
%523 = fadd double %522, 5.000000e+00
%524 = load double, double* %28
%525 = load double, double* %18
%526 = load double, double* %13
%527 = load double, double* %10
%528 = fmul double 3.000000e+00, %527
%529 = fneg double %528
%530 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %526, double %529)
%531 = load double, double* %9
%532 = call double @llvm.fmuladd.f64(double 1.800000e+01, double %531, double %530)
%533 = fadd double %532, 1.000000e+01
%534 = fmul double %525, %533
%535 = load double, double* %26
%536 = fmul double %534, %535
%537 = fneg double %536
%538 = call double @llvm.fmuladd.f64(double %523, double %524, double %537)
%539 = load double, double* %20
%540 = load double, double* %50
%541 = call double @llvm.fmuladd.f64(double %539, double %540, double %538)
%542 = load double, double* %51
%543 = load double, double* %35
%544 = call double @llvm.fmuladd.f64(double %542, double %543, double %541)
%545 = load double, double* %52
%546 = load double, double* %36
%547 = fneg double %545
%548 = call double @llvm.fmuladd.f64(double %547, double %546, double %544)
%549 = load double, double* %32
%550 = fmul double %548, %549
store double %550, double* %68
br label %551
551: ; preds = %510, %492
%552 = load double, double* %53
%553 = load double, double* %53
%554 = fmul double %552, %553
store double %554, double* %73
%555 = load double, double* %54
%556 = load double, double* %54
%557 = fmul double %555, %556
store double %557, double* %74
%558 = load double, double* %73
%559 = load double, double* %74
%560 = fadd double %558, %559
store double %560, double* %72
%561 = load double, double* %53
%562 = load double, double* %54
%563 = fmul double %561, %562
%564 = fmul double %563, 2.000000e+00
store double %564, double* %75
%565 = load double, double* %21
%566 = load double, double* %73
%567 = load double, double* %74
%568 = fadd double %566, %567
%569 = load double, double* %75
%570 = fsub double %568, %569
%571 = load double, double* %15
%572 = fmul double 5.000000e-01, %571
%573 = fneg double %572
%574 = call double @llvm.fmuladd.f64(double %565, double %570, double %573)
%575 = load double, double* %30
%576 = fmul double %574, %575
store double %576, double* %69
%577 = load i32, i32* %118
%578 = icmp eq i32 %577, 0
br i1 %578, label %579, label %600
579: ; preds = %551
%580 = load double, double* %72
%581 = load double, double* %35
%582 = load double, double* %75
%583 = load double, double* %36
%584 = fmul double %582, %583
%585 = call double @llvm.fmuladd.f64(double %580, double %581, double %584)
%586 = load double, double* %30
%587 = fmul double %585, %586
store double %587, double* %70
%588 = load double, double* %72
%589 = load double, double* %36
%590 = load double, double* %75
%591 = load double, double* %35
%592 = fmul double %590, %591
%593 = call double @llvm.fmuladd.f64(double %588, double %589, double %592)
%594 = load double, double* %73
%595 = fadd double %593, %594
%596 = load double, double* %74
%597 = fsub double %595, %596
%598 = load double, double* %30
%599 = fmul double %597, %598
store double %599, double* %71
br label %600
600: ; preds = %579, %551
%601 = load double, double* %57
%602 = load double, double* %58
%603 = load double, double* %60
%604 = call double @llvm.fmuladd.f64(double %602, double %603, double %601)
%605 = load double, double* %59
%606 = load double, double* %63
%607 = call double @llvm.fmuladd.f64(double %605, double %606, double %604)
store double %607, double* %76
%608 = load i32, i32* %118
%609 = icmp ne i32 %608, 0
br i1 %609, label %610, label %809
610: ; preds = %600
%611 = load double, double* %13
%612 = load double, double* %10
%613 = call double @llvm.fmuladd.f64(double -6.000000e+00, double %612, double %611)
%614 = fadd double %613, 5.000000e+00
%615 = load double, double* %28
%616 = load double, double* %18
%617 = load double, double* %13
%618 = load double, double* %10
%619 = fmul double 3.000000e+00, %618
%620 = fneg double %619
%621 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %617, double %620)
%622 = load double, double* %9
%623 = call double @llvm.fmuladd.f64(double 1.800000e+01, double %622, double %621)
%624 = fadd double %623, 1.000000e+01
%625 = fmul double %616, %624
%626 = load double, double* %26
%627 = fmul double %625, %626
%628 = fneg double %627
%629 = call double @llvm.fmuladd.f64(double %614, double %615, double %628)
%630 = load double, double* %20
%631 = load double, double* %50
%632 = call double @llvm.fmuladd.f64(double %630, double %631, double %629)
%633 = load double, double* %32
%634 = fmul double %632, %633
store double %634, double* %68
%635 = load double, double* %58
%636 = load double, double* %62
%637 = load double, double* %59
%638 = load double, double* %65
%639 = fmul double %637, %638
%640 = call double @llvm.fmuladd.f64(double %635, double %636, double %639)
%641 = load double, double* %19
%642 = load double, double* %56
%643 = call double @llvm.fmuladd.f64(double %641, double %642, double %640)
%644 = load double, double* %9
%645 = fmul double 4.000000e-01, %644
%646 = load double, double* %9
%647 = fadd double %646, 1.000000e+01
%648 = fneg double %645
%649 = call double @llvm.fmuladd.f64(double %648, double %647, double %643)
%650 = fsub double %649, 1.000000e+00
store double %650, double* %78
%651 = load double, double* %73
%652 = load double, double* %74
%653 = fsub double %651, %652
%654 = load double, double* %30
%655 = fmul double %653, %654
store double %655, double* %71
%656 = load double, double* %19
%657 = load double, double* %29
%658 = fmul double 5.000000e-01, %657
%659 = load double, double* %15
%660 = load double, double* %17
%661 = load double, double* %16
%662 = fmul double %660, %661
%663 = load double, double* %26
%664 = fmul double %662, %663
%665 = fneg double %664
%666 = call double @llvm.fmuladd.f64(double %658, double %659, double %665)
%667 = load double, double* %47
%668 = fadd double %666, %667
%669 = fmul double %656, %668
%670 = load double, double* %31
%671 = fmul double %669, %670
store double %671, double* %65
%672 = load double, double* %20
%673 = load double, double* %12
%674 = load double, double* %26
%675 = load double, double* %29
%676 = fmul double 5.000000e-01, %675
%677 = fneg double %676
%678 = call double @llvm.fmuladd.f64(double %673, double %674, double %677)
%679 = load double, double* %41
%680 = fsub double %678, %679
%681 = fmul double %672, %680
%682 = load double, double* %31
%683 = fmul double %681, %682
store double %683, double* %62
%684 = load double, double* %78
%685 = load double, double* %62
%686 = load double, double* %19
%687 = load double, double* %68
%688 = fmul double %686, %687
%689 = load double, double* %68
%690 = fmul double %688, %689
%691 = fneg double %690
%692 = call double @llvm.fmuladd.f64(double %684, double %685, double %691)
store double %692, double* %84
%693 = load double, double* %76
%694 = load double, double* %62
%695 = load double, double* %60
%696 = load double, double* %78
%697 = fmul double %695, %696
%698 = call double @llvm.fmuladd.f64(double %693, double %694, double %697)
%699 = load double, double* %20
%700 = load double, double* %66
%701 = fmul double %699, %700
%702 = load double, double* %68
%703 = fneg double %701
%704 = call double @llvm.fmuladd.f64(double %703, double %702, double %698)
store double %704, double* %83
%705 = load double, double* %76
%706 = load double, double* %60
%707 = load double, double* %19
%708 = load double, double* %66
%709 = fmul double %707, %708
%710 = load double, double* %66
%711 = fmul double %709, %710
%712 = fneg double %711
%713 = call double @llvm.fmuladd.f64(double %705, double %706, double %712)
store double %713, double* %82
%714 = load double, double* %19
%715 = load double, double* %71
%716 = fmul double %714, %715
%717 = load double, double* %71
%718 = fmul double %716, %717
store double %718, double* %44
%719 = load double, double* %20
%720 = load double, double* %69
%721 = fmul double %719, %720
%722 = load double, double* %71
%723 = load double, double* %65
%724 = fneg double %723
%725 = call double @llvm.fmuladd.f64(double %721, double %722, double %724)
%726 = load double, double* %65
%727 = fsub double %725, %726
%728 = load double, double* %24
%729 = fsub double %727, %728
store double %729, double* %43
%730 = load double, double* %19
%731 = load double, double* %69
%732 = fmul double %730, %731
%733 = load double, double* %69
%734 = load double, double* %63
%735 = fneg double %734
%736 = call double @llvm.fmuladd.f64(double %732, double %733, double %735)
%737 = load double, double* %63
%738 = fsub double %736, %737
store double %738, double* %42
%739 = load double, double* %83
%740 = load double, double* %44
%741 = load double, double* %43
%742 = load double, double* %84
%743 = fmul double %741, %742
%744 = fneg double %743
%745 = call double @llvm.fmuladd.f64(double %739, double %740, double %744)
store double %745, double* %105
%746 = load double, double* %82
%747 = load double, double* %44
%748 = load double, double* %42
%749 = load double, double* %84
%750 = fmul double %748, %749
%751 = fneg double %750
%752 = call double @llvm.fmuladd.f64(double %746, double %747, double %751)
store double %752, double* %104
%753 = load double, double* %104
%754 = fneg double %753
%755 = load double, double* %105
%756 = fdiv double %754, %755
store double %756, double* %106
%757 = load double, double* %106
%758 = fneg double %757
store double %758, double* %108
%759 = load double, double* %106
%760 = load double*, double** %7
%761 = getelementptr inbounds double, double* %760, i64 3
store double %759, double* %761
%762 = load double, double* %108
%763 = load double*, double** %7
%764 = getelementptr inbounds double, double* %763, i64 2
store double %762, double* %764
%765 = load double, double* %63
%766 = load double, double* %65
%767 = load double, double* %106
%768 = call double @llvm.fmuladd.f64(double %766, double %767, double %765)
%769 = load double*, double** %7
%770 = getelementptr inbounds double, double* %769, i64 1
store double %768, double* %770
%771 = load double, double* %60
%772 = load double, double* %62
%773 = load double, double* %106
%774 = call double @llvm.fmuladd.f64(double %772, double %773, double %771)
%775 = load double*, double** %7
%776 = getelementptr inbounds double, double* %775, i64 0
store double %774, double* %776
%777 = load double, double* %66
%778 = load double, double* %68
%779 = load double, double* %106
%780 = call double @llvm.fmuladd.f64(double %778, double %779, double %777)
%781 = load double*, double** %7
%782 = getelementptr inbounds double, double* %781, i64 8
store double %780, double* %782
%783 = load double, double* %69
%784 = load double, double* %71
%785 = load double, double* %106
%786 = call double @llvm.fmuladd.f64(double %784, double %785, double %783)
%787 = fneg double %786
%788 = load double*, double** %7
%789 = getelementptr inbounds double, double* %788, i64 14
store double %787, double* %789
%790 = load double*, double** %7
%791 = getelementptr inbounds double, double* %790, i64 14
%792 = load double, double* %791
%793 = load double*, double** %7
%794 = getelementptr inbounds double, double* %793, i64 15
store double %792, double* %794
%795 = load double*, double** %7
%796 = getelementptr inbounds double, double* %795, i64 15
%797 = load double, double* %796
%798 = call double @llvm.fabs.f64(double %797)
%799 = fcmp olt double %798, 1.000000e-03
br i1 %799, label %800, label %803
800: ; preds = %610
%801 = load double*, double** %7
%802 = getelementptr inbounds double, double* %801, i64 15
store double 0.000000e+00, double* %802
br label %803
803: ; preds = %800, %610
%804 = load double*, double** %7
%805 = getelementptr inbounds double, double* %804, i64 16
%806 = load double, double* %805
%807 = load double*, double** %7
%808 = getelementptr inbounds double, double* %807, i64 10
store double %806, double* %808
br label %1462
809: ; preds = %600
%810 = load double, double* %58
%811 = load double, double* %61
%812 = load double, double* %59
%813 = load double, double* %64
%814 = fmul double %812, %813
%815 = call double @llvm.fmuladd.f64(double %810, double %811, double %814)
%816 = load double, double* %19
%817 = load double, double* %55
%818 = load double, double* %36
%819 = load double, double* %56
%820 = load double, double* %35
%821 = fmul double %819, %820
%822 = fneg double %821
%823 = call double @llvm.fmuladd.f64(double %817, double %818, double %822)
%824 = call double @llvm.fmuladd.f64(double %816, double %823, double %815)
store double %824, double* %77
%825 = load double, double* %58
%826 = load double, double* %62
%827 = load double, double* %59
%828 = load double, double* %65
%829 = fmul double %827, %828
%830 = call double @llvm.fmuladd.f64(double %825, double %826, double %829)
%831 = load double, double* %19
%832 = load double, double* %55
%833 = load double, double* %35
%834 = load double, double* %56
%835 = load double, double* %36
%836 = fsub double %835, 1.000000e+00
%837 = fmul double %834, %836
%838 = fneg double %837
%839 = call double @llvm.fmuladd.f64(double %832, double %833, double %838)
%840 = call double @llvm.fmuladd.f64(double %831, double %839, double %830)
%841 = load double, double* %9
%842 = fmul double 4.000000e-01, %841
%843 = load double, double* %9
%844 = fadd double %843, 1.000000e+01
%845 = fneg double %842
%846 = call double @llvm.fmuladd.f64(double %845, double %844, double %840)
%847 = fsub double %846, 1.000000e+00
store double %847, double* %78
%848 = load double, double* %77
%849 = load double, double* %61
%850 = load double, double* %19
%851 = load double, double* %67
%852 = fmul double %850, %851
%853 = load double, double* %67
%854 = fmul double %852, %853
%855 = fneg double %854
%856 = call double @llvm.fmuladd.f64(double %848, double %849, double %855)
store double %856, double* %79
%857 = load double, double* %76
%858 = load double, double* %61
%859 = load double, double* %77
%860 = load double, double* %60
%861 = fmul double %859, %860
%862 = call double @llvm.fmuladd.f64(double %857, double %858, double %861)
%863 = load double, double* %20
%864 = load double, double* %66
%865 = fmul double %863, %864
%866 = load double, double* %67
%867 = fneg double %865
%868 = call double @llvm.fmuladd.f64(double %867, double %866, double %862)
store double %868, double* %80
%869 = load double, double* %77
%870 = load double, double* %62
%871 = load double, double* %78
%872 = load double, double* %61
%873 = fmul double %871, %872
%874 = call double @llvm.fmuladd.f64(double %869, double %870, double %873)
%875 = load double, double* %20
%876 = load double, double* %67
%877 = fmul double %875, %876
%878 = load double, double* %68
%879 = fneg double %877
%880 = call double @llvm.fmuladd.f64(double %879, double %878, double %874)
store double %880, double* %81
%881 = load double, double* %76
%882 = load double, double* %60
%883 = load double, double* %19
%884 = load double, double* %66
%885 = fmul double %883, %884
%886 = load double, double* %66
%887 = fmul double %885, %886
%888 = fneg double %887
%889 = call double @llvm.fmuladd.f64(double %881, double %882, double %888)
store double %889, double* %82
%890 = load double, double* %76
%891 = load double, double* %62
%892 = load double, double* %78
%893 = load double, double* %60
%894 = fmul double %892, %893
%895 = call double @llvm.fmuladd.f64(double %890, double %891, double %894)
%896 = load double, double* %20
%897 = load double, double* %66
%898 = fmul double %896, %897
%899 = load double, double* %68
%900 = fneg double %898
%901 = call double @llvm.fmuladd.f64(double %900, double %899, double %895)
store double %901, double* %83
%902 = load double, double* %78
%903 = load double, double* %62
%904 = load double, double* %19
%905 = load double, double* %68
%906 = fmul double %904, %905
%907 = load double, double* %68
%908 = fmul double %906, %907
%909 = fneg double %908
%910 = call double @llvm.fmuladd.f64(double %902, double %903, double %909)
store double %910, double* %84
%911 = load i32, i32* %5
%912 = icmp eq i32 %911, 1
br i1 %912, label %916, label %913
913: ; preds = %809
%914 = load i32, i32* %5
%915 = icmp eq i32 %914, 3
br i1 %915, label %916, label %1350
916: ; preds = %913, %809
%917 = load double, double* %19
%918 = load double, double* %70
%919 = fmul double %917, %918
%920 = load double, double* %70
%921 = fmul double %919, %920
store double %921, double* %39
%922 = load double, double* %20
%923 = load double, double* %69
%924 = fmul double %922, %923
%925 = load double, double* %70
%926 = load double, double* %64
%927 = fneg double %926
%928 = call double @llvm.fmuladd.f64(double %924, double %925, double %927)
%929 = load double, double* %64
%930 = fsub double %928, %929
store double %930, double* %40
%931 = load double, double* %20
%932 = load double, double* %70
%933 = fmul double %931, %932
%934 = load double, double* %71
%935 = fmul double %933, %934
store double %935, double* %41
%936 = load double, double* %19
%937 = load double, double* %69
%938 = fmul double %936, %937
%939 = load double, double* %69
%940 = load double, double* %63
%941 = fneg double %940
%942 = call double @llvm.fmuladd.f64(double %938, double %939, double %941)
%943 = load double, double* %63
%944 = fsub double %942, %943
store double %944, double* %42
%945 = load double, double* %20
%946 = load double, double* %69
%947 = fmul double %945, %946
%948 = load double, double* %71
%949 = load double, double* %65
%950 = fneg double %949
%951 = call double @llvm.fmuladd.f64(double %947, double %948, double %950)
%952 = load double, double* %65
%953 = fsub double %951, %952
%954 = load double, double* %24
%955 = fsub double %953, %954
store double %955, double* %43
%956 = load double, double* %19
%957 = load double, double* %71
%958 = fmul double %956, %957
%959 = load double, double* %71
%960 = fmul double %958, %959
store double %960, double* %44
%961 = load double, double* %79
%962 = load double, double* %44
%963 = load double, double* %39
%964 = load double, double* %84
%965 = fmul double %963, %964
%966 = fneg double %965
%967 = call double @llvm.fmuladd.f64(double %961, double %962, double %966)
store double %967, double* %94
%968 = load double, double* %79
%969 = load double, double* %43
%970 = load double, double* %39
%971 = load double, double* %83
%972 = fmul double %970, %971
%973 = fneg double %972
%974 = call double @llvm.fmuladd.f64(double %968, double %969, double %973)
store double %974, double* %93
%975 = load double, double* %79
%976 = load double, double* %42
%977 = load double, double* %39
%978 = load double, double* %82
%979 = fmul double %977, %978
%980 = fneg double %979
%981 = call double @llvm.fmuladd.f64(double %975, double %976, double %980)
store double %981, double* %92
%982 = load double, double* %79
%983 = load double, double* %41
%984 = load double, double* %39
%985 = load double, double* %81
%986 = fmul double %984, %985
%987 = fneg double %986
%988 = call double @llvm.fmuladd.f64(double %982, double %983, double %987)
store double %988, double* %91
%989 = load double, double* %79
%990 = load double, double* %40
%991 = load double, double* %39
%992 = load double, double* %80
%993 = fmul double %991, %992
%994 = fneg double %993
%995 = call double @llvm.fmuladd.f64(double %989, double %990, double %994)
store double %995, double* %90
%996 = load double, double* %80
%997 = load double, double* %44
%998 = load double, double* %40
%999 = load double, double* %84
%1000 = fmul double %998, %999
%1001 = fneg double %1000
%1002 = call double @llvm.fmuladd.f64(double %996, double %997, double %1001)
store double %1002, double* %97
%1003 = load double, double* %80
%1004 = load double, double* %43
%1005 = load double, double* %40
%1006 = load double, double* %83
%1007 = fmul double %1005, %1006
%1008 = fneg double %1007
%1009 = call double @llvm.fmuladd.f64(double %1003, double %1004, double %1008)
store double %1009, double* %96
%1010 = load double, double* %80
%1011 = load double, double* %42
%1012 = load double, double* %40
%1013 = load double, double* %82
%1014 = fmul double %1012, %1013
%1015 = fneg double %1014
%1016 = call double @llvm.fmuladd.f64(double %1010, double %1011, double %1015)
store double %1016, double* %95
%1017 = load double, double* %81
%1018 = load double, double* %44
%1019 = load double, double* %41
%1020 = load double, double* %84
%1021 = fmul double %1019, %1020
%1022 = fneg double %1021
%1023 = call double @llvm.fmuladd.f64(double %1017, double %1018, double %1022)
store double %1023, double* %103
%1024 = load double, double* %81
%1025 = load double, double* %43
%1026 = load double, double* %41
%1027 = load double, double* %83
%1028 = fmul double %1026, %1027
%1029 = fneg double %1028
%1030 = call double @llvm.fmuladd.f64(double %1024, double %1025, double %1029)
store double %1030, double* %101
%1031 = load double, double* %81
%1032 = load double, double* %42
%1033 = load double, double* %41
%1034 = load double, double* %82
%1035 = fmul double %1033, %1034
%1036 = fneg double %1035
%1037 = call double @llvm.fmuladd.f64(double %1031, double %1032, double %1036)
store double %1037, double* %99
%1038 = load double, double* %81
%1039 = load double, double* %40
%1040 = load double, double* %41
%1041 = load double, double* %80
%1042 = fmul double %1040, %1041
%1043 = fneg double %1042
%1044 = call double @llvm.fmuladd.f64(double %1038, double %1039, double %1043)
store double %1044, double* %98
%1045 = load double, double* %82
%1046 = load double, double* %44
%1047 = load double, double* %42
%1048 = load double, double* %84
%1049 = fmul double %1047, %1048
%1050 = fneg double %1049
%1051 = call double @llvm.fmuladd.f64(double %1045, double %1046, double %1050)
store double %1051, double* %104
%1052 = load double, double* %83
%1053 = load double, double* %44
%1054 = load double, double* %43
%1055 = load double, double* %84
%1056 = fmul double %1054, %1055
%1057 = fneg double %1056
%1058 = call double @llvm.fmuladd.f64(double %1052, double %1053, double %1057)
store double %1058, double* %105
%1059 = load double, double* %101
%1060 = load double, double* %97
%1061 = fadd double %1059, %1060
store double %1061, double* %102
%1062 = load double, double* %99
%1063 = load double, double* %96
%1064 = fadd double %1062, %1063
store double %1064, double* %100
%1065 = load double, double* %94
%1066 = load double, double* %94
%1067 = load double, double* %91
%1068 = load double, double* %103
%1069 = fmul double %1067, %1068
%1070 = fneg double %1069
%1071 = call double @llvm.fmuladd.f64(double %1065, double %1066, double %1070)
store double %1071, double* %89
%1072 = load double, double* %94
%1073 = fmul double 2.000000e+00, %1072
%1074 = load double, double* %93
%1075 = load double, double* %91
%1076 = load double, double* %102
%1077 = fmul double %1075, %1076
%1078 = fneg double %1077
%1079 = call double @llvm.fmuladd.f64(double %1073, double %1074, double %1078)
%1080 = load double, double* %90
%1081 = load double, double* %103
%1082 = fneg double %1080
%1083 = call double @llvm.fmuladd.f64(double %1082, double %1081, double %1079)
store double %1083, double* %88
%1084 = load double, double* %93
%1085 = load double, double* %93
%1086 = load double, double* %94
%1087 = fmul double 2.000000e+00, %1086
%1088 = load double, double* %92
%1089 = fmul double %1087, %1088
%1090 = call double @llvm.fmuladd.f64(double %1084, double %1085, double %1089)
%1091 = load double, double* %91
%1092 = load double, double* %100
%1093 = fneg double %1091
%1094 = call double @llvm.fmuladd.f64(double %1093, double %1092, double %1090)
%1095 = load double, double* %90
%1096 = load double, double* %102
%1097 = fneg double %1095
%1098 = call double @llvm.fmuladd.f64(double %1097, double %1096, double %1094)
store double %1098, double* %87
%1099 = load double, double* %93
%1100 = fmul double 2.000000e+00, %1099
%1101 = load double, double* %92
%1102 = load double, double* %91
%1103 = load double, double* %95
%1104 = fmul double %1102, %1103
%1105 = fneg double %1104
%1106 = call double @llvm.fmuladd.f64(double %1100, double %1101, double %1105)
%1107 = load double, double* %90
%1108 = load double, double* %100
%1109 = fneg double %1107
%1110 = call double @llvm.fmuladd.f64(double %1109, double %1108, double %1106)
store double %1110, double* %86
%1111 = load double, double* %92
%1112 = load double, double* %92
%1113 = load double, double* %90
%1114 = load double, double* %95
%1115 = fmul double %1113, %1114
%1116 = fneg double %1115
%1117 = call double @llvm.fmuladd.f64(double %1111, double %1112, double %1116)
store double %1117, double* %85
%1118 = load i32, i32* %5
%1119 = icmp eq i32 %1118, 1
br i1 %1119, label %1120, label %1138
1120: ; preds = %916
%1121 = load double, double* %92
%1122 = load double, double* %99
%1123 = fsub double %1121, %1122
%1124 = load double, double* %104
%1125 = fsub double %1123, %1124
%1126 = load double, double* %90
%1127 = load double, double* %93
%1128 = fsub double %1126, %1127
%1129 = load double, double* %101
%1130 = fadd double %1128, %1129
%1131 = load double, double* %97
%1132 = fsub double %1130, %1131
%1133 = load double, double* %105
%1134 = fadd double %1132, %1133
%1135 = load double, double* %98
%1136 = fsub double %1134, %1135
%1137 = fdiv double %1125, %1136
store double %1137, double* %107
br label %1248
1138: ; preds = %916
%1139 = load double, double* %15
%1140 = fmul double 5.000000e-01, %1139
%1141 = load double, double* %30
%1142 = fmul double %1140, %1141
%1143 = load double, double* %21
%1144 = fneg double %1143
%1145 = call double @exp(double %1144)
%1146 = fmul double %1142, %1145
%1147 = load double*, double** %7
%1148 = getelementptr inbounds double, double* %1147, i64 14
store double %1146, double* %1148
%1149 = load double*, double** %7
%1150 = getelementptr inbounds double, double* %1149, i64 11
%1151 = load double, double* %1150
%1152 = fcmp ole double %1151, 2.000000e+00
br i1 %1152, label %1153, label %1199
1153: ; preds = %1138
%1154 = load double*, double** %7
%1155 = getelementptr inbounds double, double* %1154, i64 11
%1156 = load double, double* %1155
%1157 = fcmp oge double %1156, 0.000000e+00
br i1 %1157, label %1158, label %1199
1158: ; preds = %1153
%1159 = load double*, double** %7
%1160 = getelementptr inbounds double, double* %1159, i64 12
%1161 = load double, double* %1160
%1162 = fcmp ole double %1161, 1.000000e+00
br i1 %1162, label %1163, label %1199
1163: ; preds = %1158
%1164 = load double, double* %20
%1165 = load double, double* %21
%1166 = fmul double %1164, %1165
%1167 = load double, double* %22
%1168 = call double @exp(double %1167)
%1169 = fmul double %1166, %1168
store double %1169, double* %109
%1170 = load double, double* %109
%1171 = call double @sqrt(double %1170)
store double %1171, double* %110
%1172 = load double, double* %29
%1173 = fmul double 2.000000e+00, %1172
%1174 = load double, double* %28
%1175 = fmul double %1173, %1174
%1176 = load double, double* %110
%1177 = fmul double %1175, %1176
%1178 = load double, double* %12
%1179 = fdiv double %1177, %1178
%1180 = fadd double 1.000000e+00, %1179
%1181 = call double @sqrt(double %1180)
%1182 = fsub double 1.000000e+00, %1181
%1183 = load double, double* %11
%1184 = fmul double %1182, %1183
%1185 = load double, double* %28
%1186 = fdiv double %1184, %1185
store double %1186, double* %111
%1187 = load double, double* %111
%1188 = fneg double %1187
%1189 = load double, double* %111
%1190 = fmul double %1188, %1189
%1191 = load double, double* %20
%1192 = fdiv double %1190, %1191
%1193 = load double, double* %15
%1194 = fmul double 5.000000e-01, %1193
%1195 = load double, double* %30
%1196 = call double @llvm.fmuladd.f64(double %1194, double %1195, double %1192)
%1197 = load double*, double** %7
%1198 = getelementptr inbounds double, double* %1197, i64 14
store double %1196, double* %1198
br label %1199
1199: ; preds = %1163, %1158, %1153, %1138
%1200 = load double, double* %69
%1201 = load double*, double** %7
%1202 = getelementptr inbounds double, double* %1201, i64 14
%1203 = load double, double* %1202
%1204 = fadd double %1200, %1203
store double %1204, double* %112
%1205 = load double, double* %24
%1206 = load double, double* %112
%1207 = load double, double* %65
%1208 = load double, double* %112
%1209 = load double, double* %63
%1210 = load double, double* %71
%1211 = fmul double %1209, %1210
%1212 = fneg double %1211
%1213 = call double @llvm.fmuladd.f64(double %1207, double %1208, double %1212)
%1214 = fmul double 2.000000e+00, %1213
%1215 = call double @llvm.fmuladd.f64(double %1205, double %1206, double %1214)
%1216 = load double, double* %19
%1217 = load double*, double** %7
%1218 = getelementptr inbounds double, double* %1217, i64 14
%1219 = load double, double* %1218
%1220 = fmul double %1216, %1219
%1221 = load double*, double** %7
%1222 = getelementptr inbounds double, double* %1221, i64 14
%1223 = load double, double* %1222
%1224 = fmul double %1220, %1223
%1225 = load double, double* %71
%1226 = call double @llvm.fmuladd.f64(double %1224, double %1225, double %1215)
store double %1226, double* %108
%1227 = load double, double* %108
%1228 = fneg double %1227
%1229 = load double, double* %24
%1230 = load double, double* %70
%1231 = load double, double* %65
%1232 = load double, double* %70
%1233 = load double, double* %64
%1234 = load double, double* %71
%1235 = fmul double %1233, %1234
%1236 = fneg double %1235
%1237 = call double @llvm.fmuladd.f64(double %1231, double %1232, double %1236)
%1238 = fmul double 2.000000e+00, %1237
%1239 = call double @llvm.fmuladd.f64(double %1229, double %1230, double %1238)
%1240 = fdiv double %1228, %1239
store double %1240, double* %108
%1241 = load double, double* %112
%1242 = load double, double* %70
%1243 = load double, double* %108
%1244 = call double @llvm.fmuladd.f64(double %1242, double %1243, double %1241)
%1245 = fneg double %1244
%1246 = load double, double* %71
%1247 = fdiv double %1245, %1246
store double %1247, double* %107
br label %1248
1248: ; preds = %1199, %1120
store i32 0, i32* %117
br label %1249
1249: ; preds = %1296, %1248
%1250 = load i32, i32* %117
%1251 = add nsw i32 %1250, 1
store i32 %1251, i32* %117
%1252 = load i32, i32* %117
%1253 = load i32, i32* %119
%1254 = icmp sgt i32 %1252, %1253
br i1 %1254, label %1255, label %1257
1255: ; preds = %1249
store i32 -2, i32* %6
%1256 = load i32, i32* %6
store i32 %1256, i32* %4
br label %1482
1257: ; preds = %1249
%1258 = load double, double* %107
store double %1258, double* %106
%1259 = load double, double* %85
%1260 = load double, double* %86
%1261 = load double, double* %87
%1262 = load double, double* %88
%1263 = load double, double* %89
%1264 = load double, double* %106
%1265 = call double @llvm.fmuladd.f64(double %1263, double %1264, double %1262)
%1266 = load double, double* %106
%1267 = call double @llvm.fmuladd.f64(double %1265, double %1266, double %1261)
%1268 = load double, double* %106
%1269 = call double @llvm.fmuladd.f64(double %1267, double %1268, double %1260)
%1270 = load double, double* %106
%1271 = call double @llvm.fmuladd.f64(double %1269, double %1270, double %1259)
store double %1271, double* %114
%1272 = load double, double* %86
%1273 = load double, double* %87
%1274 = load double, double* %88
%1275 = load double, double* %89
%1276 = fmul double 4.000000e+00, %1275
%1277 = load double, double* %106
%1278 = fmul double %1276, %1277
%1279 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %1274, double %1278)
%1280 = load double, double* %106
%1281 = fmul double %1279, %1280
%1282 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %1273, double %1281)
%1283 = load double, double* %106
%1284 = call double @llvm.fmuladd.f64(double %1282, double %1283, double %1272)
store double %1284, double* %115
%1285 = load double, double* %106
%1286 = load double, double* %114
%1287 = load double, double* %115
%1288 = fdiv double %1286, %1287
%1289 = fsub double %1285, %1288
store double %1289, double* %107
%1290 = load double, double* %107
%1291 = load double, double* %106
%1292 = fsub double %1290, %1291
%1293 = load double, double* %106
%1294 = fdiv double %1292, %1293
%1295 = call double @llvm.fabs.f64(double %1294)
store double %1295, double* %113
br label %1296
1296: ; preds = %1257
%1297 = load double, double* %113
%1298 = load double, double* %8
%1299 = fcmp ogt double %1297, %1298
br i1 %1299, label %1249, label %1300
1300: ; preds = %1296
%1301 = load i32, i32* %6
%1302 = load i32, i32* %117
%1303 = add nsw i32 %1301, %1302
store i32 %1303, i32* %6
%1304 = load double, double* %107
store double %1304, double* %106
%1305 = load double, double* %94
%1306 = load double, double* %106
%1307 = fmul double %1305, %1306
%1308 = load double, double* %106
%1309 = load double, double* %93
%1310 = load double, double* %106
%1311 = fmul double %1309, %1310
%1312 = call double @llvm.fmuladd.f64(double %1307, double %1308, double %1311)
%1313 = load double, double* %92
%1314 = fadd double %1312, %1313
%1315 = fneg double %1314
%1316 = load double, double* %91
%1317 = load double, double* %106
%1318 = load double, double* %90
%1319 = call double @llvm.fmuladd.f64(double %1316, double %1317, double %1318)
%1320 = fdiv double %1315, %1319
store double %1320, double* %108
%1321 = load double, double* %69
%1322 = load double, double* %70
%1323 = load double, double* %108
%1324 = call double @llvm.fmuladd.f64(double %1322, double %1323, double %1321)
%1325 = load double, double* %71
%1326 = load double, double* %106
%1327 = call double @llvm.fmuladd.f64(double %1325, double %1326, double %1324)
%1328 = fneg double %1327
%1329 = load double*, double** %7
%1330 = getelementptr inbounds double, double* %1329, i64 14
store double %1328, double* %1330
%1331 = load double*, double** %7
%1332 = getelementptr inbounds double, double* %1331, i64 14
%1333 = load double, double* %1332
%1334 = load double*, double** %7
%1335 = getelementptr inbounds double, double* %1334, i64 15
store double %1333, double* %1335
%1336 = load double*, double** %7
%1337 = getelementptr inbounds double, double* %1336, i64 15
%1338 = load double, double* %1337
%1339 = call double @llvm.fabs.f64(double %1338)
%1340 = fcmp olt double %1339, 1.000000e-03
br i1 %1340, label %1341, label %1344
1341: ; preds = %1300
%1342 = load double*, double** %7
%1343 = getelementptr inbounds double, double* %1342, i64 15
store double 0.000000e+00, double* %1343
br label %1344
1344: ; preds = %1341, %1300
%1345 = load double*, double** %7
%1346 = getelementptr inbounds double, double* %1345, i64 16
%1347 = load double, double* %1346
%1348 = load double*, double** %7
%1349 = getelementptr inbounds double, double* %1348, i64 10
store double %1347, double* %1349
br label %1424
1350: ; preds = %913
%1351 = load double, double* %24
%1352 = load double, double* %69
%1353 = load double, double* %65
%1354 = load double, double* %69
%1355 = load double, double* %63
%1356 = load double, double* %71
%1357 = fmul double %1355, %1356
%1358 = fneg double %1357
%1359 = call double @llvm.fmuladd.f64(double %1353, double %1354, double %1358)
%1360 = fmul double 2.000000e+00, %1359
%1361 = call double @llvm.fmuladd.f64(double %1351, double %1352, double %1360)
store double %1361, double* %108
%1362 = load double, double* %108
%1363 = fneg double %1362
%1364 = load double, double* %24
%1365 = load double, double* %70
%1366 = load double, double* %65
%1367 = load double, double* %70
%1368 = load double, double* %64
%1369 = load double, double* %71
%1370 = fmul double %1368, %1369
%1371 = fneg double %1370
%1372 = call double @llvm.fmuladd.f64(double %1366, double %1367, double %1371)
%1373 = fmul double 2.000000e+00, %1372
%1374 = call double @llvm.fmuladd.f64(double %1364, double %1365, double %1373)
%1375 = fdiv double %1363, %1374
store double %1375, double* %108
%1376 = load double, double* %69
%1377 = load double, double* %70
%1378 = load double, double* %108
%1379 = call double @llvm.fmuladd.f64(double %1377, double %1378, double %1376)
%1380 = fneg double %1379
%1381 = load double, double* %71
%1382 = fdiv double %1380, %1381
store double %1382, double* %106
%1383 = load i32, i32* %5
%1384 = icmp eq i32 %1383, 2
br i1 %1384, label %1385, label %1409
1385: ; preds = %1350
%1386 = load double, double* %79
%1387 = load double, double* %108
%1388 = fmul double %1386, %1387
%1389 = load double, double* %108
%1390 = load double, double* %80
%1391 = load double, double* %81
%1392 = load double, double* %106
%1393 = call double @llvm.fmuladd.f64(double %1391, double %1392, double %1390)
%1394 = load double, double* %108
%1395 = fmul double %1393, %1394
%1396 = call double @llvm.fmuladd.f64(double %1388, double %1389, double %1395)
%1397 = load double, double* %82
%1398 = fadd double %1396, %1397
%1399 = load double, double* %83
%1400 = load double, double* %106
%1401 = call double @llvm.fmuladd.f64(double %1399, double %1400, double %1398)
%1402 = load double, double* %84
%1403 = load double, double* %106
%1404 = fmul double %1402, %1403
%1405 = load double, double* %106
%1406 = call double @llvm.fmuladd.f64(double %1404, double %1405, double %1401)
%1407 = load double*, double** %7
%1408 = getelementptr inbounds double, double* %1407, i64 15
store double %1406, double* %1408
br label %1409
1409: ; preds = %1385, %1350
%1410 = load i32, i32* %5
%1411 = icmp eq i32 %1410, 4
br i1 %1411, label %1412, label %1423
1412: ; preds = %1409
%1413 = load double, double* %69
%1414 = load double, double* %70
%1415 = load double, double* %108
%1416 = call double @llvm.fmuladd.f64(double %1414, double %1415, double %1413)
%1417 = load double, double* %71
%1418 = load double, double* %106
%1419 = call double @llvm.fmuladd.f64(double %1417, double %1418, double %1416)
%1420 = fneg double %1419
%1421 = load double*, double** %7
%1422 = getelementptr inbounds double, double* %1421, i64 15
store double %1420, double* %1422
br label %1423
1423: ; preds = %1412, %1409
br label %1424
1424: ; preds = %1423, %1344
%1425 = load double, double* %106
%1426 = load double*, double** %7
%1427 = getelementptr inbounds double, double* %1426, i64 3
store double %1425, double* %1427
%1428 = load double, double* %108
%1429 = load double*, double** %7
%1430 = getelementptr inbounds double, double* %1429, i64 2
store double %1428, double* %1430
%1431 = load double, double* %63
%1432 = load double, double* %64
%1433 = load double, double* %108
%1434 = call double @llvm.fmuladd.f64(double %1432, double %1433, double %1431)
%1435 = load double, double* %65
%1436 = load double, double* %106
%1437 = call double @llvm.fmuladd.f64(double %1435, double %1436, double %1434)
%1438 = load double*, double** %7
%1439 = getelementptr inbounds double, double* %1438, i64 1
store double %1437, double* %1439
%1440 = load double, double* %60
%1441 = load double, double* %61
%1442 = load double, double* %108
%1443 = call double @llvm.fmuladd.f64(double %1441, double %1442, double %1440)
%1444 = load double, double* %62
%1445 = load double, double* %106
%1446 = call double @llvm.fmuladd.f64(double %1444, double %1445, double %1443)
%1447 = load double*, double** %7
%1448 = getelementptr inbounds double, double* %1447, i64 0
store double %1446, double* %1448
%1449 = load double, double* %66
%1450 = load double, double* %67
%1451 = load double, double* %108
%1452 = call double @llvm.fmuladd.f64(double %1450, double %1451, double %1449)
%1453 = load double, double* %68
%1454 = load double, double* %106
%1455 = call double @llvm.fmuladd.f64(double %1453, double %1454, double %1452)
%1456 = load double*, double** %7
%1457 = getelementptr inbounds double, double* %1456, i64 0
%1458 = load double, double* %1457
%1459 = fdiv double %1455, %1458
%1460 = load double*, double** %7
%1461 = getelementptr inbounds double, double* %1460, i64 8
store double %1459, double* %1461
br label %1462
1462: ; preds = %1424, %803
%1463 = load double, double* %20
%1464 = load double, double* %21
%1465 = fmul double %1463, %1464
%1466 = load double, double* %33
%1467 = fmul double %1465, %1466
store double %1467, double* %116
%1468 = load double, double* %22
%1469 = load double, double* %24
%1470 = fmul double %1468, %1469
%1471 = load double, double* %108
%1472 = load double, double* %116
%1473 = fneg double %1472
%1474 = call double @llvm.fmuladd.f64(double %1470, double %1471, double %1473)
%1475 = load double, double* %24
%1476 = load double, double* %116
%1477 = fmul double %1475, %1476
%1478 = fdiv double %1474, %1477
%1479 = load double*, double** %7
%1480 = getelementptr inbounds double, double* %1479, i64 7
store double %1478, double* %1480
%1481 = load i32, i32* %6
store i32 %1481, i32* %4
br label %1482
1482: ; preds = %1462, %1255
%1483 = load i32, i32* %4
ret i32 %1483
}

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