makesource(type, s, dt, nt, x0, src_amp, tsh, bn) float *s;
float *dt, *x0, *src_amp, *tsh;
int nt, bn;
char *type;
{
  double exp(), exp_arg, cos_arg;
  float t, t0, t2, tshift, alpha, beta, gamma;
  float ep, em;
  float td, tb, tr, ts, c0;
  int it, itsh;
  char str[128];
  int ite, it2;
  int it0, it1;
  float da;
  float tau, tau1, tau2, tau1x2, arg1, arg2;
  float half = 0.5;
  float one = 1.0;
  float two = 2.0;
  itsh = (*tsh) / (*dt);
  if (strncmp("delta", type, 5) == 0)
    s[itsh] = s[itsh] + *src_amp;
  if (strncmp("gaus", type, 4) == 0) {
    tshift = 3.0 * (*x0);
    alpha = -1.0 / ((*x0) * (*x0));
    for (it = 0; it < nt; it++) {
      t = (it - 1) * (*dt) - tshift;
      t2 = t * t;
      exp_arg = alpha * t2;
      s[it] = s[it] + (*src_amp) * exp(exp_arg);
    }
  }
  if (strncmp("ucsb", type, 4) == 0) {
    tau = (*x0);
    tau1 = 0.13 * tau;
    tau2 = tau - tau1;
    tau1x2 = 2.0 * tau1;
    it0 = (int)(tau / (*dt));
    for (it = 0; it < it0; it++) {
      t = it * (*dt);
      alpha = 0.0;
      if (t < tau1) {
        arg1 = 3.141592654 * t / tau1;
        arg2 = 0.5 * arg1;
        alpha = 0.7 - 0.7 * cos(arg1) + 0.6 * sin(arg2);
      } else if (t < tau1x2) {
        arg1 = 3.141592654 * t / tau1;
        arg2 = 3.141592654 * (t - tau1) / tau2;
        alpha = 1.0 - 0.7 * cos(arg1) + 0.3 * cos(arg2);
      } else if (t < tau) {
        arg1 = 3.141592654 * (t - tau1) / tau2;
        alpha = 0.3 + 0.3 * cos(arg1);
      }
      s[it + itsh] = s[it + itsh] + alpha;
    }
  }
  if (strncmp("esg2006", type, 7) == 0) {
    alpha = 4.0 / (*x0);
    beta = 2.0 * (*x0);
    gamma = alpha / sqrt(3.141592654);
    for (it = 0; it < nt - itsh; it++) {
      t = it * (*dt);
      arg1 = alpha * (t - beta);
      s[it + itsh] = s[it + itsh] + gamma * exp(-arg1 * arg1);
    }
  }
  if (strncmp("tanh", type, 4) == 0) {
    alpha = 2.0 / (*x0);
    for (it = -itsh; it < nt - itsh; it++) {
      t = it * (*dt);
      exp_arg = t * alpha + 1.0;
      ep = exp(exp_arg);
      em = exp(-exp_arg);
      s[it + itsh] =
          s[it + itsh] + (*src_amp) * (alpha / ((ep + em) * (ep + em)));
    }
  }
  if (strncmp("tri", type, 3) == 0) {
    ite = (int)((*x0) / (*dt) + 0.5);
    if (ite % 2)
      ite++;
    it2 = ite / 2;
    da = (float)((*src_amp) / it2);
    for (it = 0; it < it2; it++) {
      s[it + itsh] = s[it + itsh] + it * da;
      s[(ite + itsh) - it] = s[(ite + itsh) - it] + it * da;
    }
    s[it2 + itsh] = s[it2 + itsh] + it2 * da;
  }
  if (strncmp("atri", type, 4) == 0) {
    if (type[4] == '\0')
      alpha = 0.5;
    else
      alpha = 0.01 * atof(type + 4);
    ite = (int)((*x0) / (*dt) + 0.5);
    if (ite % 2)
      ite++;
    it2 = ite * alpha;
    alpha = (*src_amp) * (float)(2.0 / ite);
    da = alpha / (float)(it2);
    for (it = 0; it <= it2; it++)
      s[it + itsh] = s[it + itsh] + it * da;
    da = alpha / (float)(ite - it2);
    for (it = it2 + 1; it <= ite; it++)
      s[it + itsh] = s[it + itsh] + (ite - it) * da;
  }
  if (strncmp("gabor", type, 5) == 0) {
    alpha = 11.0;
    beta = 2.0 * 3.141592654 / (*x0);
    tshift = 0.45 * alpha * (*x0);
    for (it = 0; it < nt; it++) {
      t = (it) * (*dt) - tshift;
      exp_arg = t * beta / alpha;
      exp_arg = -exp_arg * exp_arg;
      cos_arg = beta * t + 3.141592654 / 2.0;
      if (t <= tshift)
        s[it + itsh] = s[it + itsh] + (*src_amp) * exp(exp_arg) * cos(cos_arg);
    }
  }
  if (strncmp("rick", type, 4) == 0) {
    tshift = 3.0 * (*x0);
    alpha = -1.0 / ((*x0) * (*x0));
    beta = 2.0 / (*x0);
    beta = 3.141592654 / (*x0);
    for (it = 0; it < nt; it++) {
      t = (it - 1) * (*dt) - tshift;
      t2 = t * t;
      exp_arg = alpha * t2;
      cos_arg = beta * t;
      s[it + itsh] = s[it + itsh] + (*src_amp) * exp(exp_arg) * cos(cos_arg);
    }
  }
  if (strncmp("zahr", type, 4) == 0) {
    tshift = 0.5 * 3.0 * (*x0);
    beta = 3.141592654 / (*x0);
    alpha = beta * beta;
    for (it = 0; it < nt; it++) {
      t = (it - 1) * (*dt) - tshift;
      t2 = t * t;
      exp_arg = alpha * t2;
      s[it + itsh] =
          s[it + itsh] + (*src_amp) * (two * exp_arg - one) * exp(-exp_arg);
    }
  }
  if (strncmp("cos", type, 3) == 0) {
    alpha = 2.0 * 3.141592654 / (*x0);
    ite = (*x0) / (*dt);
    for (it = 0; it < ite; it++) {
      cos_arg = it * (*dt) * alpha;
      s[it + itsh] = s[it + itsh] + (*src_amp) * (one - cos(cos_arg));
    }
  }
  if (strncmp("expcos", type, 6) == 0) {
    ite = (*x0) / (*dt);
    for (it = 0; it < ite; it++) {
      cos_arg = it * (*dt) / (*x0);
      s[it + itsh] = s[it + itsh] + (*src_amp) * cos_arg *
                                        (one + cos(cos_arg * 3.141592654)) *
                                        exp(-cos_arg);
    }
  }
  if (strncmp("expcos2", type, 7) == 0) {
    ite = (*x0) / (*dt);
    for (it = 0; it < ite; it++) {
      cos_arg = it * (*dt) / (*x0);
      s[it + itsh] =
          s[it + itsh] +
          (*src_amp) * (one - cos(2.0 * cos_arg * 3.141592654)) * exp(-cos_arg);
    }
  }
  if (strncmp("scec", type, 4) == 0) {
    alpha = 1.0 / ((*x0) * (*x0));
    for (it = 0; it < nt - itsh; it++) {
      exp_arg = it * (*dt);
      s[it + itsh] =
          s[it + itsh] + (*src_amp) * exp_arg * alpha * (exp(-exp_arg / (*x0)));
    }
  }
  if (strncmp("brune", type, 5) == 0) {
    t0 = 0.1600 * (*x0);
    t0 = 0.2108 * (*x0);
    t0 = 0.1250 * (*x0);
    for (it = 0; it < nt - itsh; it++) {
      exp_arg = it * (*dt) / t0;
      s[it + itsh] =
          s[it + itsh] + (*src_amp) * (exp_arg / t0) * (exp(-exp_arg));
    }
  }
  if (strncmp("sqrtT", type, 5) == 0) {
    for (it = 0; it < nt - itsh; it++) {
      if (it == 0)
        t = 0.01 * (*dt);
      else
        t = it * (*dt);
      s[it + itsh] = s[it + itsh] + (one - t) / (sqrt(t));
    }
  }
  if (strncmp("miyatake", type, 8) == 0) {
    td = 0.1;
    tb = 1.25 * td;
    tr = (*x0);
    ts = 1.5 * (*x0);
    alpha = two * (*src_amp) / td;
    gamma = half / td;
    ep = (2.5 * tb - 3.0 * td) / (one - td / tb);
    beta = alpha * tb * (one - gamma * tb) * sqrt(tb - ep);
    c0 = beta / sqrt(tr - ep);
    da = -c0 / (ts - tr);
    it0 = (int)(tb / (*dt)) + 1;
    it1 = (int)(tr / (*dt)) + 1;
    it2 = (int)(ts / (*dt)) + 1;
    if (it0 > nt - itsh)
      it0 = nt - itsh;
    if (it1 > nt - itsh)
      it1 = nt - itsh;
    if (it2 > nt - itsh)
      it2 = nt - itsh;
    for (it = 0; it < it2; it++) {
      t = it * (*dt);
      if (t <= tb)
        s[it + itsh] = s[it + itsh] + alpha * t * (one - gamma * t);
      else if (t <= tr)
        s[it + itsh] = s[it + itsh] + beta / sqrt(t - ep);
      else
        s[it + itsh] = s[it + itsh] + c0 + (t - tr) * da;
    }
  }
  if (strncmp("2triGOOD", type, 8) == 0) {
    if (type[4] == '\0')
      alpha = 0.1 * (*x0);
    else if (strncmp("-p", type + 4, 2) == 0)
      alpha = 0.01 * (*x0) * atof(type + 6);
    else
      alpha = atof(type + 4);
    it0 = (int)((alpha) / (*dt) + 0.5);
    if (it0 < 2)
      it0 = 2;
    it1 = (int)((*x0) / (*dt) + 0.5);
    if (it1 < 4)
      it1 = 2;
    it2 = it0 + it0 / 2;
    alpha = 1.0;
    da = alpha / (float)(it0);
    for (it = 0; it < it0; it++)
      s[it + itsh] = s[it + itsh] + it * da;
    for (it = it0; it < it2; it++)
      s[it + itsh] = s[it + itsh] + (2 * it0 - it) * da;
    alpha = 0.5 * alpha;
    da = alpha / (float)(it1 - it2);
    for (it = it2; it < it1; it++)
      s[it + itsh] = s[it + itsh] + alpha + (it2 - it) * da;
  }
  if (strncmp("2tri", type, 4) == 0) {
    alpha = 0.1 * (*x0);
    beta = 0.2;
    if (strncmp("-p", type + 4, 2) == 0) {
      alpha = 0.01 * (*x0) * atof(type + 6);
      if (strncmp("-h", type + 8, 2) == 0)
        beta = 0.01 * atof(type + 10);
    }
    if (strncmp("-h", type + 4, 2) == 0) {
      beta = 0.01 * atof(type + 6);
      if (strncmp("-p", type + 8, 2) == 0)
        alpha = 0.01 * (*x0) * atof(type + 10);
    }
    it0 = (int)((alpha) / (*dt) + 0.5);
    if (it0 < 2)
      it0 = 2;
    it1 = (int)((*x0) / (*dt) + 0.5);
    if (it1 < 4)
      it1 = 2;
    it2 = (2 - beta) * it0;
    alpha = 1.0;
    da = alpha / (float)(it0);
    for (it = 0; it < it0; it++)
      s[it + itsh] = s[it + itsh] + it * da;
    for (it = it0; it < it2; it++)
      s[it + itsh] = s[it + itsh] + (2 * it0 - it) * da;
    alpha = beta * alpha;
    da = alpha / (float)(it1 - it2);
    for (it = it2; it < it1; it++)
      s[it + itsh] = s[it + itsh] + alpha + (it2 - it) * da;
  }
  if (strncmp("trap", type, 4) == 0) {
    it0 = (int)((x0[0]) / (*dt) + 0.5);
    if (it0 < 0)
      it0 = 0;
    it1 = (int)((x0[1]) / (*dt) + 0.5);
    if (it1 < 0)
      it1 = 0;
    it2 = (int)((x0[2]) / (*dt) + 0.5);
    if (it2 < 0)
      it2 = 0;
    da = (float)(it0) / (float)(it2);
    it1 = it0 + it1;
    it2 = it1 + it2;
    for (it = 0; it < it0; it++)
      s[it + itsh] = s[it + itsh] + it;
    for (it = it0; it < it1; it++)
      s[it + itsh] = s[it + itsh] + it0;
    for (it = it1; it < it2; it++)
      s[it + itsh] = s[it + itsh] + (it2 - it) * da;
  }
  if (strncmp("irikura", type, 7) == 0) {
    it0 = (int)((x0[0]) / (*dt) + 0.5);
    beta = 1.0 / (float)(it0);
    alpha = (x0[0]) / ((bn - 1.0) * (*dt)) * (1.0 - exp(-1.0));
    alpha = 1.0 / alpha;
    for (it = 0; it < it0; it++)
      s[it + itsh] = s[it + itsh] + alpha * exp(-it * beta);
    s[itsh] = s[itsh] + 1.0;
  }
}


x86 assembly (clang, -O0):
<makesource>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2a0,%rsp
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%rax
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %ecx,-0x24(%rbp)
mov    %r8,-0x30(%rbp)
mov    %r9,-0x38(%rbp)
movss  0x2e77(%rip),%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  0x2e63(%rip),%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  0x2e4f(%rip),%xmm0
movss  %xmm0,-0x148(%rbp)
ff
mov    0x10(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x88(%rbp)
mov    -0x10(%rbp),%rsi
lea    0x2ef2(%rip),%rdi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1219 <makesource+0xb9>
mov    -0x18(%rbp),%rax
movslq -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
mov    -0x38(%rbp),%rax
addss  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x88(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x10(%rbp),%rsi
lea    0x2eb2(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1372 <makesource+0x212>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2dd5(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mulss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2da4(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    136d <makesource+0x20d>
mov    -0x84(%rbp),%eax
sub    $0x1,%eax
cvtsi2ss %eax,%xmm0
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm2
movss  -0x58(%rbp),%xmm1
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
movss  -0x5c(%rbp),%xmm0
mulss  -0x54(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x84(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
call   1060 <exp@plt>
movsd  -0x158(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x150(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x84(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    128b <makesource+0x12b>
jmp    1372 <makesource+0x212>
mov    -0x10(%rbp),%rsi
lea    0x2d5e(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    16df <makesource+0x57f>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x128(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x2c7c(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
subss  -0x12c(%rbp),%xmm0
ff
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x12c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x2c38(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x11c(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x11c(%rbp),%eax
jge    16da <makesource+0x57a>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x4c(%rbp),%xmm1
movss  -0x12c(%rbp),%xmm0
ff
ucomiss %xmm1,%xmm0
jbe    1526 <makesource+0x3c6>
movss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2bbe(%rip),%xmm0
mulsd  %xmm1,%xmm0
movss  -0x12c(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x2b9a(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
movsd  0x2be1(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2be5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movss  -0x13c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1050 <sin@plt>
movsd  -0x160(%rbp),%xmm1
ff
movsd  0x2bb0(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    1691 <makesource+0x531>
movss  -0x4c(%rbp),%xmm1
movss  -0x134(%rbp),%xmm0
ff
ucomiss %xmm1,%xmm0
jbe    160e <makesource+0x4ae>
movss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2aeb(%rip),%xmm0
mulsd  %xmm1,%xmm0
movss  -0x12c(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x4c(%rbp),%xmm0
subss  -0x12c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x2ab2(%rip),%xmm0
mulsd  %xmm1,%xmm0
movss  -0x130(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
movsd  0x2af9(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x2aa5(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movss  -0x13c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
movsd  -0x168(%rbp),%xmm1
ff
movsd  0x2ab8(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    168c <makesource+0x52c>
movss  -0x4c(%rbp),%xmm1
movss  -0x128(%rbp),%xmm0
ff
ucomiss %xmm1,%xmm0
jbe    1687 <makesource+0x527>
movss  -0x4c(%rbp),%xmm0
subss  -0x12c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x29fb(%rip),%xmm0
mulsd  %xmm1,%xmm0
movss  -0x130(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
movsd  0x2a3a(%rip),%xmm1
mulsd  %xmm1,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    168c <makesource+0x52c>
jmp    1691 <makesource+0x531>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
addss  -0x5c(%rbp),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    1424 <makesource+0x2c4>
jmp    16df <makesource+0x57f>
mov    -0x10(%rbp),%rsi
lea    0x29f6(%rip),%rdi
mov    $0x7,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1871 <makesource+0x711>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x292f(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x28f6(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x28e0(%rip),%xmm0
call   1080 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x170(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x64(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jge    186c <makesource+0x70c>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x5c(%rbp),%xmm0
movss  -0x4c(%rbp),%xmm1
subss  -0x60(%rbp),%xmm1
mulss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movss  -0x64(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  -0x138(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
call   1060 <exp@plt>
movsd  -0x180(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x178(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    177f <makesource+0x61f>
jmp    1871 <makesource+0x711>
mov    -0x10(%rbp),%rsi
lea    0x286c(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    19c0 <makesource+0x860>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2785(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
xor    %eax,%eax
sub    -0x88(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jge    19bb <makesource+0x85b>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm0
mulss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x2770(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
call   1060 <exp@plt>
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x68(%rbp)
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1060 <exp@plt>
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x6c(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
movss  -0x5c(%rbp),%xmm2
movss  -0x68(%rbp),%xmm3
addss  -0x6c(%rbp),%xmm3
movss  -0x68(%rbp),%xmm4
addss  -0x6c(%rbp),%xmm4
mulss  %xmm4,%xmm3
divss  %xmm3,%xmm2
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    18be <makesource+0x75e>
jmp    19c0 <makesource+0x860>
mov    -0x10(%rbp),%rsi
lea    0x276d(%rip),%rdi
mov    $0x3,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1b72 <makesource+0xa12>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x264e(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x114(%rbp)
mov    -0x114(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1a2e <makesource+0x8ce>
mov    -0x114(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x114(%rbp)
mov    -0x114(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,-0x118(%rbp)
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtsi2ssl -0x118(%rbp),%xmm1
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jge    1b2a <makesource+0x9ca>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x84(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x114(%rbp),%ecx
add    -0x88(%rbp),%ecx
sub    -0x84(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x84(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x114(%rbp),%ecx
add    -0x88(%rbp),%ecx
sub    -0x84(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    1a68 <makesource+0x908>
mov    -0x18(%rbp),%rax
mov    -0x118(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x118(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x118(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x10(%rbp),%rsi
lea    0x2570(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1da7 <makesource+0xc47>
mov    -0x10(%rbp),%rax
movsbl 0x4(%rax),%eax
cmp    $0x0,%eax
jne    1bb3 <makesource+0xa53>
movss  0x245f(%rip),%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    1bdb <makesource+0xa7b>
mov    -0x10(%rbp),%rdi
add    $0x4,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
cvtsi2sd %eax,%xmm1
movsd  0x2482(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x2451(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x114(%rbp)
mov    -0x114(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1c2b <makesource+0xacb>
mov    -0x114(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x114(%rbp)
cvtsi2ssl -0x114(%rbp),%xmm0
ff
mulss  -0x5c(%rbp),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x118(%rbp)
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtsi2sdl -0x114(%rbp),%xmm2
ff
movsd  0x23ce(%rip),%xmm1
divsd  %xmm2,%xmm1
cvtsd2ss %xmm1,%xmm1
mulss  %xmm1,%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtsi2ssl -0x118(%rbp),%xmm1
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jg     1cfc <makesource+0xb9c>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x84(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    1c8e <makesource+0xb2e>
movss  -0x5c(%rbp),%xmm0
mov    -0x114(%rbp),%eax
sub    -0x118(%rbp),%eax
cvtsi2ss %eax,%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x118(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x114(%rbp),%eax
jg     1da2 <makesource+0xc42>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
mov    -0x114(%rbp),%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    1d2c <makesource+0xbcc>
jmp    1da7 <makesource+0xc47>
mov    -0x10(%rbp),%rsi
lea    0x2340(%rip),%rdi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1f91 <makesource+0xe31>
movss  0x223f(%rip),%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x227a(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x2254(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x58(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    1f8c <makesource+0xe2c>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm2
movss  -0x58(%rbp),%xmm1
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm0
mulss  -0x60(%rbp),%xmm0
divss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movss  -0x60(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x21eb(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movss  -0x4c(%rbp),%xmm1
movss  -0x58(%rbp),%xmm0
ucomiss %xmm1,%xmm0
jb     1f73 <makesource+0xe13>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
call   1060 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x198(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
call   1070 <cos@plt>
movsd  -0x190(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x188(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    1f78 <makesource+0xe18>
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    1e2b <makesource+0xccb>
jmp    1f91 <makesource+0xe31>
mov    -0x10(%rbp),%rsi
lea    0x215c(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    2170 <makesource+0x1010>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x205d(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mulss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x202c(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x201b(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x200a(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    216b <makesource+0x100b>
mov    -0x84(%rbp),%eax
sub    $0x1,%eax
cvtsi2ss %eax,%xmm0
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm2
movss  -0x58(%rbp),%xmm1
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
movss  -0x5c(%rbp),%xmm0
mulss  -0x54(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
movss  -0x60(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
call   1060 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x1b0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
call   1070 <cos@plt>
movsd  -0x1a8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1a0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    2045 <makesource+0xee5>
jmp    2170 <makesource+0x1010>
mov    -0x10(%rbp),%rsi
lea    0x1f82(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    2337 <makesource+0x11d7>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1ec6(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x58(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1e75(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
movss  -0x60(%rbp),%xmm0
mulss  -0x60(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    2332 <makesource+0x11d2>
mov    -0x84(%rbp),%eax
sub    $0x1,%eax
cvtsi2ss %eax,%xmm0
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm2
movss  -0x58(%rbp),%xmm1
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
movss  %xmm0,-0x54(%rbp)
movss  -0x5c(%rbp),%xmm0
mulss  -0x54(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x148(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
movsd  -0x40(%rbp),%xmm3
movss  -0x144(%rbp),%xmm2
ff
cvtss2sd %xmm2,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1060 <exp@plt>
movsd  -0x1c0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1b8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    21e9 <makesource+0x1089>
jmp    2337 <makesource+0x11d7>
mov    -0x10(%rbp),%rsi
lea    0x1dc3(%rip),%rdi
mov    $0x3,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    247c <makesource+0x131c>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1cf7(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x114(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x114(%rbp),%eax
jge    2477 <makesource+0x1317>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
mulss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
call   1070 <cos@plt>
movsd  -0x1d8(%rbp),%xmm2
ff
movsd  -0x1d0(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x1c8(%rbp),%xmm0
ff
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    239a <makesource+0x123a>
jmp    247c <makesource+0x131c>
mov    -0x10(%rbp),%rsi
lea    0x1c7b(%rip),%rdi
mov    $0x6,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    25e8 <makesource+0x1488>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x114(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x114(%rbp),%eax
jge    25e3 <makesource+0x1483>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
mov    -0x30(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x1aee(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
call   1070 <cos@plt>
movsd  -0x1f8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1f0(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1060 <exp@plt>
movsd  -0x1e8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    24be <makesource+0x135e>
jmp    25e8 <makesource+0x1488>
mov    -0x10(%rbp),%rsi
lea    0x1b16(%rip),%rdi
mov    $0x7,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    275b <makesource+0x15fb>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x114(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x114(%rbp),%eax
jge    2756 <makesource+0x15f6>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
mov    -0x30(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0x1977(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0x197a(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1070 <cos@plt>
movsd  -0x218(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x210(%rbp),%xmm0
ff
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1060 <exp@plt>
movsd  -0x208(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x200(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    262a <makesource+0x14ca>
jmp    275b <makesource+0x15fb>
mov    -0x10(%rbp),%rsi
lea    0x19ab(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    28a7 <makesource+0x1747>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mulss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x18db(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jge    28a2 <makesource+0x1742>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  -0x40(%rbp),%xmm0
movss  -0x5c(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm1
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
call   1060 <exp@plt>
movsd  -0x228(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x220(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    27ac <makesource+0x164c>
jmp    28a7 <makesource+0x1747>
mov    -0x10(%rbp),%rsi
lea    0x1864(%rip),%rdi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    2a26 <makesource+0x18c6>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x17af(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1786(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x50(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x175d(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x50(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jge    2a21 <makesource+0x18c1>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
divss  -0x50(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
mov    -0x38(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  -0x40(%rbp),%xmm1
movss  -0x50(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
divsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1060 <exp@plt>
movsd  -0x238(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x230(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    2932 <makesource+0x17d2>
jmp    2a26 <makesource+0x18c6>
mov    -0x10(%rbp),%rsi
lea    0x16eb(%rip),%rdi
mov    $0x5,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    2b48 <makesource+0x19e8>
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jge    2b43 <makesource+0x19e3>
cmpl   $0x0,-0x84(%rbp)
jne    2a98 <makesource+0x1938>
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x15ca(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x4c(%rbp)
jmp    2aad <makesource+0x194d>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
subss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movss  -0x4c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1080 <sqrt@plt>
movsd  -0x248(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x240(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    2a4e <makesource+0x18ee>
jmp    2b48 <makesource+0x19e8>
mov    -0x10(%rbp),%rsi
lea    0x15cf(%rip),%rdi
mov    $0x8,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    2fa2 <makesource+0x1e42>
movss  0x14a2(%rip),%xmm0
movss  %xmm0,-0x70(%rbp)
movss  -0x70(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1514(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x74(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x14b6(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x7c(%rbp)
movss  -0x148(%rbp),%xmm0
ff
mov    -0x38(%rbp),%rax
mulss  (%rax),%xmm0
divss  -0x70(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x140(%rbp),%xmm0
ff
divss  -0x70(%rbp),%xmm0
movss  %xmm0,-0x64(%rbp)
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x70(%rbp),%xmm1
cvtss2sd %xmm1,%xmm2
movsd  0x141b(%rip),%xmm1
mulsd  %xmm2,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1468(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movss  -0x144(%rbp),%xmm1
ff
movss  -0x70(%rbp),%xmm2
divss  -0x74(%rbp),%xmm2
subss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x68(%rbp)
movss  -0x5c(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
movss  -0x144(%rbp),%xmm2
ff
movss  -0x64(%rbp),%xmm1
movss  -0x74(%rbp),%xmm3
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm3,%xmm1
addss  %xmm2,%xmm1
mulss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movss  -0x74(%rbp),%xmm0
subss  -0x68(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1080 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x258(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
movss  -0x60(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movss  -0x78(%rbp),%xmm0
subss  -0x68(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1080 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x250(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x80(%rbp)
movss  -0x80(%rbp),%xmm0
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
movss  -0x7c(%rbp),%xmm1
subss  -0x78(%rbp),%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movss  -0x74(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
add    $0x1,%eax
mov    %eax,-0x11c(%rbp)
movss  -0x78(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
add    $0x1,%eax
mov    %eax,-0x120(%rbp)
movss  -0x7c(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvttss2si %xmm0,%eax
add    $0x1,%eax
mov    %eax,-0x118(%rbp)
mov    -0x11c(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jle    2d9b <makesource+0x1c3b>
mov    -0x24(%rbp),%eax
sub    -0x88(%rbp),%eax
mov    %eax,-0x11c(%rbp)
mov    -0x120(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jle    2dc1 <makesource+0x1c61>
mov    -0x24(%rbp),%eax
sub    -0x88(%rbp),%eax
mov    %eax,-0x120(%rbp)
mov    -0x118(%rbp),%eax
mov    -0x24(%rbp),%ecx
sub    -0x88(%rbp),%ecx
cmp    %ecx,%eax
jle    2de7 <makesource+0x1c87>
mov    -0x24(%rbp),%eax
sub    -0x88(%rbp),%eax
mov    %eax,-0x118(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jge    2f9d <makesource+0x1e3d>
cvtsi2ssl -0x84(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mulss  (%rax),%xmm0
movss  %xmm0,-0x4c(%rbp)
movss  -0x4c(%rbp),%xmm1
movss  -0x74(%rbp),%xmm0
ucomiss %xmm1,%xmm0
jb     2e99 <makesource+0x1d39>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
movss  -0x5c(%rbp),%xmm0
mulss  -0x4c(%rbp),%xmm0
movss  -0x144(%rbp),%xmm3
ff
movss  -0x64(%rbp),%xmm2
movss  -0x4c(%rbp),%xmm4
movd   %xmm2,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm2
mulss  %xmm4,%xmm2
addss  %xmm3,%xmm2
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    2f84 <makesource+0x1e24>
movss  -0x4c(%rbp),%xmm1
movss  -0x78(%rbp),%xmm0
ucomiss %xmm1,%xmm0
jb     2f30 <makesource+0x1dd0>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movss  -0x60(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movss  -0x4c(%rbp),%xmm0
subss  -0x68(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1080 <sqrt@plt>
movsd  -0x268(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x260(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    2f7f <makesource+0x1e1f>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
addss  -0x80(%rbp),%xmm1
movss  -0x4c(%rbp),%xmm0
subss  -0x78(%rbp),%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
jmp    2f84 <makesource+0x1e24>
jmp    2f89 <makesource+0x1e29>
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    2df1 <makesource+0x1c91>
jmp    2fa2 <makesource+0x1e42>
mov    -0x10(%rbp),%rsi
lea    0x117e(%rip),%rdi
mov    $0x8,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    331a <makesource+0x21ba>
mov    -0x10(%rbp),%rax
movsbl 0x4(%rax),%eax
cmp    $0x0,%eax
jne    2ff7 <makesource+0x1e97>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x10bb(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    3083 <makesource+0x1f23>
mov    -0x10(%rbp),%rsi
add    $0x4,%rsi
lea    0x112e(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    3066 <makesource+0x1f06>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x1023(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
mov    -0x10(%rbp),%rdi
add    $0x6,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
movsd  -0x270(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    307e <makesource+0x1f1e>
mov    -0x10(%rbp),%rdi
add    $0x4,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    3083 <makesource+0x1f23>
movss  -0x5c(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xfac(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x11c(%rbp)
cmpl   $0x2,-0x11c(%rbp)
jge    30c1 <makesource+0x1f61>
movl   $0x2,-0x11c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xf6b(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x120(%rbp)
cmpl   $0x4,-0x120(%rbp)
jge    3102 <makesource+0x1fa2>
movl   $0x2,-0x120(%rbp)
mov    -0x11c(%rbp),%eax
mov    %eax,-0x274(%rbp)
mov    -0x11c(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x274(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x118(%rbp)
movss  0xed0(%rip),%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtsi2ssl -0x11c(%rbp),%xmm1
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x11c(%rbp),%eax
jge    31ca <makesource+0x206a>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x84(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    315c <makesource+0x1ffc>
mov    -0x11c(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jge    324f <makesource+0x20ef>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
mov    -0x11c(%rbp),%eax
shl    $0x1,%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    31d6 <makesource+0x2076>
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xde8(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
mov    -0x120(%rbp),%eax
sub    -0x118(%rbp),%eax
cvtsi2ss %eax,%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x118(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x120(%rbp),%eax
jge    3315 <makesource+0x21b5>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
addss  -0x5c(%rbp),%xmm1
mov    -0x118(%rbp),%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    329a <makesource+0x213a>
jmp    331a <makesource+0x21ba>
mov    -0x10(%rbp),%rsi
lea    0xe12(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    3759 <makesource+0x25f9>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xd54(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  0xcb3(%rip),%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rsi
add    $0x4,%rsi
lea    0xdbf(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    341f <makesource+0x22bf>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xcb4(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
mov    -0x10(%rbp),%rdi
add    $0x6,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
movsd  -0x280(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
mov    -0x10(%rbp),%rsi
add    $0x8,%rsi
lea    0xd5d(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    341a <makesource+0x22ba>
mov    -0x10(%rbp),%rdi
add    $0xa,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
cvtsi2sd %eax,%xmm1
movsd  0xc43(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
jmp    341f <makesource+0x22bf>
mov    -0x10(%rbp),%rsi
add    $0x4,%rsi
lea    0xd0e(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    34d8 <makesource+0x2378>
mov    -0x10(%rbp),%rdi
add    $0x6,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
cvtsi2sd %eax,%xmm1
movsd  0xbf4(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rsi
add    $0x8,%rsi
lea    0xcbc(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    34d3 <makesource+0x2373>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xbb1(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    -0x10(%rbp),%rdi
add    $0xa,%rdi
mov    $0x0,%al
call   1040 <atof@plt>
movsd  -0x288(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
jmp    34d8 <makesource+0x2378>
movss  -0x5c(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xb57(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x11c(%rbp)
cmpl   $0x2,-0x11c(%rbp)
jge    3516 <makesource+0x23b6>
movl   $0x2,-0x11c(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xb16(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x120(%rbp)
cmpl   $0x4,-0x120(%rbp)
jge    3557 <makesource+0x23f7>
movl   $0x2,-0x120(%rbp)
movss  0xaa1(%rip),%xmm0
subss  -0x60(%rbp),%xmm0
cvtsi2ssl -0x11c(%rbp),%xmm1
ff
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0x118(%rbp)
movss  0xa82(%rip),%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtsi2ssl -0x11c(%rbp),%xmm1
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x11c(%rbp),%eax
jge    3618 <makesource+0x24b8>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
cvtsi2ssl -0x84(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    35aa <makesource+0x244a>
mov    -0x11c(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jge    369d <makesource+0x253d>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
mov    -0x11c(%rbp),%eax
shl    $0x1,%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    3624 <makesource+0x24c4>
movss  -0x60(%rbp),%xmm0
mulss  -0x5c(%rbp),%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
mov    -0x120(%rbp),%eax
sub    -0x118(%rbp),%eax
cvtsi2ss %eax,%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x118(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x120(%rbp),%eax
jge    3754 <makesource+0x25f4>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
addss  -0x5c(%rbp),%xmm1
mov    -0x118(%rbp),%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    36d9 <makesource+0x2579>
jmp    3759 <makesource+0x25f9>
mov    -0x10(%rbp),%rsi
lea    0x9db(%rip),%rdi
mov    $0x4,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    39dd <makesource+0x287d>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x8b5(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x11c(%rbp)
cmpl   $0x0,-0x11c(%rbp)
jge    37b8 <makesource+0x2658>
movl   $0x0,-0x11c(%rbp)
mov    -0x30(%rbp),%rax
movss  0x4(%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x873(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x120(%rbp)
cmpl   $0x0,-0x120(%rbp)
jge    37fa <makesource+0x269a>
movl   $0x0,-0x120(%rbp)
mov    -0x30(%rbp),%rax
movss  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x831(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x118(%rbp)
cmpl   $0x0,-0x118(%rbp)
jge    383c <makesource+0x26dc>
movl   $0x0,-0x118(%rbp)
cvtsi2ssl -0x11c(%rbp),%xmm0
ff
cvtsi2ssl -0x118(%rbp),%xmm1
ff
divss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x11c(%rbp),%eax
add    -0x120(%rbp),%eax
mov    %eax,-0x120(%rbp)
mov    -0x120(%rbp),%eax
add    -0x118(%rbp),%eax
mov    %eax,-0x118(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x11c(%rbp),%eax
jge    38e8 <makesource+0x2788>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtsi2ssl -0x84(%rbp),%xmm1
ff
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    3886 <makesource+0x2726>
mov    -0x11c(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x120(%rbp),%eax
jge    3956 <makesource+0x27f6>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtsi2ssl -0x11c(%rbp),%xmm1
ff
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    38f4 <makesource+0x2794>
mov    -0x120(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x118(%rbp),%eax
jge    39d8 <makesource+0x2878>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm1
mov    -0x118(%rbp),%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  -0x124(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    3962 <makesource+0x2802>
jmp    39dd <makesource+0x287d>
mov    -0x10(%rbp),%rsi
lea    0x75c(%rip),%rdi
mov    $0x7,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    3bb8 <makesource+0x2a58>
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x631(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x11c(%rbp)
cvtsi2ssl -0x11c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x637(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x60(%rbp)
mov    -0x30(%rbp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
cvtsi2sdl 0x18(%rbp),%xmm1
movsd  0x611(%rip),%xmm2
subsd  %xmm2,%xmm1
mov    -0x20(%rbp),%rax
movss  (%rax),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  0x591(%rip),%xmm0
call   1060 <exp@plt>
movaps %xmm0,%xmm2
movsd  -0x290(%rbp),%xmm0
ff
movsd  0x5d1(%rip),%xmm1
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0x5af(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x5c(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x84(%rbp),%eax
cmp    -0x11c(%rbp),%eax
jge    3b84 <makesource+0x2a24>
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
xor    %eax,%eax
sub    -0x84(%rbp),%eax
cvtsi2ss %eax,%xmm0
mulss  -0x60(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1060 <exp@plt>
movsd  -0x2a0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x298(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    -0x88(%rbp),%ecx
movslq %ecx,%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    3ad8 <makesource+0x2978>
mov    -0x18(%rbp),%rax
movslq -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x4d0(%rip),%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x88(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x4(%rbp),%eax
add    $0x2a0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<makesource>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    %r9,%r15
mov    %r8,0x28(%rsp)
mov    %ecx,0x24(%rsp)
mov    %rsi,%rbx
mov    %rdi,%rbp
mov    0xd0(%rsp),%rax
movss  (%rax),%xmm0
mov    %rdx,0x18(%rsp)
divss  (%rdx),%xmm0
cvttss2si %xmm0,%r14d
lea    0x2fec(%rip),%rdi
mov    $0x5,%edx
mov    %rbp,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    11c7 <makesource+0x67>
movslq %r14d,%rax
movss  (%rbx,%rax,4),%xmm0
addss  (%r15),%xmm0
movss  %xmm0,(%rbx,%rax,4)
mov    %r14d,0xc(%rsp)
lea    0x2fc3(%rip),%rdi
mov    $0x4,%edx
mov    %rbp,0x60(%rsp)
mov    %rbp,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0x18(%rsp),%r12
jne    12a5 <makesource+0x145>
cmpl   $0x0,0x24(%rsp)
jle    12a5 <makesource+0x145>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm1
movaps %xmm1,%xmm0
mulss  %xmm1,%xmm0
movss  0x2deb(%rip),%xmm2
divss  %xmm0,%xmm2
movss  %xmm2,0x58(%rsp)
mulss  0x2ddd(%rip),%xmm1
movss  %xmm1,0x40(%rsp)
mov    0x24(%rsp),%r14d
xor    %ebp,%ebp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
lea    -0x1(%rbp),%eax
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
mulss  (%r12),%xmm0
addss  0x40(%rsp),%xmm0
mulss  %xmm0,%xmm0
mulss  0x58(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  (%rbx,%rbp,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x30(%rsp)
call   1060 <exp@plt>
mulsd  0x30(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,(%rbx,%rbp,4)
add    $0x1,%rbp
cmp    %rbp,%r14
jne    1240 <makesource+0xe0>
lea    0x2eef(%rip),%rdi
mov    $0x4,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    %r12,%rdx
je     15c8 <makesource+0x468>
lea    0x2ed3(%rip),%rdi
mov    %rdx,%r12
mov    $0x7,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    %rbx,%r13
jne    13c2 <makesource+0x262>
mov    0x24(%rsp),%eax
sub    0xc(%rsp),%eax
test   %eax,%eax
jle    13c2 <makesource+0x262>
mov    0x28(%rsp),%rcx
movss  (%rcx),%xmm0
movss  0x2d01(%rip),%xmm1
divss  %xmm0,%xmm1
addss  %xmm0,%xmm0
movss  %xmm0,0x30(%rsp)
movss  %xmm1,0x40(%rsp)
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
divsd  0x2d4a(%rip),%xmm0
cvtsd2ss %xmm0,%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x58(%rsp)
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mulss  (%r12),%xmm0
subss  0x30(%rsp),%xmm0
mulss  0x40(%rsp),%xmm0
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movaps %xmm0,%xmm1
xorps  0x2d3d(%rip),%xmm1
mulss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
call   1060 <exp@plt>
mulsd  0x58(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %rbx,%r14
jne    1360 <makesource+0x200>
lea    0x2ddf(%rip),%rdi
mov    $0x4,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    14a7 <makesource+0x347>
cmpl   $0x0,0x24(%rsp)
jle    14a7 <makesource+0x347>
movss  0x2c1d(%rip),%xmm0
mov    0x28(%rsp),%rax
divss  (%rax),%xmm0
movss  %xmm0,0x10(%rsp)
mov    0x24(%rsp),%eax
mov    0xc(%rsp),%edx
sub    %edx,%eax
mov    %edx,%ecx
neg    %ecx
movslq %ecx,%rbx
movslq %edx,%rcx
movslq %eax,%r14
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mulss  (%r12),%xmm0
mulss  0x10(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  0x2c11(%rip),%xmm0
movapd %xmm0,0x40(%rsp)
call   1060 <exp@plt>
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x30(%rsp)
movaps 0x40(%rsp),%xmm0
xorps  0x2c70(%rip),%xmm0
call   1060 <exp@plt>
cvtsd2ss %xmm0,%xmm0
addss  0x30(%rsp),%xmm0
mulss  %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
divss  %xmm0,%xmm1
mulss  (%r15),%xmm1
addss  0x0(%rbp,%rbx,4),%xmm1
movss  %xmm1,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %r14,%rbx
jl     1430 <makesource+0x2d0>
lea    0x2d4a(%rip),%rdi
mov    $0x3,%edx
mov    0x60(%rsp),%r14
mov    %r14,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0x28(%rsp),%rbx
jne    157e <makesource+0x41e>
movss  (%rbx),%xmm0
mov    0x18(%rsp),%rax
divss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  0x2b9a(%rip),%xmm0
cvttsd2si %xmm0,%ecx
mov    %ecx,%eax
and    $0x1,%eax
add    %ecx,%eax
mov    %eax,%ecx
shr    $0x1f,%ecx
add    %eax,%ecx
sar    %ecx
xorps  %xmm0,%xmm0
cvtsi2ss %ecx,%xmm0
movss  (%r15),%xmm1
divss  %xmm0,%xmm1
cmp    $0x2,%eax
jl     1565 <makesource+0x405>
mov    0xc(%rsp),%edx
add    %edx,%eax
movslq %edx,%rsi
mov    %ecx,%edx
lea    0x0(,%rsi,4),%rsi
add    %r13,%rsi
xor    %edi,%edi
nopw   0x0(%rax,%rax,1)
xorps  %xmm2,%xmm2
cvtsi2ss %edi,%xmm2
mulss  %xmm1,%xmm2
movss  (%rsi,%rdi,4),%xmm3
addss  %xmm2,%xmm3
movss  %xmm3,(%rsi,%rdi,4)
cltq
addss  0x0(%r13,%rax,4),%xmm2
movss  %xmm2,0x0(%r13,%rax,4)
add    $0x1,%rdi
add    $0xffffffff,%eax
cmp    %rdi,%rdx
jne    1530 <makesource+0x3d0>
add    0xc(%rsp),%ecx
movslq %ecx,%rax
mulss  %xmm1,%xmm0
addss  0x0(%r13,%rax,4),%xmm0
movss  %xmm0,0x0(%r13,%rax,4)
lea    0x2c28(%rip),%rdi
mov    $0x4,%edx
mov    %r14,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    1a55 <makesource+0x8f5>
cmpb   $0x0,0x4(%r14)
je     17e6 <makesource+0x686>
lea    0x4(%r14),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x2ac9(%rip),%xmm0
cvtsd2ss %xmm0,%xmm0
jmp    17ee <makesource+0x68e>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm1
movss  (%rdx),%xmm0
movss  %xmm1,0x6c(%rsp)
divss  %xmm0,%xmm1
cvttss2si %xmm1,%eax
test   %eax,%eax
jle    12c6 <makesource+0x166>
movss  0x6c(%rsp),%xmm2
xorps  %xmm1,%xmm1
cvtss2sd %xmm2,%xmm1
mulsd  0x2a40(%rip),%xmm1
cvtsd2ss %xmm1,%xmm3
xorps  %xmm1,%xmm1
cvtss2sd %xmm3,%xmm1
movsd  %xmm1,0x58(%rsp)
movaps %xmm3,%xmm1
addss  %xmm3,%xmm1
movss  %xmm1,0x80(%rsp)
movaps %xmm2,%xmm1
movss  %xmm3,0x10(%rsp)
subss  %xmm3,%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x70(%rsp)
movslq 0xc(%rsp),%rcx
mov    %eax,%r13d
lea    (%rbx,%rcx,4),%r12
add    $0xffffffffffffffff,%r13
xor    %r14d,%r14d
nopl   0x0(%rax,%rax,1)
xorps  %xmm1,%xmm1
cvtsi2ss %r14d,%xmm1
mulss  %xmm0,%xmm1
movss  0x10(%rsp),%xmm0
ucomiss %xmm1,%xmm0
jbe    16e0 <makesource+0x580>
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
mulsd  0x29d2(%rip),%xmm0
divsd  0x58(%rsp),%xmm0
xorps  %xmm1,%xmm1
cvtsd2ss %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
mulss  0x2976(%rip),%xmm1
movss  %xmm1,0x40(%rsp)
call   1070 <cos@plt>
mulsd  0x29b3(%rip),%xmm0
addsd  0x29bb(%rip),%xmm0
movsd  %xmm0,0x30(%rsp)
movss  0x40(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1050 <sin@plt>
mov    0x18(%rsp),%rdx
mulsd  0x29a1(%rip),%xmm0
addsd  0x30(%rsp),%xmm0
jmp    17c0 <makesource+0x660>
nopw   0x0(%rax,%rax,1)
movss  0x80(%rsp),%xmm0
ucomiss %xmm1,%xmm0
jbe    1770 <makesource+0x610>
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
movsd  0x2947(%rip),%xmm2
mulsd  %xmm2,%xmm0
divsd  0x58(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
subss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm2,%xmm1
divsd  0x70(%rsp),%xmm1
cvtsd2ss %xmm1,%xmm1
movss  %xmm1,0x30(%rsp)
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
mulsd  0x291a(%rip),%xmm0
addsd  0x291a(%rip),%xmm0
movsd  %xmm0,0x40(%rsp)
movss  0x30(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
mov    0x18(%rsp),%rdx
mulsd  0x28e8(%rip),%xmm0
addsd  0x40(%rsp),%xmm0
jmp    17c0 <makesource+0x660>
xorps  %xmm0,%xmm0
movss  0x6c(%rsp),%xmm2
ucomiss %xmm1,%xmm2
jbe    17c4 <makesource+0x664>
subss  0x10(%rsp),%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
mulsd  0x28b5(%rip),%xmm0
divsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
cvtss2sd %xmm0,%xmm0
call   1070 <cos@plt>
mov    0x18(%rsp),%rdx
movsd  0x289d(%rip),%xmm1
mulsd  %xmm1,%xmm0
addsd  %xmm1,%xmm0
nopl   0x0(%rax,%rax,1)
cvtsd2ss %xmm0,%xmm0
addss  (%r12,%r14,4),%xmm0
movss  %xmm0,(%r12,%r14,4)
cmp    %r14,%r13
je     12c6 <makesource+0x166>
movss  (%rdx),%xmm0
add    $0x1,%r14
jmp    1650 <makesource+0x4f0>
movss  0x281a(%rip),%xmm0
mov    0x18(%rsp),%rax
movss  (%rbx),%xmm1
divss  (%rax),%xmm1
cvtss2sd %xmm1,%xmm1
addsd  0x2879(%rip),%xmm1
cvttsd2si %xmm1,%ecx
mov    %ecx,%r10d
and    $0x1,%r10d
add    %ecx,%r10d
xorps  %xmm1,%xmm1
cvtsi2ss %r10d,%xmm1
mulss  %xmm0,%xmm1
cvttss2si %xmm1,%ecx
xorps  %xmm0,%xmm0
cvtsi2sd %r10d,%xmm0
movsd  0x285b(%rip),%xmm2
divsd  %xmm0,%xmm2
cvtsd2ss %xmm2,%xmm8
mulss  (%r15),%xmm8
test   %ecx,%ecx
js     191e <makesource+0x7be>
cvttps2dq %xmm1,%xmm1
cvtdq2ps %xmm1,%xmm2
movaps %xmm8,%xmm1
divss  %xmm2,%xmm1
movslq 0xc(%rsp),%r8
lea    0x1(%rcx),%edx
cmp    $0x7,%ecx
jae    186e <makesource+0x70e>
xor    %esi,%esi
jmp    18f1 <makesource+0x791>
mov    %edx,%esi
and    $0xfffffff8,%esi
movaps %xmm1,%xmm2
shufps $0x0,%xmm1,%xmm2
lea    0x10(,%r8,4),%rbp
add    %r13,%rbp
lea    0x0(,%rdx,4),%rbx
and    $0xffffffffffffffe0,%rbx
movdqa 0x2857(%rip),%xmm3
xor    %edi,%edi
movdqa 0x285c(%rip),%xmm9
movdqa 0x2864(%rip),%xmm5
nopl   0x0(%rax)
movdqa %xmm3,%xmm6
paddd  %xmm9,%xmm6
movups -0x10(%rbp,%rdi,1),%xmm7
movups 0x0(%rbp,%rdi,1),%xmm0
cvtdq2ps %xmm3,%xmm4
cvtdq2ps %xmm6,%xmm6
mulps  %xmm2,%xmm4
addps  %xmm7,%xmm4
mulps  %xmm2,%xmm6
addps  %xmm0,%xmm6
movups %xmm4,-0x10(%rbp,%rdi,1)
movups %xmm6,0x0(%rbp,%rdi,1)
paddd  %xmm5,%xmm3
add    $0x20,%rdi
cmp    %rdi,%rbx
jne    18b0 <makesource+0x750>
cmp    %rdx,%rsi
je     191e <makesource+0x7be>
lea    0x0(,%r8,4),%rdi
add    %r13,%rdi
nopl   0x0(%rax)
xorps  %xmm0,%xmm0
cvtsi2ss %esi,%xmm0
mulss  %xmm1,%xmm0
addss  (%rdi,%rsi,4),%xmm0
movss  %xmm0,(%rdi,%rsi,4)
add    $0x1,%rsi
cmp    %rsi,%rdx
jne    1900 <makesource+0x7a0>
mov    %r10d,%edx
sub    %ecx,%edx
jle    1a55 <makesource+0x8f5>
xorps  %xmm0,%xmm0
cvtsi2ss %edx,%xmm0
divss  %xmm0,%xmm8
movslq %ecx,%rdi
movslq 0xc(%rsp),%rsi
movslq %r10d,%rcx
mov    %rcx,%r9
sub    %rdi,%r9
cmp    $0x8,%r9
jae    1954 <makesource+0x7f4>
mov    %rdi,%rdx
jmp    1a13 <makesource+0x8b3>
mov    %r9,%r8
and    $0xfffffffffffffff8,%r8
lea    (%r8,%rdi,1),%rdx
movd   %r10d,%xmm0
pshufd $0x0,%xmm0,%xmm4
movaps %xmm8,%xmm2
shufps $0x0,%xmm8,%xmm2
movdqa 0x27a5(%rip),%xmm9
movdqa 0x27ac(%rip),%xmm10
movdqa 0x27b4(%rip),%xmm5
mov    %r8,%rbp
nop
movq   %rdi,%xmm0
pshufd $0x44,%xmm0,%xmm0
movdqa %xmm0,%xmm6
paddq  %xmm9,%xmm6
paddq  %xmm10,%xmm0
movq   %xmm0,%rbx
lea    (%rbx,%rsi,1),%rax
movups 0x0(%r13,%rax,4),%xmm7
movups 0x10(%r13,%rax,4),%xmm3
shufps $0x88,%xmm6,%xmm0
movd   %ebx,%xmm6
movss  %xmm6,%xmm0
movd   %edi,%xmm6
pshufd $0x0,%xmm6,%xmm6
movdqa %xmm4,%xmm1
psubd  %xmm0,%xmm1
movdqa %xmm4,%xmm0
psubd  %xmm6,%xmm0
psubd  %xmm5,%xmm0
cvtdq2ps %xmm1,%xmm1
cvtdq2ps %xmm0,%xmm0
mulps  %xmm2,%xmm1
addps  %xmm7,%xmm1
mulps  %xmm2,%xmm0
addps  %xmm3,%xmm0
movups %xmm1,0x0(%r13,%rax,4)
movups %xmm0,0x10(%r13,%rax,4)
add    $0x8,%rdi
add    $0xfffffffffffffff8,%rbp
jne    1990 <makesource+0x830>
cmp    %r8,%r9
je     1a55 <makesource+0x8f5>
mov    %edx,%edi
not    %edi
add    %r10d,%edi
lea    0x4(,%rsi,4),%rax
add    %r13,%rax
cs nopw 0x0(%rax,%rax,1)
nop
xorps  %xmm0,%xmm0
cvtsi2ss %edi,%xmm0
mulss  %xmm8,%xmm0
addss  (%rax,%rdx,4),%xmm0
movss  %xmm0,(%rax,%rdx,4)
lea    0x1(%rdx),%rsi
add    $0xffffffff,%edi
mov    %rsi,%rdx
cmp    %rsi,%rcx
jne    1a30 <makesource+0x8d0>
lea    0x2756(%rip),%rdi
mov    $0x5,%edx
mov    %r14,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0x18(%rsp),%r12
je     1eb6 <makesource+0xd56>
lea    0x273b(%rip),%rdi
mov    $0x4,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    1ba8 <makesource+0xa48>
cmpl   $0x0,0x24(%rsp)
jle    1ba8 <makesource+0xa48>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm2
xorps  %xmm0,%xmm0
cvtss2sd %xmm2,%xmm0
movaps %xmm2,%xmm1
mulss  %xmm2,%xmm1
movss  0x2542(%rip),%xmm3
divss  %xmm1,%xmm3
movss  %xmm3,0x80(%rsp)
movsd  0x2575(%rip),%xmm1
divsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
movss  %xmm0,0x70(%rsp)
mulss  0x2518(%rip),%xmm2
movss  %xmm2,0x58(%rsp)
movslq 0xc(%rsp),%rax
mov    0x24(%rsp),%r14d
lea    0x0(,%rax,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
nopl   0x0(%rax)
lea    -0x1(%rbx),%eax
xorps  %xmm1,%xmm1
cvtsi2ss %eax,%xmm1
mulss  (%r12),%xmm1
addss  0x58(%rsp),%xmm1
movaps %xmm1,%xmm0
mulss  %xmm1,%xmm0
mulss  0x80(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mulss  0x70(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x30(%rsp)
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x40(%rsp)
call   1060 <exp@plt>
mulsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%rsp),%xmm0
call   1070 <cos@plt>
mulsd  0x40(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %rbx,%r14
jne    1b10 <makesource+0x9b0>
lea    0x260e(%rip),%rdi
mov    $0x4,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    1cb6 <makesource+0xb56>
cmpl   $0x0,0x24(%rsp)
jle    1cb6 <makesource+0xb56>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm2
xorps  %xmm0,%xmm0
cvtss2sd %xmm2,%xmm0
movsd  0x245f(%rip),%xmm1
divsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
mulss  %xmm0,%xmm0
movss  %xmm0,0x58(%rsp)
mulss  0x2412(%rip),%xmm2
movss  %xmm2,0x40(%rsp)
movslq 0xc(%rsp),%rax
mov    0x24(%rsp),%r14d
lea    0x0(,%rax,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
lea    -0x1(%rbx),%eax
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
mulss  (%r12),%xmm0
addss  0x40(%rsp),%xmm0
mulss  %xmm0,%xmm0
mulss  0x58(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movaps %xmm0,%xmm2
addsd  %xmm0,%xmm2
addsd  0x2434(%rip),%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0x30(%rsp)
xorpd  0x2452(%rip),%xmm0
call   1060 <exp@plt>
mulsd  0x30(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %rbx,%r14
jne    1c30 <makesource+0xad0>
lea    0x2508(%rip),%rdi
mov    $0x3,%edx
mov    0x60(%rsp),%r12
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     1ff8 <makesource+0xe98>
lea    0x24e4(%rip),%rdi
mov    $0x6,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     20d9 <makesource+0xf79>
lea    0x24cf(%rip),%rdi
mov    $0x7,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     21d0 <makesource+0x1070>
lea    0x24bb(%rip),%rdi
mov    $0x4,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     22c3 <makesource+0x1163>
lea    0x24a4(%rip),%rdi
mov    $0x5,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0x18(%rsp),%r12
jne    1e0e <makesource+0xcae>
mov    0x24(%rsp),%eax
sub    0xc(%rsp),%eax
test   %eax,%eax
jle    1e0e <makesource+0xcae>
mov    0x28(%rsp),%rcx
movss  (%rcx),%xmm0
mulss  0x22b3(%rip),%xmm0
movss  %xmm0,0x40(%rsp)
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x58(%rsp)
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mulss  (%r12),%xmm0
divss  0x40(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movaps %xmm0,%xmm2
divsd  0x58(%rsp),%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0x30(%rsp)
xorps  0x22f6(%rip),%xmm0
call   1060 <exp@plt>
mulsd  0x30(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %rbx,%r14
jne    1da0 <makesource+0xc40>
lea    0x23c7(%rip),%rdi
mov    $0x5,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     23a0 <makesource+0x1240>
lea    0x23af(%rip),%rdi
mov    $0x8,%edx
mov    0x60(%rsp),%r12
mov    %r12,%rsi
call   1030 <strncmp@plt>
mov    0x18(%rsp),%rdx
test   %eax,%eax
je     2409 <makesource+0x12a9>
lea    0x2392(%rip),%rdi
mov    $0x8,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
mov    0x28(%rsp),%r14
jne    2acb <makesource+0x196b>
cmpb   $0x0,0x4(%r12)
je     2656 <makesource+0x14f6>
lea    0x4(%r12),%rbp
lea    0x2369(%rip),%rdi
mov    $0x2,%edx
mov    %rbp,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
je     2753 <makesource+0x15f3>
mov    %rbp,%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
jmp    2787 <makesource+0x1627>
cmpl   $0x0,0x24(%rsp)
jle    1a76 <makesource+0x916>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x21c2(%rip),%xmm1
divsd  %xmm0,%xmm1
xorps  %xmm2,%xmm2
cvtsd2ss %xmm1,%xmm2
mulsd  0x21b7(%rip),%xmm0
xorps  %xmm3,%xmm3
cvtsd2ss %xmm0,%xmm3
movaps 0x21d9(%rip),%xmm4
xorps  %xmm3,%xmm4
movslq 0xc(%rsp),%rax
mov    0x24(%rsp),%r14d
lea    0x0(,%rax,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
movss  0x20fb(%rip),%xmm5
movss  %xmm2,0x58(%rsp)
movaps %xmm3,0x80(%rsp)
movaps %xmm4,0x70(%rsp)
jmp    1f3d <makesource+0xddd>
xchg   %ax,%ax
add    $0x1,%rbx
cmp    %rbx,%r14
je     1a76 <makesource+0x916>
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mulss  (%r12),%xmm0
addss  %xmm4,%xmm0
ucomiss %xmm0,%xmm3
mulss  %xmm2,%xmm0
movaps %xmm0,%xmm1
divss  %xmm5,%xmm1
jb     1f30 <makesource+0xdd0>
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
addsd  0x213a(%rip),%xmm0
movsd  %xmm0,0x30(%rsp)
movaps %xmm1,%xmm0
xorps  0x2162(%rip),%xmm0
mulsd  %xmm1,%xmm0
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x40(%rsp)
call   1060 <exp@plt>
mulsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%rsp),%xmm0
call   1070 <cos@plt>
movss  0x204f(%rip),%xmm5
movaps 0x70(%rsp),%xmm4
movaps 0x80(%rsp),%xmm3
movss  0x58(%rsp),%xmm2
mov    0x18(%rsp),%r12
mulsd  0x40(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
jmp    1f30 <makesource+0xdd0>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm1
mov    0x18(%rsp),%rax
movss  (%rax),%xmm0
movaps %xmm1,%xmm2
divss  %xmm0,%xmm2
cvttss2si %xmm2,%eax
test   %eax,%eax
jle    1cd7 <makesource+0xb77>
cvtss2sd %xmm1,%xmm1
movsd  0x206f(%rip),%xmm2
divsd  %xmm1,%xmm2
xorps  %xmm1,%xmm1
cvtsd2ss %xmm2,%xmm1
movss  %xmm1,0x40(%rsp)
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
add    $0xffffffffffffffff,%r14
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
xorps  %xmm1,%xmm1
cvtsi2ss %ebx,%xmm1
mulss  %xmm0,%xmm1
mulss  0x40(%rsp),%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
movss  0x0(%rbp,%rbx,4),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
movss  (%r15),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x30(%rsp)
call   1070 <cos@plt>
movsd  0x1fbc(%rip),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%rsp),%xmm1
addsd  0x10(%rsp),%xmm1
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
cmp    %rbx,%r14
je     1cd7 <makesource+0xb77>
mov    0x18(%rsp),%rax
movss  (%rax),%xmm0
add    $0x1,%rbx
jmp    2060 <makesource+0xf00>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm0
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
movaps %xmm0,%xmm2
divss  %xmm1,%xmm2
cvttss2si %xmm2,%eax
test   %eax,%eax
jle    1cf3 <makesource+0xb93>
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
add    $0xffffffffffffffff,%r14
xor    %ebx,%ebx
nopw   0x0(%rax,%rax,1)
xorps  %xmm2,%xmm2
cvtsi2ss %ebx,%xmm2
mulss  %xmm1,%xmm2
divss  %xmm0,%xmm2
xorps  %xmm1,%xmm1
cvtss2sd %xmm2,%xmm1
movaps %xmm1,0x30(%rsp)
movss  0x0(%rbp,%rbx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x10(%rsp)
movss  (%r15),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movapd %xmm1,%xmm0
mulsd  0x1ede(%rip),%xmm0
call   1070 <cos@plt>
addsd  0x1ee9(%rip),%xmm0
mulsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movapd 0x30(%rsp),%xmm0
xorpd  0x1f4f(%rip),%xmm0
call   1060 <exp@plt>
mulsd  0x40(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
cmp    %rbx,%r14
je     1cf3 <makesource+0xb93>
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
mov    0x28(%rsp),%rax
movss  (%rax),%xmm0
add    $0x1,%rbx
jmp    2120 <makesource+0xfc0>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm0
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
movaps %xmm0,%xmm2
divss  %xmm1,%xmm2
cvttss2si %xmm2,%eax
test   %eax,%eax
jle    1d0f <makesource+0xbaf>
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
add    $0xffffffffffffffff,%r14
xor    %ebx,%ebx
xchg   %ax,%ax
xorps  %xmm2,%xmm2
cvtsi2ss %ebx,%xmm2
mulss  %xmm1,%xmm2
divss  %xmm0,%xmm2
xorps  %xmm1,%xmm1
cvtss2sd %xmm2,%xmm1
movaps %xmm1,0x40(%rsp)
movss  0x0(%rbp,%rbx,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x10(%rsp)
movss  (%r15),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x30(%rsp)
movaps %xmm1,%xmm0
addsd  %xmm1,%xmm0
mulsd  0x1def(%rip),%xmm0
call   1070 <cos@plt>
movsd  0x1dfa(%rip),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0x40(%rsp),%xmm0
xorpd  0x1e5c(%rip),%xmm0
call   1060 <exp@plt>
mulsd  0x30(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
cmp    %rbx,%r14
je     1d0f <makesource+0xbaf>
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
mov    0x28(%rsp),%rax
movss  (%rax),%xmm0
add    $0x1,%rbx
jmp    2210 <makesource+0x10b0>
mov    0x24(%rsp),%eax
sub    0xc(%rsp),%eax
test   %eax,%eax
jle    1d2b <makesource+0xbcb>
mov    0x28(%rsp),%rcx
movss  (%rcx),%xmm1
movaps %xmm1,%xmm0
mulss  %xmm1,%xmm0
movss  0x1d31(%rip),%xmm2
divss  %xmm0,%xmm2
xorps  %xmm0,%xmm0
cvtss2sd %xmm2,%xmm0
movsd  %xmm0,0x40(%rsp)
movslq 0xc(%rsp),%rcx
mov    %eax,%r14d
lea    0x0(,%rcx,4),%rbp
add    %r13,%rbp
add    $0xffffffffffffffff,%r14
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nop
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mov    0x18(%rsp),%rax
mulss  (%rax),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x0(%rbp,%rbx,4),%xmm2
cvtss2sd %xmm2,%xmm2
movsd  %xmm2,0x10(%rsp)
movss  (%r15),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm0,%xmm2
mulsd  0x40(%rsp),%xmm2
movsd  %xmm2,0x30(%rsp)
xorpd  0x1d7b(%rip),%xmm0
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
call   1060 <exp@plt>
mulsd  0x30(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
cmp    %rbx,%r14
je     1d2b <makesource+0xbcb>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm1
add    $0x1,%rbx
jmp    2320 <makesource+0x11c0>
mov    0x24(%rsp),%ebx
sub    0xc(%rsp),%ebx
test   %ebx,%ebx
jle    1e2c <makesource+0xccc>
mov    %r12,%rax
movss  (%r12),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  0x1cc3(%rip),%xmm0
movslq 0xc(%rsp),%rbp
cvtsd2ss %xmm0,%xmm0
movss  0x0(%r13,%rbp,4),%xmm1
xorps  %xmm2,%xmm2
cvtss2sd %xmm1,%xmm2
movss  0x1c38(%rip),%xmm3
movaps %xmm3,%xmm1
subss  %xmm0,%xmm1
cvtss2sd %xmm1,%xmm4
cvtss2sd %xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     266c <makesource+0x150c>
sqrtsd %xmm0,%xmm0
jmp    2696 <makesource+0x1536>
mov    0x28(%rsp),%rax
movss  (%rax),%xmm3
movss  0x1c0a(%rip),%xmm4
mulss  %xmm3,%xmm4
movss  (%r15),%xmm6
movss  0x1c05(%rip),%xmm0
addss  %xmm3,%xmm0
cvtss2sd %xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
movss  %xmm3,0x40(%rsp)
jb     2448 <makesource+0x12e8>
sqrtsd %xmm0,%xmm0
jmp    2470 <makesource+0x1310>
movss  %xmm6,0x30(%rsp)
movss  %xmm4,0x10(%rsp)
call   1080 <sqrt@plt>
movss  0x10(%rsp),%xmm4
movss  0x30(%rsp),%xmm6
movss  0x40(%rsp),%xmm3
mov    0x18(%rsp),%rdx
movss  (%rdx),%xmm1
movaps %xmm4,%xmm2
divss  %xmm1,%xmm2
cvttss2si %xmm2,%eax
lea    0x1(%rax),%ecx
mov    0x24(%rsp),%esi
sub    0xc(%rsp),%esi
cmp    %eax,%esi
cmovg  %ecx,%esi
test   %esi,%esi
jle    1e52 <makesource+0xcf2>
mov    %esi,%ecx
addss  %xmm6,%xmm6
divss  0x1b83(%rip),%xmm6
movss  0x1b73(%rip),%xmm2
mulss  %xmm6,%xmm2
mulss  0x1b73(%rip),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  0x1bf3(%rip),%xmm2
cvtsd2ss %xmm2,%xmm2
cvtss2sd %xmm2,%xmm8
movaps %xmm8,%xmm2
divsd  %xmm0,%xmm2
cvtsd2ss %xmm2,%xmm9
movaps 0x1bed(%rip),%xmm12
xorps  %xmm9,%xmm12
subss  %xmm3,%xmm4
divss  %xmm4,%xmm12
movslq 0xc(%rsp),%rax
mov    %esi,%r14d
lea    0x0(,%rax,4),%rbx
add    %r13,%rbx
add    $0xffffffffffffffff,%r14
xor    %ebp,%ebp
movss  0x1b0f(%rip),%xmm5
movss  0x1b16(%rip),%xmm11
pxor   %xmm10,%xmm10
movss  0x1b0d(%rip),%xmm7
movss  0x1aed(%rip),%xmm4
movss  %xmm6,0x30(%rsp)
movsd  %xmm8,0x58(%rsp)
movaps %xmm9,0x80(%rsp)
movaps %xmm12,0x70(%rsp)
nopl   0x0(%rax,%rax,1)
xorps  %xmm0,%xmm0
cvtsi2ss %ebp,%xmm0
mulss  %xmm1,%xmm0
ucomiss %xmm0,%xmm5
jae    2590 <makesource+0x1430>
ucomiss %xmm0,%xmm3
movss  (%rbx,%rbp,4),%xmm1
jae    25b0 <makesource+0x1450>
addss  %xmm9,%xmm1
subss  %xmm3,%xmm0
mulss  %xmm12,%xmm0
addss  %xmm1,%xmm0
jmp    263b <makesource+0x14db>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movaps %xmm6,%xmm1
mulss  %xmm0,%xmm1
mulss  %xmm7,%xmm0
addss  %xmm4,%xmm0
mulss  %xmm1,%xmm0
addss  (%rbx,%rbp,4),%xmm0
jmp    263b <makesource+0x14db>
nopl   (%rax)
addss  %xmm11,%xmm0
cvtss2sd %xmm0,%xmm0
ucomisd %xmm10,%xmm0
jb     25c6 <makesource+0x1466>
sqrtsd %xmm0,%xmm0
jmp    2624 <makesource+0x14c4>
movss  %xmm1,0x10(%rsp)
call   1080 <sqrt@plt>
movss  0x10(%rsp),%xmm1
movss  0x1a3d(%rip),%xmm4
movss  0x1a4d(%rip),%xmm7
xorpd  %xmm10,%xmm10
movss  0x1a3b(%rip),%xmm11
movss  0x1a23(%rip),%xmm5
movaps 0x70(%rsp),%xmm12
movaps 0x80(%rsp),%xmm9
movsd  0x58(%rsp),%xmm8
movss  0x30(%rsp),%xmm6
movss  0x40(%rsp),%xmm3
mov    0x18(%rsp),%rdx
cvtss2sd %xmm1,%xmm1
movaps %xmm8,%xmm2
divsd  %xmm0,%xmm2
addsd  %xmm1,%xmm2
xorps  %xmm0,%xmm0
cvtsd2ss %xmm2,%xmm0
movss  %xmm0,(%rbx,%rbp,4)
cmp    %rbp,%r14
je     1e52 <makesource+0xcf2>
movss  (%rdx),%xmm1
add    $0x1,%rbp
jmp    2550 <makesource+0x13f0>
movss  (%r14),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  0x1a59(%rip),%xmm0
jmp    2783 <makesource+0x1623>
movsd  %xmm2,0x10(%rsp)
movsd  %xmm4,0x30(%rsp)
call   1080 <sqrt@plt>
movsd  0x30(%rsp),%xmm4
movsd  0x10(%rsp),%xmm2
movss  0x198b(%rip),%xmm3
mov    0x18(%rsp),%rax
divsd  %xmm0,%xmm4
addsd  %xmm2,%xmm4
xorps  %xmm0,%xmm0
cvtsd2ss %xmm4,%xmm0
movss  %xmm0,0x0(%r13,%rbp,4)
cmp    $0x1,%ebx
je     1e2c <makesource+0xccc>
mov    %ebx,%r14d
lea    0x0(,%rbp,4),%rbp
add    %r13,%rbp
mov    $0x1,%ebx
xorpd  %xmm4,%xmm4
jmp    272f <makesource+0x15cf>
xchg   %ax,%ax
movss  %xmm5,0x10(%rsp)
movss  %xmm1,0x30(%rsp)
call   1080 <sqrt@plt>
movss  0x30(%rsp),%xmm1
movss  0x10(%rsp),%xmm5
xorpd  %xmm4,%xmm4
movss  0x1923(%rip),%xmm3
mov    0x18(%rsp),%rax
cvtss2sd %xmm1,%xmm1
movaps %xmm3,%xmm2
subss  %xmm5,%xmm2
cvtss2sd %xmm2,%xmm2
divsd  %xmm0,%xmm2
addsd  %xmm1,%xmm2
xorps  %xmm0,%xmm0
cvtsd2ss %xmm2,%xmm0
movss  %xmm0,0x0(%rbp,%rbx,4)
add    $0x1,%rbx
cmp    %rbx,%r14
je     1e2c <makesource+0xccc>
xorps  %xmm5,%xmm5
cvtsi2ss %ebx,%xmm5
mulss  (%rax),%xmm5
movss  0x0(%rbp,%rbx,4),%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm5,%xmm0
ucomisd %xmm4,%xmm0
jb     26d0 <makesource+0x1570>
sqrtsd %xmm0,%xmm0
jmp    26fe <makesource+0x159e>
movss  (%r14),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  0x1924(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
lea    0x6(%r12),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
divss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x18e0(%rip),%xmm2
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
cmp    $0x3,%eax
mov    $0x2,%r11d
cmovge %eax,%r11d
movss  (%r14),%xmm0
divss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%esi
mov    %r11d,%eax
shr    %eax
xorps  %xmm1,%xmm1
cvtsi2ss %r11d,%xmm1
movss  0x183d(%rip),%xmm0
divss  %xmm1,%xmm0
movslq 0xc(%rsp),%r8
cmp    $0x8,%r11d
jae    27f5 <makesource+0x1695>
xor    %ecx,%ecx
jmp    286f <makesource+0x170f>
mov    %r11d,%ecx
and    $0x7ffffff8,%ecx
movaps %xmm0,%xmm1
shufps $0x0,%xmm0,%xmm1
lea    0x10(,%r8,4),%rdx
add    %r13,%rdx
movdqa 0x18d8(%rip),%xmm2
xor    %edi,%edi
movdqa 0x18dd(%rip),%xmm8
movdqa 0x18e5(%rip),%xmm4
nopl   0x0(%rax,%rax,1)
movdqa %xmm2,%xmm5
paddd  %xmm8,%xmm5
movups -0x10(%rdx,%rdi,4),%xmm6
movups (%rdx,%rdi,4),%xmm7
cvtdq2ps %xmm2,%xmm3
cvtdq2ps %xmm5,%xmm5
mulps  %xmm1,%xmm3
addps  %xmm6,%xmm3
mulps  %xmm1,%xmm5
addps  %xmm7,%xmm5
movups %xmm3,-0x10(%rdx,%rdi,4)
movups %xmm5,(%rdx,%rdi,4)
add    $0x8,%rdi
paddd  %xmm4,%xmm2
cmp    %rdi,%rcx
jne    2830 <makesource+0x16d0>
cmp    %r11,%rcx
je     289e <makesource+0x173e>
lea    0x0(,%r8,4),%rdx
add    %r13,%rdx
nopw   0x0(%rax,%rax,1)
xorps  %xmm1,%xmm1
cvtsi2ss %ecx,%xmm1
mulss  %xmm0,%xmm1
addss  (%rdx,%rcx,4),%xmm1
movss  %xmm1,(%rdx,%rcx,4)
add    $0x1,%rcx
cmp    %rcx,%r11
jne    2880 <makesource+0x1720>
cmp    $0x4,%esi
mov    $0x2,%r9d
cmovge %esi,%r9d
lea    (%rax,%r11,1),%esi
lea    0x1(%r11),%r10
cmp    %rsi,%r10
cmovbe %rsi,%r10
lea    (%r11,%r11,1),%ebp
sub    %r11,%r10
mov    %r11,%rcx
cmp    $0x8,%r10
jb     2964 <makesource+0x1804>
mov    %r10,%rdx
and    $0xfffffffffffffff8,%rdx
lea    (%rdx,%r11,1),%rcx
movd   %r11d,%xmm1
pshufd $0x0,%xmm1,%xmm1
paddd  0x1805(%rip),%xmm1
movd   %ebp,%xmm2
pshufd $0x0,%xmm2,%xmm4
movaps %xmm0,%xmm3
shufps $0x0,%xmm0,%xmm3
lea    (%r8,%r11,1),%rdi
lea    0x10(,%rdi,4),%rdi
add    %r13,%rdi
xor    %ebx,%ebx
movdqa 0x17eb(%rip),%xmm8
movdqa 0x17f2(%rip),%xmm9
xchg   %ax,%ax
movups -0x10(%rdi,%rbx,4),%xmm6
movups (%rdi,%rbx,4),%xmm7
movdqa %xmm4,%xmm2
psubd  %xmm1,%xmm2
cvtdq2ps %xmm2,%xmm5
psubd  %xmm8,%xmm2
cvtdq2ps %xmm2,%xmm2
mulps  %xmm3,%xmm5
addps  %xmm6,%xmm5
mulps  %xmm3,%xmm2
addps  %xmm7,%xmm2
movups %xmm5,-0x10(%rdi,%rbx,4)
movups %xmm2,(%rdi,%rbx,4)
add    $0x8,%rbx
paddd  %xmm9,%xmm1
cmp    %rbx,%rdx
jne    2920 <makesource+0x17c0>
cmp    %rdx,%r10
je     29a1 <makesource+0x1841>
sub    %ecx,%ebp
lea    0x0(,%r8,4),%rdx
add    %r13,%rdx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xorps  %xmm1,%xmm1
cvtsi2ss %ebp,%xmm1
mulss  %xmm0,%xmm1
addss  (%rdx,%rcx,4),%xmm1
movss  %xmm1,(%rdx,%rcx,4)
add    $0x1,%rcx
add    $0xffffffff,%ebp
cmp    %rsi,%rcx
jb     2980 <makesource+0x1820>
mov    %r9d,%ecx
sub    %esi,%ecx
jle    2acb <makesource+0x196b>
xorps  %xmm2,%xmm2
cvtsi2ss %ecx,%xmm2
movss  0x164c(%rip),%xmm8
movaps %xmm8,%xmm11
divss  %xmm2,%xmm11
movslq %esi,%rcx
movslq %r9d,%rdi
mov    %rdi,%r9
sub    %rcx,%r9
cmp    $0x8,%r9
jae    29df <makesource+0x187f>
mov    %rcx,%rbp
jmp    2a8a <makesource+0x192a>
mov    %r9,%rdx
and    $0xfffffffffffffff8,%rdx
lea    (%rdx,%rcx,1),%rbp
movd   %esi,%xmm2
pshufd $0x0,%xmm2,%xmm7
movdqa 0x16f5(%rip),%xmm3
paddd  %xmm7,%xmm3
movaps %xmm11,%xmm4
shufps $0x0,%xmm11,%xmm4
add    %r8,%rcx
lea    0x10(,%rcx,4),%rsi
add    %r13,%rsi
xor    %ecx,%ecx
movaps 0x1731(%rip),%xmm5
movdqa 0x16d8(%rip),%xmm9
movdqa 0x16df(%rip),%xmm10
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movups -0x10(%rsi,%rcx,4),%xmm0
movups (%rsi,%rcx,4),%xmm6
addps  %xmm5,%xmm0
addps  %xmm5,%xmm6
movdqa %xmm7,%xmm2
psubd  %xmm3,%xmm2
cvtdq2ps %xmm2,%xmm1
psubd  %xmm9,%xmm2
cvtdq2ps %xmm2,%xmm2
mulps  %xmm4,%xmm1
addps  %xmm0,%xmm1
mulps  %xmm4,%xmm2
addps  %xmm6,%xmm2
movups %xmm1,-0x10(%rsi,%rcx,4)
movups %xmm2,(%rsi,%rcx,4)
add    $0x8,%rcx
paddd  %xmm10,%xmm3
cmp    %rcx,%rdx
jne    2a40 <makesource+0x18e0>
cmp    %rdx,%r9
je     2acb <makesource+0x196b>
add    %r11d,%eax
sub    %ebp,%eax
lea    0x0(,%r8,4),%rcx
add    %r13,%rcx
nopw   0x0(%rax,%rax,1)
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  (%rcx,%rbp,4),%xmm1
addss  %xmm8,%xmm1
mulss  %xmm11,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,(%rcx,%rbp,4)
add    $0x1,%rbp
add    $0xffffffff,%eax
cmp    %rdi,%rbp
jl     2aa0 <makesource+0x1940>
lea    0x1725(%rip),%rdi
mov    $0x4,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    2f4b <makesource+0x1deb>
movss  (%r14),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x10(%rsp)
lea    0x4(%r12),%rbp
lea    0x16f2(%rip),%rdi
mov    $0x2,%edx
mov    %rbp,%rsi
call   1030 <strncmp@plt>
movss  0x1521(%rip),%xmm0
test   %eax,%eax
movaps %xmm0,0x30(%rsp)
je     2b36 <makesource+0x19d6>
movsd  0x10(%rsp),%xmm0
mulsd  0x1592(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
jmp    2ba7 <makesource+0x1a47>
movsd  0x10(%rsp),%xmm0
mulsd  0x1544(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
lea    0x6(%r12),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
lea    0x8(%r12),%rsi
lea    0x1687(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
test   %eax,%eax
jne    2ba7 <makesource+0x1a47>
lea    0xa(%r12),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x14ea(%rip),%xmm0
cvtsd2ss %xmm0,%xmm0
movaps %xmm0,0x30(%rsp)
lea    0x164e(%rip),%rdi
mov    $0x2,%edx
mov    %rbp,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    2c01 <makesource+0x1aa1>
lea    0x6(%r12),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x14ae(%rip),%xmm0
cvtsd2ss %xmm0,%xmm0
movaps %xmm0,0x30(%rsp)
lea    0x8(%r12),%rsi
lea    0x1605(%rip),%rdi
mov    $0x2,%edx
call   1030 <strncmp@plt>
test   %eax,%eax
je     34a4 <makesource+0x2344>
mov    0x18(%rsp),%rax
movaps 0x30(%rsp),%xmm11
movsd  0x10(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  (%rax),%xmm1
divss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x1456(%rip),%xmm2
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
cmp    $0x3,%eax
mov    $0x2,%ebx
cmovge %eax,%ebx
movss  (%r14),%xmm0
divss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%ecx
movss  0x13b5(%rip),%xmm8
subss  %xmm11,%xmm8
xorps  %xmm2,%xmm2
cvtsi2ss %ebx,%xmm2
mulss  %xmm2,%xmm8
movss  0x13a8(%rip),%xmm0
divss  %xmm2,%xmm0
movslq 0xc(%rsp),%r8
cmp    $0x8,%ebx
jae    2c89 <makesource+0x1b29>
xor    %edx,%edx
jmp    2cff <makesource+0x1b9f>
mov    %ebx,%edx
and    $0x7ffffff8,%edx
movaps %xmm0,%xmm2
shufps $0x0,%xmm0,%xmm2
lea    0x10(,%r8,4),%rax
add    %r13,%rax
movdqa 0x1445(%rip),%xmm3
xor    %esi,%esi
movdqa 0x144a(%rip),%xmm9
movdqa 0x1452(%rip),%xmm5
xchg   %ax,%ax
movdqa %xmm3,%xmm6
paddd  %xmm9,%xmm6
movups -0x10(%rax,%rsi,4),%xmm7
movups (%rax,%rsi,4),%xmm1
cvtdq2ps %xmm3,%xmm4
cvtdq2ps %xmm6,%xmm6
mulps  %xmm2,%xmm4
addps  %xmm7,%xmm4
mulps  %xmm2,%xmm6
addps  %xmm1,%xmm6
movups %xmm4,-0x10(%rax,%rsi,4)
movups %xmm6,(%rax,%rsi,4)
add    $0x8,%rsi
paddd  %xmm5,%xmm3
cmp    %rsi,%rdx
jne    2cc0 <makesource+0x1b60>
cmp    %rbx,%rdx
je     2d2e <makesource+0x1bce>
lea    0x0(,%r8,4),%rax
add    %r13,%rax
nopw   0x0(%rax,%rax,1)
xorps  %xmm1,%xmm1
cvtsi2ss %edx,%xmm1
mulss  %xmm0,%xmm1
addss  (%rax,%rdx,4),%xmm1
movss  %xmm1,(%rax,%rdx,4)
add    $0x1,%rdx
cmp    %rdx,%rbx
jne    2d10 <makesource+0x1bb0>
cmp    $0x4,%ecx
mov    $0x2,%r10d
cmovge %ecx,%r10d
cvttss2si %xmm8,%ecx
cmp    %ecx,%ebx
jge    2e31 <makesource+0x1cd1>
lea    (%rbx,%rbx,1),%edi
mov    %ecx,%ebp
mov    %rbp,%r9
sub    %rbx,%r9
cmp    $0x8,%r9
jae    2d61 <makesource+0x1c01>
mov    %rbx,%rdx
jmp    2df4 <makesource+0x1c94>
mov    %r9,%rax
and    $0xfffffffffffffff8,%rax
lea    (%rax,%rbx,1),%rdx
movd   %ebx,%xmm1
pshufd $0x0,%xmm1,%xmm1
paddd  0x1373(%rip),%xmm1
movd   %edi,%xmm2
pshufd $0x0,%xmm2,%xmm4
movaps %xmm0,%xmm3
shufps $0x0,%xmm0,%xmm3
lea    (%r8,%rbx,1),%rsi
lea    0x10(,%rsi,4),%rbx
add    %r13,%rbx
xor    %esi,%esi
movdqa 0x1359(%rip),%xmm8
movdqa 0x1360(%rip),%xmm9
movups -0x10(%rbx,%rsi,4),%xmm6
movups (%rbx,%rsi,4),%xmm7
movdqa %xmm4,%xmm2
psubd  %xmm1,%xmm2
cvtdq2ps %xmm2,%xmm5
psubd  %xmm8,%xmm2
cvtdq2ps %xmm2,%xmm2
mulps  %xmm3,%xmm5
addps  %xmm6,%xmm5
mulps  %xmm3,%xmm2
addps  %xmm7,%xmm2
movups %xmm5,-0x10(%rbx,%rsi,4)
movups %xmm2,(%rbx,%rsi,4)
add    $0x8,%rsi
paddd  %xmm9,%xmm1
cmp    %rsi,%rax
jne    2db0 <makesource+0x1c50>
cmp    %rax,%r9
je     2e31 <makesource+0x1cd1>
sub    %edx,%edi
lea    0x0(,%r8,4),%rax
add    %r13,%rax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xorps  %xmm1,%xmm1
cvtsi2ss %edi,%xmm1
mulss  %xmm0,%xmm1
addss  (%rax,%rdx,4),%xmm1
movss  %xmm1,(%rax,%rdx,4)
add    $0x1,%rdx
add    $0xffffffff,%edi
cmp    %rdx,%rbp
jne    2e10 <makesource+0x1cb0>
mov    %r10d,%eax
sub    %ecx,%eax
jle    2f4b <makesource+0x1deb>
xorps  %xmm1,%xmm1
cvtsi2ss %eax,%xmm1
movaps %xmm11,%xmm10
divss  %xmm1,%xmm10
movslq %ecx,%rbp
movslq %r10d,%rdx
mov    %rdx,%rdi
sub    %rbp,%rdi
cmp    $0x8,%rdi
jae    2e66 <makesource+0x1d06>
mov    %rbp,%rsi
jmp    2f0c <makesource+0x1dac>
mov    %rdi,%rax
and    $0xfffffffffffffff8,%rax
lea    (%rax,%rbp,1),%rsi
movd   %ecx,%xmm1
pshufd $0x0,%xmm1,%xmm6
movdqa 0x126e(%rip),%xmm2
paddd  %xmm6,%xmm2
movaps %xmm11,%xmm3
shufps $0x0,%xmm11,%xmm3
movaps %xmm10,%xmm4
shufps $0x0,%xmm10,%xmm4
add    %r8,%rbp
lea    0x10(,%rbp,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
movdqa 0x124f(%rip),%xmm8
movdqa 0x1256(%rip),%xmm9
nopw   0x0(%rax,%rax,1)
movups -0x10(%rbp,%rbx,4),%xmm7
movups 0x0(%rbp,%rbx,4),%xmm5
addps  %xmm3,%xmm7
addps  %xmm3,%xmm5
movdqa %xmm6,%xmm1
psubd  %xmm2,%xmm1
cvtdq2ps %xmm1,%xmm0
psubd  %xmm8,%xmm1
cvtdq2ps %xmm1,%xmm1
mulps  %xmm4,%xmm0
addps  %xmm7,%xmm0
mulps  %xmm4,%xmm1
addps  %xmm5,%xmm1
movups %xmm0,-0x10(%rbp,%rbx,4)
movups %xmm1,0x0(%rbp,%rbx,4)
add    $0x8,%rbx
paddd  %xmm9,%xmm2
cmp    %rbx,%rax
jne    2ec0 <makesource+0x1d60>
cmp    %rax,%rdi
je     2f4b <makesource+0x1deb>
sub    %esi,%ecx
lea    0x0(,%r8,4),%rax
add    %r13,%rax
nopl   0x0(%rax)
xorps  %xmm0,%xmm0
cvtsi2ss %ecx,%xmm0
movss  (%rax,%rsi,4),%xmm1
addss  %xmm11,%xmm1
mulss  %xmm10,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,(%rax,%rsi,4)
add    $0x1,%rsi
add    $0xffffffff,%ecx
cmp    %rsi,%rdx
jne    2f20 <makesource+0x1dc0>
lea    0x12ad(%rip),%rdi
mov    $0x4,%edx
mov    %r12,%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    3370 <makesource+0x2210>
mov    0x18(%rsp),%rax
movss  (%rax),%xmm0
movsd  (%r14),%xmm1
movaps %xmm0,%xmm2
shufps $0x0,%xmm0,%xmm2
divps  %xmm2,%xmm1
cvtps2pd %xmm1,%xmm1
addpd  0x11d6(%rip),%xmm1
cvttpd2dq %xmm1,%xmm1
pshufd $0x50,%xmm1,%xmm2
xorps  %xmm3,%xmm3
pcmpgtd %xmm3,%xmm2
movmskpd %xmm2,%ecx
mov    %r14,%rdx
mov    %ecx,%r14d
shr    %r14b
movd   %xmm1,%r11d
xor    %eax,%eax
test   $0x1,%cl
cmove  %eax,%r11d
pshufd $0x55,%xmm1,%xmm1
movd   %xmm1,%r12d
test   %r14b,%r14b
cmove  %eax,%r12d
movss  0x8(%rdx),%xmm1
divss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtss2sd %xmm1,%xmm0
addsd  0x10a2(%rip),%xmm0
cvttsd2si %xmm0,%r8d
test   %r8d,%r8d
cmovns %r8d,%eax
mov    %r11d,%edi
test   $0x1,%cl
je     313a <makesource+0x1fda>
movslq 0xc(%rsp),%r9
cmp    $0x8,%r11d
jae    3008 <makesource+0x1ea8>
xor    %esi,%esi
jmp    310f <makesource+0x1faf>
mov    %edi,%esi
and    $0x7ffffff8,%esi
lea    -0x8(%rsi),%rcx
mov    %rcx,%r10
shr    $0x3,%r10
add    $0x1,%r10
test   %rcx,%rcx
je     34e4 <makesource+0x2384>
mov    %r10,%rbp
and    $0xfffffffffffffffe,%rbp
lea    0x30(,%r9,4),%rdx
add    %r13,%rdx
movdqa 0x10ae(%rip),%xmm0
xor    %ebx,%ebx
movdqa 0x10b3(%rip),%xmm8
movdqa 0x10bb(%rip),%xmm2
movdqa 0x1113(%rip),%xmm3
movdqa 0x111b(%rip),%xmm4
cs nopw 0x0(%rax,%rax,1)
nop
movdqa %xmm0,%xmm5
paddd  %xmm8,%xmm5
cvtdq2ps %xmm0,%xmm6
cvtdq2ps %xmm5,%xmm5
movups -0x30(%rdx,%rbx,4),%xmm7
addps  %xmm6,%xmm7
movups -0x20(%rdx,%rbx,4),%xmm6
addps  %xmm5,%xmm6
movups -0x10(%rdx,%rbx,4),%xmm5
movups (%rdx,%rbx,4),%xmm1
movups %xmm7,-0x30(%rdx,%rbx,4)
movups %xmm6,-0x20(%rdx,%rbx,4)
movdqa %xmm0,%xmm6
paddd  %xmm2,%xmm6
movdqa %xmm0,%xmm7
paddd  %xmm3,%xmm7
cvtdq2ps %xmm6,%xmm6
addps  %xmm5,%xmm6
cvtdq2ps %xmm7,%xmm5
addps  %xmm1,%xmm5
movups %xmm6,-0x10(%rdx,%rbx,4)
movups %xmm5,(%rdx,%rbx,4)
add    $0x10,%rbx
paddd  %xmm4,%xmm0
add    $0xfffffffffffffffe,%rbp
jne    3070 <makesource+0x1f10>
test   $0x1,%r10b
je     310a <makesource+0x1faa>
cvtdq2ps %xmm0,%xmm1
paddd  0x101a(%rip),%xmm0
add    %r9,%rbx
movups 0x0(%r13,%rbx,4),%xmm2
movups 0x10(%r13,%rbx,4),%xmm3
addps  %xmm1,%xmm2
cvtdq2ps %xmm0,%xmm0
addps  %xmm3,%xmm0
movups %xmm2,0x0(%r13,%rbx,4)
movups %xmm0,0x10(%r13,%rbx,4)
cmp    %rdi,%rsi
je     313a <makesource+0x1fda>
lea    0x0(,%r9,4),%rcx
add    %r13,%rcx
nopw   0x0(%rax,%rax,1)
xorps  %xmm0,%xmm0
cvtsi2ss %esi,%xmm0
addss  (%rcx,%rsi,4),%xmm0
movss  %xmm0,(%rcx,%rsi,4)
add    $0x1,%rsi
cmp    %rsi,%rdi
jne    3120 <makesource+0x1fc0>
lea    (%r12,%r11,1),%r15d
xorps  %xmm0,%xmm0
cvtsi2ss %r11d,%xmm0
test   %r14b,%r14b
mov    0x28(%rsp),%r14
je     3257 <makesource+0x20f7>
movslq 0xc(%rsp),%r9
movslq %r15d,%rdx
lea    0x1(%rdi),%rbx
cmp    %rdx,%rbx
cmovle %rdx,%rbx
sub    %rdi,%rbx
cmp    $0x8,%rbx
jb     3233 <makesource+0x20d3>
mov    %rbx,%r10
and    $0xfffffffffffffff8,%r10
movaps %xmm0,%xmm1
shufps $0x0,%xmm0,%xmm1
lea    -0x8(%r10),%rcx
mov    %rcx,%r14
shr    $0x3,%r14
add    $0x1,%r14
test   %rcx,%rcx
je     34fd <makesource+0x239d>
mov    %r14,%rsi
and    $0xfffffffffffffffe,%rsi
lea    (%r9,%rdi,1),%rcx
lea    0x30(,%rcx,4),%rcx
add    %r13,%rcx
xor    %ebp,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movups -0x30(%rcx,%rbp,4),%xmm2
movups -0x20(%rcx,%rbp,4),%xmm3
movups -0x10(%rcx,%rbp,4),%xmm4
movups (%rcx,%rbp,4),%xmm5
addps  %xmm1,%xmm2
addps  %xmm1,%xmm3
movups %xmm2,-0x30(%rcx,%rbp,4)
movups %xmm3,-0x20(%rcx,%rbp,4)
addps  %xmm1,%xmm4
addps  %xmm1,%xmm5
movups %xmm4,-0x10(%rcx,%rbp,4)
movups %xmm5,(%rcx,%rbp,4)
add    $0x10,%rbp
add    $0xfffffffffffffffe,%rsi
jne    31c0 <makesource+0x2060>
test   $0x1,%r14b
je     3226 <makesource+0x20c6>
add    %rdi,%rbp
add    %r9,%rbp
movups 0x0(%r13,%rbp,4),%xmm2
movups 0x10(%r13,%rbp,4),%xmm3
addps  %xmm1,%xmm2
addps  %xmm1,%xmm3
movups %xmm2,0x0(%r13,%rbp,4)
movups %xmm3,0x10(%r13,%rbp,4)
cmp    %r10,%rbx
mov    0x28(%rsp),%r14
je     3257 <makesource+0x20f7>
add    %r10,%rdi
lea    0x0(,%r9,4),%rcx
add    %r13,%rcx
xchg   %ax,%ax
movss  (%rcx,%rdi,4),%xmm1
addss  %xmm0,%xmm1
movss  %xmm1,(%rcx,%rdi,4)
add    $0x1,%rdi
cmp    %rdx,%rdi
jl     3240 <makesource+0x20e0>
test   %r8d,%r8d
jle    3370 <makesource+0x2210>
xorps  %xmm1,%xmm1
cvtsi2ss %eax,%xmm1
add    %r15d,%eax
divss  %xmm1,%xmm0
movslq %r15d,%rbp
movslq 0xc(%rsp),%rdi
lea    (%r12,%r11,1),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
cmova  %eax,%ecx
not    %r12d
add    %ecx,%r12d
sub    %r11d,%r12d
cmp    $0x7,%r12d
jae    3299 <makesource+0x2139>
mov    %rbp,%rdx
jmp    3336 <makesource+0x21d6>
add    $0x1,%r12
mov    %r12,%rsi
and    $0xfffffffffffffff8,%rsi
lea    (%rsi,%rbp,1),%rdx
movd   %r15d,%xmm1
pshufd $0x0,%xmm1,%xmm1
paddd  0xe36(%rip),%xmm1
movd   %eax,%xmm2
pshufd $0x0,%xmm2,%xmm4
movaps %xmm0,%xmm3
shufps $0x0,%xmm0,%xmm3
add    %rdi,%rbp
lea    0x10(,%rbp,4),%rbp
add    %r13,%rbp
xor    %ebx,%ebx
movdqa 0xe1d(%rip),%xmm8
movdqa 0xe24(%rip),%xmm9
nopl   0x0(%rax)
movups -0x10(%rbp,%rbx,4),%xmm6
movups 0x0(%rbp,%rbx,4),%xmm7
movdqa %xmm4,%xmm2
psubd  %xmm1,%xmm2
cvtdq2ps %xmm2,%xmm5
psubd  %xmm8,%xmm2
cvtdq2ps %xmm2,%xmm2
mulps  %xmm3,%xmm5
addps  %xmm6,%xmm5
mulps  %xmm3,%xmm2
addps  %xmm7,%xmm2
movups %xmm5,-0x10(%rbp,%rbx,4)
movups %xmm2,0x0(%rbp,%rbx,4)
add    $0x8,%rbx
paddd  %xmm9,%xmm1
cmp    %rbx,%rsi
jne    32f0 <makesource+0x2190>
cmp    %rsi,%r12
je     3370 <makesource+0x2210>
mov    %eax,%ecx
sub    %edx,%ecx
lea    0x0(,%rdi,4),%rsi
add    %r13,%rsi
cs nopw 0x0(%rax,%rax,1)
nop
xorps  %xmm1,%xmm1
cvtsi2ss %ecx,%xmm1
mulss  %xmm0,%xmm1
addss  (%rsi,%rdx,4),%xmm1
movss  %xmm1,(%rsi,%rdx,4)
add    $0x1,%rdx
add    $0xffffffff,%ecx
cmp    %edx,%eax
ja     3350 <makesource+0x21f0>
lea    0xe8d(%rip),%rdi
mov    $0x7,%edx
mov    0x60(%rsp),%rsi
call   1030 <strncmp@plt>
test   %eax,%eax
jne    3492 <makesource+0x2332>
movss  (%r14),%xmm0
mov    0x18(%rsp),%rax
movss  (%rax),%xmm1
movaps %xmm0,%xmm2
divss  %xmm1,%xmm2
cvtss2sd %xmm2,%xmm2
addsd  0xcd1(%rip),%xmm2
cvttsd2si %xmm2,%eax
test   %eax,%eax
jle    3477 <makesource+0x2317>
cvttpd2dq %xmm2,%xmm2
cvtdq2ps %xmm2,%xmm2
movss  0xc52(%rip),%xmm3
xorps  %xmm4,%xmm4
cvtsi2sdl 0xd8(%rsp),%xmm4
addsd  0xcd2(%rip),%xmm4
cvtss2sd %xmm1,%xmm1
mulsd  %xmm4,%xmm1
movaps %xmm3,%xmm4
cvtss2sd %xmm0,%xmm0
divsd  %xmm1,%xmm0
mulsd  0xccf(%rip),%xmm0
cvtsd2ss %xmm0,%xmm0
divss  %xmm2,%xmm4
movss  %xmm4,0x28(%rsp)
divss  %xmm0,%xmm3
xorps  %xmm0,%xmm0
cvtss2sd %xmm3,%xmm0
movsd  %xmm0,0x10(%rsp)
movslq 0xc(%rsp),%r14
mov    %eax,%r15d
lea    0x0(,%r14,4),%rbx
add    %r13,%rbx
neg    %r15
xor    %ebp,%ebp
xorps  %xmm0,%xmm0
cvtsi2ss %ebp,%xmm0
movss  (%rbx),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x18(%rsp)
mulss  0x28(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
call   1060 <exp@plt>
mulsd  0x10(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,(%rbx)
add    $0xffffffffffffffff,%rbp
add    $0x4,%rbx
cmp    %rbp,%r15
jne    3430 <makesource+0x22d0>
jmp    347c <makesource+0x231c>
movslq 0xc(%rsp),%r14
movss  0x0(%r13,%r14,4),%xmm0
addss  0xb91(%rip),%xmm0
movss  %xmm0,0x0(%r13,%r14,4)
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
movss  (%r14),%xmm0
cvtss2sd %xmm0,%xmm0
mulsd  0xbd3(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
lea    0xa(%r12),%rdi
xor    %eax,%eax
call   1040 <atof@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
mov    0x18(%rsp),%rax
movaps 0x30(%rsp),%xmm11
jmp    2c12 <makesource+0x1ab2>
movdqa 0xc04(%rip),%xmm0
xor    %ebx,%ebx
test   $0x1,%r10b
jne    30db <makesource+0x1f7b>
jmp    310a <makesource+0x1faa>
xor    %ebp,%ebp
test   $0x1,%r14b
jne    3202 <makesource+0x20a2>
jmp    3226 <makesource+0x20c6>

LLVM IR (-O0):
@.str = [6 x i8] c"delta\00"
@.str.1 = [5 x i8] c"gaus\00"
@.str.2 = [5 x i8] c"ucsb\00"
@.str.3 = [8 x i8] c"esg2006\00"
@.str.4 = [5 x i8] c"tanh\00"
@.str.5 = [4 x i8] c"tri\00"
@.str.6 = [5 x i8] c"atri\00"
@.str.7 = [6 x i8] c"gabor\00"
@.str.8 = [5 x i8] c"rick\00"
@.str.9 = [5 x i8] c"zahr\00"
@.str.10 = [4 x i8] c"cos\00"
@.str.11 = [7 x i8] c"expcos\00"
@.str.12 = [8 x i8] c"expcos2\00"
@.str.13 = [5 x i8] c"scec\00"
@.str.14 = [6 x i8] c"brune\00"
@.str.15 = [6 x i8] c"sqrtT\00"
@.str.16 = [9 x i8] c"miyatake\00"
@.str.17 = [9 x i8] c"2triGOOD\00"
@.str.18 = [3 x i8] c"-p\00"
@.str.19 = [5 x i8] c"2tri\00"
@.str.20 = [3 x i8] c"-h\00"
@.str.21 = [5 x i8] c"trap\00"
@.str.22 = [8 x i8] c"irikura\00"
define i32 @makesource(i8* %0, float* %1, float* %2, i32 %3, float* %4, float* %5, float* %6, i32 %7) {
%9 = alloca i32
%10 = alloca i8*
%11 = alloca float*
%12 = alloca float*
%13 = alloca i32
%14 = alloca float*
%15 = alloca float*
%16 = alloca float*
%17 = alloca i32
%18 = alloca double
%19 = alloca double
%20 = alloca float
%21 = alloca float
%22 = alloca float
%23 = alloca float
%24 = alloca float
%25 = alloca float
%26 = alloca float
%27 = alloca float
%28 = alloca float
%29 = alloca float
%30 = alloca float
%31 = alloca float
%32 = alloca float
%33 = alloca float
%34 = alloca i32
%35 = alloca i32
%36 = alloca [128 x i8]
%37 = alloca i32
%38 = alloca i32
%39 = alloca i32
%40 = alloca i32
%41 = alloca float
%42 = alloca float
%43 = alloca float
%44 = alloca float
%45 = alloca float
%46 = alloca float
%47 = alloca float
%48 = alloca float
%49 = alloca float
%50 = alloca float
store i8* %0, i8** %10
store float* %1, float** %11
store float* %2, float** %12
store i32 %3, i32* %13
store float* %4, float** %14
store float* %5, float** %15
store float* %6, float** %16
store i32 %7, i32* %17
store float 5.000000e-01, float* %48
store float 1.000000e+00, float* %49
store float 2.000000e+00, float* %50
%51 = load float*, float** %16
%52 = load float, float* %51
%53 = load float*, float** %12
%54 = load float, float* %53
%55 = fdiv float %52, %54
%56 = fptosi float %55 to i32
store i32 %56, i32* %35
%57 = load i8*, i8** %10
%58 = call i32 @strncmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %57, i64 5)
%59 = icmp eq i32 %58, 0
br i1 %59, label %60, label %73
60: ; preds = %8
%61 = load float*, float** %11
%62 = load i32, i32* %35
%63 = sext i32 %62 to i64
%64 = getelementptr inbounds float, float* %61, i64 %63
%65 = load float, float* %64
%66 = load float*, float** %15
%67 = load float, float* %66
%68 = fadd float %65, %67
%69 = load float*, float** %11
%70 = load i32, i32* %35
%71 = sext i32 %70 to i64
%72 = getelementptr inbounds float, float* %69, i64 %71
store float %68, float* %72
br label %73
73: ; preds = %60, %8
%74 = load i8*, i8** %10
%75 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i8* %74, i64 4)
%76 = icmp eq i32 %75, 0
br i1 %76, label %77, label %132
77: ; preds = %73
%78 = load float*, float** %14
%79 = load float, float* %78
%80 = fpext float %79 to double
%81 = fmul double 3.000000e+00, %80
%82 = fptrunc double %81 to float
store float %82, float* %23
%83 = load float*, float** %14
%84 = load float, float* %83
%85 = load float*, float** %14
%86 = load float, float* %85
%87 = fmul float %84, %86
%88 = fpext float %87 to double
%89 = fdiv double -1.000000e+00, %88
%90 = fptrunc double %89 to float
store float %90, float* %24
store i32 0, i32* %34
br label %91
91: ; preds = %128, %77
%92 = load i32, i32* %34
%93 = load i32, i32* %13
%94 = icmp slt i32 %92, %93
br i1 %94, label %95, label %131
95: ; preds = %91
%96 = load i32, i32* %34
%97 = sub nsw i32 %96, 1
%98 = sitofp i32 %97 to float
%99 = load float*, float** %12
%100 = load float, float* %99
%101 = load float, float* %23
%102 = fneg float %101
%103 = call float @llvm.fmuladd.f32(float %98, float %100, float %102)
store float %103, float* %20
%104 = load float, float* %20
%105 = load float, float* %20
%106 = fmul float %104, %105
store float %106, float* %22
%107 = load float, float* %24
%108 = load float, float* %22
%109 = fmul float %107, %108
%110 = fpext float %109 to double
store double %110, double* %18
%111 = load float*, float** %11
%112 = load i32, i32* %34
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds float, float* %111, i64 %113
%115 = load float, float* %114
%116 = fpext float %115 to double
%117 = load float*, float** %15
%118 = load float, float* %117
%119 = fpext float %118 to double
%120 = load double, double* %18
%121 = call double @exp(double %120)
%122 = call double @llvm.fmuladd.f64(double %119, double %121, double %116)
%123 = fptrunc double %122 to float
%124 = load float*, float** %11
%125 = load i32, i32* %34
%126 = sext i32 %125 to i64
%127 = getelementptr inbounds float, float* %124, i64 %126
store float %123, float* %127
br label %128
128: ; preds = %95
%129 = load i32, i32* %34
%130 = add nsw i32 %129, 1
store i32 %130, i32* %34
br label %91
131: ; preds = %91
br label %132
132: ; preds = %131, %73
%133 = load i8*, i8** %10
%134 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i8* %133, i64 4)
%135 = icmp eq i32 %134, 0
br i1 %135, label %136, label %260
136: ; preds = %132
%137 = load float*, float** %14
%138 = load float, float* %137
store float %138, float* %42
%139 = load float, float* %42
%140 = fpext float %139 to double
%141 = fmul double 1.300000e-01, %140
%142 = fptrunc double %141 to float
store float %142, float* %43
%143 = load float, float* %42
%144 = load float, float* %43
%145 = fsub float %143, %144
store float %145, float* %44
%146 = load float, float* %43
%147 = fpext float %146 to double
%148 = fmul double 2.000000e+00, %147
%149 = fptrunc double %148 to float
store float %149, float* %45
%150 = load float, float* %42
%151 = load float*, float** %12
%152 = load float, float* %151
%153 = fdiv float %150, %152
%154 = fptosi float %153 to i32
store i32 %154, i32* %39
store i32 0, i32* %34
br label %155
155: ; preds = %256, %136
%156 = load i32, i32* %34
%157 = load i32, i32* %39
%158 = icmp slt i32 %156, %157
br i1 %158, label %159, label %259
159: ; preds = %155
%160 = load i32, i32* %34
%161 = sitofp i32 %160 to float
%162 = load float*, float** %12
%163 = load float, float* %162
%164 = fmul float %161, %163
store float %164, float* %20
store float 0.000000e+00, float* %24
%165 = load float, float* %20
%166 = load float, float* %43
%167 = fcmp olt float %165, %166
br i1 %167, label %168, label %189
168: ; preds = %159
%169 = load float, float* %20
%170 = fpext float %169 to double
%171 = fmul double 0x400921FB54524550, %170
%172 = load float, float* %43
%173 = fpext float %172 to double
%174 = fdiv double %171, %173
%175 = fptrunc double %174 to float
store float %175, float* %46
%176 = load float, float* %46
%177 = fpext float %176 to double
%178 = fmul double 5.000000e-01, %177
%179 = fptrunc double %178 to float
store float %179, float* %47
%180 = load float, float* %46
%181 = fpext float %180 to double
%182 = call double @cos(double %181)
%183 = call double @llvm.fmuladd.f64(double 0xBFE6666666666666, double %182, double 0x3FE6666666666666)
%184 = load float, float* %47
%185 = fpext float %184 to double
%186 = call double @sin(double %185)
%187 = call double @llvm.fmuladd.f64(double 6.000000e-01, double %186, double %183)
%188 = fptrunc double %187 to float
store float %188, float* %24
br label %240
189: ; preds = %159
%190 = load float, float* %20
%191 = load float, float* %45
%192 = fcmp olt float %190, %191
br i1 %192, label %193, label %219
193: ; preds = %189
%194 = load float, float* %20
%195 = fpext float %194 to double
%196 = fmul double 0x400921FB54524550, %195
%197 = load float, float* %43
%198 = fpext float %197 to double
%199 = fdiv double %196, %198
%200 = fptrunc double %199 to float
store float %200, float* %46
%201 = load float, float* %20
%202 = load float, float* %43
%203 = fsub float %201, %202
%204 = fpext float %203 to double
%205 = fmul double 0x400921FB54524550, %204
%206 = load float, float* %44
%207 = fpext float %206 to double
%208 = fdiv double %205, %207
%209 = fptrunc double %208 to float
store float %209, float* %47
%210 = load float, float* %46
%211 = fpext float %210 to double
%212 = call double @cos(double %211)
%213 = call double @llvm.fmuladd.f64(double 0xBFE6666666666666, double %212, double 1.000000e+00)
%214 = load float, float* %47
%215 = fpext float %214 to double
%216 = call double @cos(double %215)
%217 = call double @llvm.fmuladd.f64(double 3.000000e-01, double %216, double %213)
%218 = fptrunc double %217 to float
store float %218, float* %24
br label %239
219: ; preds = %189
%220 = load float, float* %20
%221 = load float, float* %42
%222 = fcmp olt float %220, %221
br i1 %222, label %223, label %238
223: ; preds = %219
%224 = load float, float* %20
%225 = load float, float* %43
%226 = fsub float %224, %225
%227 = fpext float %226 to double
%228 = fmul double 0x400921FB54524550, %227
%229 = load float, float* %44
%230 = fpext float %229 to double
%231 = fdiv double %228, %230
%232 = fptrunc double %231 to float
store float %232, float* %46
%233 = load float, float* %46
%234 = fpext float %233 to double
%235 = call double @cos(double %234)
%236 = call double @llvm.fmuladd.f64(double 3.000000e-01, double %235, double 3.000000e-01)
%237 = fptrunc double %236 to float
store float %237, float* %24
br label %238
238: ; preds = %223, %219
br label %239
239: ; preds = %238, %193
br label %240
240: ; preds = %239, %168
%241 = load float*, float** %11
%242 = load i32, i32* %34
%243 = load i32, i32* %35
%244 = add nsw i32 %242, %243
%245 = sext i32 %244 to i64
%246 = getelementptr inbounds float, float* %241, i64 %245
%247 = load float, float* %246
%248 = load float, float* %24
%249 = fadd float %247, %248
%250 = load float*, float** %11
%251 = load i32, i32* %34
%252 = load i32, i32* %35
%253 = add nsw i32 %251, %252
%254 = sext i32 %253 to i64
%255 = getelementptr inbounds float, float* %250, i64 %254
store float %249, float* %255
br label %256
256: ; preds = %240
%257 = load i32, i32* %34
%258 = add nsw i32 %257, 1
store i32 %258, i32* %34
br label %155
259: ; preds = %155
br label %260
260: ; preds = %259, %132
%261 = load i8*, i8** %10
%262 = call i32 @strncmp(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i64 0, i64 0), i8* %261, i64 7)
%263 = icmp eq i32 %262, 0
br i1 %263, label %264, label %325
264: ; preds = %260
%265 = load float*, float** %14
%266 = load float, float* %265
%267 = fpext float %266 to double
%268 = fdiv double 4.000000e+00, %267
%269 = fptrunc double %268 to float
store float %269, float* %24
%270 = load float*, float** %14
%271 = load float, float* %270
%272 = fpext float %271 to double
%273 = fmul double 2.000000e+00, %272
%274 = fptrunc double %273 to float
store float %274, float* %25
%275 = load float, float* %24
%276 = fpext float %275 to double
%277 = call double @sqrt(double 0x400921FB54524550)
%278 = fdiv double %276, %277
%279 = fptrunc double %278 to float
store float %279, float* %26
store i32 0, i32* %34
br label %280
280: ; preds = %321, %264
%281 = load i32, i32* %34
%282 = load i32, i32* %13
%283 = load i32, i32* %35
%284 = sub nsw i32 %282, %283
%285 = icmp slt i32 %281, %284
br i1 %285, label %286, label %324
286: ; preds = %280
%287 = load i32, i32* %34
%288 = sitofp i32 %287 to float
%289 = load float*, float** %12
%290 = load float, float* %289
%291 = fmul float %288, %290
store float %291, float* %20
%292 = load float, float* %24
%293 = load float, float* %20
%294 = load float, float* %25
%295 = fsub float %293, %294
%296 = fmul float %292, %295
store float %296, float* %46
%297 = load float*, float** %11
%298 = load i32, i32* %34
%299 = load i32, i32* %35
%300 = add nsw i32 %298, %299
%301 = sext i32 %300 to i64
%302 = getelementptr inbounds float, float* %297, i64 %301
%303 = load float, float* %302
%304 = fpext float %303 to double
%305 = load float, float* %26
%306 = fpext float %305 to double
%307 = load float, float* %46
%308 = fneg float %307
%309 = load float, float* %46
%310 = fmul float %308, %309
%311 = fpext float %310 to double
%312 = call double @exp(double %311)
%313 = call double @llvm.fmuladd.f64(double %306, double %312, double %304)
%314 = fptrunc double %313 to float
%315 = load float*, float** %11
%316 = load i32, i32* %34
%317 = load i32, i32* %35
%318 = add nsw i32 %316, %317
%319 = sext i32 %318 to i64
%320 = getelementptr inbounds float, float* %315, i64 %319
store float %314, float* %320
br label %321
321: ; preds = %286
%322 = load i32, i32* %34
%323 = add nsw i32 %322, 1
store i32 %323, i32* %34
br label %280
324: ; preds = %280
br label %325
325: ; preds = %324, %260
%326 = load i8*, i8** %10
%327 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i8* %326, i64 4)
%328 = icmp eq i32 %327, 0
br i1 %328, label %329, label %390
329: ; preds = %325
%330 = load float*, float** %14
%331 = load float, float* %330
%332 = fpext float %331 to double
%333 = fdiv double 2.000000e+00, %332
%334 = fptrunc double %333 to float
store float %334, float* %24
%335 = load i32, i32* %35
%336 = sub nsw i32 0, %335
store i32 %336, i32* %34
br label %337
337: ; preds = %386, %329
%338 = load i32, i32* %34
%339 = load i32, i32* %13
%340 = load i32, i32* %35
%341 = sub nsw i32 %339, %340
%342 = icmp slt i32 %338, %341
br i1 %342, label %343, label %389
343: ; preds = %337
%344 = load i32, i32* %34
%345 = sitofp i32 %344 to float
%346 = load float*, float** %12
%347 = load float, float* %346
%348 = fmul float %345, %347
store float %348, float* %20
%349 = load float, float* %20
%350 = load float, float* %24
%351 = fmul float %349, %350
%352 = fpext float %351 to double
%353 = fadd double %352, 1.000000e+00
store double %353, double* %18
%354 = load double, double* %18
%355 = call double @exp(double %354)
%356 = fptrunc double %355 to float
store float %356, float* %27
%357 = load double, double* %18
%358 = fneg double %357
%359 = call double @exp(double %358)
%360 = fptrunc double %359 to float
store float %360, float* %28
%361 = load float*, float** %11
%362 = load i32, i32* %34
%363 = load i32, i32* %35
%364 = add nsw i32 %362, %363
%365 = sext i32 %364 to i64
%366 = getelementptr inbounds float, float* %361, i64 %365
%367 = load float, float* %366
%368 = load float*, float** %15
%369 = load float, float* %368
%370 = load float, float* %24
%371 = load float, float* %27
%372 = load float, float* %28
%373 = fadd float %371, %372
%374 = load float, float* %27
%375 = load float, float* %28
%376 = fadd float %374, %375
%377 = fmul float %373, %376
%378 = fdiv float %370, %377
%379 = call float @llvm.fmuladd.f32(float %369, float %378, float %367)
%380 = load float*, float** %11
%381 = load i32, i32* %34
%382 = load i32, i32* %35
%383 = add nsw i32 %381, %382
%384 = sext i32 %383 to i64
%385 = getelementptr inbounds float, float* %380, i64 %384
store float %379, float* %385
br label %386
386: ; preds = %343
%387 = load i32, i32* %34
%388 = add nsw i32 %387, 1
store i32 %388, i32* %34
br label %337
389: ; preds = %337
br label %390
390: ; preds = %389, %325
%391 = load i8*, i8** %10
%392 = call i32 @strncmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i64 0, i64 0), i8* %391, i64 3)
%393 = icmp eq i32 %392, 0
br i1 %393, label %394, label %481
394: ; preds = %390
%395 = load float*, float** %14
%396 = load float, float* %395
%397 = load float*, float** %12
%398 = load float, float* %397
%399 = fdiv float %396, %398
%400 = fpext float %399 to double
%401 = fadd double %400, 5.000000e-01
%402 = fptosi double %401 to i32
store i32 %402, i32* %37
%403 = load i32, i32* %37
%404 = srem i32 %403, 2
%405 = icmp ne i32 %404, 0
br i1 %405, label %406, label %409
406: ; preds = %394
%407 = load i32, i32* %37
%408 = add nsw i32 %407, 1
store i32 %408, i32* %37
br label %409
409: ; preds = %406, %394
%410 = load i32, i32* %37
%411 = sdiv i32 %410, 2
store i32 %411, i32* %38
%412 = load float*, float** %15
%413 = load float, float* %412
%414 = load i32, i32* %38
%415 = sitofp i32 %414 to float
%416 = fdiv float %413, %415
store float %416, float* %41
store i32 0, i32* %34
br label %417
417: ; preds = %460, %409
%418 = load i32, i32* %34
%419 = load i32, i32* %38
%420 = icmp slt i32 %418, %419
br i1 %420, label %421, label %463
421: ; preds = %417
%422 = load float*, float** %11
%423 = load i32, i32* %34
%424 = load i32, i32* %35
%425 = add nsw i32 %423, %424
%426 = sext i32 %425 to i64
%427 = getelementptr inbounds float, float* %422, i64 %426
%428 = load float, float* %427
%429 = load i32, i32* %34
%430 = sitofp i32 %429 to float
%431 = load float, float* %41
%432 = call float @llvm.fmuladd.f32(float %430, float %431, float %428)
%433 = load float*, float** %11
%434 = load i32, i32* %34
%435 = load i32, i32* %35
%436 = add nsw i32 %434, %435
%437 = sext i32 %436 to i64
%438 = getelementptr inbounds float, float* %433, i64 %437
store float %432, float* %438
%439 = load float*, float** %11
%440 = load i32, i32* %37
%441 = load i32, i32* %35
%442 = add nsw i32 %440, %441
%443 = load i32, i32* %34
%444 = sub nsw i32 %442, %443
%445 = sext i32 %444 to i64
%446 = getelementptr inbounds float, float* %439, i64 %445
%447 = load float, float* %446
%448 = load i32, i32* %34
%449 = sitofp i32 %448 to float
%450 = load float, float* %41
%451 = call float @llvm.fmuladd.f32(float %449, float %450, float %447)
%452 = load float*, float** %11
%453 = load i32, i32* %37
%454 = load i32, i32* %35
%455 = add nsw i32 %453, %454
%456 = load i32, i32* %34
%457 = sub nsw i32 %455, %456
%458 = sext i32 %457 to i64
%459 = getelementptr inbounds float, float* %452, i64 %458
store float %451, float* %459
br label %460
460: ; preds = %421
%461 = load i32, i32* %34
%462 = add nsw i32 %461, 1
store i32 %462, i32* %34
br label %417
463: ; preds = %417
%464 = load float*, float** %11
%465 = load i32, i32* %38
%466 = load i32, i32* %35
%467 = add nsw i32 %465, %466
%468 = sext i32 %467 to i64
%469 = getelementptr inbounds float, float* %464, i64 %468
%470 = load float, float* %469
%471 = load i32, i32* %38
%472 = sitofp i32 %471 to float
%473 = load float, float* %41
%474 = call float @llvm.fmuladd.f32(float %472, float %473, float %470)
%475 = load float*, float** %11
%476 = load i32, i32* %38
%477 = load i32, i32* %35
%478 = add nsw i32 %476, %477
%479 = sext i32 %478 to i64
%480 = getelementptr inbounds float, float* %475, i64 %479
store float %474, float* %480
br label %481
481: ; preds = %463, %390
%482 = load i8*, i8** %10
%483 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6, i64 0, i64 0), i8* %482, i64 4)
%484 = icmp eq i32 %483, 0
br i1 %484, label %485, label %593
485: ; preds = %481
%486 = load i8*, i8** %10
%487 = getelementptr inbounds i8, i8* %486, i64 4
%488 = load i8, i8* %487
%489 = sext i8 %488 to i32
%490 = icmp eq i32 %489, 0
br i1 %490, label %491, label %492
491: ; preds = %485
store float 5.000000e-01, float* %24
br label %499
492: ; preds = %485
%493 = load i8*, i8** %10
%494 = getelementptr inbounds i8, i8* %493, i64 4
%495 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %494)
%496 = sitofp i32 %495 to double
%497 = fmul double 1.000000e-02, %496
%498 = fptrunc double %497 to float
store float %498, float* %24
br label %499
499: ; preds = %492, %491
%500 = load float*, float** %14
%501 = load float, float* %500
%502 = load float*, float** %12
%503 = load float, float* %502
%504 = fdiv float %501, %503
%505 = fpext float %504 to double
%506 = fadd double %505, 5.000000e-01
%507 = fptosi double %506 to i32
store i32 %507, i32* %37
%508 = load i32, i32* %37
%509 = srem i32 %508, 2
%510 = icmp ne i32 %509, 0
br i1 %510, label %511, label %514
511: ; preds = %499
%512 = load i32, i32* %37
%513 = add nsw i32 %512, 1
store i32 %513, i32* %37
br label %514
514: ; preds = %511, %499
%515 = load i32, i32* %37
%516 = sitofp i32 %515 to float
%517 = load float, float* %24
%518 = fmul float %516, %517
%519 = fptosi float %518 to i32
store i32 %519, i32* %38
%520 = load float*, float** %15
%521 = load float, float* %520
%522 = load i32, i32* %37
%523 = sitofp i32 %522 to double
%524 = fdiv double 2.000000e+00, %523
%525 = fptrunc double %524 to float
%526 = fmul float %521, %525
store float %526, float* %24
%527 = load float, float* %24
%528 = load i32, i32* %38
%529 = sitofp i32 %528 to float
%530 = fdiv float %527, %529
store float %530, float* %41
store i32 0, i32* %34
br label %531
531: ; preds = %553, %514
%532 = load i32, i32* %34
%533 = load i32, i32* %38
%534 = icmp sle i32 %532, %533
br i1 %534, label %535, label %556
535: ; preds = %531
%536 = load float*, float** %11
%537 = load i32, i32* %34
%538 = load i32, i32* %35
%539 = add nsw i32 %537, %538
%540 = sext i32 %539 to i64
%541 = getelementptr inbounds float, float* %536, i64 %540
%542 = load float, float* %541
%543 = load i32, i32* %34
%544 = sitofp i32 %543 to float
%545 = load float, float* %41
%546 = call float @llvm.fmuladd.f32(float %544, float %545, float %542)
%547 = load float*, float** %11
%548 = load i32, i32* %34
%549 = load i32, i32* %35
%550 = add nsw i32 %548, %549
%551 = sext i32 %550 to i64
%552 = getelementptr inbounds float, float* %547, i64 %551
store float %546, float* %552
br label %553
553: ; preds = %535
%554 = load i32, i32* %34
%555 = add nsw i32 %554, 1
store i32 %555, i32* %34
br label %531
556: ; preds = %531
%557 = load float, float* %24
%558 = load i32, i32* %37
%559 = load i32, i32* %38
%560 = sub nsw i32 %558, %559
%561 = sitofp i32 %560 to float
%562 = fdiv float %557, %561
store float %562, float* %41
%563 = load i32, i32* %38
%564 = add nsw i32 %563, 1
store i32 %564, i32* %34
br label %565
565: ; preds = %589, %556
%566 = load i32, i32* %34
%567 = load i32, i32* %37
%568 = icmp sle i32 %566, %567
br i1 %568, label %569, label %592
569: ; preds = %565
%570 = load float*, float** %11
%571 = load i32, i32* %34
%572 = load i32, i32* %35
%573 = add nsw i32 %571, %572
%574 = sext i32 %573 to i64
%575 = getelementptr inbounds float, float* %570, i64 %574
%576 = load float, float* %575
%577 = load i32, i32* %37
%578 = load i32, i32* %34
%579 = sub nsw i32 %577, %578
%580 = sitofp i32 %579 to float
%581 = load float, float* %41
%582 = call float @llvm.fmuladd.f32(float %580, float %581, float %576)
%583 = load float*, float** %11
%584 = load i32, i32* %34
%585 = load i32, i32* %35
%586 = add nsw i32 %584, %585
%587 = sext i32 %586 to i64
%588 = getelementptr inbounds float, float* %583, i64 %587
store float %582, float* %588
br label %589
589: ; preds = %569
%590 = load i32, i32* %34
%591 = add nsw i32 %590, 1
store i32 %591, i32* %34
br label %565
592: ; preds = %565
br label %593
593: ; preds = %592, %481
%594 = load i8*, i8** %10
%595 = call i32 @strncmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0), i8* %594, i64 5)
%596 = icmp eq i32 %595, 0
br i1 %596, label %597, label %671
597: ; preds = %593
store float 1.100000e+01, float* %24
%598 = load float*, float** %14
%599 = load float, float* %598
%600 = fpext float %599 to double
%601 = fdiv double 0x401921FB54524550, %600
%602 = fptrunc double %601 to float
store float %602, float* %25
%603 = load float, float* %24
%604 = fpext float %603 to double
%605 = fmul double 4.500000e-01, %604
%606 = load float*, float** %14
%607 = load float, float* %606
%608 = fpext float %607 to double
%609 = fmul double %605, %608
%610 = fptrunc double %609 to float
store float %610, float* %23
store i32 0, i32* %34
br label %611
611: ; preds = %667, %597
%612 = load i32, i32* %34
%613 = load i32, i32* %13
%614 = icmp slt i32 %612, %613
br i1 %614, label %615, label %670
615: ; preds = %611
%616 = load i32, i32* %34
%617 = sitofp i32 %616 to float
%618 = load float*, float** %12
%619 = load float, float* %618
%620 = load float, float* %23
%621 = fneg float %620
%622 = call float @llvm.fmuladd.f32(float %617, float %619, float %621)
store float %622, float* %20
%623 = load float, float* %20
%624 = load float, float* %25
%625 = fmul float %623, %624
%626 = load float, float* %24
%627 = fdiv float %625, %626
%628 = fpext float %627 to double
store double %628, double* %18
%629 = load double, double* %18
%630 = fneg double %629
%631 = load double, double* %18
%632 = fmul double %630, %631
store double %632, double* %18
%633 = load float, float* %25
%634 = load float, float* %20
%635 = fmul float %633, %634
%636 = fpext float %635 to double
%637 = fadd double %636, 0x3FF921FB54524550
store double %637, double* %19
%638 = load float, float* %20
%639 = load float, float* %23
%640 = fcmp ole float %638, %639
br i1 %640, label %641, label %666
641: ; preds = %615
%642 = load float*, float** %11
%643 = load i32, i32* %34
%644 = load i32, i32* %35
%645 = add nsw i32 %643, %644
%646 = sext i32 %645 to i64
%647 = getelementptr inbounds float, float* %642, i64 %646
%648 = load float, float* %647
%649 = fpext float %648 to double
%650 = load float*, float** %15
%651 = load float, float* %650
%652 = fpext float %651 to double
%653 = load double, double* %18
%654 = call double @exp(double %653)
%655 = fmul double %652, %654
%656 = load double, double* %19
%657 = call double @cos(double %656)
%658 = call double @llvm.fmuladd.f64(double %655, double %657, double %649)
%659 = fptrunc double %658 to float
%660 = load float*, float** %11
%661 = load i32, i32* %34
%662 = load i32, i32* %35
%663 = add nsw i32 %661, %662
%664 = sext i32 %663 to i64
%665 = getelementptr inbounds float, float* %660, i64 %664
store float %659, float* %665
br label %666
666: ; preds = %641, %615
br label %667
667: ; preds = %666
%668 = load i32, i32* %34
%669 = add nsw i32 %668, 1
store i32 %669, i32* %34
br label %611
670: ; preds = %611
br label %671
671: ; preds = %670, %593
%672 = load i8*, i8** %10
%673 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.8, i64 0, i64 0), i8* %672, i64 4)
%674 = icmp eq i32 %673, 0
br i1 %674, label %675, label %751
675: ; preds = %671
%676 = load float*, float** %14
%677 = load float, float* %676
%678 = fpext float %677 to double
%679 = fmul double 3.000000e+00, %678
%680 = fptrunc double %679 to float
store float %680, float* %23
%681 = load float*, float** %14
%682 = load float, float* %681
%683 = load float*, float** %14
%684 = load float, float* %683
%685 = fmul float %682, %684
%686 = fpext float %685 to double
%687 = fdiv double -1.000000e+00, %686
%688 = fptrunc double %687 to float
store float %688, float* %24
%689 = load float*, float** %14
%690 = load float, float* %689
%691 = fpext float %690 to double
%692 = fdiv double 2.000000e+00, %691
%693 = fptrunc double %692 to float
store float %693, float* %25
%694 = load float*, float** %14
%695 = load float, float* %694
%696 = fpext float %695 to double
%697 = fdiv double 0x400921FB54524550, %696
%698 = fptrunc double %697 to float
store float %698, float* %25
store i32 0, i32* %34
br label %699
699: ; preds = %747, %675
%700 = load i32, i32* %34
%701 = load i32, i32* %13
%702 = icmp slt i32 %700, %701
br i1 %702, label %703, label %750
703: ; preds = %699
%704 = load i32, i32* %34
%705 = sub nsw i32 %704, 1
%706 = sitofp i32 %705 to float
%707 = load float*, float** %12
%708 = load float, float* %707
%709 = load float, float* %23
%710 = fneg float %709
%711 = call float @llvm.fmuladd.f32(float %706, float %708, float %710)
store float %711, float* %20
%712 = load float, float* %20
%713 = load float, float* %20
%714 = fmul float %712, %713
store float %714, float* %22
%715 = load float, float* %24
%716 = load float, float* %22
%717 = fmul float %715, %716
%718 = fpext float %717 to double
store double %718, double* %18
%719 = load float, float* %25
%720 = load float, float* %20
%721 = fmul float %719, %720
%722 = fpext float %721 to double
store double %722, double* %19
%723 = load float*, float** %11
%724 = load i32, i32* %34
%725 = load i32, i32* %35
%726 = add nsw i32 %724, %725
%727 = sext i32 %726 to i64
%728 = getelementptr inbounds float, float* %723, i64 %727
%729 = load float, float* %728
%730 = fpext float %729 to double
%731 = load float*, float** %15
%732 = load float, float* %731
%733 = fpext float %732 to double
%734 = load double, double* %18
%735 = call double @exp(double %734)
%736 = fmul double %733, %735
%737 = load double, double* %19
%738 = call double @cos(double %737)
%739 = call double @llvm.fmuladd.f64(double %736, double %738, double %730)
%740 = fptrunc double %739 to float
%741 = load float*, float** %11
%742 = load i32, i32* %34
%743 = load i32, i32* %35
%744 = add nsw i32 %742, %743
%745 = sext i32 %744 to i64
%746 = getelementptr inbounds float, float* %741, i64 %745
store float %740, float* %746
br label %747
747: ; preds = %703
%748 = load i32, i32* %34
%749 = add nsw i32 %748, 1
store i32 %749, i32* %34
br label %699
750: ; preds = %699
br label %751
751: ; preds = %750, %671
%752 = load i8*, i8** %10
%753 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0), i8* %752, i64 4)
%754 = icmp eq i32 %753, 0
br i1 %754, label %755, label %823
755: ; preds = %751
%756 = load float*, float** %14
%757 = load float, float* %756
%758 = fpext float %757 to double
%759 = fmul double 1.500000e+00, %758
%760 = fptrunc double %759 to float
store float %760, float* %23
%761 = load float*, float** %14
%762 = load float, float* %761
%763 = fpext float %762 to double
%764 = fdiv double 0x400921FB54524550, %763
%765 = fptrunc double %764 to float
store float %765, float* %25
%766 = load float, float* %25
%767 = load float, float* %25
%768 = fmul float %766, %767
store float %768, float* %24
store i32 0, i32* %34
br label %769
769: ; preds = %819, %755
%770 = load i32, i32* %34
%771 = load i32, i32* %13
%772 = icmp slt i32 %770, %771
br i1 %772, label %773, label %822
773: ; preds = %769
%774 = load i32, i32* %34
%775 = sub nsw i32 %774, 1
%776 = sitofp i32 %775 to float
%777 = load float*, float** %12
%778 = load float, float* %777
%779 = load float, float* %23
%780 = fneg float %779
%781 = call float @llvm.fmuladd.f32(float %776, float %778, float %780)
store float %781, float* %20
%782 = load float, float* %20
%783 = load float, float* %20
%784 = fmul float %782, %783
store float %784, float* %22
%785 = load float, float* %24
%786 = load float, float* %22
%787 = fmul float %785, %786
%788 = fpext float %787 to double
store double %788, double* %18
%789 = load float*, float** %11
%790 = load i32, i32* %34
%791 = load i32, i32* %35
%792 = add nsw i32 %790, %791
%793 = sext i32 %792 to i64
%794 = getelementptr inbounds float, float* %789, i64 %793
%795 = load float, float* %794
%796 = fpext float %795 to double
%797 = load float*, float** %15
%798 = load float, float* %797
%799 = fpext float %798 to double
%800 = load float, float* %50
%801 = fpext float %800 to double
%802 = load double, double* %18
%803 = load float, float* %49
%804 = fpext float %803 to double
%805 = fneg double %804
%806 = call double @llvm.fmuladd.f64(double %801, double %802, double %805)
%807 = fmul double %799, %806
%808 = load double, double* %18
%809 = fneg double %808
%810 = call double @exp(double %809)
%811 = call double @llvm.fmuladd.f64(double %807, double %810, double %796)
%812 = fptrunc double %811 to float
%813 = load float*, float** %11
%814 = load i32, i32* %34
%815 = load i32, i32* %35
%816 = add nsw i32 %814, %815
%817 = sext i32 %816 to i64
%818 = getelementptr inbounds float, float* %813, i64 %817
store float %812, float* %818
br label %819
819: ; preds = %773
%820 = load i32, i32* %34
%821 = add nsw i32 %820, 1
store i32 %821, i32* %34
br label %769
822: ; preds = %769
br label %823
823: ; preds = %822, %751
%824 = load i8*, i8** %10
%825 = call i32 @strncmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i64 0, i64 0), i8* %824, i64 3)
%826 = icmp eq i32 %825, 0
br i1 %826, label %827, label %880
827: ; preds = %823
%828 = load float*, float** %14
%829 = load float, float* %828
%830 = fpext float %829 to double
%831 = fdiv double 0x401921FB54524550, %830
%832 = fptrunc double %831 to float
store float %832, float* %24
%833 = load float*, float** %14
%834 = load float, float* %833
%835 = load float*, float** %12
%836 = load float, float* %835
%837 = fdiv float %834, %836
%838 = fptosi float %837 to i32
store i32 %838, i32* %37
store i32 0, i32* %34
br label %839
839: ; preds = %876, %827
%840 = load i32, i32* %34
%841 = load i32, i32* %37
%842 = icmp slt i32 %840, %841
br i1 %842, label %843, label %879
843: ; preds = %839
%844 = load i32, i32* %34
%845 = sitofp i32 %844 to float
%846 = load float*, float** %12
%847 = load float, float* %846
%848 = fmul float %845, %847
%849 = load float, float* %24
%850 = fmul float %848, %849
%851 = fpext float %850 to double
store double %851, double* %19
%852 = load float*, float** %11
%853 = load i32, i32* %34
%854 = load i32, i32* %35
%855 = add nsw i32 %853, %854
%856 = sext i32 %855 to i64
%857 = getelementptr inbounds float, float* %852, i64 %856
%858 = load float, float* %857
%859 = fpext float %858 to double
%860 = load float*, float** %15
%861 = load float, float* %860
%862 = fpext float %861 to double
%863 = load float, float* %49
%864 = fpext float %863 to double
%865 = load double, double* %19
%866 = call double @cos(double %865)
%867 = fsub double %864, %866
%868 = call double @llvm.fmuladd.f64(double %862, double %867, double %859)
%869 = fptrunc double %868 to float
%870 = load float*, float** %11
%871 = load i32, i32* %34
%872 = load i32, i32* %35
%873 = add nsw i32 %871, %872
%874 = sext i32 %873 to i64
%875 = getelementptr inbounds float, float* %870, i64 %874
store float %869, float* %875
br label %876
876: ; preds = %843
%877 = load i32, i32* %34
%878 = add nsw i32 %877, 1
store i32 %878, i32* %34
br label %839
879: ; preds = %839
br label %880
880: ; preds = %879, %823
%881 = load i8*, i8** %10
%882 = call i32 @strncmp(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), i8* %881, i64 6)
%883 = icmp eq i32 %882, 0
br i1 %883, label %884, label %940
884: ; preds = %880
%885 = load float*, float** %14
%886 = load float, float* %885
%887 = load float*, float** %12
%888 = load float, float* %887
%889 = fdiv float %886, %888
%890 = fptosi float %889 to i32
store i32 %890, i32* %37
store i32 0, i32* %34
br label %891
891: ; preds = %936, %884
%892 = load i32, i32* %34
%893 = load i32, i32* %37
%894 = icmp slt i32 %892, %893
br i1 %894, label %895, label %939
895: ; preds = %891
%896 = load i32, i32* %34
%897 = sitofp i32 %896 to float
%898 = load float*, float** %12
%899 = load float, float* %898
%900 = fmul float %897, %899
%901 = load float*, float** %14
%902 = load float, float* %901
%903 = fdiv float %900, %902
%904 = fpext float %903 to double
store double %904, double* %19
%905 = load float*, float** %11
%906 = load i32, i32* %34
%907 = load i32, i32* %35
%908 = add nsw i32 %906, %907
%909 = sext i32 %908 to i64
%910 = getelementptr inbounds float, float* %905, i64 %909
%911 = load float, float* %910
%912 = fpext float %911 to double
%913 = load float*, float** %15
%914 = load float, float* %913
%915 = fpext float %914 to double
%916 = load double, double* %19
%917 = fmul double %915, %916
%918 = load float, float* %49
%919 = fpext float %918 to double
%920 = load double, double* %19
%921 = fmul double %920, 0x400921FB54524550
%922 = call double @cos(double %921)
%923 = fadd double %919, %922
%924 = fmul double %917, %923
%925 = load double, double* %19
%926 = fneg double %925
%927 = call double @exp(double %926)
%928 = call double @llvm.fmuladd.f64(double %924, double %927, double %912)
%929 = fptrunc double %928 to float
%930 = load float*, float** %11
%931 = load i32, i32* %34
%932 = load i32, i32* %35
%933 = add nsw i32 %931, %932
%934 = sext i32 %933 to i64
%935 = getelementptr inbounds float, float* %930, i64 %934
store float %929, float* %935
br label %936
936: ; preds = %895
%937 = load i32, i32* %34
%938 = add nsw i32 %937, 1
store i32 %938, i32* %34
br label %891
939: ; preds = %891
br label %940
940: ; preds = %939, %880
%941 = load i8*, i8** %10
%942 = call i32 @strncmp(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.12, i64 0, i64 0), i8* %941, i64 7)
%943 = icmp eq i32 %942, 0
br i1 %943, label %944, label %999
944: ; preds = %940
%945 = load float*, float** %14
%946 = load float, float* %945
%947 = load float*, float** %12
%948 = load float, float* %947
%949 = fdiv float %946, %948
%950 = fptosi float %949 to i32
store i32 %950, i32* %37
store i32 0, i32* %34
br label %951
951: ; preds = %995, %944
%952 = load i32, i32* %34
%953 = load i32, i32* %37
%954 = icmp slt i32 %952, %953
br i1 %954, label %955, label %998
955: ; preds = %951
%956 = load i32, i32* %34
%957 = sitofp i32 %956 to float
%958 = load float*, float** %12
%959 = load float, float* %958
%960 = fmul float %957, %959
%961 = load float*, float** %14
%962 = load float, float* %961
%963 = fdiv float %960, %962
%964 = fpext float %963 to double
store double %964, double* %19
%965 = load float*, float** %11
%966 = load i32, i32* %34
%967 = load i32, i32* %35
%968 = add nsw i32 %966, %967
%969 = sext i32 %968 to i64
%970 = getelementptr inbounds float, float* %965, i64 %969
%971 = load float, float* %970
%972 = fpext float %971 to double
%973 = load float*, float** %15
%974 = load float, float* %973
%975 = fpext float %974 to double
%976 = load float, float* %49
%977 = fpext float %976 to double
%978 = load double, double* %19
%979 = fmul double 2.000000e+00, %978
%980 = fmul double %979, 0x400921FB54524550
%981 = call double @cos(double %980)
%982 = fsub double %977, %981
%983 = fmul double %975, %982
%984 = load double, double* %19
%985 = fneg double %984
%986 = call double @exp(double %985)
%987 = call double @llvm.fmuladd.f64(double %983, double %986, double %972)
%988 = fptrunc double %987 to float
%989 = load float*, float** %11
%990 = load i32, i32* %34
%991 = load i32, i32* %35
%992 = add nsw i32 %990, %991
%993 = sext i32 %992 to i64
%994 = getelementptr inbounds float, float* %989, i64 %993
store float %988, float* %994
br label %995
995: ; preds = %955
%996 = load i32, i32* %34
%997 = add nsw i32 %996, 1
store i32 %997, i32* %34
br label %951
998: ; preds = %951
br label %999
999: ; preds = %998, %940
%1000 = load i8*, i8** %10
%1001 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i64 0, i64 0), i8* %1000, i64 4)
%1002 = icmp eq i32 %1001, 0
br i1 %1002, label %1003, label %1060
1003: ; preds = %999
%1004 = load float*, float** %14
%1005 = load float, float* %1004
%1006 = load float*, float** %14
%1007 = load float, float* %1006
%1008 = fmul float %1005, %1007
%1009 = fpext float %1008 to double
%1010 = fdiv double 1.000000e+00, %1009
%1011 = fptrunc double %1010 to float
store float %1011, float* %24
store i32 0, i32* %34
br label %1012
1012: ; preds = %1056, %1003
%1013 = load i32, i32* %34
%1014 = load i32, i32* %13
%1015 = load i32, i32* %35
%1016 = sub nsw i32 %1014, %1015
%1017 = icmp slt i32 %1013, %1016
br i1 %1017, label %1018, label %1059
1018: ; preds = %1012
%1019 = load i32, i32* %34
%1020 = sitofp i32 %1019 to float
%1021 = load float*, float** %12
%1022 = load float, float* %1021
%1023 = fmul float %1020, %1022
%1024 = fpext float %1023 to double
store double %1024, double* %18
%1025 = load float*, float** %11
%1026 = load i32, i32* %34
%1027 = load i32, i32* %35
%1028 = add nsw i32 %1026, %1027
%1029 = sext i32 %1028 to i64
%1030 = getelementptr inbounds float, float* %1025, i64 %1029
%1031 = load float, float* %1030
%1032 = fpext float %1031 to double
%1033 = load float*, float** %15
%1034 = load float, float* %1033
%1035 = fpext float %1034 to double
%1036 = load double, double* %18
%1037 = fmul double %1035, %1036
%1038 = load float, float* %24
%1039 = fpext float %1038 to double
%1040 = fmul double %1037, %1039
%1041 = load double, double* %18
%1042 = fneg double %1041
%1043 = load float*, float** %14
%1044 = load float, float* %1043
%1045 = fpext float %1044 to double
%1046 = fdiv double %1042, %1045
%1047 = call double @exp(double %1046)
%1048 = call double @llvm.fmuladd.f64(double %1040, double %1047, double %1032)
%1049 = fptrunc double %1048 to float
%1050 = load float*, float** %11
%1051 = load i32, i32* %34
%1052 = load i32, i32* %35
%1053 = add nsw i32 %1051, %1052
%1054 = sext i32 %1053 to i64
%1055 = getelementptr inbounds float, float* %1050, i64 %1054
store float %1049, float* %1055
br label %1056
1056: ; preds = %1018
%1057 = load i32, i32* %34
%1058 = add nsw i32 %1057, 1
store i32 %1058, i32* %34
br label %1012
1059: ; preds = %1012
br label %1060
1060: ; preds = %1059, %999
%1061 = load i8*, i8** %10
%1062 = call i32 @strncmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.14, i64 0, i64 0), i8* %1061, i64 5)
%1063 = icmp eq i32 %1062, 0
br i1 %1063, label %1064, label %1126
1064: ; preds = %1060
%1065 = load float*, float** %14
%1066 = load float, float* %1065
%1067 = fpext float %1066 to double
%1068 = fmul double 1.600000e-01, %1067
%1069 = fptrunc double %1068 to float
store float %1069, float* %21
%1070 = load float*, float** %14
%1071 = load float, float* %1070
%1072 = fpext float %1071 to double
%1073 = fmul double 2.108000e-01, %1072
%1074 = fptrunc double %1073 to float
store float %1074, float* %21
%1075 = load float*, float** %14
%1076 = load float, float* %1075
%1077 = fpext float %1076 to double
%1078 = fmul double 1.250000e-01, %1077
%1079 = fptrunc double %1078 to float
store float %1079, float* %21
store i32 0, i32* %34
br label %1080
1080: ; preds = %1122, %1064
%1081 = load i32, i32* %34
%1082 = load i32, i32* %13
%1083 = load i32, i32* %35
%1084 = sub nsw i32 %1082, %1083
%1085 = icmp slt i32 %1081, %1084
br i1 %1085, label %1086, label %1125
1086: ; preds = %1080
%1087 = load i32, i32* %34
%1088 = sitofp i32 %1087 to float
%1089 = load float*, float** %12
%1090 = load float, float* %1089
%1091 = fmul float %1088, %1090
%1092 = load float, float* %21
%1093 = fdiv float %1091, %1092
%1094 = fpext float %1093 to double
store double %1094, double* %18
%1095 = load float*, float** %11
%1096 = load i32, i32* %34
%1097 = load i32, i32* %35
%1098 = add nsw i32 %1096, %1097
%1099 = sext i32 %1098 to i64
%1100 = getelementptr inbounds float, float* %1095, i64 %1099
%1101 = load float, float* %1100
%1102 = fpext float %1101 to double
%1103 = load float*, float** %15
%1104 = load float, float* %1103
%1105 = fpext float %1104 to double
%1106 = load double, double* %18
%1107 = load float, float* %21
%1108 = fpext float %1107 to double
%1109 = fdiv double %1106, %1108
%1110 = fmul double %1105, %1109
%1111 = load double, double* %18
%1112 = fneg double %1111
%1113 = call double @exp(double %1112)
%1114 = call double @llvm.fmuladd.f64(double %1110, double %1113, double %1102)
%1115 = fptrunc double %1114 to float
%1116 = load float*, float** %11
%1117 = load i32, i32* %34
%1118 = load i32, i32* %35
%1119 = add nsw i32 %1117, %1118
%1120 = sext i32 %1119 to i64
%1121 = getelementptr inbounds float, float* %1116, i64 %1120
store float %1115, float* %1121
br label %1122
1122: ; preds = %1086
%1123 = load i32, i32* %34
%1124 = add nsw i32 %1123, 1
store i32 %1124, i32* %34
br label %1080
1125: ; preds = %1080
br label %1126
1126: ; preds = %1125, %1060
%1127 = load i8*, i8** %10
%1128 = call i32 @strncmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.15, i64 0, i64 0), i8* %1127, i64 5)
%1129 = icmp eq i32 %1128, 0
br i1 %1129, label %1130, label %1181
1130: ; preds = %1126
store i32 0, i32* %34
br label %1131
1131: ; preds = %1177, %1130
%1132 = load i32, i32* %34
%1133 = load i32, i32* %13
%1134 = load i32, i32* %35
%1135 = sub nsw i32 %1133, %1134
%1136 = icmp slt i32 %1132, %1135
br i1 %1136, label %1137, label %1180
1137: ; preds = %1131
%1138 = load i32, i32* %34
%1139 = icmp eq i32 %1138, 0
br i1 %1139, label %1140, label %1146
1140: ; preds = %1137
%1141 = load float*, float** %12
%1142 = load float, float* %1141
%1143 = fpext float %1142 to double
%1144 = fmul double 1.000000e-02, %1143
%1145 = fptrunc double %1144 to float
store float %1145, float* %20
br label %1152
1146: ; preds = %1137
%1147 = load i32, i32* %34
%1148 = sitofp i32 %1147 to float
%1149 = load float*, float** %12
%1150 = load float, float* %1149
%1151 = fmul float %1148, %1150
store float %1151, float* %20
br label %1152
1152: ; preds = %1146, %1140
%1153 = load float*, float** %11
%1154 = load i32, i32* %34
%1155 = load i32, i32* %35
%1156 = add nsw i32 %1154, %1155
%1157 = sext i32 %1156 to i64
%1158 = getelementptr inbounds float, float* %1153, i64 %1157
%1159 = load float, float* %1158
%1160 = fpext float %1159 to double
%1161 = load float, float* %49
%1162 = load float, float* %20
%1163 = fsub float %1161, %1162
%1164 = fpext float %1163 to double
%1165 = load float, float* %20
%1166 = fpext float %1165 to double
%1167 = call double @sqrt(double %1166)
%1168 = fdiv double %1164, %1167
%1169 = fadd double %1160, %1168
%1170 = fptrunc double %1169 to float
%1171 = load float*, float** %11
%1172 = load i32, i32* %34
%1173 = load i32, i32* %35
%1174 = add nsw i32 %1172, %1173
%1175 = sext i32 %1174 to i64
%1176 = getelementptr inbounds float, float* %1171, i64 %1175
store float %1170, float* %1176
br label %1177
1177: ; preds = %1152
%1178 = load i32, i32* %34
%1179 = add nsw i32 %1178, 1
store i32 %1179, i32* %34
br label %1131
1180: ; preds = %1131
br label %1181
1181: ; preds = %1180, %1126
%1182 = load i8*, i8** %10
%1183 = call i32 @strncmp(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i64 0, i64 0), i8* %1182, i64 8)
%1184 = icmp eq i32 %1183, 0
br i1 %1184, label %1185, label %1393
1185: ; preds = %1181
store float 0x3FB99999A0000000, float* %29
%1186 = load float, float* %29
%1187 = fpext float %1186 to double
%1188 = fmul double 1.250000e+00, %1187
%1189 = fptrunc double %1188 to float
store float %1189, float* %30
%1190 = load float*, float** %14
%1191 = load float, float* %1190
store float %1191, float* %31
%1192 = load float*, float** %14
%1193 = load float, float* %1192
%1194 = fpext float %1193 to double
%1195 = fmul double 1.500000e+00, %1194
%1196 = fptrunc double %1195 to float
store float %1196, float* %32
%1197 = load float, float* %50
%1198 = load float*, float** %15
%1199 = load float, float* %1198
%1200 = fmul float %1197, %1199
%1201 = load float, float* %29
%1202 = fdiv float %1200, %1201
store float %1202, float* %24
%1203 = load float, float* %48
%1204 = load float, float* %29
%1205 = fdiv float %1203, %1204
store float %1205, float* %26
%1206 = load float, float* %30
%1207 = fpext float %1206 to double
%1208 = load float, float* %29
%1209 = fpext float %1208 to double
%1210 = fmul double 3.000000e+00, %1209
%1211 = fneg double %1210
%1212 = call double @llvm.fmuladd.f64(double 2.500000e+00, double %1207, double %1211)
%1213 = load float, float* %49
%1214 = load float, float* %29
%1215 = load float, float* %30
%1216 = fdiv float %1214, %1215
%1217 = fsub float %1213, %1216
%1218 = fpext float %1217 to double
%1219 = fdiv double %1212, %1218
%1220 = fptrunc double %1219 to float
store float %1220, float* %27
%1221 = load float, float* %24
%1222 = load float, float* %30
%1223 = fmul float %1221, %1222
%1224 = load float, float* %49
%1225 = load float, float* %26
%1226 = load float, float* %30
%1227 = fneg float %1225
%1228 = call float @llvm.fmuladd.f32(float %1227, float %1226, float %1224)
%1229 = fmul float %1223, %1228
%1230 = fpext float %1229 to double
%1231 = load float, float* %30
%1232 = load float, float* %27
%1233 = fsub float %1231, %1232
%1234 = fpext float %1233 to double
%1235 = call double @sqrt(double %1234)
%1236 = fmul double %1230, %1235
%1237 = fptrunc double %1236 to float
store float %1237, float* %25
%1238 = load float, float* %25
%1239 = fpext float %1238 to double
%1240 = load float, float* %31
%1241 = load float, float* %27
%1242 = fsub float %1240, %1241
%1243 = fpext float %1242 to double
%1244 = call double @sqrt(double %1243)
%1245 = fdiv double %1239, %1244
%1246 = fptrunc double %1245 to float
store float %1246, float* %33
%1247 = load float, float* %33
%1248 = fneg float %1247
%1249 = load float, float* %32
%1250 = load float, float* %31
%1251 = fsub float %1249, %1250
%1252 = fdiv float %1248, %1251
store float %1252, float* %41
%1253 = load float, float* %30
%1254 = load float*, float** %12
%1255 = load float, float* %1254
%1256 = fdiv float %1253, %1255
%1257 = fptosi float %1256 to i32
%1258 = add nsw i32 %1257, 1
store i32 %1258, i32* %39
%1259 = load float, float* %31
%1260 = load float*, float** %12
%1261 = load float, float* %1260
%1262 = fdiv float %1259, %1261
%1263 = fptosi float %1262 to i32
%1264 = add nsw i32 %1263, 1
store i32 %1264, i32* %40
%1265 = load float, float* %32
%1266 = load float*, float** %12
%1267 = load float, float* %1266
%1268 = fdiv float %1265, %1267
%1269 = fptosi float %1268 to i32
%1270 = add nsw i32 %1269, 1
store i32 %1270, i32* %38
%1271 = load i32, i32* %39
%1272 = load i32, i32* %13
%1273 = load i32, i32* %35
%1274 = sub nsw i32 %1272, %1273
%1275 = icmp sgt i32 %1271, %1274
br i1 %1275, label %1276, label %1280
1276: ; preds = %1185
%1277 = load i32, i32* %13
%1278 = load i32, i32* %35
%1279 = sub nsw i32 %1277, %1278
store i32 %1279, i32* %39
br label %1280
1280: ; preds = %1276, %1185
%1281 = load i32, i32* %40
%1282 = load i32, i32* %13
%1283 = load i32, i32* %35
%1284 = sub nsw i32 %1282, %1283
%1285 = icmp sgt i32 %1281, %1284
br i1 %1285, label %1286, label %1290
1286: ; preds = %1280
%1287 = load i32, i32* %13
%1288 = load i32, i32* %35
%1289 = sub nsw i32 %1287, %1288
store i32 %1289, i32* %40
br label %1290
1290: ; preds = %1286, %1280
%1291 = load i32, i32* %38
%1292 = load i32, i32* %13
%1293 = load i32, i32* %35
%1294 = sub nsw i32 %1292, %1293
%1295 = icmp sgt i32 %1291, %1294
br i1 %1295, label %1296, label %1300
1296: ; preds = %1290
%1297 = load i32, i32* %13
%1298 = load i32, i32* %35
%1299 = sub nsw i32 %1297, %1298
store i32 %1299, i32* %38
br label %1300
1300: ; preds = %1296, %1290
store i32 0, i32* %34
br label %1301
1301: ; preds = %1389, %1300
%1302 = load i32, i32* %34
%1303 = load i32, i32* %38
%1304 = icmp slt i32 %1302, %1303
br i1 %1304, label %1305, label %1392
1305: ; preds = %1301
%1306 = load i32, i32* %34
%1307 = sitofp i32 %1306 to float
%1308 = load float*, float** %12
%1309 = load float, float* %1308
%1310 = fmul float %1307, %1309
store float %1310, float* %20
%1311 = load float, float* %20
%1312 = load float, float* %30
%1313 = fcmp ole float %1311, %1312
br i1 %1313, label %1314, label %1337
1314: ; preds = %1305
%1315 = load float*, float** %11
%1316 = load i32, i32* %34
%1317 = load i32, i32* %35
%1318 = add nsw i32 %1316, %1317
%1319 = sext i32 %1318 to i64
%1320 = getelementptr inbounds float, float* %1315, i64 %1319
%1321 = load float, float* %1320
%1322 = load float, float* %24
%1323 = load float, float* %20
%1324 = fmul float %1322, %1323
%1325 = load float, float* %49
%1326 = load float, float* %26
%1327 = load float, float* %20
%1328 = fneg float %1326
%1329 = call float @llvm.fmuladd.f32(float %1328, float %1327, float %1325)
%1330 = call float @llvm.fmuladd.f32(float %1324, float %1329, float %1321)
%1331 = load float*, float** %11
%1332 = load i32, i32* %34
%1333 = load i32, i32* %35
%1334 = add nsw i32 %1332, %1333
%1335 = sext i32 %1334 to i64
%1336 = getelementptr inbounds float, float* %1331, i64 %1335
store float %1330, float* %1336
br label %1388
1337: ; preds = %1305
%1338 = load float, float* %20
%1339 = load float, float* %31
%1340 = fcmp ole float %1338, %1339
br i1 %1340, label %1341, label %1366
1341: ; preds = %1337
%1342 = load float*, float** %11
%1343 = load i32, i32* %34
%1344 = load i32, i32* %35
%1345 = add nsw i32 %1343, %1344
%1346 = sext i32 %1345 to i64
%1347 = getelementptr inbounds float, float* %1342, i64 %1346
%1348 = load float, float* %1347
%1349 = fpext float %1348 to double
%1350 = load float, float* %25
%1351 = fpext float %1350 to double
%1352 = load float, float* %20
%1353 = load float, float* %27
%1354 = fsub float %1352, %1353
%1355 = fpext float %1354 to double
%1356 = call double @sqrt(double %1355)
%1357 = fdiv double %1351, %1356
%1358 = fadd double %1349, %1357
%1359 = fptrunc double %1358 to float
%1360 = load float*, float** %11
%1361 = load i32, i32* %34
%1362 = load i32, i32* %35
%1363 = add nsw i32 %1361, %1362
%1364 = sext i32 %1363 to i64
%1365 = getelementptr inbounds float, float* %1360, i64 %1364
store float %1359, float* %1365
br label %1387
1366: ; preds = %1337
%1367 = load float*, float** %11
%1368 = load i32, i32* %34
%1369 = load i32, i32* %35
%1370 = add nsw i32 %1368, %1369
%1371 = sext i32 %1370 to i64
%1372 = getelementptr inbounds float, float* %1367, i64 %1371
%1373 = load float, float* %1372
%1374 = load float, float* %33
%1375 = fadd float %1373, %1374
%1376 = load float, float* %20
%1377 = load float, float* %31
%1378 = fsub float %1376, %1377
%1379 = load float, float* %41
%1380 = call float @llvm.fmuladd.f32(float %1378, float %1379, float %1375)
%1381 = load float*, float** %11
%1382 = load i32, i32* %34
%1383 = load i32, i32* %35
%1384 = add nsw i32 %1382, %1383
%1385 = sext i32 %1384 to i64
%1386 = getelementptr inbounds float, float* %1381, i64 %1385
store float %1380, float* %1386
br label %1387
1387: ; preds = %1366, %1341
br label %1388
1388: ; preds = %1387, %1314
br label %1389
1389: ; preds = %1388
%1390 = load i32, i32* %34
%1391 = add nsw i32 %1390, 1
store i32 %1391, i32* %34
br label %1301
1392: ; preds = %1301
br label %1393
1393: ; preds = %1392, %1181
%1394 = load i8*, i8** %10
%1395 = call i32 @strncmp(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i64 0, i64 0), i8* %1394, i64 8)
%1396 = icmp eq i32 %1395, 0
br i1 %1396, label %1397, label %1560
1397: ; preds = %1393
%1398 = load i8*, i8** %10
%1399 = getelementptr inbounds i8, i8* %1398, i64 4
%1400 = load i8, i8* %1399
%1401 = sext i8 %1400 to i32
%1402 = icmp eq i32 %1401, 0
br i1 %1402, label %1403, label %1409
1403: ; preds = %1397
%1404 = load float*, float** %14
%1405 = load float, float* %1404
%1406 = fpext float %1405 to double
%1407 = fmul double 1.000000e-01, %1406
%1408 = fptrunc double %1407 to float
store float %1408, float* %24
br label %1431
1409: ; preds = %1397
%1410 = load i8*, i8** %10
%1411 = getelementptr inbounds i8, i8* %1410, i64 4
%1412 = call i32 @strncmp(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i8* %1411, i64 2)
%1413 = icmp eq i32 %1412, 0
br i1 %1413, label %1414, label %1425
1414: ; preds = %1409
%1415 = load float*, float** %14
%1416 = load float, float* %1415
%1417 = fpext float %1416 to double
%1418 = fmul double 1.000000e-02, %1417
%1419 = load i8*, i8** %10
%1420 = getelementptr inbounds i8, i8* %1419, i64 6
%1421 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1420)
%1422 = sitofp i32 %1421 to double
%1423 = fmul double %1418, %1422
%1424 = fptrunc double %1423 to float
store float %1424, float* %24
br label %1430
1425: ; preds = %1409
%1426 = load i8*, i8** %10
%1427 = getelementptr inbounds i8, i8* %1426, i64 4
%1428 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1427)
%1429 = sitofp i32 %1428 to float
store float %1429, float* %24
br label %1430
1430: ; preds = %1425, %1414
br label %1431
1431: ; preds = %1430, %1403
%1432 = load float, float* %24
%1433 = load float*, float** %12
%1434 = load float, float* %1433
%1435 = fdiv float %1432, %1434
%1436 = fpext float %1435 to double
%1437 = fadd double %1436, 5.000000e-01
%1438 = fptosi double %1437 to i32
store i32 %1438, i32* %39
%1439 = load i32, i32* %39
%1440 = icmp slt i32 %1439, 2
br i1 %1440, label %1441, label %1442
1441: ; preds = %1431
store i32 2, i32* %39
br label %1442
1442: ; preds = %1441, %1431
%1443 = load float*, float** %14
%1444 = load float, float* %1443
%1445 = load float*, float** %12
%1446 = load float, float* %1445
%1447 = fdiv float %1444, %1446
%1448 = fpext float %1447 to double
%1449 = fadd double %1448, 5.000000e-01
%1450 = fptosi double %1449 to i32
store i32 %1450, i32* %40
%1451 = load i32, i32* %40
%1452 = icmp slt i32 %1451, 4
br i1 %1452, label %1453, label %1454
1453: ; preds = %1442
store i32 2, i32* %40
br label %1454
1454: ; preds = %1453, %1442
%1455 = load i32, i32* %39
%1456 = load i32, i32* %39
%1457 = sdiv i32 %1456, 2
%1458 = add nsw i32 %1455, %1457
store i32 %1458, i32* %38
store float 1.000000e+00, float* %24
%1459 = load float, float* %24
%1460 = load i32, i32* %39
%1461 = sitofp i32 %1460 to float
%1462 = fdiv float %1459, %1461
store float %1462, float* %41
store i32 0, i32* %34
br label %1463
1463: ; preds = %1485, %1454
%1464 = load i32, i32* %34
%1465 = load i32, i32* %39
%1466 = icmp slt i32 %1464, %1465
br i1 %1466, label %1467, label %1488
1467: ; preds = %1463
%1468 = load float*, float** %11
%1469 = load i32, i32* %34
%1470 = load i32, i32* %35
%1471 = add nsw i32 %1469, %1470
%1472 = sext i32 %1471 to i64
%1473 = getelementptr inbounds float, float* %1468, i64 %1472
%1474 = load float, float* %1473
%1475 = load i32, i32* %34
%1476 = sitofp i32 %1475 to float
%1477 = load float, float* %41
%1478 = call float @llvm.fmuladd.f32(float %1476, float %1477, float %1474)
%1479 = load float*, float** %11
%1480 = load i32, i32* %34
%1481 = load i32, i32* %35
%1482 = add nsw i32 %1480, %1481
%1483 = sext i32 %1482 to i64
%1484 = getelementptr inbounds float, float* %1479, i64 %1483
store float %1478, float* %1484
br label %1485
1485: ; preds = %1467
%1486 = load i32, i32* %34
%1487 = add nsw i32 %1486, 1
store i32 %1487, i32* %34
br label %1463
1488: ; preds = %1463
%1489 = load i32, i32* %39
store i32 %1489, i32* %34
br label %1490
1490: ; preds = %1515, %1488
%1491 = load i32, i32* %34
%1492 = load i32, i32* %38
%1493 = icmp slt i32 %1491, %1492
br i1 %1493, label %1494, label %1518
1494: ; preds = %1490
%1495 = load float*, float** %11
%1496 = load i32, i32* %34
%1497 = load i32, i32* %35
%1498 = add nsw i32 %1496, %1497
%1499 = sext i32 %1498 to i64
%1500 = getelementptr inbounds float, float* %1495, i64 %1499
%1501 = load float, float* %1500
%1502 = load i32, i32* %39
%1503 = mul nsw i32 2, %1502
%1504 = load i32, i32* %34
%1505 = sub nsw i32 %1503, %1504
%1506 = sitofp i32 %1505 to float
%1507 = load float, float* %41
%1508 = call float @llvm.fmuladd.f32(float %1506, float %1507, float %1501)
%1509 = load float*, float** %11
%1510 = load i32, i32* %34
%1511 = load i32, i32* %35
%1512 = add nsw i32 %1510, %1511
%1513 = sext i32 %1512 to i64
%1514 = getelementptr inbounds float, float* %1509, i64 %1513
store float %1508, float* %1514
br label %1515
1515: ; preds = %1494
%1516 = load i32, i32* %34
%1517 = add nsw i32 %1516, 1
store i32 %1517, i32* %34
br label %1490
1518: ; preds = %1490
%1519 = load float, float* %24
%1520 = fpext float %1519 to double
%1521 = fmul double 5.000000e-01, %1520
%1522 = fptrunc double %1521 to float
store float %1522, float* %24
%1523 = load float, float* %24
%1524 = load i32, i32* %40
%1525 = load i32, i32* %38
%1526 = sub nsw i32 %1524, %1525
%1527 = sitofp i32 %1526 to float
%1528 = fdiv float %1523, %1527
store float %1528, float* %41
%1529 = load i32, i32* %38
store i32 %1529, i32* %34
br label %1530
1530: ; preds = %1556, %1518
%1531 = load i32, i32* %34
%1532 = load i32, i32* %40
%1533 = icmp slt i32 %1531, %1532
br i1 %1533, label %1534, label %1559
1534: ; preds = %1530
%1535 = load float*, float** %11
%1536 = load i32, i32* %34
%1537 = load i32, i32* %35
%1538 = add nsw i32 %1536, %1537
%1539 = sext i32 %1538 to i64
%1540 = getelementptr inbounds float, float* %1535, i64 %1539
%1541 = load float, float* %1540
%1542 = load float, float* %24
%1543 = fadd float %1541, %1542
%1544 = load i32, i32* %38
%1545 = load i32, i32* %34
%1546 = sub nsw i32 %1544, %1545
%1547 = sitofp i32 %1546 to float
%1548 = load float, float* %41
%1549 = call float @llvm.fmuladd.f32(float %1547, float %1548, float %1543)
%1550 = load float*, float** %11
%1551 = load i32, i32* %34
%1552 = load i32, i32* %35
%1553 = add nsw i32 %1551, %1552
%1554 = sext i32 %1553 to i64
%1555 = getelementptr inbounds float, float* %1550, i64 %1554
store float %1549, float* %1555
br label %1556
1556: ; preds = %1534
%1557 = load i32, i32* %34
%1558 = add nsw i32 %1557, 1
store i32 %1558, i32* %34
br label %1530
1559: ; preds = %1530
br label %1560
1560: ; preds = %1559, %1393
%1561 = load i8*, i8** %10
%1562 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.19, i64 0, i64 0), i8* %1561, i64 4)
%1563 = icmp eq i32 %1562, 0
br i1 %1563, label %1564, label %1755
1564: ; preds = %1560
%1565 = load float*, float** %14
%1566 = load float, float* %1565
%1567 = fpext float %1566 to double
%1568 = fmul double 1.000000e-01, %1567
%1569 = fptrunc double %1568 to float
store float %1569, float* %24
store float 0x3FC99999A0000000, float* %25
%1570 = load i8*, i8** %10
%1571 = getelementptr inbounds i8, i8* %1570, i64 4
%1572 = call i32 @strncmp(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i8* %1571, i64 2)
%1573 = icmp eq i32 %1572, 0
br i1 %1573, label %1574, label %1597
1574: ; preds = %1564
%1575 = load float*, float** %14
%1576 = load float, float* %1575
%1577 = fpext float %1576 to double
%1578 = fmul double 1.000000e-02, %1577
%1579 = load i8*, i8** %10
%1580 = getelementptr inbounds i8, i8* %1579, i64 6
%1581 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1580)
%1582 = sitofp i32 %1581 to double
%1583 = fmul double %1578, %1582
%1584 = fptrunc double %1583 to float
store float %1584, float* %24
%1585 = load i8*, i8** %10
%1586 = getelementptr inbounds i8, i8* %1585, i64 8
%1587 = call i32 @strncmp(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), i8* %1586, i64 2)
%1588 = icmp eq i32 %1587, 0
br i1 %1588, label %1589, label %1596
1589: ; preds = %1574
%1590 = load i8*, i8** %10
%1591 = getelementptr inbounds i8, i8* %1590, i64 10
%1592 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1591)
%1593 = sitofp i32 %1592 to double
%1594 = fmul double 1.000000e-02, %1593
%1595 = fptrunc double %1594 to float
store float %1595, float* %25
br label %1596
1596: ; preds = %1589, %1574
br label %1597
1597: ; preds = %1596, %1564
%1598 = load i8*, i8** %10
%1599 = getelementptr inbounds i8, i8* %1598, i64 4
%1600 = call i32 @strncmp(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), i8* %1599, i64 2)
%1601 = icmp eq i32 %1600, 0
br i1 %1601, label %1602, label %1625
1602: ; preds = %1597
%1603 = load i8*, i8** %10
%1604 = getelementptr inbounds i8, i8* %1603, i64 6
%1605 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1604)
%1606 = sitofp i32 %1605 to double
%1607 = fmul double 1.000000e-02, %1606
%1608 = fptrunc double %1607 to float
store float %1608, float* %25
%1609 = load i8*, i8** %10
%1610 = getelementptr inbounds i8, i8* %1609, i64 8
%1611 = call i32 @strncmp(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i8* %1610, i64 2)
%1612 = icmp eq i32 %1611, 0
br i1 %1612, label %1613, label %1624
1613: ; preds = %1602
%1614 = load float*, float** %14
%1615 = load float, float* %1614
%1616 = fpext float %1615 to double
%1617 = fmul double 1.000000e-02, %1616
%1618 = load i8*, i8** %10
%1619 = getelementptr inbounds i8, i8* %1618, i64 10
%1620 = call i32 (i8*, ...) bitcast (i32 (...)* @atof to i32 (i8*, ...)*)(i8* %1619)
%1621 = sitofp i32 %1620 to double
%1622 = fmul double %1617, %1621
%1623 = fptrunc double %1622 to float
store float %1623, float* %24
br label %1624
1624: ; preds = %1613, %1602
br label %1625
1625: ; preds = %1624, %1597
%1626 = load float, float* %24
%1627 = load float*, float** %12
%1628 = load float, float* %1627
%1629 = fdiv float %1626, %1628
%1630 = fpext float %1629 to double
%1631 = fadd double %1630, 5.000000e-01
%1632 = fptosi double %1631 to i32
store i32 %1632, i32* %39
%1633 = load i32, i32* %39
%1634 = icmp slt i32 %1633, 2
br i1 %1634, label %1635, label %1636
1635: ; preds = %1625
store i32 2, i32* %39
br label %1636
1636: ; preds = %1635, %1625
%1637 = load float*, float** %14
%1638 = load float, float* %1637
%1639 = load float*, float** %12
%1640 = load float, float* %1639
%1641 = fdiv float %1638, %1640
%1642 = fpext float %1641 to double
%1643 = fadd double %1642, 5.000000e-01
%1644 = fptosi double %1643 to i32
store i32 %1644, i32* %40
%1645 = load i32, i32* %40
%1646 = icmp slt i32 %1645, 4
br i1 %1646, label %1647, label %1648
1647: ; preds = %1636
store i32 2, i32* %40
br label %1648
1648: ; preds = %1647, %1636
%1649 = load float, float* %25
%1650 = fsub float 2.000000e+00, %1649
%1651 = load i32, i32* %39
%1652 = sitofp i32 %1651 to float
%1653 = fmul float %1650, %1652
%1654 = fptosi float %1653 to i32
store i32 %1654, i32* %38
store float 1.000000e+00, float* %24
%1655 = load float, float* %24
%1656 = load i32, i32* %39
%1657 = sitofp i32 %1656 to float
%1658 = fdiv float %1655, %1657
store float %1658, float* %41
store i32 0, i32* %34
br label %1659
1659: ; preds = %1681, %1648
%1660 = load i32, i32* %34
%1661 = load i32, i32* %39
%1662 = icmp slt i32 %1660, %1661
br i1 %1662, label %1663, label %1684
1663: ; preds = %1659
%1664 = load float*, float** %11
%1665 = load i32, i32* %34
%1666 = load i32, i32* %35
%1667 = add nsw i32 %1665, %1666
%1668 = sext i32 %1667 to i64
%1669 = getelementptr inbounds float, float* %1664, i64 %1668
%1670 = load float, float* %1669
%1671 = load i32, i32* %34
%1672 = sitofp i32 %1671 to float
%1673 = load float, float* %41
%1674 = call float @llvm.fmuladd.f32(float %1672, float %1673, float %1670)
%1675 = load float*, float** %11
%1676 = load i32, i32* %34
%1677 = load i32, i32* %35
%1678 = add nsw i32 %1676, %1677
%1679 = sext i32 %1678 to i64
%1680 = getelementptr inbounds float, float* %1675, i64 %1679
store float %1674, float* %1680
br label %1681
1681: ; preds = %1663
%1682 = load i32, i32* %34
%1683 = add nsw i32 %1682, 1
store i32 %1683, i32* %34
br label %1659
1684: ; preds = %1659
%1685 = load i32, i32* %39
store i32 %1685, i32* %34
br label %1686
1686: ; preds = %1711, %1684
%1687 = load i32, i32* %34
%1688 = load i32, i32* %38
%1689 = icmp slt i32 %1687, %1688
br i1 %1689, label %1690, label %1714
1690: ; preds = %1686
%1691 = load float*, float** %11
%1692 = load i32, i32* %34
%1693 = load i32, i32* %35
%1694 = add nsw i32 %1692, %1693
%1695 = sext i32 %1694 to i64
%1696 = getelementptr inbounds float, float* %1691, i64 %1695
%1697 = load float, float* %1696
%1698 = load i32, i32* %39
%1699 = mul nsw i32 2, %1698
%1700 = load i32, i32* %34
%1701 = sub nsw i32 %1699, %1700
%1702 = sitofp i32 %1701 to float
%1703 = load float, float* %41
%1704 = call float @llvm.fmuladd.f32(float %1702, float %1703, float %1697)
%1705 = load float*, float** %11
%1706 = load i32, i32* %34
%1707 = load i32, i32* %35
%1708 = add nsw i32 %1706, %1707
%1709 = sext i32 %1708 to i64
%1710 = getelementptr inbounds float, float* %1705, i64 %1709
store float %1704, float* %1710
br label %1711
1711: ; preds = %1690
%1712 = load i32, i32* %34
%1713 = add nsw i32 %1712, 1
store i32 %1713, i32* %34
br label %1686
1714: ; preds = %1686
%1715 = load float, float* %25
%1716 = load float, float* %24
%1717 = fmul float %1715, %1716
store float %1717, float* %24
%1718 = load float, float* %24
%1719 = load i32, i32* %40
%1720 = load i32, i32* %38
%1721 = sub nsw i32 %1719, %1720
%1722 = sitofp i32 %1721 to float
%1723 = fdiv float %1718, %1722
store float %1723, float* %41
%1724 = load i32, i32* %38
store i32 %1724, i32* %34
br label %1725
1725: ; preds = %1751, %1714
%1726 = load i32, i32* %34
%1727 = load i32, i32* %40
%1728 = icmp slt i32 %1726, %1727
br i1 %1728, label %1729, label %1754
1729: ; preds = %1725
%1730 = load float*, float** %11
%1731 = load i32, i32* %34
%1732 = load i32, i32* %35
%1733 = add nsw i32 %1731, %1732
%1734 = sext i32 %1733 to i64
%1735 = getelementptr inbounds float, float* %1730, i64 %1734
%1736 = load float, float* %1735
%1737 = load float, float* %24
%1738 = fadd float %1736, %1737
%1739 = load i32, i32* %38
%1740 = load i32, i32* %34
%1741 = sub nsw i32 %1739, %1740
%1742 = sitofp i32 %1741 to float
%1743 = load float, float* %41
%1744 = call float @llvm.fmuladd.f32(float %1742, float %1743, float %1738)
%1745 = load float*, float** %11
%1746 = load i32, i32* %34
%1747 = load i32, i32* %35
%1748 = add nsw i32 %1746, %1747
%1749 = sext i32 %1748 to i64
%1750 = getelementptr inbounds float, float* %1745, i64 %1749
store float %1744, float* %1750
br label %1751
1751: ; preds = %1729
%1752 = load i32, i32* %34
%1753 = add nsw i32 %1752, 1
store i32 %1753, i32* %34
br label %1725
1754: ; preds = %1725
br label %1755
1755: ; preds = %1754, %1560
%1756 = load i8*, i8** %10
%1757 = call i32 @strncmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.21, i64 0, i64 0), i8* %1756, i64 4)
%1758 = icmp eq i32 %1757, 0
br i1 %1758, label %1759, label %1890
1759: ; preds = %1755
%1760 = load float*, float** %14
%1761 = getelementptr inbounds float, float* %1760, i64 0
%1762 = load float, float* %1761
%1763 = load float*, float** %12
%1764 = load float, float* %1763
%1765 = fdiv float %1762, %1764
%1766 = fpext float %1765 to double
%1767 = fadd double %1766, 5.000000e-01
%1768 = fptosi double %1767 to i32
store i32 %1768, i32* %39
%1769 = load i32, i32* %39
%1770 = icmp slt i32 %1769, 0
br i1 %1770, label %1771, label %1772
1771: ; preds = %1759
store i32 0, i32* %39
br label %1772
1772: ; preds = %1771, %1759
%1773 = load float*, float** %14
%1774 = getelementptr inbounds float, float* %1773, i64 1
%1775 = load float, float* %1774
%1776 = load float*, float** %12
%1777 = load float, float* %1776
%1778 = fdiv float %1775, %1777
%1779 = fpext float %1778 to double
%1780 = fadd double %1779, 5.000000e-01
%1781 = fptosi double %1780 to i32
store i32 %1781, i32* %40
%1782 = load i32, i32* %40
%1783 = icmp slt i32 %1782, 0
br i1 %1783, label %1784, label %1785
1784: ; preds = %1772
store i32 0, i32* %40
br label %1785
1785: ; preds = %1784, %1772
%1786 = load float*, float** %14
%1787 = getelementptr inbounds float, float* %1786, i64 2
%1788 = load float, float* %1787
%1789 = load float*, float** %12
%1790 = load float, float* %1789
%1791 = fdiv float %1788, %1790
%1792 = fpext float %1791 to double
%1793 = fadd double %1792, 5.000000e-01
%1794 = fptosi double %1793 to i32
store i32 %1794, i32* %38
%1795 = load i32, i32* %38
%1796 = icmp slt i32 %1795, 0
br i1 %1796, label %1797, label %1798
1797: ; preds = %1785
store i32 0, i32* %38
br label %1798
1798: ; preds = %1797, %1785
%1799 = load i32, i32* %39
%1800 = sitofp i32 %1799 to float
%1801 = load i32, i32* %38
%1802 = sitofp i32 %1801 to float
%1803 = fdiv float %1800, %1802
store float %1803, float* %41
%1804 = load i32, i32* %39
%1805 = load i32, i32* %40
%1806 = add nsw i32 %1804, %1805
store i32 %1806, i32* %40
%1807 = load i32, i32* %40
%1808 = load i32, i32* %38
%1809 = add nsw i32 %1807, %1808
store i32 %1809, i32* %38
store i32 0, i32* %34
br label %1810
1810: ; preds = %1831, %1798
%1811 = load i32, i32* %34
%1812 = load i32, i32* %39
%1813 = icmp slt i32 %1811, %1812
br i1 %1813, label %1814, label %1834
1814: ; preds = %1810
%1815 = load float*, float** %11
%1816 = load i32, i32* %34
%1817 = load i32, i32* %35
%1818 = add nsw i32 %1816, %1817
%1819 = sext i32 %1818 to i64
%1820 = getelementptr inbounds float, float* %1815, i64 %1819
%1821 = load float, float* %1820
%1822 = load i32, i32* %34
%1823 = sitofp i32 %1822 to float
%1824 = fadd float %1821, %1823
%1825 = load float*, float** %11
%1826 = load i32, i32* %34
%1827 = load i32, i32* %35
%1828 = add nsw i32 %1826, %1827
%1829 = sext i32 %1828 to i64
%1830 = getelementptr inbounds float, float* %1825, i64 %1829
store float %1824, float* %1830
br label %1831
1831: ; preds = %1814
%1832 = load i32, i32* %34
%1833 = add nsw i32 %1832, 1
store i32 %1833, i32* %34
br label %1810
1834: ; preds = %1810
%1835 = load i32, i32* %39
store i32 %1835, i32* %34
br label %1836
1836: ; preds = %1857, %1834
%1837 = load i32, i32* %34
%1838 = load i32, i32* %40
%1839 = icmp slt i32 %1837, %1838
br i1 %1839, label %1840, label %1860
1840: ; preds = %1836
%1841 = load float*, float** %11
%1842 = load i32, i32* %34
%1843 = load i32, i32* %35
%1844 = add nsw i32 %1842, %1843
%1845 = sext i32 %1844 to i64
%1846 = getelementptr inbounds float, float* %1841, i64 %1845
%1847 = load float, float* %1846
%1848 = load i32, i32* %39
%1849 = sitofp i32 %1848 to float
%1850 = fadd float %1847, %1849
%1851 = load float*, float** %11
%1852 = load i32, i32* %34
%1853 = load i32, i32* %35
%1854 = add nsw i32 %1852, %1853
%1855 = sext i32 %1854 to i64
%1856 = getelementptr inbounds float, float* %1851, i64 %1855
store float %1850, float* %1856
br label %1857
1857: ; preds = %1840
%1858 = load i32, i32* %34
%1859 = add nsw i32 %1858, 1
store i32 %1859, i32* %34
br label %1836
1860: ; preds = %1836
%1861 = load i32, i32* %40
store i32 %1861, i32* %34
br label %1862
1862: ; preds = %1886, %1860
%1863 = load i32, i32* %34
%1864 = load i32, i32* %38
%1865 = icmp slt i32 %1863, %1864
br i1 %1865, label %1866, label %1889
1866: ; preds = %1862
%1867 = load float*, float** %11
%1868 = load i32, i32* %34
%1869 = load i32, i32* %35
%1870 = add nsw i32 %1868, %1869
%1871 = sext i32 %1870 to i64
%1872 = getelementptr inbounds float, float* %1867, i64 %1871
%1873 = load float, float* %1872
%1874 = load i32, i32* %38
%1875 = load i32, i32* %34
%1876 = sub nsw i32 %1874, %1875
%1877 = sitofp i32 %1876 to float
%1878 = load float, float* %41
%1879 = call float @llvm.fmuladd.f32(float %1877, float %1878, float %1873)
%1880 = load float*, float** %11
%1881 = load i32, i32* %34
%1882 = load i32, i32* %35
%1883 = add nsw i32 %1881, %1882
%1884 = sext i32 %1883 to i64
%1885 = getelementptr inbounds float, float* %1880, i64 %1884
store float %1879, float* %1885
br label %1886
1886: ; preds = %1866
%1887 = load i32, i32* %34
%1888 = add nsw i32 %1887, 1
store i32 %1888, i32* %34
br label %1862
1889: ; preds = %1862
br label %1890
1890: ; preds = %1889, %1755
%1891 = load i8*, i8** %10
%1892 = call i32 @strncmp(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i64 0, i64 0), i8* %1891, i64 7)
%1893 = icmp eq i32 %1892, 0
br i1 %1893, label %1894, label %1975
1894: ; preds = %1890
%1895 = load float*, float** %14
%1896 = getelementptr inbounds float, float* %1895, i64 0
%1897 = load float, float* %1896
%1898 = load float*, float** %12
%1899 = load float, float* %1898
%1900 = fdiv float %1897, %1899
%1901 = fpext float %1900 to double
%1902 = fadd double %1901, 5.000000e-01
%1903 = fptosi double %1902 to i32
store i32 %1903, i32* %39
%1904 = load i32, i32* %39
%1905 = sitofp i32 %1904 to float
%1906 = fpext float %1905 to double
%1907 = fdiv double 1.000000e+00, %1906
%1908 = fptrunc double %1907 to float
store float %1908, float* %25
%1909 = load float*, float** %14
%1910 = getelementptr inbounds float, float* %1909, i64 0
%1911 = load float, float* %1910
%1912 = fpext float %1911 to double
%1913 = load i32, i32* %17
%1914 = sitofp i32 %1913 to double
%1915 = fsub double %1914, 1.000000e+00
%1916 = load float*, float** %12
%1917 = load float, float* %1916
%1918 = fpext float %1917 to double
%1919 = fmul double %1915, %1918
%1920 = fdiv double %1912, %1919
%1921 = call double @exp(double -1.000000e+00)
%1922 = fsub double 1.000000e+00, %1921
%1923 = fmul double %1920, %1922
%1924 = fptrunc double %1923 to float
store float %1924, float* %24
%1925 = load float, float* %24
%1926 = fpext float %1925 to double
%1927 = fdiv double 1.000000e+00, %1926
%1928 = fptrunc double %1927 to float
store float %1928, float* %24
store i32 0, i32* %34
br label %1929
1929: ; preds = %1959, %1894
%1930 = load i32, i32* %34
%1931 = load i32, i32* %39
%1932 = icmp slt i32 %1930, %1931
br i1 %1932, label %1933, label %1962
1933: ; preds = %1929
%1934 = load float*, float** %11
%1935 = load i32, i32* %34
%1936 = load i32, i32* %35
%1937 = add nsw i32 %1935, %1936
%1938 = sext i32 %1937 to i64
%1939 = getelementptr inbounds float, float* %1934, i64 %1938
%1940 = load float, float* %1939
%1941 = fpext float %1940 to double
%1942 = load float, float* %24
%1943 = fpext float %1942 to double
%1944 = load i32, i32* %34
%1945 = sub nsw i32 0, %1944
%1946 = sitofp i32 %1945 to float
%1947 = load float, float* %25
%1948 = fmul float %1946, %1947
%1949 = fpext float %1948 to double
%1950 = call double @exp(double %1949)
%1951 = call double @llvm.fmuladd.f64(double %1943, double %1950, double %1941)
%1952 = fptrunc double %1951 to float
%1953 = load float*, float** %11
%1954 = load i32, i32* %34
%1955 = load i32, i32* %35
%1956 = add nsw i32 %1954, %1955
%1957 = sext i32 %1956 to i64
%1958 = getelementptr inbounds float, float* %1953, i64 %1957
store float %1952, float* %1958
br label %1959
1959: ; preds = %1933
%1960 = load i32, i32* %34
%1961 = add nsw i32 %1960, 1
store i32 %1961, i32* %34
br label %1929
1962: ; preds = %1929
%1963 = load float*, float** %11
%1964 = load i32, i32* %35
%1965 = sext i32 %1964 to i64
%1966 = getelementptr inbounds float, float* %1963, i64 %1965
%1967 = load float, float* %1966
%1968 = fpext float %1967 to double
%1969 = fadd double %1968, 1.000000e+00
%1970 = fptrunc double %1969 to float
%1971 = load float*, float** %11
%1972 = load i32, i32* %35
%1973 = sext i32 %1972 to i64
%1974 = getelementptr inbounds float, float* %1971, i64 %1973
store float %1970, float* %1974
br label %1975
1975: ; preds = %1962, %1890
%1976 = load i32, i32* %9
ret i32 %1976
}

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