void bobyqb_(int n, int npt, double *x, double *xl, double *xu,
             double (*func)(void *data, int n, const double *x), void *data,
             double rhobeg, double rhoend, int iprint, int maxfun,
             double *xbase, double *xpt, double *fval, double *xopt,
             double *gopt, double *hq, double *pq, double *bmat, double *zmat,
             int ndim, double *sl, double *su, double *xnew, double *xalt,
             double *d__, double *vlag, double *w) {
  int xpt_dim1, xpt_offset, bmat_dim1, bmat_offset, zmat_dim1, zmat_offset,
      i__1, i__2, i__3;
  double d__1, d__2, d__3, d__4;
  double sqrt(double);
  double f;
  int i__, j, k, ih, nf, jj, nh, ip, jp;
  double dx;
  int np;
  double den, one, ten, dsq, rho, sum, two, diff, half, beta, gisq;
  int knew;
  double temp, suma, sumb, bsum, fopt;
  int kopt, nptm;
  double zero, curv;
  int ksav;
  double gqsq, dist, sumw, sumz, diffa, diffb, diffc, hdiag;
  int kbase;
  double alpha, delta, adelt, denom, fsave, bdtol, delsq;
  int nresc, nfsav;
  double ratio, dnorm, vquad, pqold, tenth;
  int itest;
  double sumpq, scaden;
  double errbig, cauchy, fracsq, biglsq, densav;
  extern void update_(int, int, double *, double *, int, double *, double,
                      double, int, double *);
  double bdtest;
  extern void rescue_(
      int n, int npt, double *xl, double *xu,
      double (*func)(void *data, int n, const double *x), void *data,
      int iprint, int maxfun, double *xbase, double *xpt, double *fval,
      double *xopt, double *gopt, double *hq, double *pq, double *bmat,
      double *zmat, int ndim, double *sl, double *su, int *nf, double delta,
      int *kopt, double *vlag, double *ptsaux, double *ptsid, double *w);
  extern void prelim_(int n, int npt, double *x, double *xl, double *xu,
                      double (*func)(void *data, int n, const double *x),
                      void *data, double rhobeg, int iprint, int maxfun,
                      double *xbase, double *xpt, double *fval, double *gopt,
                      double *hq, double *pq, double *bmat, double *zmat,
                      int ndim, double *sl, double *su, int *nf, int *kopt);
  double crvmin, frhosq;
  extern void altmov_(int, int, double *, double *, double *, double *, int,
                      double *, double *, int, int, double, double *, double *,
                      double *, double *, double *, double *, double *);
  double distsq;
  extern void trsbox_(int, int, double *, double *, double *, double *,
                      double *, double *, double *, double, double *, double *,
                      double *, double *, double *, double *, double *,
                      double *, double *);
  int ntrits;
  double xoptsq;
  zmat_dim1 = npt;
  zmat_offset = 1 + zmat_dim1;
  zmat -= zmat_offset;
  xpt_dim1 = npt;
  xpt_offset = 1 + xpt_dim1;
  xpt -= xpt_offset;
  --x;
  --xl;
  --xu;
  --xbase;
  --fval;
  --xopt;
  --gopt;
  --hq;
  --pq;
  bmat_dim1 = ndim;
  bmat_offset = 1 + bmat_dim1;
  bmat -= bmat_offset;
  --sl;
  --su;
  --xnew;
  --xalt;
  --d__;
  --vlag;
  --w;
  half = .5;
  one = 1.;
  ten = 10.;
  tenth = .1;
  two = 2.;
  zero = 0.;
  np = n + 1;
  nptm = npt - np;
  nh = n * np / 2;
  prelim_(n, npt, &x[1], &xl[1], &xu[1], func, data, rhobeg, iprint, maxfun,
          &xbase[1], &xpt[xpt_offset], &fval[1], &gopt[1], &hq[1], &pq[1],
          &bmat[bmat_offset], &zmat[zmat_offset], ndim, &sl[1], &su[1], &nf,
          &kopt);
  xoptsq = zero;
  for (i__ = 1; i__ <= n; ++i__) {
    xopt[i__] = xpt[kopt + i__ * xpt_dim1];
    d__1 = xopt[i__];
    xoptsq += d__1 * d__1;
  }
  fsave = fval[1];
  if (nf < npt) {
    if (iprint > 0) {
      printf(
          "Return from BOBYQA because CALFUN has been called MAXFUN times.\n");
    }
    goto L720;
  }
  kbase = 1;
  rho = rhobeg;
  delta = rho;
  nresc = nf;
  ntrits = 0;
  diffa = zero;
  diffb = zero;
  itest = 0;
  nfsav = nf;
L20:
  if (kopt != kbase) {
    ih = 0;
    i__1 = n;
    for (j = 1; j <= i__1; ++j) {
      i__2 = j;
      for (i__ = 1; i__ <= i__2; ++i__) {
        ++ih;
        if (i__ < j) {
          gopt[j] += hq[ih] * xopt[i__];
        }
        gopt[i__] += hq[ih] * xopt[j];
      }
    }
    if (nf > npt) {
      i__2 = npt;
      for (k = 1; k <= i__2; ++k) {
        temp = zero;
        i__1 = n;
        for (j = 1; j <= i__1; ++j) {
          temp += xpt[k + j * xpt_dim1] * xopt[j];
        }
        temp = pq[k] * temp;
        i__1 = n;
        for (i__ = 1; i__ <= i__1; ++i__) {
          gopt[i__] += temp * xpt[k + i__ * xpt_dim1];
        }
      }
    }
  }
L60:
  trsbox_(n, npt, &xpt[xpt_offset], &xopt[1], &gopt[1], &hq[1], &pq[1], &sl[1],
          &su[1], delta, &xnew[1], &d__[1], &w[1], &w[np], &w[np + n],
          &w[np + (n << 1)], &w[np + n * 3], &dsq, &crvmin);
  dnorm = sqrt(dsq);
  if (delta < dnorm) {
    dnorm = delta;
  }
  if (dnorm < half * rho) {
    ntrits = -1;
    distsq = (ten * rho) * (ten * rho);
    if (nf <= nfsav + 2) {
      goto L650;
    }
    errbig = diffa;
    if (diffb > errbig) {
      errbig = diffb;
    }
    if (diffc > errbig) {
      errbig = diffc;
    }
    frhosq = rho * .125 * rho;
    if (crvmin > zero && errbig > frhosq * crvmin) {
      goto L650;
    }
    bdtol = errbig / rho;
    i__1 = n;
    for (j = 1; j <= i__1; ++j) {
      bdtest = bdtol;
      if (xnew[j] == sl[j]) {
        bdtest = w[j];
      }
      if (xnew[j] == su[j]) {
        bdtest = -w[j];
      }
      if (bdtest < bdtol) {
        curv = hq[(j + j * j) / 2];
        i__2 = npt;
        for (k = 1; k <= i__2; ++k) {
          curv += pq[k] * (xpt[k + j * xpt_dim1] * xpt[k + j * xpt_dim1]);
        }
        bdtest += half * curv * rho;
        if (bdtest < bdtol) {
          goto L650;
        }
      }
    }
    goto L680;
  }
  ++ntrits;
L90:
  if (dsq <= xoptsq * .001) {
    fracsq = xoptsq * .25;
    sumpq = zero;
    for (k = 1; k <= npt; ++k) {
      sumpq += pq[k];
      sum = -half * xoptsq;
      for (i__ = 1; i__ <= n; ++i__) {
        sum += xpt[k + i__ * xpt_dim1] * xopt[i__];
      }
      w[npt + k] = sum;
      temp = fracsq - half * sum;
      for (i__ = 1; i__ <= n; ++i__) {
        w[i__] = bmat[k + i__ * bmat_dim1];
        vlag[i__] = sum * xpt[k + i__ * xpt_dim1] + temp * xopt[i__];
        ip = npt + i__;
        for (j = 1; j <= i__; ++j) {
          bmat[ip + j * bmat_dim1] =
              bmat[ip + j * bmat_dim1] + w[i__] * vlag[j] + vlag[i__] * w[j];
        }
      }
    }
    for (jj = 1; jj <= nptm; ++jj) {
      sumz = zero;
      sumw = zero;
      i__2 = npt;
      for (k = 1; k <= i__2; ++k) {
        sumz += zmat[k + jj * zmat_dim1];
        vlag[k] = w[npt + k] * zmat[k + jj * zmat_dim1];
        sumw += vlag[k];
      }
      for (j = 1; j <= n; ++j) {
        sum = (fracsq * sumz - half * sumw) * xopt[j];
        for (k = 1; k <= npt; ++k) {
          sum += vlag[k] * xpt[k + j * xpt_dim1];
        }
        w[j] = sum;
        for (k = 1; k <= npt; ++k) {
          bmat[k + j * bmat_dim1] += sum * zmat[k + jj * zmat_dim1];
        }
      }
      for (i__ = 1; i__ <= n; ++i__) {
        ip = i__ + npt;
        temp = w[i__];
        for (j = 1; j <= i__; ++j) {
          bmat[ip + j * bmat_dim1] += temp * w[j];
        }
      }
    }
    ih = 0;
    for (j = 1; j <= n; ++j) {
      w[j] = -half * sumpq * xopt[j];
      i__1 = npt;
      for (k = 1; k <= i__1; ++k) {
        w[j] += pq[k] * xpt[k + j * xpt_dim1];
        xpt[k + j * xpt_dim1] -= xopt[j];
      }
      for (i__ = 1; i__ <= j; ++i__) {
        ++ih;
        hq[ih] = hq[ih] + w[i__] * xopt[j] + xopt[i__] * w[j];
        bmat[npt + i__ + j * bmat_dim1] = bmat[npt + j + i__ * bmat_dim1];
      }
    }
    for (i__ = 1; i__ <= n; ++i__) {
      xbase[i__] += xopt[i__];
      xnew[i__] -= xopt[i__];
      sl[i__] -= xopt[i__];
      su[i__] -= xopt[i__];
      xopt[i__] = zero;
    }
    xoptsq = zero;
  }
  if (ntrits == 0) {
    goto L210;
  }
  goto L230;
L190:
  nfsav = nf;
  kbase = kopt;
  rescue_(n, npt, &xl[1], &xu[1], func, data, iprint, maxfun, &xbase[1],
          &xpt[xpt_offset], &fval[1], &xopt[1], &gopt[1], &hq[1], &pq[1],
          &bmat[bmat_offset], &zmat[zmat_offset], ndim, &sl[1], &su[1], &nf,
          delta, &kopt, &vlag[1], &w[1], &w[n + np], &w[ndim + np]);
  xoptsq = zero;
  if (kopt != kbase) {
    for (i__ = 1; i__ <= n; ++i__) {
      xopt[i__] = xpt[kopt + i__ * xpt_dim1];
      xoptsq += xopt[i__] * xopt[i__];
    }
  }
  if (nf < 0) {
    nf = maxfun;
    if (iprint > 0) {
      printf(
          "Return from BOBYQA because CALFUN has been called MAXFUN times.\n");
    }
    goto L720;
  }
  nresc = nf;
  if (nfsav < nf) {
    nfsav = nf;
    goto L20;
  }
  if (ntrits > 0) {
    goto L60;
  }
L210:
  altmov_(n, npt, &xpt[xpt_offset], &xopt[1], &bmat[bmat_offset],
          &zmat[zmat_offset], ndim, &sl[1], &su[1], kopt, knew, adelt, &xnew[1],
          &xalt[1], &alpha, &cauchy, &w[1], &w[np], &w[ndim + 1]);
  for (i__ = 1; i__ <= n; ++i__) {
    d__[i__] = xnew[i__] - xopt[i__];
  }
L230:
  for (k = 1; k <= npt; ++k) {
    suma = zero;
    sumb = zero;
    sum = zero;
    i__2 = n;
    for (j = 1; j <= i__2; ++j) {
      suma += xpt[k + j * xpt_dim1] * d__[j];
      sumb += xpt[k + j * xpt_dim1] * xopt[j];
      sum += bmat[k + j * bmat_dim1] * d__[j];
    }
    w[k] = suma * (half * suma + sumb);
    vlag[k] = sum;
    w[npt + k] = suma;
  }
  beta = zero;
  for (jj = 1; jj <= nptm; ++jj) {
    sum = zero;
    for (k = 1; k <= npt; ++k) {
      sum += zmat[k + jj * zmat_dim1] * w[k];
    }
    beta -= sum * sum;
    for (k = 1; k <= npt; ++k) {
      vlag[k] += sum * zmat[k + jj * zmat_dim1];
    }
  }
  dsq = zero;
  bsum = zero;
  dx = zero;
  for (j = 1; j <= n; ++j) {
    d__1 = d__[j];
    dsq += d__1 * d__1;
    sum = zero;
    for (k = 1; k <= npt; ++k) {
      sum += w[k] * bmat[k + j * bmat_dim1];
    }
    bsum += sum * d__[j];
    jp = npt + j;
    for (i__ = 1; i__ <= n; ++i__) {
      sum += bmat[jp + i__ * bmat_dim1] * d__[i__];
    }
    vlag[jp] = sum;
    bsum += sum * d__[j];
    dx += d__[j] * xopt[j];
  }
  beta = dx * dx + dsq * (xoptsq + dx + dx + half * dsq) + beta - bsum;
  vlag[kopt] += one;
  if (ntrits == 0) {
    denom = vlag[knew] * vlag[knew] + alpha * beta;
    if (denom < cauchy && cauchy > zero) {
      i__2 = n;
      for (i__ = 1; i__ <= i__2; ++i__) {
        xnew[i__] = xalt[i__];
        d__[i__] = xnew[i__] - xopt[i__];
      }
      cauchy = zero;
      goto L230;
    }
    if (denom <= half * (vlag[knew] * vlag[knew])) {
      if (nf > nresc) {
        goto L190;
      }
      if (iprint > 0) {
        printf("Return from BOBYQA because of much cancellation in a "
               "denominator.\n");
      }
      goto L720;
    }
  } else {
    delsq = delta * delta;
    scaden = zero;
    biglsq = zero;
    knew = 0;
    for (k = 1; k <= npt; ++k) {
      if (k == kopt) {
        goto L350;
      }
      hdiag = zero;
      for (jj = 1; jj <= nptm; ++jj) {
        hdiag += zmat[k + jj * zmat_dim1] * zmat[k + jj * zmat_dim1];
      }
      den = beta * hdiag + vlag[k] * vlag[k];
      distsq = zero;
      for (j = 1; j <= n; ++j) {
        distsq += (xpt[k + j * xpt_dim1] - xopt[j]) *
                  (xpt[k + j * xpt_dim1] - xopt[j]);
      }
      {
        double d3 = distsq / delsq;
        temp = d3 * d3;
        if (one > temp) {
          temp = one;
        }
      }
      if (temp * den > scaden) {
        scaden = temp * den;
        knew = k;
        denom = den;
      }
      {
        double d2 = temp * (vlag[k] * vlag[k]);
        if (d2 > biglsq) {
          biglsq = d2;
        }
      }
    L350:;
    }
    if (scaden <= half * biglsq) {
      if (nf > nresc) {
        goto L190;
      }
      if (iprint > 0) {
        printf("Return from BOBYQA because of much cancellation in a "
               "denominator.\n");
      }
      goto L720;
    }
  }
L360:
  for (i__ = 1; i__ <= n; ++i__) {
    x[i__] = xbase[i__] + xnew[i__];
    if (xl[i__] > x[i__]) {
      x[i__] = xl[i__];
    }
    if (xu[i__] < x[i__]) {
      x[i__] = xu[i__];
    }
    if (xnew[i__] == sl[i__]) {
      x[i__] = xl[i__];
    }
    if (xnew[i__] == su[i__]) {
      x[i__] = xu[i__];
    }
  }
  if (nf >= maxfun) {
    if (iprint > 0) {
      printf(
          "Return from BOBYQA because CALFUN has been called MAXFUN times.\n");
    }
    goto L720;
  }
  ++nf;
  f = func(data, n, &x[1]);
  if (iprint == 3) {
    printf("Function number %d    F = %g\n    The corresponding X is:\n", nf,
           f);
    for (i__ = 1; i__ <= n; ++i__) {
      printf("\t%g\n", x[i__]);
    }
  }
  if (ntrits == -1) {
    fsave = f;
    goto L720;
  }
  fopt = fval[kopt];
  vquad = zero;
  ih = 0;
  for (j = 1; j <= n; ++j) {
    vquad += d__[j] * gopt[j];
    for (i__ = 1; i__ <= j; ++i__) {
      ++ih;
      temp = d__[i__] * d__[j];
      if (i__ == j) {
        temp = half * temp;
      }
      vquad += hq[ih] * temp;
    }
  }
  for (k = 1; k <= npt; ++k) {
    vquad += half * pq[k] * (w[npt + k] * w[npt + k]);
  }
  diff = f - fopt - vquad;
  diffc = diffb;
  diffb = diffa;
  diffa = fabs(diff);
  if (dnorm > rho) {
    nfsav = nf;
  }
  if (ntrits > 0) {
    if (vquad >= zero) {
      if (iprint > 0) {
        printf("Return from BOBYQA because a trust region step has failed to "
               "reduce Q.\n");
      }
      goto L720;
    }
    ratio = (f - fopt) / vquad;
    if (ratio <= tenth) {
      delta = half * delta;
      if (dnorm < delta) {
        delta = dnorm;
      }
    } else if (ratio <= .7) {
      delta = half * delta;
      if (dnorm > delta) {
        delta = dnorm;
      }
    } else {
      delta = half * delta;
      if (2 * dnorm > delta) {
        delta = 2 * dnorm;
      }
    }
    if (delta <= rho * 1.5) {
      delta = rho;
    }
    if (f < fopt) {
      ksav = knew;
      densav = denom;
      delsq = delta * delta;
      scaden = zero;
      biglsq = zero;
      knew = 0;
      i__1 = npt;
      for (k = 1; k <= i__1; ++k) {
        hdiag = zero;
        i__2 = nptm;
        for (jj = 1; jj <= i__2; ++jj) {
          hdiag += zmat[k + jj * zmat_dim1] * zmat[k + jj * zmat_dim1];
        }
        den = beta * hdiag + vlag[k] * vlag[k];
        distsq = zero;
        for (j = 1; j <= n; ++j) {
          distsq += (xpt[k + j * xpt_dim1] - xnew[j]) *
                    (xpt[k + j * xpt_dim1] - xnew[j]);
        }
        {
          double d3 = distsq / delsq;
          temp = d3 * d3;
          if (one > temp) {
            temp = one;
          }
        }
        if (temp * den > scaden) {
          scaden = temp * den;
          knew = k;
          denom = den;
        }
        {
          double d2 = temp * (vlag[k] * vlag[k]);
          if (d2 > biglsq) {
            biglsq = d2;
          }
        }
      }
      if (scaden <= half * biglsq) {
        knew = ksav;
        denom = densav;
      }
    }
  }
  update_(n, npt, &bmat[bmat_offset], &zmat[zmat_offset], ndim, &vlag[1], beta,
          denom, knew - 1, &w[1]);
  ih = 0;
  pqold = pq[knew];
  pq[knew] = zero;
  for (i__ = 1; i__ <= n; ++i__) {
    temp = pqold * xpt[knew + i__ * xpt_dim1];
    i__2 = i__;
    for (j = 1; j <= i__2; ++j) {
      ++ih;
      hq[ih] += temp * xpt[knew + j * xpt_dim1];
    }
  }
  for (jj = 1; jj <= nptm; ++jj) {
    temp = diff * zmat[knew + jj * zmat_dim1];
    for (k = 1; k <= npt; ++k) {
      pq[k] += temp * zmat[k + jj * zmat_dim1];
    }
  }
  fval[knew] = f;
  for (i__ = 1; i__ <= n; ++i__) {
    xpt[knew + i__ * xpt_dim1] = xnew[i__];
    w[i__] = bmat[knew + i__ * bmat_dim1];
  }
  for (k = 1; k <= npt; ++k) {
    suma = zero;
    for (jj = 1; jj <= nptm; ++jj) {
      suma += zmat[knew + jj * zmat_dim1] * zmat[k + jj * zmat_dim1];
    }
    sumb = zero;
    for (j = 1; j <= n; ++j) {
      sumb += xpt[k + j * xpt_dim1] * xopt[j];
    }
    temp = suma * sumb;
    for (i__ = 1; i__ <= n; ++i__) {
      w[i__] += temp * xpt[k + i__ * xpt_dim1];
    }
  }
  for (i__ = 1; i__ <= n; ++i__) {
    gopt[i__] += diff * w[i__];
  }
  if (f < fopt) {
    kopt = knew;
    xoptsq = zero;
    ih = 0;
    for (j = 1; j <= n; ++j) {
      xopt[j] = xnew[j];
      xoptsq += xopt[j] * xopt[j];
      for (i__ = 1; i__ <= j; ++i__) {
        ++ih;
        if (i__ < j) {
          gopt[j] += hq[ih] * d__[i__];
        }
        gopt[i__] += hq[ih] * d__[j];
      }
    }
    for (k = 1; k <= npt; ++k) {
      temp = zero;
      for (j = 1; j <= n; ++j) {
        temp += xpt[k + j * xpt_dim1] * d__[j];
      }
      temp = pq[k] * temp;
      for (i__ = 1; i__ <= n; ++i__) {
        gopt[i__] += temp * xpt[k + i__ * xpt_dim1];
      }
    }
  }
  if (ntrits > 0) {
    for (k = 1; k <= npt; ++k) {
      vlag[k] = fval[k] - fval[kopt];
      w[k] = zero;
    }
    for (j = 1; j <= nptm; ++j) {
      sum = zero;
      for (k = 1; k <= npt; ++k) {
        sum += zmat[k + j * zmat_dim1] * vlag[k];
      }
      for (k = 1; k <= npt; ++k) {
        w[k] += sum * zmat[k + j * zmat_dim1];
      }
    }
    for (k = 1; k <= npt; ++k) {
      sum = zero;
      for (j = 1; j <= n; ++j) {
        sum += xpt[k + j * xpt_dim1] * xopt[j];
      }
      w[k + npt] = w[k];
      w[k] = sum * w[k];
    }
    gqsq = zero;
    gisq = zero;
    for (i__ = 1; i__ <= n; ++i__) {
      sum = zero;
      for (k = 1; k <= npt; ++k) {
        sum = sum + bmat[k + i__ * bmat_dim1] * vlag[k] +
              xpt[k + i__ * xpt_dim1] * w[k];
      }
      if (xopt[i__] == sl[i__]) {
        double d1 = gopt[i__];
        if (zero < d1) {
          d1 = zero;
        }
        gqsq += d1 * d1;
        d1 = sum;
        if (zero < sum) {
          sum = zero;
        }
        gisq += d1 * d1;
      } else if (xopt[i__] == su[i__]) {
        double d1 = gopt[i__];
        if (zero > d1) {
          d1 = zero;
        }
        gqsq += d1 * d1;
        d1 = sum;
        if (zero > sum) {
          sum = zero;
        }
        gisq += d1 * d1;
      } else {
        gqsq += gopt[i__] * gopt[i__];
        gisq += sum * sum;
      }
      vlag[npt + i__] = sum;
    }
    ++itest;
    if (gqsq < ten * gisq) {
      itest = 0;
    }
    if (itest >= 3) {
      i__1 = imax(npt, nh);
      for (i__ = 1; i__ <= i__1; ++i__) {
        if (i__ <= n) {
          gopt[i__] = vlag[npt + i__];
        }
        if (i__ <= npt) {
          pq[i__] = w[npt + i__];
        }
        if (i__ <= nh) {
          hq[i__] = zero;
        }
        itest = 0;
      }
    }
  }
  if (ntrits == 0) {
    goto L60;
  }
  if (f <= fopt + tenth * vquad) {
    goto L60;
  }
  {
    double d3 = two * delta;
    double d4 = ten * rho;
    double d1 = d3 * d3;
    double d2 = d4 * d4;
    distsq = (d1 > d2) ? d1 : d2;
  }
L650:
  knew = 0;
  for (k = 1; k <= npt; ++k) {
    sum = zero;
    for (j = 1; j <= n; ++j) {
      sum +=
          (xpt[k + j * xpt_dim1] - xopt[j]) * (xpt[k + j * xpt_dim1] - xopt[j]);
    }
    if (sum > distsq) {
      knew = k;
      distsq = sum;
    }
  }
  if (knew > 0) {
    dist = sqrt(distsq);
    if (ntrits == -1) {
      delta = tenth * delta;
      if (half * dist < delta) {
        delta = half * dist;
      }
      if (delta <= rho * 1.5) {
        delta = rho;
      }
    }
    ntrits = 0;
    adelt = tenth * dist;
    if (delta < adelt) {
      adelt = delta;
    }
    if (rho > adelt) {
      adelt = rho;
    }
    dsq = adelt * adelt;
    goto L90;
  }
  if (ntrits == -1) {
    goto L680;
  }
  if (ratio > zero) {
    goto L60;
  }
  if ((delta > dnorm ? delta : dnorm) > rho) {
    goto L60;
  }
L680:
  if (rho > rhoend) {
    delta = half * rho;
    ratio = rho / rhoend;
    if (ratio <= 16.) {
      rho = rhoend;
    } else if (ratio <= 250.) {
      rho = sqrt(ratio) * rhoend;
    } else {
      rho = tenth * rho;
    }
    delta = (delta > rho ? delta : rho);
    if (iprint >= 2) {
      printf("New RHO = %g, Number of function values = %d", rho, nf);
      printf("Least value of F = %g\n    The corresponding X is:\n",
             fval[kopt]);
      for (i__ = 1; i__ <= n; ++i__) {
        printf("\t%g\n", xbase[i__] + xopt[i__]);
      }
    }
    ntrits = 0;
    nfsav = nf;
    goto L60;
  }
  if (ntrits == -1) {
    goto L360;
  }
L720:
  if (fval[kopt] <= fsave) {
    for (i__ = 1; i__ <= n; ++i__) {
      x[i__] = xbase[i__] + xopt[i__];
      if (xl[i__] > x[i__]) {
        x[i__] = xl[i__];
      }
      if (xu[i__] < x[i__]) {
        x[i__] = xu[i__];
      }
      if (xopt[i__] == sl[i__]) {
        x[i__] = xl[i__];
      }
      if (xopt[i__] == su[i__]) {
        x[i__] = xu[i__];
      }
    }
    f = fval[kopt];
  }
  if (iprint >= 1) {
    printf("At the return from BOBYQA\nNumber of function values = %d\n", nf);
    printf("Least value of F = %g\n    The corresponding X is:\n", f);
    for (i__ = 1; i__ <= n; ++i__) {
      printf("\t%g\n", x[i__]);
    }
  }
}


x86 assembly (clang, -O0):
<bobyqb_>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x488,%rsp
mov    0xa8(%rbp),%rax
mov    0xa0(%rbp),%rax
mov    0x98(%rbp),%rax
mov    0x90(%rbp),%rax
mov    0x88(%rbp),%rax
mov    0x80(%rbp),%rax
mov    0x78(%rbp),%rax
mov    0x70(%rbp),%eax
mov    0x68(%rbp),%rax
mov    0x60(%rbp),%rax
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%eax
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%rax
mov    %edi,-0x2c(%rbp)
mov    %esi,-0x30(%rbp)
mov    %rdx,-0x38(%rbp)
mov    %rcx,-0x40(%rbp)
mov    %r8,-0x48(%rbp)
mov    %r9,-0x50(%rbp)
movsd  %xmm0,-0x58(%rbp)
movsd  %xmm1,-0x60(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x78(%rbp)
mov    -0x78(%rbp),%ecx
mov    0x68(%rbp),%rax
movslq %ecx,%rdx
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,0x68(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x64(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x68(%rbp)
mov    -0x68(%rbp),%ecx
mov    0x30(%rbp),%rax
movslq %ecx,%rdx
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,0x30(%rbp)
mov    -0x38(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,-0x38(%rbp)
mov    -0x40(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,-0x40(%rbp)
mov    -0x48(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,-0x48(%rbp)
mov    0x28(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x28(%rbp)
mov    0x38(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x38(%rbp)
mov    0x40(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x40(%rbp)
mov    0x48(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x48(%rbp)
mov    0x50(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x50(%rbp)
mov    0x58(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x58(%rbp)
mov    0x70(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x70(%rbp)
mov    -0x70(%rbp),%ecx
mov    0x60(%rbp),%rax
movslq %ecx,%rdx
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,0x60(%rbp)
mov    0x78(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x78(%rbp)
mov    0x80(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x80(%rbp)
mov    0x88(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x88(%rbp)
mov    0x90(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x90(%rbp)
mov    0x98(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x98(%rbp)
mov    0xa0(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0xa0(%rbp)
mov    0xa8(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0xa8(%rbp)
movsd  0x4ca6(%rip),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x4c8e(%rip),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x4c76(%rip),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x4c5e(%rip),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x4c46(%rip),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xe4(%rbp)
mov    -0x30(%rbp),%eax
sub    -0xe4(%rbp),%eax
mov    %eax,-0x178(%rbp)
mov    -0x2c(%rbp),%eax
imul   -0xe4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,-0xcc(%rbp)
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    -0x38(%rbp),%rdx
add    $0x8,%rdx
mov    -0x40(%rbp),%rcx
add    $0x8,%rcx
mov    -0x48(%rbp),%r8
add    $0x8,%r8
mov    -0x50(%rbp),%r9
mov    0x10(%rbp),%rax
mov    %rax,-0x340(%rbp)
movsd  -0x58(%rbp),%xmm0
mov    0x18(%rbp),%eax
mov    %eax,-0x338(%rbp)
mov    0x20(%rbp),%eax
mov    %eax,-0x334(%rbp)
mov    0x28(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x330(%rbp)
mov    0x30(%rbp),%rax
movslq -0x68(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x328(%rbp)
mov    0x38(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x320(%rbp)
mov    0x48(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x318(%rbp)
mov    0x50(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x310(%rbp)
mov    0x58(%rbp),%r13
add    $0x8,%r13
mov    0x60(%rbp),%r12
movslq -0x70(%rbp),%rax
shl    $0x3,%rax
add    %rax,%r12
mov    0x68(%rbp),%r15
movslq -0x78(%rbp),%rax
shl    $0x3,%rax
add    %rax,%r15
mov    0x70(%rbp),%r14d
mov    0x78(%rbp),%rbx
add    $0x8,%rbx
mov    0x80(%rbp),%r11
add    $0x8,%r11
lea    -0xc4(%rbp),%r10
lea    -0x174(%rbp),%rax
mov    %rax,-0x308(%rbp)
mov    -0x340(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x338(%rbp),%eax
mov    %eax,0x8(%rsp)
mov    -0x334(%rbp),%eax
mov    %eax,0x10(%rsp)
mov    -0x330(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x328(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x320(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x318(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x310(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x308(%rbp),%rax
mov    %r13,0x40(%rsp)
mov    %r12,0x48(%rsp)
mov    %r15,0x50(%rsp)
mov    %r14d,0x58(%rsp)
mov    %rbx,0x60(%rsp)
mov    %r11,0x68(%rsp)
mov    %r10,0x70(%rsp)
mov    %rax,0x78(%rsp)
call   1080 <prelim_@plt>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     1622 <bobyqb_+0x4a2>
mov    0x30(%rbp),%rax
mov    -0x174(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0x2b0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    1591 <bobyqb_+0x411>
mov    0x38(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
mov    -0xc4(%rbp),%eax
cmp    -0x30(%rbp),%eax
jge    165f <bobyqb_+0x4df>
cmpl   $0x0,0x18(%rbp)
jle    165a <bobyqb_+0x4da>
lea    0x4a1d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
movl   $0x1,-0x1d4(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0xc4(%rbp),%eax
mov    %eax,-0x214(%rbp)
movl   $0x0,-0x2a4(%rbp)
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
movl   $0x0,-0x244(%rbp)
mov    -0xc4(%rbp),%eax
mov    %eax,-0x218(%rbp)
mov    -0x174(%rbp),%eax
cmp    -0x1d4(%rbp),%eax
je     1967 <bobyqb_+0x7e7>
movl   $0x0,-0xc0(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     17f7 <bobyqb_+0x677>
mov    -0xb8(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     17de <bobyqb_+0x65e>
mov    -0xc0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc0(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jge    178d <bobyqb_+0x60d>
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    1720 <bobyqb_+0x5a0>
jmp    17e3 <bobyqb_+0x663>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    16fe <bobyqb_+0x57e>
mov    -0xc4(%rbp),%eax
cmp    -0x30(%rbp),%eax
jle    1962 <bobyqb_+0x7e2>
mov    -0x30(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     195d <bobyqb_+0x7dd>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x2c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     18ae <bobyqb_+0x72e>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x150(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    1845 <bobyqb_+0x6c5>
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x2c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     1944 <bobyqb_+0x7c4>
movsd  -0x150(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    18de <bobyqb_+0x75e>
jmp    1949 <bobyqb_+0x7c9>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    1816 <bobyqb_+0x696>
jmp    1962 <bobyqb_+0x7e2>
jmp    1967 <bobyqb_+0x7e7>
jmp    196c <bobyqb_+0x7ec>
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    0x30(%rbp),%rdx
movslq -0x68(%rbp),%rax
shl    $0x3,%rax
add    %rax,%rdx
mov    0x40(%rbp),%rcx
add    $0x8,%rcx
mov    0x48(%rbp),%r8
add    $0x8,%r8
mov    0x50(%rbp),%r9
add    $0x8,%r9
mov    0x58(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x368(%rbp)
mov    0x78(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x360(%rbp)
mov    0x80(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x358(%rbp)
movsd  -0x1e8(%rbp),%xmm0
ff
mov    0x88(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x350(%rbp)
mov    0x98(%rbp),%r13
add    $0x8,%r13
mov    0xa8(%rbp),%r12
add    $0x8,%r12
mov    0xa8(%rbp),%r15
movslq -0xe4(%rbp),%rax
shl    $0x3,%rax
add    %rax,%r15
mov    0xa8(%rbp),%r14
mov    -0xe4(%rbp),%eax
add    -0x2c(%rbp),%eax
cltq
shl    $0x3,%rax
add    %rax,%r14
mov    0xa8(%rbp),%rbx
mov    -0xe4(%rbp),%eax
mov    -0x2c(%rbp),%r10d
shl    $0x1,%r10d
add    %r10d,%eax
cltq
shl    $0x3,%rax
add    %rax,%rbx
mov    0xa8(%rbp),%r11
mov    -0xe4(%rbp),%eax
imul   $0x3,-0x2c(%rbp),%r10d
add    %r10d,%eax
cltq
shl    $0x3,%rax
add    %rax,%r11
lea    -0x108(%rbp),%r10
lea    -0x290(%rbp),%rax
mov    %rax,-0x348(%rbp)
mov    -0x368(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x360(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x358(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x350(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x348(%rbp),%rax
mov    %r13,0x20(%rsp)
mov    %r12,0x28(%rsp)
mov    %r15,0x30(%rsp)
mov    %r14,0x38(%rsp)
mov    %rbx,0x40(%rsp)
mov    %r11,0x48(%rsp)
mov    %r10,0x50(%rsp)
mov    %rax,0x58(%rsp)
call   1050 <trsbox_@plt>
movsd  -0x108(%rbp),%xmm0
ff
call   1090 <sqrt@plt>
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm1
ff
movsd  -0x228(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1b1d <bobyqb_+0x99d>
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x228(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1ea3 <bobyqb_+0xd23>
movl   $0xffffffff,-0x2a4(%rbp)
ff ff ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm1
ff
mulsd  -0x110(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
mov    -0xc4(%rbp),%eax
mov    -0x218(%rbp),%ecx
add    $0x2,%ecx
cmp    %ecx,%eax
jg     1b91 <bobyqb_+0xa11>
jmp    53f3 <bobyqb_+0x4273>
movsd  -0x1b8(%rbp),%xmm0
ff
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
ucomisd -0x260(%rbp),%xmm0
ff
jbe    1bc7 <bobyqb_+0xa47>
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x1c8(%rbp),%xmm0
ff
ucomisd -0x260(%rbp),%xmm0
ff
jbe    1bed <bobyqb_+0xa6d>
movsd  -0x1c8(%rbp),%xmm0
ff
movsd  %xmm0,-0x260(%rbp)
ff
movsd  0x4433(%rip),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x290(%rbp),%xmm0
ff
ucomisd -0x180(%rbp),%xmm0
ff
jbe    1c4a <bobyqb_+0xaca>
movsd  -0x260(%rbp),%xmm0
ff
movsd  -0x298(%rbp),%xmm1
ff
mulsd  -0x290(%rbp),%xmm1
ff
ucomisd %xmm1,%xmm0
jbe    1c4a <bobyqb_+0xaca>
jmp    53f3 <bobyqb_+0x4273>
movsd  -0x260(%rbp),%xmm0
ff
divsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x208(%rbp)
ff
mov    -0x2c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     1e9e <bobyqb_+0xd1e>
movsd  -0x208(%rbp),%xmm0
ff
movsd  %xmm0,-0x288(%rbp)
ff
mov    0x88(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0xb8(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    1cdb <bobyqb_+0xb5b>
jp     1cdb <bobyqb_+0xb5b>
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    0x88(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
movslq -0xb8(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    1d3f <bobyqb_+0xbbf>
jp     1d3f <bobyqb_+0xbbf>
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x288(%rbp),%xmm1
ff
movsd  -0x208(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1e85 <bobyqb_+0xd05>
mov    0x50(%rbp),%rax
mov    %rax,-0x370(%rbp)
mov    -0xb8(%rbp),%eax
mov    -0xb8(%rbp),%ecx
imul   -0xb8(%rbp),%ecx
add    %ecx,%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x370(%rbp),%rax
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
mov    -0x30(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     1e31 <bobyqb_+0xcb1>
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  -0x188(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    1daa <bobyqb_+0xc2a>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x188(%rbp),%xmm0
ff
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x288(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x288(%rbp),%xmm1
ff
movsd  -0x208(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1e80 <bobyqb_+0xd00>
jmp    53f3 <bobyqb_+0x4273>
jmp    1e85 <bobyqb_+0xd05>
jmp    1e8a <bobyqb_+0xd0a>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    1c72 <bobyqb_+0xaf2>
jmp    56e1 <bobyqb_+0x4561>
mov    -0x2a4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2a4(%rbp)
movsd  -0x108(%rbp),%xmm1
ff
movsd  0x4186(%rip),%xmm0
mulsd  -0x2b0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     289e <bobyqb_+0x171e>
movsd  0x4174(%rip),%xmm0
mulsd  -0x2b0(%rbp),%xmm0
ff
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x250(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     21e2 <bobyqb_+0x1062>
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x250(%rbp),%xmm0
ff
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x2b0(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     1fd7 <bobyqb_+0xe57>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    1f6e <bobyqb_+0xdee>
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xbc(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x270(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
movsd  -0x118(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     21c9 <bobyqb_+0x1049>
mov    0x60(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x118(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x150(%rbp),%xmm1
ff
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0xa0(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%eax
add    -0xb4(%rbp),%eax
mov    %eax,-0xd0(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0xb4(%rbp),%eax
jg     21b0 <bobyqb_+0x1030>
mov    0x60(%rbp),%rax
mov    -0xd0(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0xa0(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x60(%rbp),%rax
mov    -0xd0(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    20f2 <bobyqb_+0xf72>
jmp    21b5 <bobyqb_+0x1035>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    2040 <bobyqb_+0xec0>
jmp    21ce <bobyqb_+0x104e>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    1f06 <bobyqb_+0xd86>
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     256e <bobyqb_+0x13ee>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a8(%rbp)
ff
mov    -0x30(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     22eb <bobyqb_+0x116b>
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x1b0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1b0(%rbp)
ff
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xbc(%rbp),%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x1a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a8(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    222e <bobyqb_+0x10ae>
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     2483 <bobyqb_+0x1303>
movsd  -0x270(%rbp),%xmm0
ff
movsd  -0x1b0(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm1
ff
mulsd  -0x1a8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     23d1 <bobyqb_+0x1251>
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    2365 <bobyqb_+0x11e5>
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     246a <bobyqb_+0x12ea>
movsd  -0x118(%rbp),%xmm0
ff
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x60(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    23f6 <bobyqb_+0x1276>
jmp    246f <bobyqb_+0x12ef>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    22f5 <bobyqb_+0x1175>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     2555 <bobyqb_+0x13d5>
mov    -0xb4(%rbp),%eax
add    -0x30(%rbp),%eax
mov    %eax,-0xd0(%rbp)
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0xb4(%rbp),%eax
jg     253c <bobyqb_+0x13bc>
movsd  -0x150(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x60(%rbp),%rax
mov    -0xd0(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    24d0 <bobyqb_+0x1350>
jmp    2541 <bobyqb_+0x13c1>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    248d <bobyqb_+0x130d>
jmp    255a <bobyqb_+0x13da>
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    21ec <bobyqb_+0x106c>
movl   $0x0,-0xc0(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     27a3 <bobyqb_+0x1623>
movsd  -0x130(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x250(%rbp),%xmm0
ff
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     2693 <bobyqb_+0x1513>
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    25eb <bobyqb_+0x146b>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jg     278a <bobyqb_+0x160a>
mov    -0xc0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc0(%rbp)
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x60(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xb8(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xb4(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    269d <bobyqb_+0x151d>
jmp    278f <bobyqb_+0x160f>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    2582 <bobyqb_+0x1402>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     288e <bobyqb_+0x170e>
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0xb4(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x78(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x80(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x180(%rbp),%xmm0
ff
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    27ad <bobyqb_+0x162d>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
cmpl   $0x0,-0x2a4(%rbp)
jne    28b0 <bobyqb_+0x1730>
jmp    2c14 <bobyqb_+0x1a94>
jmp    2db5 <bobyqb_+0x1c35>
mov    -0xc4(%rbp),%eax
mov    %eax,-0x218(%rbp)
mov    -0x174(%rbp),%eax
mov    %eax,-0x1d4(%rbp)
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    -0x40(%rbp),%rdx
add    $0x8,%rdx
mov    -0x48(%rbp),%rcx
add    $0x8,%rcx
mov    -0x50(%rbp),%r8
mov    0x10(%rbp),%r9
mov    0x18(%rbp),%eax
mov    0x20(%rbp),%r10d
mov    %r10d,-0x3cc(%rbp)
mov    0x28(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3c8(%rbp)
mov    0x30(%rbp),%r10
movslq -0x68(%rbp),%r11
shl    $0x3,%r11
add    %r11,%r10
mov    %r10,-0x3c0(%rbp)
mov    0x38(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3b8(%rbp)
mov    0x40(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3b0(%rbp)
mov    0x48(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3a8(%rbp)
mov    0x50(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3a0(%rbp)
mov    0x58(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x398(%rbp)
mov    0x60(%rbp),%r10
movslq -0x70(%rbp),%r11
shl    $0x3,%r11
add    %r11,%r10
mov    %r10,-0x390(%rbp)
mov    0x68(%rbp),%r10
movslq -0x78(%rbp),%r11
shl    $0x3,%r11
add    %r11,%r10
mov    %r10,-0x388(%rbp)
mov    0x70(%rbp),%r10d
mov    %r10d,-0x37c(%rbp)
mov    0x78(%rbp),%r13
add    $0x8,%r13
mov    0x80(%rbp),%r12
add    $0x8,%r12
movsd  -0x1e8(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rbx
add    $0x8,%rbx
mov    0xa8(%rbp),%r11
add    $0x8,%r11
mov    0xa8(%rbp),%r10
mov    -0x2c(%rbp),%r14d
add    -0xe4(%rbp),%r14d
movslq %r14d,%r14
shl    $0x3,%r14
add    %r14,%r10
mov    0xa8(%rbp),%r14
mov    0x70(%rbp),%r15d
add    -0xe4(%rbp),%r15d
movslq %r15d,%r15
shl    $0x3,%r15
add    %r15,%r14
mov    %r14,-0x378(%rbp)
lea    -0xc4(%rbp),%r15
lea    -0x174(%rbp),%r14
mov    %eax,(%rsp)
mov    -0x3cc(%rbp),%eax
mov    %eax,0x8(%rsp)
mov    -0x3c8(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x3c0(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x3b8(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x3b0(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x3a8(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x3a0(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x398(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x390(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0x388(%rbp),%rax
mov    %rax,0x50(%rsp)
mov    -0x37c(%rbp),%eax
mov    %eax,0x58(%rsp)
mov    -0x378(%rbp),%rax
mov    %r13,0x60(%rsp)
mov    %r12,0x68(%rsp)
mov    %r15,0x70(%rsp)
mov    %r14,0x78(%rsp)
mov    %rbx,0x80(%rsp)
mov    %r11,0x88(%rsp)
mov    %r10,0x90(%rsp)
mov    %rax,0x98(%rsp)
call   1040 <rescue_@plt>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
mov    -0x174(%rbp),%eax
cmp    -0x1d4(%rbp),%eax
je     2b9b <bobyqb_+0x1a1b>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     2b96 <bobyqb_+0x1a16>
mov    0x30(%rbp),%rax
mov    -0x174(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x2b0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    2b0d <bobyqb_+0x198d>
jmp    2b9b <bobyqb_+0x1a1b>
cmpl   $0x0,-0xc4(%rbp)
jge    2bce <bobyqb_+0x1a4e>
mov    0x20(%rbp),%eax
mov    %eax,-0xc4(%rbp)
cmpl   $0x0,0x18(%rbp)
jle    2bc9 <bobyqb_+0x1a49>
lea    0x34ae(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
mov    -0xc4(%rbp),%eax
mov    %eax,-0x214(%rbp)
mov    -0x218(%rbp),%eax
cmp    -0xc4(%rbp),%eax
jge    2bfd <bobyqb_+0x1a7d>
mov    -0xc4(%rbp),%eax
mov    %eax,-0x218(%rbp)
jmp    16d2 <bobyqb_+0x552>
cmpl   $0x0,-0x2a4(%rbp)
jle    2c0f <bobyqb_+0x1a8f>
jmp    196c <bobyqb_+0x7ec>
jmp    2c14 <bobyqb_+0x1a94>
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    0x30(%rbp),%rdx
movslq -0x68(%rbp),%rax
shl    $0x3,%rax
add    %rax,%rdx
mov    0x40(%rbp),%rcx
add    $0x8,%rcx
mov    0x60(%rbp),%r8
movslq -0x70(%rbp),%rax
shl    $0x3,%rax
add    %rax,%r8
mov    0x68(%rbp),%r9
movslq -0x78(%rbp),%rax
shl    $0x3,%rax
add    %rax,%r9
mov    0x70(%rbp),%eax
mov    0x78(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3f0(%rbp)
mov    0x80(%rbp),%r10
add    $0x8,%r10
mov    %r10,-0x3e8(%rbp)
mov    -0x174(%rbp),%r10d
mov    %r10d,-0x3dc(%rbp)
mov    -0x144(%rbp),%r13d
movsd  -0x1f0(%rbp),%xmm0
ff
mov    0x88(%rbp),%r12
add    $0x8,%r12
mov    0x90(%rbp),%r15
add    $0x8,%r15
mov    0xa8(%rbp),%r11
add    $0x8,%r11
mov    0xa8(%rbp),%r10
movslq -0xe4(%rbp),%rbx
shl    $0x3,%rbx
add    %rbx,%r10
mov    0xa8(%rbp),%rbx
mov    0x70(%rbp),%r14d
add    $0x1,%r14d
movslq %r14d,%r14
shl    $0x3,%r14
add    %r14,%rbx
mov    %rbx,-0x3d8(%rbp)
lea    -0x1e0(%rbp),%r14
lea    -0x268(%rbp),%rbx
mov    %eax,(%rsp)
mov    -0x3f0(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x3e8(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x3dc(%rbp),%eax
mov    %eax,0x18(%rsp)
mov    -0x3d8(%rbp),%rax
mov    %r13d,0x20(%rsp)
mov    %r12,0x28(%rsp)
mov    %r15,0x30(%rsp)
mov    %r14,0x38(%rsp)
mov    %rbx,0x40(%rsp)
mov    %r11,0x48(%rsp)
mov    %r10,0x50(%rsp)
mov    %rax,0x58(%rsp)
call   10a0 <altmov_@plt>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     2db0 <bobyqb_+0x1c30>
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    2d57 <bobyqb_+0x1bd7>
jmp    2db5 <bobyqb_+0x1c35>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     2f97 <bobyqb_+0x1e17>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x2c(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     2f09 <bobyqb_+0x1d89>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x158(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x160(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x60(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    2e0e <bobyqb_+0x1c8e>
movsd  -0x158(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm1
ff
movsd  -0x158(%rbp),%xmm3
ff
movsd  -0x160(%rbp),%xmm2
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x158(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xbc(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    2dbf <bobyqb_+0x1c3f>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     3114 <bobyqb_+0x1f94>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     3049 <bobyqb_+0x1ec9>
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    2fdd <bobyqb_+0x1e5d>
movsd  -0x118(%rbp),%xmm0
ff
movsd  -0x118(%rbp),%xmm2
ff
movsd  -0x138(%rbp),%xmm1
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     30fb <bobyqb_+0x1f7b>
movsd  -0x118(%rbp),%xmm0
ff
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    3092 <bobyqb_+0x1f12>
jmp    3100 <bobyqb_+0x1f80>
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    2fb1 <bobyqb_+0x1e31>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     337b <bobyqb_+0x21fb>
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     3226 <bobyqb_+0x20a6>
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    31ba <bobyqb_+0x203a>
movsd  -0x118(%rbp),%xmm0
ff
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x168(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
mov    -0x30(%rbp),%eax
add    -0xb8(%rbp),%eax
mov    %eax,-0xd4(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     32de <bobyqb_+0x215e>
mov    0x60(%rbp),%rax
mov    -0xd4(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    3272 <bobyqb_+0x20f2>
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0xd4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x118(%rbp),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x168(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    314e <bobyqb_+0x1fce>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xe0(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm1
ff
movsd  -0x2b0(%rbp),%xmm4
ff
addsd  -0xe0(%rbp),%xmm4
ff
addsd  -0xe0(%rbp),%xmm4
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x108(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
addsd  -0x138(%rbp),%xmm0
ff
subsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0x174(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
cmpl   $0x0,-0x2a4(%rbp)
jne    35ab <bobyqb_+0x242b>
mov    0xa0(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mulsd  -0x138(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  -0x268(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    352e <bobyqb_+0x23ae>
movsd  -0x268(%rbp),%xmm0
ff
ucomisd -0x180(%rbp),%xmm0
ff
jbe    352e <bobyqb_+0x23ae>
mov    -0x2c(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     3519 <bobyqb_+0x2399>
mov    0x90(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    349a <bobyqb_+0x231a>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x268(%rbp)
ff
jmp    2db5 <bobyqb_+0x1c35>
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa0(%rbp),%rax
movslq -0x144(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
ucomisd %xmm1,%xmm0
jb     35a6 <bobyqb_+0x2426>
mov    -0xc4(%rbp),%eax
cmp    -0x214(%rbp),%eax
jle    3589 <bobyqb_+0x2409>
jmp    28b5 <bobyqb_+0x1735>
cmpl   $0x0,0x18(%rbp)
jle    35a1 <bobyqb_+0x2421>
lea    0x2b17(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
jmp    3929 <bobyqb_+0x27a9>
movsd  -0x1e8(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
movl   $0x0,-0x144(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     38ce <bobyqb_+0x274e>
mov    -0xbc(%rbp),%eax
cmp    -0x174(%rbp),%eax
jne    361d <bobyqb_+0x249d>
jmp    38b5 <bobyqb_+0x2735>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d0(%rbp)
ff
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     36b1 <bobyqb_+0x2531>
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1d0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    3637 <bobyqb_+0x24b7>
movsd  -0x138(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm2
ff
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     37a8 <bobyqb_+0x2628>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x2a0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    3711 <bobyqb_+0x2591>
movsd  -0x2a0(%rbp),%xmm0
ff
divsd  -0x210(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x2b8(%rbp),%xmm0
ff
mulsd  -0x2b8(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
ucomisd -0x150(%rbp),%xmm0
ff
jbe    37fe <bobyqb_+0x267e>
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
ucomisd -0x258(%rbp),%xmm0
ff
jbe    3850 <bobyqb_+0x26d0>
movsd  -0x150(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x258(%rbp)
ff
mov    -0xbc(%rbp),%eax
mov    %eax,-0x144(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm0
ff
ucomisd -0x278(%rbp),%xmm0
ff
jbe    38b0 <bobyqb_+0x2730>
movsd  -0x2c0(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
jmp    38b5 <bobyqb_+0x2735>
jmp    38ba <bobyqb_+0x273a>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    35f7 <bobyqb_+0x2477>
movsd  -0x258(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x278(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     3924 <bobyqb_+0x27a4>
mov    -0xc4(%rbp),%eax
cmp    -0x214(%rbp),%eax
jle    3907 <bobyqb_+0x2787>
jmp    28b5 <bobyqb_+0x1735>
cmpl   $0x0,0x18(%rbp)
jle    391f <bobyqb_+0x279f>
lea    0x2799(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
jmp    3929 <bobyqb_+0x27a9>
jmp    392e <bobyqb_+0x27ae>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     3ac4 <bobyqb_+0x2944>
mov    0x28(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jbe    39c0 <bobyqb_+0x2840>
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
ucomisd %xmm1,%xmm0
jbe    3a0a <bobyqb_+0x288a>
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    3a59 <bobyqb_+0x28d9>
jp     3a59 <bobyqb_+0x28d9>
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    3aab <bobyqb_+0x292b>
jp     3aab <bobyqb_+0x292b>
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    3ab0 <bobyqb_+0x2930>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    3938 <bobyqb_+0x27b8>
mov    -0xc4(%rbp),%eax
cmp    0x20(%rbp),%eax
jl     3af0 <bobyqb_+0x2970>
cmpl   $0x0,0x18(%rbp)
jle    3aeb <bobyqb_+0x296b>
lea    0x258c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
mov    -0xc4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc4(%rbp)
mov    -0x50(%rbp),%rax
mov    0x10(%rbp),%rdi
mov    -0x2c(%rbp),%esi
mov    -0x38(%rbp),%rdx
add    $0x8,%rdx
call   *%rax
movsd  %xmm0,-0xb0(%rbp)
ff
cmpl   $0x3,0x18(%rbp)
jne    3b92 <bobyqb_+0x2a12>
mov    -0xc4(%rbp),%esi
movsd  -0xb0(%rbp),%xmm0
ff
lea    0x25b9(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     3b8d <bobyqb_+0x2a0d>
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
lea    0x25bc(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    3b4c <bobyqb_+0x29cc>
jmp    3b92 <bobyqb_+0x2a12>
cmpl   $0xffffffff,-0x2a4(%rbp)
jne    3bb4 <bobyqb_+0x2a34>
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x200(%rbp)
ff
jmp    58bc <bobyqb_+0x473c>
mov    0x38(%rbp),%rax
movslq -0x174(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x230(%rbp)
ff
movl   $0x0,-0xc0(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     3d1a <bobyqb_+0x2b9a>
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x48(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x230(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jg     3d01 <bobyqb_+0x2b81>
mov    -0xc0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc0(%rbp)
mov    0x98(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jne    3cbd <bobyqb_+0x2b3d>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x230(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    3c44 <bobyqb_+0x2ac4>
jmp    3d06 <bobyqb_+0x2b86>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    3bf0 <bobyqb_+0x2a70>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     3da7 <bobyqb_+0x2c27>
movsd  -0x130(%rbp),%xmm0
ff
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xbc(%rbp),%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xbc(%rbp),%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  -0x230(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    3d24 <bobyqb_+0x2ba4>
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0x170(%rbp),%xmm0
ff
subsd  -0x230(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movaps 0x226a(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x228(%rbp),%xmm0
ff
ucomisd -0x110(%rbp),%xmm0
ff
jbe    3e24 <bobyqb_+0x2ca4>
mov    -0xc4(%rbp),%eax
mov    %eax,-0x218(%rbp)
cmpl   $0x0,-0x2a4(%rbp)
jle    435f <bobyqb_+0x31df>
movsd  -0x230(%rbp),%xmm0
ff
ucomisd -0x180(%rbp),%xmm0
ff
jb     3e64 <bobyqb_+0x2ce4>
cmpl   $0x0,0x18(%rbp)
jle    3e5f <bobyqb_+0x2cdf>
lea    0x22db(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    58bc <bobyqb_+0x473c>
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0x170(%rbp),%xmm0
ff
divsd  -0x230(%rbp),%xmm0
ff
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x220(%rbp),%xmm1
ff
movsd  -0x240(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     3ee5 <bobyqb_+0x2d65>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x228(%rbp),%xmm1
ff
movsd  -0x1e8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    3ee0 <bobyqb_+0x2d60>
movsd  -0x228(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
jmp    3f96 <bobyqb_+0x2e16>
movsd  0x216b(%rip),%xmm0
ucomisd -0x220(%rbp),%xmm0
ff
jb     3f3e <bobyqb_+0x2dbe>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x228(%rbp),%xmm0
ff
ucomisd -0x1e8(%rbp),%xmm0
ff
jbe    3f39 <bobyqb_+0x2db9>
movsd  -0x228(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
jmp    3f91 <bobyqb_+0x2e11>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  0x20a2(%rip),%xmm0
mulsd  -0x228(%rbp),%xmm0
ff
ucomisd -0x1e8(%rbp),%xmm0
ff
jbe    3f8c <bobyqb_+0x2e0c>
movsd  0x2084(%rip),%xmm0
mulsd  -0x228(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
jmp    3f91 <bobyqb_+0x2e11>
jmp    3f96 <bobyqb_+0x2e16>
movsd  -0x1e8(%rbp),%xmm1
ff
movsd  0x209a(%rip),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     3fc8 <bobyqb_+0x2e48>
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x170(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    435a <bobyqb_+0x31da>
mov    -0x144(%rbp),%eax
mov    %eax,-0x18c(%rbp)
movsd  -0x1f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm0
mulsd  -0x1e8(%rbp),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
movl   $0x0,-0x144(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     4317 <bobyqb_+0x3197>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0x178(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     40f9 <bobyqb_+0x2f79>
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1d0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    4082 <bobyqb_+0x2f02>
movsd  -0x138(%rbp),%xmm0
movsd  -0x1d0(%rbp),%xmm2
ff
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     41f6 <bobyqb_+0x3076>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x88(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x2a0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    4159 <bobyqb_+0x2fd9>
movsd  -0x2a0(%rbp),%xmm0
ff
divsd  -0x210(%rbp),%xmm0
ff
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x2c8(%rbp),%xmm0
ff
mulsd  -0x2c8(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
ucomisd -0x150(%rbp),%xmm0
ff
jbe    424c <bobyqb_+0x30cc>
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
ucomisd -0x258(%rbp),%xmm0
ff
jbe    429e <bobyqb_+0x311e>
movsd  -0x150(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x258(%rbp)
ff
mov    -0xbc(%rbp),%eax
mov    %eax,-0x144(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x150(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x2d0(%rbp),%xmm0
ff
ucomisd -0x278(%rbp),%xmm0
ff
jbe    42fe <bobyqb_+0x317e>
movsd  -0x2d0(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
jmp    4303 <bobyqb_+0x3183>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4050 <bobyqb_+0x2ed0>
movsd  -0x258(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x278(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     4355 <bobyqb_+0x31d5>
mov    -0x18c(%rbp),%eax
mov    %eax,-0x144(%rbp)
movsd  -0x280(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
jmp    435a <bobyqb_+0x31da>
jmp    435f <bobyqb_+0x31df>
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    0x60(%rbp),%rdx
movslq -0x70(%rbp),%rax
shl    $0x3,%rax
add    %rax,%rdx
mov    0x68(%rbp),%rcx
movslq -0x78(%rbp),%rax
shl    $0x3,%rax
add    %rax,%rcx
mov    0x70(%rbp),%r8d
mov    0xa0(%rbp),%r9
add    $0x8,%r9
movsd  -0x138(%rbp),%xmm0
ff
movsd  -0x1f8(%rbp),%xmm1
ff
mov    -0x144(%rbp),%r10d
sub    $0x1,%r10d
mov    0xa8(%rbp),%rax
add    $0x8,%rax
mov    %r10d,(%rsp)
mov    %rax,0x8(%rsp)
call   1070 <update_@plt>
movl   $0x0,-0xc0(%rbp)
mov    0x58(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
mov    0x58(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     44e8 <bobyqb_+0x3368>
movsd  -0x238(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0xb4(%rbp),%eax
mov    %eax,-0x80(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x80(%rbp),%eax
jg     44cf <bobyqb_+0x334f>
mov    -0xc0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc0(%rbp)
movsd  -0x150(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    445a <bobyqb_+0x32da>
jmp    44d4 <bobyqb_+0x3354>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    440a <bobyqb_+0x328a>
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     45bb <bobyqb_+0x343b>
movsd  -0x128(%rbp),%xmm0
ff
mov    0x68(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     45a2 <bobyqb_+0x3422>
movsd  -0x150(%rbp),%xmm0
ff
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    453c <bobyqb_+0x33bc>
jmp    45a7 <bobyqb_+0x3427>
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    44f2 <bobyqb_+0x3372>
movsd  -0xb0(%rbp),%xmm0
ff
mov    0x38(%rbp),%rax
movslq -0x144(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4662 <bobyqb_+0x34e2>
mov    0x88(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x60(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    45dd <bobyqb_+0x345d>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4836 <bobyqb_+0x36b6>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movl   $0x1,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     470f <bobyqb_+0x358f>
mov    0x68(%rbp),%rax
mov    -0x144(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xc8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x158(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0xc8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc8(%rbp)
jmp    4695 <bobyqb_+0x3515>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x160(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4792 <bobyqb_+0x3612>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x160(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    4729 <bobyqb_+0x35a9>
movsd  -0x158(%rbp),%xmm0
ff
mulsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     481d <bobyqb_+0x369d>
movsd  -0x150(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    47b4 <bobyqb_+0x3634>
jmp    4822 <bobyqb_+0x36a2>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    466c <bobyqb_+0x34ec>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     489b <bobyqb_+0x371b>
movsd  -0x128(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    4840 <bobyqb_+0x36c0>
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x170(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    4b86 <bobyqb_+0x3a06>
mov    -0x144(%rbp),%eax
mov    %eax,-0x174(%rbp)
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
movl   $0x0,-0xc0(%rbp)
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4a39 <bobyqb_+0x38b9>
mov    0x88(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x2b0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jg     4a20 <bobyqb_+0x38a0>
mov    -0xc0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc0(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jge    49cc <bobyqb_+0x384c>
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x50(%rbp),%rax
movslq -0xc0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    4959 <bobyqb_+0x37d9>
jmp    4a25 <bobyqb_+0x38a5>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    48e5 <bobyqb_+0x3765>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4b81 <bobyqb_+0x3a01>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4ad8 <bobyqb_+0x3958>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x150(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    4a6c <bobyqb_+0x38ec>
mov    0x58(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4b68 <bobyqb_+0x39e8>
movsd  -0x150(%rbp),%xmm0
ff
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    4b02 <bobyqb_+0x3982>
jmp    4b6d <bobyqb_+0x39ed>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4a43 <bobyqb_+0x38c3>
jmp    4b86 <bobyqb_+0x3a06>
cmpl   $0x0,-0x2a4(%rbp)
jle    52ff <bobyqb_+0x417f>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4c0e <bobyqb_+0x3a8e>
mov    0x38(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x174(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x180(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4b9d <bobyqb_+0x3a1d>
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x178(%rbp),%eax
jg     4d3c <bobyqb_+0x3bbc>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4cb0 <bobyqb_+0x3b30>
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4c44 <bobyqb_+0x3ac4>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4d23 <bobyqb_+0x3ba3>
movsd  -0x118(%rbp),%xmm0
ff
mov    0x68(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x74(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4cba <bobyqb_+0x3b3a>
jmp    4d28 <bobyqb_+0x3ba8>
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    4c18 <bobyqb_+0x3a98>
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4e45 <bobyqb_+0x3cc5>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     4dd8 <bobyqb_+0x3c58>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    4d6f <bobyqb_+0x3bef>
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
mov    -0xbc(%rbp),%ecx
add    -0x30(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4d46 <bobyqb_+0x3bc6>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     51cb <bobyqb_+0x404b>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     4f3d <bobyqb_+0x3dbd>
movsd  -0x118(%rbp),%xmm0
ff
mov    0x60(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x6c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0xa0(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb4(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
movslq -0xbc(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    4e98 <bobyqb_+0x3d18>
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    503a <bobyqb_+0x3eba>
jp     503a <bobyqb_+0x3eba>
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x180(%rbp),%xmm1
ff
movsd  -0x2d8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    4fab <bobyqb_+0x3e2b>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x2d8(%rbp),%xmm0
ff
movsd  -0x2d8(%rbp),%xmm2
ff
movsd  -0x198(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x180(%rbp),%xmm1
ff
movsd  -0x118(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    500d <bobyqb_+0x3e8d>
movsd  -0x180(%rbp),%xmm0
movsd  %xmm0,-0x118(%rbp)
movsd  -0x2d8(%rbp),%xmm0
ff
movsd  -0x2d8(%rbp),%xmm2
ff
movsd  -0x140(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
jmp    5197 <bobyqb_+0x4017>
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    5132 <bobyqb_+0x3fb2>
jp     5132 <bobyqb_+0x3fb2>
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
ucomisd -0x2e0(%rbp),%xmm0
ff
jbe    50a7 <bobyqb_+0x3f27>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm0
ff
movsd  -0x2e0(%rbp),%xmm2
ff
movsd  -0x198(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
ucomisd -0x118(%rbp),%xmm0
ff
jbe    5105 <bobyqb_+0x3f85>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm0
ff
movsd  -0x2e0(%rbp),%xmm2
ff
movsd  -0x140(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
jmp    5192 <bobyqb_+0x4012>
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x198(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
movsd  -0x118(%rbp),%xmm2
ff
movsd  -0x140(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
jmp    5197 <bobyqb_+0x4017>
movsd  -0x118(%rbp),%xmm0
ff
mov    0xa0(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xb4(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    4e6f <bobyqb_+0x3cef>
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
movsd  -0x198(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0x140(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    5206 <bobyqb_+0x4086>
movl   $0x0,-0x244(%rbp)
cmpl   $0x3,-0x244(%rbp)
jl     52fa <bobyqb_+0x417a>
mov    -0x30(%rbp),%edi
mov    -0xcc(%rbp),%esi
mov    $0x0,%al
call   1060 <imax@plt>
mov    %eax,-0x7c(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x7c(%rbp),%eax
jg     52f5 <bobyqb_+0x4175>
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     5276 <bobyqb_+0x40f6>
mov    0xa0(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xb4(%rbp),%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     52ad <bobyqb_+0x412d>
mov    0xa8(%rbp),%rax
mov    -0x30(%rbp),%ecx
add    -0xb4(%rbp),%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x58(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0xb4(%rbp),%eax
cmp    -0xcc(%rbp),%eax
jg     52d7 <bobyqb_+0x4157>
movsd  -0x180(%rbp),%xmm0
ff
mov    0x50(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x0,-0x244(%rbp)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    5230 <bobyqb_+0x40b0>
jmp    52fa <bobyqb_+0x417a>
jmp    52ff <bobyqb_+0x417f>
cmpl   $0x0,-0x2a4(%rbp)
jne    5311 <bobyqb_+0x4191>
jmp    196c <bobyqb_+0x7ec>
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x240(%rbp),%xmm0
ff
movsd  -0x230(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
ucomisd %xmm1,%xmm0
jb     5348 <bobyqb_+0x41c8>
jmp    196c <bobyqb_+0x7ec>
movsd  -0x120(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x2e8(%rbp),%xmm0
ff
mulsd  -0x2e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x2f0(%rbp),%xmm0
ff
mulsd  -0x2f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x2f8(%rbp),%xmm0
ff
ucomisd -0x300(%rbp),%xmm0
ff
jbe    53d3 <bobyqb_+0x4253>
movsd  -0x2f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3f8(%rbp)
ff
jmp    53e3 <bobyqb_+0x4263>
movsd  -0x300(%rbp),%xmm0
ff
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x3f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
movl   $0x0,-0x144(%rbp)
movl   $0x1,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
cmp    -0x30(%rbp),%eax
jg     5512 <bobyqb_+0x4392>
movsd  -0x180(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movl   $0x1,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     54c7 <bobyqb_+0x4347>
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
mov    -0xbc(%rbp),%ecx
mov    -0xb8(%rbp),%edx
imul   -0x64(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x40(%rbp),%rax
movslq -0xb8(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm2
movsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
jmp    5430 <bobyqb_+0x42b0>
movsd  -0x118(%rbp),%xmm0
ff
ucomisd -0x2a0(%rbp),%xmm0
ff
jbe    54f9 <bobyqb_+0x4379>
mov    -0xbc(%rbp),%eax
mov    %eax,-0x144(%rbp)
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
jmp    54fe <bobyqb_+0x437e>
mov    -0xbc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xbc(%rbp)
jmp    5407 <bobyqb_+0x4287>
cmpl   $0x0,-0x144(%rbp)
jle    5659 <bobyqb_+0x44d9>
movsd  -0x2a0(%rbp),%xmm0
ff
call   1090 <sqrt@plt>
movsd  %xmm0,-0x1a0(%rbp)
ff
cmpl   $0xffffffff,-0x2a4(%rbp)
jne    55ca <bobyqb_+0x444a>
movsd  -0x240(%rbp),%xmm0
ff
mulsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x130(%rbp),%xmm1
ff
mulsd  -0x1a0(%rbp),%xmm1
ff
movsd  -0x1e8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    5593 <bobyqb_+0x4413>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x1a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm1
ff
movsd  0xa9d(%rip),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     55c5 <bobyqb_+0x4445>
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
jmp    55ca <bobyqb_+0x444a>
movl   $0x0,-0x2a4(%rbp)
movsd  -0x240(%rbp),%xmm0
ff
mulsd  -0x1a0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm1
ff
movsd  -0x1f0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    5616 <bobyqb_+0x4496>
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
ucomisd -0x1f0(%rbp),%xmm0
ff
jbe    563c <bobyqb_+0x44bc>
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
jmp    1eb2 <bobyqb_+0xd32>
cmpl   $0xffffffff,-0x2a4(%rbp)
jne    566b <bobyqb_+0x44eb>
jmp    56e1 <bobyqb_+0x4561>
movsd  -0x220(%rbp),%xmm0
ff
ucomisd -0x180(%rbp),%xmm0
ff
jbe    5686 <bobyqb_+0x4506>
jmp    196c <bobyqb_+0x7ec>
movsd  -0x1e8(%rbp),%xmm0
ff
ucomisd -0x228(%rbp),%xmm0
ff
jbe    56b1 <bobyqb_+0x4531>
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x400(%rbp)
ff
jmp    56c1 <bobyqb_+0x4541>
movsd  -0x228(%rbp),%xmm0
ff
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x400(%rbp),%xmm0
ff
ucomisd -0x110(%rbp),%xmm0
ff
jbe    56dc <bobyqb_+0x455c>
jmp    196c <bobyqb_+0x7ec>
jmp    56e1 <bobyqb_+0x4561>
movsd  -0x110(%rbp),%xmm0
ff
ucomisd -0x60(%rbp),%xmm0
jbe    58a5 <bobyqb_+0x4725>
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
divsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  0x907(%rip),%xmm0
ucomisd -0x220(%rbp),%xmm0
ff
jb     5749 <bobyqb_+0x45c9>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
jmp    579b <bobyqb_+0x461b>
movsd  0x8e7(%rip),%xmm0
ucomisd -0x220(%rbp),%xmm0
ff
jb     577e <bobyqb_+0x45fe>
movsd  -0x220(%rbp),%xmm0
ff
call   1090 <sqrt@plt>
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
jmp    5796 <bobyqb_+0x4616>
movsd  -0x240(%rbp),%xmm0
ff
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
jmp    579b <bobyqb_+0x461b>
movsd  -0x1e8(%rbp),%xmm0
ff
ucomisd -0x110(%rbp),%xmm0
ff
jbe    57c6 <bobyqb_+0x4646>
movsd  -0x1e8(%rbp),%xmm0
ff
movsd  %xmm0,-0x408(%rbp)
ff
jmp    57d6 <bobyqb_+0x4656>
movsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x408(%rbp)
ff
movsd  -0x408(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
cmpl   $0x2,0x18(%rbp)
jl     588a <bobyqb_+0x470a>
movsd  -0x110(%rbp),%xmm0
ff
mov    -0xc4(%rbp),%esi
lea    0x976(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
mov    0x38(%rbp),%rax
movslq -0x174(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
lea    0x985(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     5885 <bobyqb_+0x4705>
mov    0x28(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
lea    0x8c4(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    5834 <bobyqb_+0x46b4>
jmp    588a <bobyqb_+0x470a>
movl   $0x0,-0x2a4(%rbp)
mov    -0xc4(%rbp),%eax
mov    %eax,-0x218(%rbp)
jmp    196c <bobyqb_+0x7ec>
cmpl   $0xffffffff,-0x2a4(%rbp)
jne    58b7 <bobyqb_+0x4737>
jmp    392e <bobyqb_+0x27ae>
jmp    58bc <bobyqb_+0x473c>
mov    0x38(%rbp),%rax
movslq -0x174(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x200(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jb     5a83 <bobyqb_+0x4903>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     5a6b <bobyqb_+0x48eb>
mov    0x28(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jbe    596d <bobyqb_+0x47ed>
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
ucomisd %xmm1,%xmm0
jbe    59b7 <bobyqb_+0x4837>
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    5a03 <bobyqb_+0x4883>
jp     5a03 <bobyqb_+0x4883>
mov    -0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
movslq -0xb4(%rbp),%rcx
ucomisd (%rax,%rcx,8),%xmm0
jne    5a52 <bobyqb_+0x48d2>
jp     5a52 <bobyqb_+0x48d2>
mov    -0x48(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    5a57 <bobyqb_+0x48d7>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    58e8 <bobyqb_+0x4768>
mov    0x38(%rbp),%rax
movslq -0x174(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
cmpl   $0x1,0x18(%rbp)
jl     5b07 <bobyqb_+0x4987>
mov    -0xc4(%rbp),%esi
lea    0x741(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsd  -0xb0(%rbp),%xmm0
ff
lea    0x6f8(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     5b02 <bobyqb_+0x4982>
mov    -0x38(%rbp),%rax
movslq -0xb4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
lea    0x647(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    5ac1 <bobyqb_+0x4941>
jmp    5b07 <bobyqb_+0x4987>
add    $0x488,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<bobyqb_>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x4e8,%rsp
movsd  %xmm1,0x250(%rsp)
mov    %esi,%r10d
mov    %edi,%r15d
movslq 0x580(%rsp),%rbp
mov    0x5b8(%rsp),%r13
mov    0x570(%rsp),%rdi
mov    %esi,%eax
mov    %r10,0x10(%rsp)
not    %eax
movslq %eax,%rsi
lea    0x8(,%rbp,8),%rax
sub    %rax,%rdi
mov    %rdi,0x150(%rsp)
lea    0x1(%r15),%ebx
mov    %ebx,%eax
imul   %r15d,%eax
mov    %eax,%edi
shr    $0x1f,%edi
add    %eax,%edi
mov    %rbp,%rax
not    %rax
mov    %rax,0x70(%rsp)
sar    %edi
mov    %edi,0x1fc(%rsp)
mov    0x5a8(%rsp),%r14
mov    0x578(%rsp),%r12
mov    0x548(%rsp),%r11
mov    0x540(%rsp),%rax
lea    (%r12,%rsi,8),%rdi
mov    %rdi,0xc0(%rsp)
mov    %rsi,0x1d0(%rsp)
lea    (%rax,%rsi,8),%rsi
mov    %rsi,0x68(%rsp)
lea    -0x8(%r11),%rsi
mov    %rsi,0x128(%rsp)
lea    0x1(%rbp),%rax
mov    %rax,0x30(%rsp)
lea    -0x8(%r13),%rsi
mov    %rsi,0x20(%rsp)
lea    0x4c(%rsp),%rax
lea    0x3c(%rsp),%r11
mov    %r15d,%edi
mov    %r10d,%esi
mov    %rdx,0x160(%rsp)
mov    %rcx,0x1e0(%rsp)
mov    %r8,0x130(%rsp)
mov    %r9,0x328(%rsp)
movapd %xmm0,0xe0(%rsp)
push   %rax
push   %r11
push   0x5a0(%rsp)
push   0x5a0(%rsp)
mov    %rbp,0x168(%rsp)
push   %rbp
push   %r12
push   0x5a0(%rsp)
push   0x5a0(%rsp)
push   0x5a0(%rsp)
push   0x5a0(%rsp)
push   0x598(%rsp)
push   0x598(%rsp)
push   0x598(%rsp)
mov    0x598(%rsp),%eax
push   %rax
mov    0x598(%rsp),%eax
push   %rax
push   0x598(%rsp)
call   1090 <prelim_@plt>
mov    %r15,%rsi
mov    0x90(%rsp),%r11
add    $0x80,%rsp
xorpd  %xmm15,%xmm15
movslq %r11d,%rax
mov    %rax,0x8(%rsp)
mov    %rbx,0x120(%rsp)
mov    %ebx,%eax
mov    %rax,0x28(%rsp)
test   %esi,%esi
mov    %r15,0x18(%rsp)
jle    1429 <bobyqb_+0x299>
movslq 0x4c(%rsp),%r8
mov    0x28(%rsp),%rax
lea    -0x1(%rax),%r9
xorpd  %xmm15,%xmm15
mov    $0x1,%edx
cmpl   $0x2,0x120(%rsp)
02
mov    0x550(%rsp),%r10
je     13f1 <bobyqb_+0x261>
mov    0x8(%rsp),%rdx
lea    (%r8,%rdx,1),%rax
mov    0x540(%rsp),%rcx
lea    (%rcx,%rax,8),%rsi
lea    (%rdx,%rdx,1),%rdi
lea    (%r8,%rdx,2),%rax
lea    (%rcx,%rax,8),%rbp
mov    %r9,%rcx
and    $0xfffffffffffffffe,%rcx
neg    %rcx
xorpd  %xmm15,%xmm15
mov    $0x1,%edx
mov    0x1d0(%rsp),%rax
nop
movsd  (%rsi,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r10,%rdx,8)
mulsd  %xmm0,%xmm0
addsd  %xmm15,%xmm0
movsd  0x0(%rbp,%rax,8),%xmm15
movsd  %xmm15,(%r10,%rdx,8)
mulsd  %xmm15,%xmm15
addsd  %xmm0,%xmm15
add    %rdi,%rax
lea    (%rcx,%rdx,1),%rbx
add    $0x2,%rbx
add    $0x2,%rdx
cmp    $0x1,%rbx
jne    13b0 <bobyqb_+0x220>
test   $0x1,%r9b
mov    0x18(%rsp),%rsi
je     1429 <bobyqb_+0x299>
mov    %rdx,%rax
imul   0x8(%rsp),%rax
add    %r8,%rax
mov    0x68(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm0
mov    0x550(%rsp),%rax
movsd  %xmm0,-0x8(%rax,%rdx,8)
mulsd  %xmm0,%xmm0
addsd  %xmm0,%xmm15
mov    0x548(%rsp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,0x308(%rsp)
mov    0x3c(%rsp),%eax
cmp    %r11d,%eax
jge    147f <bobyqb_+0x2ef>
lea    0x5d94(%rip),%rdi
mov    0x528(%rsp),%eax
test   %eax,%eax
mov    0x28(%rsp),%r15
jg     6c4d <bobyqb_+0x5abd>
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
mov    0x538(%rsp),%rbp
jmp    6c74 <bobyqb_+0x5ae4>
lea    (%rsi,%rsi,2),%ecx
add    0x120(%rsp),%ecx
mov    %ecx,0x78(%rsp)
mov    %eax,0x11c(%rsp)
lea    0x1(%r11),%r15d
movslq 0x148(%rsp),%rcx
mov    %rcx,0xd8(%rsp)
mov    %r11d,%eax
sub    %esi,%eax
mov    %rax,0x198(%rsp)
lea    -0x1(%r15),%rdx
mov    %rcx,%rax
mov    0x30(%rsp),%rdi
sub    %rdi,%rax
mov    %rax,0xd0(%rsp)
lea    (%rcx,%r15,1),%rax
sub    %rdi,%rax
mov    %rax,0x490(%rsp)
mov    0x28(%rsp),%rbp
lea    -0x5(%rbp),%rax
mov    %rax,0x298(%rsp)
mov    %rax,%r8
shr    $0x2,%r8
add    $0x1,%r8
lea    -0x5(%r15),%rax
mov    %rax,0x228(%rsp)
mov    %rax,%rcx
shr    $0x2,%rcx
add    $0x1,%rcx
mov    %rdx,0x80(%rsp)
mov    %edx,%eax
and    $0x3,%eax
mov    %rax,0x248(%rsp)
mov    %rdx,%rax
and    $0xfffffffffffffffc,%rax
mov    %rax,0x110(%rsp)
mov    %r15,%rax
neg    %rax
mov    %rax,0x1e8(%rsp)
mov    0x598(%rsp),%rax
lea    (%rax,%rbp,8),%rdi
add    $0xfffffffffffffff8,%rdi
cmp    %r14,%rdi
seta   %dl
lea    (%r14,%rbp,8),%r9
add    $0xfffffffffffffff8,%r9
cmp    %rax,%r9
mov    %rax,%r10
seta   %bl
and    %dl,%bl
mov    0x550(%rsp),%rsi
lea    (%rsi,%rbp,8),%r11
add    $0xfffffffffffffff8,%r11
cmp    %r14,%r11
seta   %al
cmp    %rsi,%r9
seta   %dl
and    %al,%dl
mov    %ebx,%eax
or     %dl,%al
mov    %al,0xad(%rsp)
lea    -0x1(%rbp),%r12
mov    %r12,%rax
and    $0xfffffffffffffffc,%rax
mov    %rax,0x200(%rsp)
mov    %r8,%rax
mov    %r8,0x290(%rsp)
and    $0xfffffffffffffffe,%r8
mov    %r8,0x280(%rsp)
mov    %rcx,%rax
mov    %rcx,0x220(%rsp)
and    $0xfffffffffffffffe,%rcx
mov    %rcx,0x218(%rsp)
mov    0x5a0(%rsp),%r8
lea    (%r8,%rbp,8),%rcx
add    $0xfffffffffffffff8,%rcx
cmp    %r10,%rcx
seta   %r10b
cmp    %r8,%rdi
seta   %al
and    %r10b,%al
or     %bl,%al
cmp    0x598(%rsp),%r11
seta   %r10b
cmp    %rsi,%rdi
seta   %bl
and    %r10b,%bl
mov    %rsi,%r10
mov    %r12,0x40(%rsp)
cmp    %r14,%rcx
seta   %dil
cmp    %r8,%r9
seta   %cl
and    %dil,%cl
or     %bl,%cl
or     %al,%cl
or     %dl,%cl
mov    %cl,0xaf(%rsp)
mov    %rbp,%rax
neg    %rax
mov    %rax,0x358(%rsp)
mov    0x198(%rsp),%rax
add    $0xffffffffffffffff,%rax
mov    %rax,0x2c0(%rsp)
and    $0x3,%eax
mov    %rax,0x2a0(%rsp)
lea    -0x8(,%rbp,8),%rax
ff
add    %r13,%rax
mov    0x558(%rsp),%rbx
cmp    %rbx,%rax
seta   %al
lea    (%rbx,%rbp,8),%rcx
add    $0xfffffffffffffff8,%rcx
cmp    %r13,%rcx
seta   %cl
and    %al,%cl
mov    %cl,0xae(%rsp)
lea    -0x8(,%r15,8),%rdx
ff
add    %r13,%rdx
mov    0x5b0(%rsp),%rdi
cmp    %rdi,%rdx
seta   %al
lea    (%rdi,%r15,8),%rsi
add    $0xfffffffffffffff8,%rsi
cmp    %r13,%rsi
seta   %cl
and    %al,%cl
mov    %cl,0xac(%rsp)
mov    0x548(%rsp),%rcx
lea    (%rcx,%r15,8),%rax
add    $0xfffffffffffffff8,%rax
cmp    %rdi,%rax
seta   %dil
mov    %rsi,0x370(%rsp)
cmp    %rcx,%rsi
mov    %rcx,%rsi
seta   %cl
and    %dil,%cl
mov    %cl,0xab(%rsp)
cmp    %r13,%rax
seta   %al
mov    %rdx,0x320(%rsp)
cmp    %rsi,%rdx
seta   %cl
and    %al,%cl
mov    %cl,0xaa(%rsp)
mov    0x120(%rsp),%rdi
movslq %edi,%rax
mov    0x20(%rsp),%rsi
lea    (%rsi,%rax,8),%rax
mov    %rax,0x338(%rsp)
mov    0x18(%rsp),%rcx
lea    (%rdi,%rcx,1),%eax
cltq
lea    (%rsi,%rax,8),%rax
mov    %rax,0x330(%rsp)
lea    (%rdi,%rcx,2),%eax
cltq
lea    (%rsi,%rax,8),%rax
mov    %rax,0x410(%rsp)
movslq 0x78(%rsp),%rax
lea    (%rsi,%rax,8),%rax
mov    %rax,0x408(%rsp)
mov    0x8(%rsp),%r8
mov    0xd8(%rsp),%r11
lea    (%r8,%r11,2),%r9
mov    0x30(%rsp),%rbx
sub    %rbx,%r9
lea    (%r11,%r8,1),%rax
mov    %rbx,%rdx
sub    %rbx,%rax
lea    (%rsi,%rbx,8),%rdx
mov    %rdx,0x400(%rsp)
mov    0x148(%rsp),%rdx
add    %edi,%edx
movslq %edx,%rdx
lea    (%rsi,%rdx,8),%rdx
mov    %rdx,0x3e8(%rsp)
mov    %r8,%rbp
shl    $0x4,%rbp
and    $0xfffffffffffffffe,%r12
neg    %r12
mov    0x80(%rsp),%rdx
and    $0xfffffffffffffffe,%rdx
neg    %rdx
mov    %rdx,0x190(%rsp)
mov    %r11,%rdx
shl    $0x5,%rdx
mov    %rdx,0x378(%rsp)
mov    0x570(%rsp),%rbx
mov    0x70(%rsp),%rdx
lea    (%rbx,%rdx,8),%rdx
mov    %rdx,0x2d8(%rsp)
lea    0x18(%rbx,%rax,8),%rdx
mov    %rdx,0x420(%rsp)
lea    0x8(%rbx,%rax,8),%rax
mov    %rax,0x368(%rsp)
mov    0x1d0(%rsp),%rdx
lea    (%r8,%rdx,1),%rax
lea    (%rax,%r15,1),%rsi
mov    %rsi,0x240(%rsp)
mov    0x540(%rsp),%rcx
lea    0x8(%rcx,%rax,8),%rdi
mov    %rdi,0x2b0(%rsp)
mov    0x578(%rsp),%rdi
lea    0x8(%rdi,%rax,8),%rsi
mov    %rsi,0x210(%rsp)
lea    0x20(%rcx,%rax,8),%rsi
mov    %rsi,0x438(%rsp)
lea    0x18(%rdi,%rax,8),%rsi
mov    %rsi,0x3b8(%rsp)
lea    (%rdi,%rax,8),%rsi
mov    %rsi,0x3b0(%rsp)
lea    0x10(%rcx,%rax,8),%rsi
mov    %rsi,0x3c8(%rsp)
lea    0x20(%rdi,%rax,8),%rsi
mov    %rsi,0x360(%rsp)
lea    0x38(%rdi,%rax,8),%rax
mov    %rax,0x2a8(%rsp)
mov    0xd0(%rsp),%rsi
lea    0x1(%rsi),%rax
mov    %rax,0x488(%rsp)
lea    0x18(%rbx,%rsi,8),%rax
mov    %rax,0x430(%rsp)
lea    0x8(%rbx,%rsi,8),%rax
mov    %rax,0x2c8(%rsp)
lea    (%rbx,%rsi,8),%rax
add    $0x20,%rax
mov    %rax,0x458(%rsp)
shl    $0x4,%r11
mov    %r11,0x380(%rsp)
lea    (%rbx,%r9,8),%rax
add    $0x18,%rax
mov    %rax,0x428(%rsp)
lea    (%rbx,%r9,8),%rax
add    $0x8,%rax
mov    %rax,0x450(%rsp)
mov    %r8,%rcx
shl    $0x5,%rcx
lea    (%r8,%r8,2),%rax
lea    (%rdi,%rax,8),%rax
add    $0x8,%rax
mov    %rax,0x318(%rsp)
mov    0x2c0(%rsp),%r9
mov    %r9,%rax
and    $0xfffffffffffffffc,%rax
neg    %rax
mov    %rax,0x340(%rsp)
and    $0xfffffffffffffffe,%r9
neg    %r9
mov    %r9,0x498(%rsp)
movsd  0x56ad(%rip),%xmm2
movsd  0x56b5(%rip),%xmm3
movsd  0x56b5(%rip),%xmm4
movabs $0x7ffffffffffffffe,%rax
ff ff 7f
add    $0xfffffffffffffffe,%rax
mov    %rax,0x460(%rsp)
mov    0x18(%rsp),%rsi
lea    0x2(%rsi),%eax
mov    %rax,0x3f0(%rsp)
movslq %esi,%rax
mov    %rax,0x3e0(%rsp)
movslq 0x1fc(%rsp),%rax
mov    %rax,0x3d8(%rsp)
mov    0x4c(%rsp),%r11d
lea    0x1(%r8,%rdx,1),%rsi
mov    %rsi,0x238(%rsp)
mov    0x568(%rsp),%rax
lea    -0x8(%rax,%r15,8),%rsi
mov    %rsi,0x440(%rsp)
lea    0x1(%r8),%rsi
mov    %rsi,0x230(%rsp)
mov    0x5b0(%rsp),%rax
lea    0x8(%rax),%rsi
mov    %rsi,0x470(%rsp)
lea    0x8(%r13),%rsi
mov    %rsi,0x468(%rsp)
mov    0x28(%rsp),%rbx
lea    -0x2(%rbx),%rsi
mov    %rsi,0xc8(%rsp)
mov    %r15,0x30(%rsp)
lea    -0x2(%r15),%rsi
mov    %rsi,0xd0(%rsp)
mov    %r12,%r15
mov    %rcx,%rsi
mov    0x11c(%rsp),%r9d
mov    0x198(%rsp),%rax
lea    -0x2(%rax),%rcx
mov    %rcx,0x2d0(%rsp)
mov    0x110(%rsp),%rax
lea    0x1(%rax),%rcx
mov    %rcx,0x1d8(%rsp)
mov    0x200(%rsp),%rax
lea    0x1(%rax),%rcx
mov    %rcx,0x288(%rsp)
lea    0x0(,%r8,8),%rcx
mov    %rcx,0x78(%rsp)
lea    0x0(,%rdx,8),%rcx
mov    %rcx,0x208(%rsp)
lea    0x8(%rcx,%r8,8),%rcx
mov    %rcx,0x140(%rsp)
lea    0x8(%rbp,%rdx,8),%rcx
mov    %rcx,0x138(%rsp)
mov    0xd8(%rsp),%rax
lea    (%rax,%rax,1),%rcx
mov    %rcx,0x480(%rsp)
lea    0x0(,%rax,8),%rcx
mov    %rcx,0x70(%rsp)
lea    0x0(%r13,%r8,8),%rcx
mov    %rcx,0x1c8(%rsp)
mov    0x5b0(%rsp),%r12
lea    -0x8(%r12),%rcx
mov    %rcx,0x350(%rsp)
mov    0x10(%rsp),%rax
mov    0x148(%rsp),%rdx
lea    0x1(%rdx,%rax,1),%ecx
mov    %rcx,0x3c0(%rsp)
mov    %edx,%ecx
mov    %rcx,0x448(%rsp)
mov    %rsi,0x348(%rsp)
lea    0x8(%rsi,%rdi,1),%rcx
mov    %rcx,0x310(%rsp)
lea    0x8(%rdi,%r8,8),%rcx
mov    %rcx,0x268(%rsp)
lea    (%r8,%r8,1),%rax
mov    %rax,0x2b8(%rsp)
lea    0x8(%rdi,%rbp,1),%rax
mov    %rax,0x260(%rsp)
mov    0x540(%rsp),%rax
lea    (%rax,%rbp,1),%rax
mov    %rax,0x270(%rsp)
lea    -0x8(,%rbx,8),%rax
ff
mov    %rax,0x258(%rsp)
mov    0x560(%rsp),%rcx
lea    0x8(%rcx),%rax
mov    %rax,0x478(%rsp)
lea    (%rdi,%rbp,1),%rax
mov    %rax,0x3f8(%rsp)
lea    (%r12,%r8,8),%rax
mov    %rax,0x3d0(%rsp)
mov    $0x1,%ecx
mov    %rax,0x98(%rsp)
movl   $0x0,0x16c(%rsp)
xor    %r12d,%r12d
xorps  %xmm0,%xmm0
movaps %xmm0,0x2f0(%rsp)
xorpd  %xmm5,%xmm5
movapd 0xe0(%rsp),%xmm6
movapd %xmm6,0x2e0(%rsp)
mov    %rbp,0x58(%rsp)
mov    %r15,0xf8(%rsp)
cmp    %ecx,%r11d
je     1e80 <bobyqb_+0xcf0>
cmpl   $0x0,0x18(%rsp)
mov    0x558(%rsp),%rbx
jle    1c80 <bobyqb_+0xaf0>
mov    $0x1,%edx
xor    %eax,%eax
mov    $0xffffffff,%ecx
jmp    1c17 <bobyqb_+0xa87>
xchg   %ax,%ax
add    %edx,%eax
mov    %rdx,%rsi
add    $0x1,%rsi
add    $0xffffffffffffffff,%rcx
mov    %rsi,%rdx
cmp    0x28(%rsp),%rsi
je     1c80 <bobyqb_+0xaf0>
movslq %eax,%rsi
mov    0x560(%rsp),%rdi
lea    (%rdi,%rsi,8),%rsi
mov    $0x1,%edi
jmp    1c55 <bobyqb_+0xac5>
nopl   (%rax)
movsd  -0x8(%rsi,%rdi,8),%xmm0
mulsd  -0x8(%r10,%rdx,8),%xmm0
addsd  -0x8(%rbx,%rdi,8),%xmm0
movsd  %xmm0,-0x8(%rbx,%rdi,8)
add    $0x1,%rdi
lea    (%rdi,%rcx,1),%ebp
cmp    $0x1,%ebp
je     1c00 <bobyqb_+0xa70>
cmp    %rdx,%rdi
jae    1c30 <bobyqb_+0xaa0>
movsd  -0x8(%rsi,%rdi,8),%xmm0
mulsd  -0x8(%r10,%rdi,8),%xmm0
addsd  -0x8(%rbx,%rdx,8),%xmm0
movsd  %xmm0,-0x8(%rbx,%rdx,8)
jmp    1c30 <bobyqb_+0xaa0>
cs nopw 0x0(%rax,%rax,1)
nop
cmp    0x10(%rsp),%r9d
mov    0x58(%rsp),%rbp
jle    1e80 <bobyqb_+0xcf0>
cmpl   $0x0,0x10(%rsp)
jle    1e80 <bobyqb_+0xcf0>
mov    $0x1,%r8d
mov    0x138(%rsp),%rcx
mov    0x140(%rsp),%rdx
jmp    1cd7 <bobyqb_+0xb47>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%r8
add    $0x8,%rdx
add    $0x8,%rcx
cmp    0x30(%rsp),%r8
je     1e80 <bobyqb_+0xcf0>
cmpl   $0x0,0x18(%rsp)
jle    1cc0 <bobyqb_+0xb30>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
je     1d49 <bobyqb_+0xbb9>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  (%rdi,%rdx,1),%xmm1
mulsd  -0x8(%r10,%rsi,8),%xmm1
addsd  %xmm0,%xmm1
movsd  (%rdi,%rcx,1),%xmm0
mulsd  (%r10,%rsi,8),%xmm0
addsd  %xmm1,%xmm0
add    %rbp,%rdi
lea    (%r15,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
mov    0x58(%rsp),%rbp
jne    1d10 <bobyqb_+0xb80>
testb  $0x1,0x40(%rsp)
je     1d71 <bobyqb_+0xbe1>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r8,%rdi
mov    0x68(%rsp),%rax
movsd  (%rax,%rdi,8),%xmm1
mulsd  -0x8(%r10,%rsi,8),%xmm1
addsd  %xmm1,%xmm0
mov    0x568(%rsp),%rbp
mulsd  -0x8(%rbp,%r8,8),%xmm0
cmpl   $0x0,0x18(%rsp)
mov    0x58(%rsp),%rbp
jle    1cc0 <bobyqb_+0xb30>
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
mov    %rbp,%rax
mov    0x558(%rsp),%rbx
je     1dfd <bobyqb_+0xc6d>
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
nopl   0x0(%rax,%rax,1)
movsd  (%rdi,%rdx,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%rbx,%rsi,8),%xmm1
movsd  %xmm1,-0x8(%rbx,%rsi,8)
movsd  (%rdi,%rcx,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  (%rbx,%rsi,8),%xmm1
movsd  %xmm1,(%rbx,%rsi,8)
add    %rax,%rdi
lea    (%r15,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
jne    1dc0 <bobyqb_+0xc30>
testb  $0x1,0x40(%rsp)
mov    %rax,%rbp
je     1cc0 <bobyqb_+0xb30>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r8,%rdi
mov    0x68(%rsp),%rax
mulsd  (%rax,%rdi,8),%xmm0
mov    0x558(%rsp),%rax
addsd  -0x8(%rax,%rsi,8),%xmm0
movsd  %xmm0,-0x8(%rax,%rsi,8)
jmp    1cc0 <bobyqb_+0xb30>
movapd 0x1a0(%rsp),%xmm6
movapd 0x170(%rsp),%xmm0
movapd %xmm0,0x2e0(%rsp)
movsd  0x51b3(%rip),%xmm3
movsd  0x51b3(%rip),%xmm4
mov    0x50(%rsp),%rcx
cmp    %ecx,%r11d
jne    1bdd <bobyqb_+0xa4d>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    %r9d,0x11c(%rsp)
mov    %r9d,%eax
mov    %rax,0x180(%rsp)
mov    0x18(%rsp),%r9
mov    0x28(%rsp),%r15
mov    0x558(%rsp),%r8
movaps 0x2e0(%rsp),%xmm0
movaps %xmm0,0x170(%rsp)
movapd %xmm6,%xmm1
movapd %xmm6,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm0,0x2e0(%rsp)
movapd %xmm6,%xmm0
mulsd  0x5132(%rip),%xmm0
mulsd  %xmm0,%xmm0
movapd %xmm0,0x3a0(%rsp)
movapd %xmm6,%xmm0
mulsd  %xmm3,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm0,0x4c0(%rsp)
movapd %xmm6,0x1a0(%rsp)
mulsd  %xmm4,%xmm1
movapd %xmm1,0x4b0(%rsp)
movsd  %xmm5,0x108(%rsp)
nopw   0x0(%rax,%rax,1)
movsd  %xmm15,0x50(%rsp)
movaps %xmm11,0xb0(%rsp)
mov    %r9d,%edi
mov    0x10(%rsp),%rsi
mov    0x540(%rsp),%rdx
mov    %r10,%rcx
mov    0x560(%rsp),%r9
movaps 0x170(%rsp),%xmm0
lea    0x4a0(%rsp),%rax
push   %rax
lea    0x1f8(%rsp),%rax
push   %rax
push   0x418(%rsp)
push   0x428(%rsp)
push   0x350(%rsp)
push   0x360(%rsp)
push   %r13
push   %r14
push   0x5d8(%rsp)
push   0x5d8(%rsp)
push   0x5d8(%rsp)
push   0x5c0(%rsp)
call   1060 <trsbox_@plt>
add    $0x60,%rsp
movsd  0x1f0(%rsp),%xmm1
xorps  %xmm0,%xmm0
sqrtsd %xmm1,%xmm0
xorpd  %xmm12,%xmm12
ucomisd %xmm12,%xmm1
jae    1fd4 <bobyqb_+0xe44>
movapd %xmm1,%xmm0
call   10a0 <sqrt@plt>
xorpd  %xmm12,%xmm12
movapd 0x170(%rsp),%xmm1
minsd  %xmm0,%xmm1
movapd 0x2e0(%rsp),%xmm0
movsd  %xmm1,0x158(%rsp)
ucomisd %xmm1,%xmm0
mov    0x550(%rsp),%r10
movsd  0x4ff8(%rip),%xmm13
jbe    20b0 <bobyqb_+0xf20>
mov    0x180(%rsp),%rax
add    $0x2,%eax
mov    $0xffffffff,%r12d
cmp    %eax,0x3c(%rsp)
mov    0x590(%rsp),%r8
mov    0x588(%rsp),%r9
movapd 0xb0(%rsp),%xmm11
movsd  0x4ffa(%rip),%xmm14
movsd  0x50(%rsp),%xmm15
movsd  0x108(%rsp),%xmm10
jle    2093 <bobyqb_+0xf03>
movapd %xmm10,%xmm1
maxsd  0x2f0(%rsp),%xmm1
movsd  0x278(%rsp),%xmm0
maxsd  %xmm1,%xmm0
movsd  0x4a0(%rsp),%xmm1
ucomisd %xmm12,%xmm1
mulsd  0x4c0(%rsp),%xmm1
jbe    2107 <bobyqb_+0xf77>
ucomisd %xmm1,%xmm0
jbe    2107 <bobyqb_+0xf77>
movapd 0x3a0(%rsp),%xmm0
mov    0x558(%rsp),%r8
mov    0x58(%rsp),%rbp
jmp    66ab <bobyqb_+0x551b>
xchg   %ax,%ax
add    $0x1,%r12d
mov    %r12d,0xa4(%rsp)
movsd  0x1f0(%rsp),%xmm0
movsd  0x108(%rsp),%xmm10
mov    0x20(%rsp),%r12
movapd 0xb0(%rsp),%xmm11
movsd  0x4f59(%rip),%xmm14
mov    0x78(%rsp),%r8
mov    0x70(%rsp),%r11
mov    0x18(%rsp),%r9
movsd  0x50(%rsp),%xmm15
mov    0x40(%rsp),%rbx
jmp    22b0 <bobyqb_+0x1120>
divsd  0x1a0(%rsp),%xmm0
cmpl   $0x0,0x18(%rsp)
jle    68e0 <bobyqb_+0x5750>
mov    %r15,%r11
mov    $0x1,%eax
mov    0x2b0(%rsp),%rcx
mov    0xd0(%rsp),%r15
jmp    2174 <bobyqb_+0xfe4>
cs nopw 0x0(%rax,%rax,1)
nop
mulsd  %xmm13,%xmm2
mulsd  0x1a0(%rsp),%xmm2
addsd  %xmm1,%xmm2
mov    $0xffffffff,%r12d
ucomisd %xmm2,%xmm0
ja     228d <bobyqb_+0x10fd>
add    $0x1,%rax
add    0x78(%rsp),%rcx
cmp    %r11,%rax
je     68e0 <bobyqb_+0x5750>
mov    0x598(%rsp),%rdx
movsd  -0x8(%rdx,%rax,8),%xmm2
ucomisd -0x8(%r9,%rax,8),%xmm2
movapd %xmm0,%xmm1
jne    219b <bobyqb_+0x100b>
jp     219b <bobyqb_+0x100b>
mov    0x20(%rsp),%rdx
movsd  (%rdx,%rax,8),%xmm1
ucomisd -0x8(%r8,%rax,8),%xmm2
jne    21b8 <bobyqb_+0x1028>
jp     21b8 <bobyqb_+0x1028>
mov    0x20(%rsp),%rdx
movsd  (%rdx,%rax,8),%xmm1
xorpd  0x4ea8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    2162 <bobyqb_+0xfd2>
mov    %eax,%edx
imul   %edx,%edx
add    %eax,%edx
and    $0xfffffffe,%edx
mov    0x560(%rsp),%rsi
movsd  -0x8(%rsi,%rdx,4),%xmm2
cmpl   $0x0,0x10(%rsp)
jle    2140 <bobyqb_+0xfb0>
mov    %rax,%rdx
imul   0x8(%rsp),%rdx
mov    $0x1,%esi
test   %r15,%r15
je     224f <bobyqb_+0x10bf>
mov    $0x1,%esi
mov    0x568(%rsp),%rbp
mov    0x190(%rsp),%rbx
nopl   0x0(%rax)
movsd  -0x8(%rcx,%rsi,8),%xmm4
movsd  (%rcx,%rsi,8),%xmm3
mulsd  %xmm4,%xmm4
mulsd  -0x8(%rbp,%rsi,8),%xmm4
addsd  %xmm2,%xmm4
mulsd  %xmm3,%xmm3
mulsd  0x0(%rbp,%rsi,8),%xmm3
addsd  %xmm4,%xmm3
lea    (%rbx,%rsi,1),%rdi
add    $0x2,%rdi
add    $0x2,%rsi
movapd %xmm3,%xmm2
cmp    $0x1,%rdi
jne    2210 <bobyqb_+0x1080>
jmp    2253 <bobyqb_+0x10c3>
movapd %xmm2,%xmm3
movapd %xmm3,%xmm2
testb  $0x1,0x80(%rsp)
01
je     2140 <bobyqb_+0xfb0>
add    %rsi,%rdx
mov    0x68(%rsp),%rdi
movsd  (%rdi,%rdx,8),%xmm2
mulsd  %xmm2,%xmm2
mov    0x568(%rsp),%rdx
mulsd  -0x8(%rdx,%rsi,8),%xmm2
addsd  %xmm3,%xmm2
jmp    2140 <bobyqb_+0xfb0>
movapd 0x3a0(%rsp),%xmm0
mov    0x58(%rsp),%rbp
mov    0x558(%rsp),%r8
mov    %r11,%r15
jmp    66ab <bobyqb_+0x551b>
nopl   0x0(%rax,%rax,1)
movapd %xmm15,%xmm1
mulsd  0x4d6b(%rip),%xmm1
ucomisd %xmm0,%xmm1
movapd %xmm11,0xb0(%rsp)
movsd  %xmm10,0x1b0(%rsp)
jb     30db <bobyqb_+0x1f4b>
movapd %xmm15,%xmm8
mulsd  0x4d47(%rip),%xmm8
xorpd  %xmm9,%xmm9
mov    0x10(%rsp),%rsi
test   %esi,%esi
mov    0x8(%rsp),%r15
mov    0x568(%rsp),%rax
jle    2790 <bobyqb_+0x1600>
mulsd  0x4d27(%rip),%xmm15
xorpd  %xmm9,%xmm9
mov    $0x1,%ecx
mov    0x138(%rsp),%rbx
mov    0x140(%rsp),%rdx
mov    %rdx,0x88(%rsp)
jmp    23a6 <bobyqb_+0x1216>
cs nopw 0x0(%rax,%rax,1)
nop
lea    (%rcx,%r15,1),%rax
movsd  %xmm15,(%r12,%rax,8)
mov    0x60(%rsp),%rcx
add    $0x1,%rcx
addq   $0x8,0x88(%rsp)
mov    0x50(%rsp),%rbx
add    $0x8,%rbx
cmp    0x30(%rsp),%rcx
mov    0x550(%rsp),%r10
mov    0x10(%rsp),%rsi
mov    0x568(%rsp),%rax
mov    0x8(%rsp),%r15
mov    0x58(%rsp),%rbp
mov    0x5a8(%rsp),%r14
mov    0x78(%rsp),%r8
mov    0x70(%rsp),%r11
mov    0x18(%rsp),%r9
je     2790 <bobyqb_+0x1600>
addsd  -0x8(%rax,%rcx,8),%xmm9
test   %r9d,%r9d
mov    0x40(%rsp),%r8
mov    %rcx,0x60(%rsp)
mov    %rbx,0x50(%rsp)
jle    2340 <bobyqb_+0x11b0>
mov    $0x1,%eax
movapd %xmm15,%xmm2
cmpq   $0x0,0xc8(%rsp)
mov    0xf8(%rsp),%rdi
mov    0x88(%rsp),%rsi
je     2434 <bobyqb_+0x12a4>
mov    $0x1,%eax
mov    0x540(%rsp),%rcx
movapd %xmm15,%xmm2
nopl   0x0(%rax)
movsd  (%rcx,%rsi,1),%xmm3
mulsd  -0x8(%r10,%rax,8),%xmm3
addsd  %xmm2,%xmm3
movsd  (%rcx,%rbx,1),%xmm2
mulsd  (%r10,%rax,8),%xmm2
addsd  %xmm3,%xmm2
add    %rbp,%rcx
lea    (%rdi,%rax,1),%rdx
add    $0x2,%rdx
add    $0x2,%rax
cmp    $0x1,%rdx
jne    2400 <bobyqb_+0x1270>
test   $0x1,%r8b
mov    0x60(%rsp),%rsi
je     245e <bobyqb_+0x12ce>
mov    %rax,%rcx
imul   %r15,%rcx
add    %rsi,%rcx
mov    0x68(%rsp),%rdx
movsd  (%rdx,%rcx,8),%xmm3
mulsd  -0x8(%r10,%rax,8),%xmm3
addsd  %xmm3,%xmm2
lea    (%rsi,%r15,1),%rax
movsd  %xmm2,(%r12,%rax,8)
movapd %xmm2,%xmm3
mulsd  0x4bc4(%rip),%xmm3
addsd  %xmm8,%xmm3
test   %r9d,%r9d
mov    0x5b0(%rsp),%r15
jle    234a <bobyqb_+0x11ba>
mov    $0x2,%esi
mov    $0x1,%edi
mov    0x230(%rsp),%r9
mov    0x428(%rsp),%r8
xor    %edx,%edx
jmp    24cf <bobyqb_+0x133f>
nopl   0x0(%rax,%rax,1)
add    $0x1,%rdi
add    $0x1,%rsi
add    $0x1,%rdx
add    $0x8,%r8
add    $0x1,%r9
cmp    0x28(%rsp),%rdi
je     234a <bobyqb_+0x11ba>
mov    %rdx,%r14
and    $0xfffffffffffffffc,%r14
mov    0x230(%rsp),%rbp
lea    (%rdx,%rbp,1),%rax
mov    0x570(%rsp),%rcx
lea    (%rcx,%rax,8),%rax
mov    %rax,0xe0(%rsp)
lea    0x0(%rbp,%rdx,2),%rax
lea    (%rcx,%rax,8),%r11
lea    (%r15,%rdi,8),%rax
mov    %rax,0x90(%rsp)
lea    (%r15,%rdx,8),%rax
mov    %rax,0xf0(%rsp)
lea    0x0(,%rdi,8),%rbp
add    %r13,%rbp
mov    %rdi,%rax
mov    0xd8(%rsp),%r12
imul   %r12,%rax
mov    0x60(%rsp),%rcx
add    %rcx,%rax
mov    0x150(%rsp),%rbx
movsd  (%rbx,%rax,8),%xmm4
movsd  %xmm4,-0x8(%r13,%rdi,8)
mov    %rdi,%rax
mov    0x8(%rsp),%r10
imul   %r10,%rax
add    %rcx,%rax
mov    0x550(%rsp),%rcx
movsd  -0x8(%rcx,%rdi,8),%xmm4
mulsd  %xmm3,%xmm4
mov    0x68(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm4,%xmm5
movsd  %xmm5,-0x8(%r15,%rdi,8)
lea    (%rdi,%r10,1),%rax
add    %r12,%rax
movsd  -0x8(%r13,%rdi,8),%xmm4
mulsd  (%r15),%xmm4
addsd  (%rbx,%rax,8),%xmm4
mulsd  0x0(%r13),%xmm5
addsd  %xmm4,%xmm5
movsd  %xmm5,(%rbx,%rax,8)
mov    0x20(%rsp),%r12
lea    0x0(,%rdx,8),%rcx
add    %r13,%rcx
cmp    $0x2,%rsi
je     24b0 <bobyqb_+0x1320>
mov    $0x2,%eax
cmp    $0x4,%rdx
jb     2710 <bobyqb_+0x1580>
cmpl   $0x1,0x148(%rsp)
01
jne    2710 <bobyqb_+0x1580>
mov    0xe0(%rsp),%rbx
cmp    0x90(%rsp),%rbx
setb   %r15b
cmp    %r11,0x470(%rsp)
setb   0x90(%rsp)
cmp    %r11,0xf0(%rsp)
setb   %r10b
and    %r15b,%r10b
cmp    %rbp,%rbx
setb   %r12b
cmp    %r11,0x468(%rsp)
setb   %bl
and    %r12b,%bl
cmp    %r11,%rcx
setb   %cl
and    %r12b,%cl
test   %r15b,0x90(%rsp)
jne    2777 <bobyqb_+0x15e7>
test   %r10b,%r10b
jne    2777 <bobyqb_+0x15e7>
test   %bl,%bl
jne    2777 <bobyqb_+0x15e7>
test   %cl,%cl
mov    0x5b0(%rsp),%r15
mov    0x20(%rsp),%r12
mov    0x70(%rsp),%rbx
jne    271d <bobyqb_+0x158d>
lea    0x2(%r14),%rax
movsd  -0x8(%r15,%rdi,8),%xmm4
unpcklpd %xmm4,%xmm4
movsd  (%r12,%rdi,8),%xmm5
unpcklpd %xmm5,%xmm5
mov    %r8,%rcx
xor    %ebx,%ebx
mov    0x378(%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
nop
movupd -0x10(%rcx),%xmm6
movupd (%rcx),%xmm7
movupd 0x8(%r15,%rbx,8),%xmm1
movupd 0x18(%r15,%rbx,8),%xmm0
mulpd  %xmm5,%xmm1
addpd  %xmm6,%xmm1
mulpd  %xmm5,%xmm0
addpd  %xmm7,%xmm0
movupd 0x8(%r13,%rbx,8),%xmm6
movupd 0x18(%r13,%rbx,8),%xmm7
mulpd  %xmm4,%xmm6
addpd  %xmm1,%xmm6
mulpd  %xmm4,%xmm7
addpd  %xmm0,%xmm7
movupd %xmm6,-0x10(%rcx)
movupd %xmm7,(%rcx)
add    $0x4,%rbx
add    %rbp,%rcx
cmp    %rbx,%r14
jne    26a0 <bobyqb_+0x1510>
cmp    %r14,%rdx
mov    0x20(%rsp),%r12
mov    0x70(%rsp),%rbx
je     24b0 <bobyqb_+0x1320>
jmp    271d <bobyqb_+0x158d>
nop
mov    0x5b0(%rsp),%r15
mov    0x70(%rsp),%rbx
mov    0xd8(%rsp),%rcx
imul   %rax,%rcx
add    %r9,%rcx
mov    0x2d8(%rsp),%rbp
lea    0x0(,%rcx,8),%rcx
add    %rbp,%rcx
nop
movsd  (%r12,%rdi,8),%xmm0
mulsd  -0x8(%r15,%rax,8),%xmm0
addsd  (%rcx),%xmm0
movsd  -0x8(%r15,%rdi,8),%xmm1
mulsd  (%r12,%rax,8),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rcx)
add    $0x1,%rax
add    %rbx,%rcx
cmp    %rax,%rsi
jne    2740 <bobyqb_+0x15b0>
jmp    24b0 <bobyqb_+0x1320>
mov    0x5b0(%rsp),%r15
mov    0x20(%rsp),%r12
jmp    2718 <bobyqb_+0x1588>
cs nopw 0x0(%rax,%rax,1)
cmp    %esi,0x120(%rsp)
jge    2e90 <bobyqb_+0x1d00>
mov    $0x1,%ebx
mov    0x3b0(%rsp),%rax
mov    %rax,0xe0(%rsp)
mov    0x3b8(%rsp),%rax
mov    0x210(%rsp),%rcx
mov    %rcx,0x188(%rsp)
xor    %edx,%edx
jmp    282d <bobyqb_+0x169d>
xchg   %ax,%ax
mov    0x88(%rsp),%rbx
add    $0x1,%rbx
mov    0x108(%rsp),%rdx
add    $0x1,%rdx
mov    0x78(%rsp),%r8
add    %r8,0x188(%rsp)
mov    0x60(%rsp),%rax
add    %r8,%rax
add    %r8,0xe0(%rsp)
cmp    0x198(%rsp),%rbx
mov    0x550(%rsp),%r10
mov    0x10(%rsp),%rsi
mov    0x70(%rsp),%r11
mov    0x18(%rsp),%r9
mov    %rcx,%r15
je     2e90 <bobyqb_+0x1d00>
mov    %rax,0x60(%rsp)
mov    %rdx,0x108(%rsp)
mov    %rdx,%rax
imul   %r15,%rax
mov    0x238(%rsp),%rcx
add    %rax,%rcx
add    0x240(%rsp),%rax
mov    0x578(%rsp),%rdx
lea    (%rdx,%rcx,8),%rcx
mov    %rcx,0x50(%rsp)
lea    (%rdx,%rax,8),%rax
mov    %rax,0xf0(%rsp)
xorpd  %xmm3,%xmm3
xorpd  %xmm2,%xmm2
test   %esi,%esi
jle    294f <bobyqb_+0x17bf>
mov    %rbx,%r8
imul   %r15,%r8
xorpd  %xmm2,%xmm2
mov    $0x1,%edx
xorpd  %xmm3,%xmm3
cmpq   $0x0,0xd0(%rsp)
mov    0x5b0(%rsp),%rsi
mov    0x190(%rsp),%rdi
mov    0x1c8(%rsp),%rbp
mov    0x188(%rsp),%rax
je     2914 <bobyqb_+0x1784>
xorpd  %xmm2,%xmm2
mov    $0x1,%edx
xorpd  %xmm3,%xmm3
nopl   (%rax)
movsd  -0x8(%rax,%rdx,8),%xmm0
addsd  %xmm0,%xmm2
mulsd  -0x8(%rbp,%rdx,8),%xmm0
movsd  %xmm0,-0x8(%rsi,%rdx,8)
addsd  %xmm3,%xmm0
movsd  (%rax,%rdx,8),%xmm3
addsd  %xmm3,%xmm2
mulsd  0x0(%rbp,%rdx,8),%xmm3
movsd  %xmm3,(%rsi,%rdx,8)
addsd  %xmm0,%xmm3
lea    (%rdi,%rdx,1),%rcx
add    $0x2,%rcx
add    $0x2,%rdx
cmp    $0x1,%rcx
jne    28d0 <bobyqb_+0x1740>
testb  $0x1,0x80(%rsp)
01
je     294f <bobyqb_+0x17bf>
add    %rdx,%r8
mov    0xc0(%rsp),%rcx
movsd  (%rcx,%r8,8),%xmm0
addsd  %xmm0,%xmm2
lea    (%rdx,%r15,1),%rax
mulsd  (%r12,%rax,8),%xmm0
mov    0x5b0(%rsp),%rax
movsd  %xmm0,-0x8(%rax,%rdx,8)
addsd  %xmm0,%xmm3
mov    %rbx,0x88(%rsp)
test   %r9d,%r9d
mov    %r15,%rcx
jle    27d0 <bobyqb_+0x1640>
mulsd  0x46cd(%rip),%xmm3
mulsd  %xmm8,%xmm2
addsd  %xmm3,%xmm2
mov    0x88(%rsp),%rax
imul   %rcx,%rax
mov    %rax,0x90(%rsp)
mov    $0x1,%edi
mov    0x2c8(%rsp),%rbx
mov    %rcx,%r9
mov    0x430(%rsp),%r8
mov    0x438(%rsp),%r10
xor    %r11d,%r11d
mov    0xd0(%rsp),%r15
mov    0x350(%rsp),%r12
jmp    29f2 <bobyqb_+0x1862>
nopl   (%rax)
mov    0x20(%rsp),%rax
movsd  %xmm3,(%rax,%rdi,8)
add    $0x1,%rdi
add    $0x1,%r11
add    0x78(%rsp),%r10
add    0x8(%rsp),%r9
mov    0x70(%rsp),%rax
add    %rax,%r8
add    %rax,%rbx
cmp    0x28(%rsp),%rdi
je     2c70 <bobyqb_+0x1ae0>
mov    %r11,%rax
imul   0xd8(%rsp),%rax
mov    0x488(%rsp),%rcx
add    %rax,%rcx
add    0x490(%rsp),%rax
mov    0x570(%rsp),%rdx
lea    (%rdx,%rcx,8),%rsi
lea    (%rdx,%rax,8),%rdx
mov    0x550(%rsp),%rax
movsd  -0x8(%rax,%rdi,8),%xmm3
mulsd  %xmm2,%xmm3
cmpl   $0x0,0x10(%rsp)
jle    29c0 <bobyqb_+0x1830>
mov    $0x1,%eax
cmp    $0x3,%r15
jb     2aaf <bobyqb_+0x191f>
xor    %eax,%eax
mov    0x5b0(%rsp),%rcx
mov    0x110(%rsp),%rbp
nopw   0x0(%rax,%rax,1)
movsd  (%rcx,%rax,8),%xmm0
movsd  0x8(%rcx,%rax,8),%xmm1
mulsd  -0x18(%r10,%rax,8),%xmm0
mulsd  -0x10(%r10,%rax,8),%xmm1
addsd  %xmm3,%xmm0
movsd  0x10(%rcx,%rax,8),%xmm4
mulsd  -0x8(%r10,%rax,8),%xmm4
addsd  %xmm0,%xmm1
movsd  0x18(%rcx,%rax,8),%xmm3
mulsd  (%r10,%rax,8),%xmm3
addsd  %xmm1,%xmm4
addsd  %xmm4,%xmm3
add    $0x4,%rax
cmp    %rax,%rbp
jne    2a60 <bobyqb_+0x18d0>
add    $0x1,%rax
mov    0x248(%rsp),%r15
test   %r15,%r15
je     2af7 <bobyqb_+0x1967>
lea    (%rax,%r9,1),%rcx
mov    0x68(%rsp),%rbp
lea    0x0(,%rcx,8),%rcx
add    %rbp,%rcx
lea    (%r12,%rax,8),%rax
xor    %ebp,%ebp
cs nopw 0x0(%rax,%rax,1)
movsd  (%rax,%rbp,8),%xmm0
mulsd  (%rcx,%rbp,8),%xmm0
addsd  %xmm0,%xmm3
add    $0x1,%rbp
cmp    %rbp,%r15
jne    2ae0 <bobyqb_+0x1950>
mov    0x20(%rsp),%rax
movsd  %xmm3,(%rax,%rdi,8)
cmpl   $0x0,0x10(%rsp)
mov    0xd0(%rsp),%r15
jle    29ca <bobyqb_+0x183a>
mov    %rdi,%rax
imul   0xd8(%rsp),%rax
mov    $0x1,%ebp
cmpq   $0x4,0x80(%rsp)
jae    2b3a <bobyqb_+0x19aa>
mov    0x30(%rsp),%rsi
jmp    2bd0 <bobyqb_+0x1a40>
cmp    0xf0(%rsp),%rsi
mov    0x30(%rsp),%rsi
jae    2b54 <bobyqb_+0x19c4>
cmp    %rdx,0x50(%rsp)
jb     2bd0 <bobyqb_+0x1a40>
movapd %xmm3,%xmm4
unpcklpd %xmm3,%xmm4
xor    %ecx,%ecx
mov    0x110(%rsp),%rdx
mov    0x60(%rsp),%rsi
nopl   0x0(%rax,%rax,1)
movupd -0x10(%rsi,%rcx,8),%xmm0
movupd (%rsi,%rcx,8),%xmm1
movupd -0x10(%r8,%rcx,8),%xmm5
movupd (%r8,%rcx,8),%xmm6
mulpd  %xmm4,%xmm0
addpd  %xmm5,%xmm0
mulpd  %xmm4,%xmm1
addpd  %xmm6,%xmm1
movupd %xmm0,-0x10(%r8,%rcx,8)
movupd %xmm1,(%r8,%rcx,8)
add    $0x4,%rcx
cmp    %rcx,%rdx
jne    2b70 <bobyqb_+0x19e0>
mov    0x1d8(%rsp),%rbp
cmp    %rdx,0x80(%rsp)
mov    0x30(%rsp),%rsi
je     29ca <bobyqb_+0x183a>
nopl   0x0(%rax)
mov    %rbp,%rcx
not    %rcx
test   $0x1,%sil
jne    2c11 <bobyqb_+0x1a81>
mov    0x90(%rsp),%rdx
add    %rbp,%rdx
add    %rbp,%rax
mov    0xc0(%rsp),%rsi
movsd  (%rsi,%rdx,8),%xmm0
mulsd  %xmm3,%xmm0
mov    0x150(%rsp),%rdx
addsd  (%rdx,%rax,8),%xmm0
movsd  %xmm0,(%rdx,%rax,8)
add    $0x1,%rbp
cmp    0x1e8(%rsp),%rcx
mov    0x30(%rsp),%rax
mov    0xe0(%rsp),%rcx
je     29ca <bobyqb_+0x183a>
nopl   0x0(%rax)
movsd  (%rcx,%rbp,8),%xmm0
mulsd  %xmm3,%xmm0
addsd  -0x8(%rbx,%rbp,8),%xmm0
movsd  %xmm0,-0x8(%rbx,%rbp,8)
movsd  0x8(%rcx,%rbp,8),%xmm0
mulsd  %xmm3,%xmm0
addsd  (%rbx,%rbp,8),%xmm0
movsd  %xmm0,(%rbx,%rbp,8)
add    $0x2,%rbp
cmp    %rbp,%rax
jne    2c30 <bobyqb_+0x1aa0>
jmp    29ca <bobyqb_+0x183a>
nopw   0x0(%rax,%rax,1)
cmpl   $0x0,0x18(%rsp)
mov    0x20(%rsp),%r12
mov    0x8(%rsp),%rcx
jle    27d0 <bobyqb_+0x1640>
mov    $0x2,%eax
mov    $0x1,%r15d
mov    0x230(%rsp),%r11
mov    0x420(%rsp),%r10
xor    %r9d,%r9d
jmp    2cd9 <bobyqb_+0x1b49>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x1,%r15
add    $0x1,%rax
add    $0x1,%r9
add    $0x8,%r10
add    $0x1,%r11
cmp    0x28(%rsp),%r15
mov    0x20(%rsp),%r12
mov    0x8(%rsp),%rcx
je     27d0 <bobyqb_+0x1640>
mov    %r15,%rdi
and    $0xfffffffffffffffc,%rdi
mov    %rcx,%r8
lea    (%r15,%rcx,1),%r8
movsd  (%r12,%r15,8),%xmm2
mov    $0x1,%ebp
cmp    $0x4,%r15
mov    0x378(%rsp),%rdx
mov    0x480(%rsp),%rcx
jb     2de0 <bobyqb_+0x1c50>
mov    $0x1,%ebp
cmpl   $0x1,0x148(%rsp)
01
jne    2de0 <bobyqb_+0x1c50>
lea    0x0(,%r15,8),%r12
add    %r13,%r12
mov    0x230(%rsp),%rsi
lea    (%rsi,%r9,2),%rsi
mov    0x570(%rsp),%rbp
lea    0x0(%rbp,%rsi,8),%rsi
mov    0x8(%rsp),%rbx
add    %r9,%rbx
lea    0x0(,%rbx,8),%rbx
add    %rbp,%rbx
cmp    %r12,%rbx
jae    2d65 <bobyqb_+0x1bd5>
mov    $0x1,%ebp
cmp    %r13,%rsi
ja     2de0 <bobyqb_+0x1c50>
mov    %r15,%r12
and    0x460(%rsp),%r12
mov    %r12,%rbp
or     $0x1,%rbp
movapd %xmm2,%xmm3
unpcklpd %xmm2,%xmm3
mov    %r10,%rsi
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movupd 0x0(%r13,%rbx,8),%xmm0
movupd 0x10(%r13,%rbx,8),%xmm1
movupd -0x10(%rsi),%xmm4
movupd (%rsi),%xmm5
mulpd  %xmm3,%xmm0
addpd  %xmm4,%xmm0
mulpd  %xmm3,%xmm1
addpd  %xmm5,%xmm1
movupd %xmm0,-0x10(%rsi)
movupd %xmm1,(%rsi)
add    $0x4,%rbx
add    %rdx,%rsi
cmp    %rbx,%rdi
jne    2d90 <bobyqb_+0x1c00>
cmp    %r12,%r15
je     2cb0 <bobyqb_+0x1b20>
cs nopw 0x0(%rax,%rax,1)
nop
mov    %rbp,%rdi
test   $0x1,%al
jne    2e1c <bobyqb_+0x1c8c>
mov    %rbp,%rsi
imul   0xd8(%rsp),%rsi
add    %rsi,%r8
mov    0x20(%rsp),%rsi
movsd  (%rsi,%rbp,8),%xmm0
mulsd  %xmm2,%xmm0
mov    0x150(%rsp),%rsi
addsd  (%rsi,%r8,8),%xmm0
movsd  %xmm0,(%rsi,%r8,8)
lea    0x1(%rbp),%rdi
cmp    %rbp,%r15
je     2cb0 <bobyqb_+0x1b20>
mov    0xd8(%rsp),%rbx
mov    %rbx,%rsi
imul   %rdi,%rsi
mov    0x2d8(%rsp),%rdx
lea    (%rdx,%rsi,8),%rbp
lea    0x1(%rdi),%rsi
imul   %rbx,%rsi
lea    (%rdx,%rsi,8),%rsi
mov    %r11,%rbx
nop
movsd  -0x8(%r13,%rdi,8),%xmm0
mulsd  %xmm2,%xmm0
addsd  0x0(%rbp,%rbx,8),%xmm0
movsd  %xmm0,0x0(%rbp,%rbx,8)
movsd  0x0(%r13,%rdi,8),%xmm0
mulsd  %xmm2,%xmm0
addsd  (%rsi,%rbx,8),%xmm0
movsd  %xmm0,(%rsi,%rbx,8)
add    $0x2,%rdi
add    %rcx,%rbx
cmp    %rdi,%rax
jne    2e50 <bobyqb_+0x1cc0>
jmp    2cb0 <bobyqb_+0x1b20>
nopl   (%rax)
xorpd  %xmm15,%xmm15
test   %r9d,%r9d
jle    30ca <bobyqb_+0x1f3a>
mulsd  0x4191(%rip),%xmm9
mov    $0x1,%edi
xor    %r8d,%r8d
mov    0x3c0(%rsp),%rcx
mov    0x368(%rsp),%r9
mov    0x3c8(%rsp),%rsi
nopw   0x0(%rax,%rax,1)
movslq %r8d,%rax
mov    0x560(%rsp),%rdx
lea    (%rdx,%rax,8),%rbp
movsd  -0x8(%r10,%rdi,8),%xmm1
mulsd  %xmm9,%xmm1
movsd  %xmm1,(%r12,%rdi,8)
cmpl   $0x0,0x10(%rsp)
mov    0x568(%rsp),%r11
jle    2f90 <bobyqb_+0x1e00>
mov    %rdi,%rax
imul   0x8(%rsp),%rax
movsd  (%r11),%xmm0
mov    0x68(%rsp),%r15
mulsd  0x8(%r15,%rax,8),%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rsp),%rbx
movsd  %xmm0,(%rbx,%rdi,8)
movsd  0x8(%r15,%rax,8),%xmm0
subsd  -0x8(%r10,%rdi,8),%xmm0
movsd  %xmm0,0x8(%r15,%rax,8)
mov    0xd0(%rsp),%rdx
mov    0x20(%rsp),%rbx
cmpl   $0x2,0x30(%rsp)
je     2f90 <bobyqb_+0x1e00>
xor    %eax,%eax
nopw   0x0(%rax,%rax,1)
movsd  0x8(%r11,%rax,8),%xmm0
mulsd  (%rsi,%rax,8),%xmm0
addsd  (%rbx,%rdi,8),%xmm0
movsd  %xmm0,(%rbx,%rdi,8)
movsd  (%rsi,%rax,8),%xmm0
subsd  -0x8(%r10,%rdi,8),%xmm0
movsd  %xmm0,(%rsi,%rax,8)
add    $0x1,%rax
cmp    %rax,%rdx
jne    2f60 <bobyqb_+0x1dd0>
mov    %r9,%rdx
xor    %eax,%eax
mov    0x150(%rsp),%r15
mov    0x70(%rsp),%r11
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  0x0(%r13,%rax,8),%xmm0
mulsd  -0x8(%r10,%rdi,8),%xmm0
addsd  0x0(%rbp,%rax,8),%xmm0
movsd  (%r10,%rax,8),%xmm1
mulsd  -0x8(%r13,%rdi,8),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%rbp,%rax,8)
movsd  (%rdx),%xmm0
lea    (%rcx,%rax,1),%ebx
movslq %ebx,%rbx
movsd  %xmm0,(%r15,%rbx,8)
add    $0x1,%rax
add    %r11,%rdx
cmp    %eax,%edi
jne    2fb0 <bobyqb_+0x1e20>
add    %edi,%r8d
mov    %rdi,%rax
add    $0x1,%rax
add    0x78(%rsp),%rsi
add    $0x8,%r9
add    0x448(%rsp),%rcx
mov    %rax,%rdi
mov    0x28(%rsp),%r15
cmp    %r15,%rax
mov    0x20(%rsp),%r12
jne    2ed0 <bobyqb_+0x1d40>
mov    0x18(%rsp),%r9
test   %r9d,%r9d
jle    30d1 <bobyqb_+0x1f41>
xor    %eax,%eax
mov    0x590(%rsp),%rcx
mov    0x588(%rsp),%rdx
mov    0x538(%rsp),%rsi
mov    0x598(%rsp),%r15
mov    0x78(%rsp),%r8
mov    0x40(%rsp),%rbx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%r10,%rax,8),%xmm0
addsd  (%rsi,%rax,8),%xmm0
movsd  %xmm0,(%rsi,%rax,8)
movsd  (%r15,%rax,8),%xmm0
subsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,(%r15,%rax,8)
movsd  (%rdx,%rax,8),%xmm0
subsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,(%rdx,%rax,8)
movsd  (%rcx,%rax,8),%xmm0
subsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,(%rcx,%rax,8)
movq   $0x0,(%r10,%rax,8)
add    $0x1,%rax
cmp    %rax,%rbx
jne    3070 <bobyqb_+0x1ee0>
mov    0x28(%rsp),%r15
jmp    30db <bobyqb_+0x1f4b>
mov    0x28(%rsp),%r15
jmp    30d6 <bobyqb_+0x1f46>
mov    0x78(%rsp),%r8
mov    0x40(%rsp),%rbx
cmpl   $0x0,0xa4(%rsp)
movsd  0x100(%rsp),%xmm8
je     3100 <bobyqb_+0x1f70>
movsd  %xmm8,0x60(%rsp)
mov    0x10(%rsp),%r15
jmp    3682 <bobyqb_+0x24f2>
mov    0x4c(%rsp),%r11d
jmp    3390 <bobyqb_+0x2200>
mov    0x3c(%rsp),%eax
mov    %rax,0x180(%rsp)
cmp    0x11c(%rsp),%eax
mov    0x130(%rsp),%rcx
mov    0x568(%rsp),%rbp
mov    0x558(%rsp),%rbx
mov    0x18(%rsp),%rdi
mov    0x570(%rsp),%r11
mov    0x10(%rsp),%rsi
jle    6c22 <bobyqb_+0x5a92>
movsd  %xmm0,0x100(%rsp)
mov    0x1e0(%rsp),%rdx
mov    0x328(%rsp),%r8
mov    %rdi,%r15
mov    0x520(%rsp),%r9
movapd 0x170(%rsp),%xmm0
push   0x3e8(%rsp)
push   0x338(%rsp)
push   %r13
push   0x5c8(%rsp)
lea    0x6c(%rsp),%rax
push   %rax
lea    0x64(%rsp),%rax
push   %rax
push   0x5c0(%rsp)
push   0x5c0(%rsp)
push   0x188(%rsp)
push   0x5c0(%rsp)
push   %r11
push   %rbp
push   0x5c0(%rsp)
push   %rbx
push   %r10
push   0x5c0(%rsp)
push   0x5c0(%rsp)
push   0x5c0(%rsp)
mov    0x5c0(%rsp),%eax
push   %rax
mov    0x5c0(%rsp),%eax
push   %rax
call   1050 <rescue_@plt>
add    $0xa0,%rsp
mov    0x4c(%rsp),%r11d
movslq %r11d,%rcx
xorpd  %xmm15,%xmm15
cmp    0x50(%rsp),%ecx
je     3312 <bobyqb_+0x2182>
test   %r15d,%r15d
mov    0x550(%rsp),%r10
mov    0x8(%rsp),%r8
movapd 0xb0(%rsp),%xmm11
mov    0x58(%rsp),%rbp
mov    0xf8(%rsp),%r15
movsd  0x3dc3(%rip),%xmm2
movsd  0x1b0(%rsp),%xmm5
jle    3342 <bobyqb_+0x21b2>
xorpd  %xmm15,%xmm15
mov    $0x1,%edx
cmpq   $0x0,0xc8(%rsp)
mov    0x2b8(%rsp),%rax
je     32e0 <bobyqb_+0x2150>
lea    (%r8,%rcx,1),%rdx
mov    0x540(%rsp),%rsi
lea    (%rsi,%rdx,8),%rsi
mov    0x270(%rsp),%rdx
lea    (%rdx,%rcx,8),%rdi
xorpd  %xmm15,%xmm15
mov    $0x1,%edx
mov    0x1d0(%rsp),%rbp
nopw   0x0(%rax,%rax,1)
movsd  (%rsi,%rbp,8),%xmm0
movsd  %xmm0,-0x8(%r10,%rdx,8)
mulsd  %xmm0,%xmm0
addsd  %xmm15,%xmm0
movsd  (%rdi,%rbp,8),%xmm15
movsd  %xmm15,(%r10,%rdx,8)
mulsd  %xmm15,%xmm15
addsd  %xmm0,%xmm15
add    %rax,%rbp
lea    (%r15,%rdx,1),%rbx
add    $0x2,%rbx
add    $0x2,%rdx
cmp    $0x1,%rbx
jne    32a0 <bobyqb_+0x2110>
testb  $0x1,0x40(%rsp)
mov    0x58(%rsp),%rbp
je     3342 <bobyqb_+0x21b2>
mov    %rdx,%rsi
imul   %r8,%rsi
add    %rcx,%rsi
mov    0x68(%rsp),%rcx
movsd  (%rcx,%rsi,8),%xmm0
movsd  %xmm0,-0x8(%r10,%rdx,8)
mulsd  %xmm0,%xmm0
addsd  %xmm0,%xmm15
jmp    3342 <bobyqb_+0x21b2>
mov    0x550(%rsp),%r10
movapd 0xb0(%rsp),%xmm11
mov    0x58(%rsp),%rbp
mov    0xf8(%rsp),%r15
movsd  0x3cc7(%rip),%xmm2
movsd  0x1b0(%rsp),%xmm5
mov    0x3c(%rsp),%r9d
test   %r9d,%r9d
js     6c2b <bobyqb_+0x5a9b>
cmp    %r9d,0x180(%rsp)
jl     1e3a <bobyqb_+0xcaa>
mov    %r9d,0x11c(%rsp)
movsd  %xmm5,0x108(%rsp)
test   %r12d,%r12d
mov    0x18(%rsp),%r9
mov    0x28(%rsp),%r15
mov    0x558(%rsp),%r8
jg     1f20 <bobyqb_+0xd90>
nopw   0x0(%rax,%rax,1)
movsd  %xmm15,0x50(%rsp)
mov    %r9d,%edi
mov    0x10(%rsp),%rsi
mov    0x540(%rsp),%rdx
mov    %r10,%rcx
mov    0x570(%rsp),%r8
mov    %r9,%rbx
mov    0x578(%rsp),%r9
movapd 0x4d0(%rsp),%xmm0
push   0x400(%rsp)
push   0x340(%rsp)
push   %r13
lea    0x3a0(%rsp),%rax
push   %rax
lea    0x4c8(%rsp),%rax
push   %rax
push   0x5c8(%rsp)
push   0x5c8(%rsp)
push   0xd0(%rsp)
push   %r11
push   0x5d8(%rsp)
push   0x5d8(%rsp)
push   0x1a0(%rsp)
call   10b0 <altmov_@plt>
mov    %rbx,%r9
add    $0x60,%rsp
test   %r9d,%r9d
jle    362a <bobyqb_+0x249a>
mov    0x40(%rsp),%rbx
cmp    $0x4,%rbx
setb   %al
or     0xad(%rsp),%al
mov    $0x1,%eax
mov    0x550(%rsp),%r10
mov    0x10(%rsp),%rdi
mov    0x20(%rsp),%r12
movapd 0xb0(%rsp),%xmm11
xorpd  %xmm12,%xmm12
movsd  0x3b95(%rip),%xmm13
movsd  0x3bcc(%rip),%xmm14
mov    0x78(%rsp),%r8
mov    0x70(%rsp),%r11
movsd  0x50(%rsp),%xmm15
mov    0x598(%rsp),%rsi
jne    356f <bobyqb_+0x23df>
mov    $0x0,%eax
cmpq   $0x4,0x298(%rsp)
jb     3517 <bobyqb_+0x2387>
mov    0x280(%rsp),%rcx
xor    %eax,%eax
nopl   (%rax)
movupd (%rsi,%rax,8),%xmm0
movupd 0x10(%rsi,%rax,8),%xmm1
movupd (%r10,%rax,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x10(%r10,%rax,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,(%r14,%rax,8)
movupd %xmm1,0x10(%r14,%rax,8)
movupd 0x20(%rsi,%rax,8),%xmm0
movupd 0x30(%rsi,%rax,8),%xmm1
movupd 0x20(%r10,%rax,8),%xmm2
subpd  %xmm2,%xmm0
movupd 0x30(%r10,%rax,8),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,0x20(%r14,%rax,8)
movupd %xmm1,0x30(%r14,%rax,8)
add    $0x8,%rax
add    $0xfffffffffffffffe,%rcx
jne    34b0 <bobyqb_+0x2320>
testb  $0x1,0x290(%rsp)
01
je     3559 <bobyqb_+0x23c9>
shl    $0x3,%rax
or     $0x8,%rax
movupd -0x8(%rsi,%rax,1),%xmm0
movupd 0x8(%rsi,%rax,1),%xmm1
movupd -0x8(%r10,%rax,1),%xmm2
subpd  %xmm2,%xmm0
movupd 0x8(%r10,%rax,1),%xmm2
subpd  %xmm2,%xmm1
movupd %xmm0,-0x8(%r14,%rax,1)
movupd %xmm1,0x8(%r14,%rax,1)
mov    0x288(%rsp),%rax
cmp    0x200(%rsp),%rbx
je     3616 <bobyqb_+0x2486>
mov    %r15d,%edx
sub    %eax,%edx
mov    %rax,%rcx
not    %rcx
add    %r15,%rcx
and    $0x3,%rdx
je     35ae <bobyqb_+0x241e>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  -0x8(%rsi,%rax,8),%xmm0
subsd  -0x8(%r10,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r14,%rax,8)
add    $0x1,%rax
add    $0xffffffffffffffff,%rdx
jne    3590 <bobyqb_+0x2400>
cmp    $0x3,%rcx
jb     3616 <bobyqb_+0x2486>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  -0x8(%rsi,%rax,8),%xmm0
subsd  -0x8(%r10,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r14,%rax,8)
movsd  (%rsi,%rax,8),%xmm0
subsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,(%r14,%rax,8)
movsd  0x8(%rsi,%rax,8),%xmm0
subsd  0x8(%r10,%rax,8),%xmm0
movsd  %xmm0,0x8(%r14,%rax,8)
movsd  0x10(%rsi,%rax,8),%xmm0
subsd  0x10(%r10,%rax,8),%xmm0
movsd  %xmm0,0x10(%r14,%rax,8)
add    $0x4,%rax
cmp    %rax,%r15
jne    35c0 <bobyqb_+0x2430>
movsd  0x100(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
mov    %rdi,%r15
jmp    3682 <bobyqb_+0x24f2>
movsd  0x100(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
mov    0x550(%rsp),%r10
mov    0x10(%rsp),%r15
mov    0x20(%rsp),%r12
movapd 0xb0(%rsp),%xmm11
xorpd  %xmm12,%xmm12
movsd  0x399d(%rip),%xmm13
movsd  0x39d4(%rip),%xmm14
mov    0x78(%rsp),%r8
mov    0x70(%rsp),%r11
movsd  0x50(%rsp),%xmm15
mov    0x40(%rsp),%rbx
mov    0x4c(%rsp),%eax
mov    %rax,0x50(%rsp)
cltq
mov    %rax,0xe0(%rsp)
movsd  0x388(%rsp),%xmm10
movslq 0x98(%rsp),%rax
mov    %rax,0xf0(%rsp)
movsd  0x4a8(%rsp),%xmm9
jmp    36d6 <bobyqb_+0x2546>
nopl   0x0(%rax,%rax,1)
movq   $0x0,0x388(%rsp)
xorpd  %xmm10,%xmm10
mov    0x10(%rsp),%r15
test   %r15d,%r15d
jle    37c0 <bobyqb_+0x2630>
mov    $0x1,%eax
mov    0x2b0(%rsp),%rcx
mov    0x2c8(%rsp),%rbp
jmp    374e <bobyqb_+0x25be>
cs nopw 0x0(%rax,%rax,1)
movapd %xmm4,%xmm5
unpckhpd %xmm4,%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm13,%xmm6
addsd  %xmm3,%xmm6
mulsd  %xmm5,%xmm6
movsd  %xmm6,(%r12,%rax,8)
mov    0x5b0(%rsp),%rdx
movlpd %xmm4,-0x8(%rdx,%rax,8)
mov    0x8(%rsp),%rdx
add    %rax,%rdx
movhpd %xmm4,(%r12,%rdx,8)
add    $0x1,%rax
add    $0x8,%rbp
add    $0x8,%rcx
cmp    0x30(%rsp),%rax
je     37c0 <bobyqb_+0x2630>
xorpd  %xmm4,%xmm4
xorpd  %xmm3,%xmm3
test   %r9d,%r9d
jle    3700 <bobyqb_+0x2570>
xorpd  %xmm6,%xmm6
xorpd  %xmm3,%xmm3
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rbp,%rdx
nopl   0x0(%rax,%rax,1)
movapd %xmm6,%xmm5
movsd  (%rdi),%xmm4
movsd  (%r10,%rsi,8),%xmm6
mulsd  %xmm4,%xmm6
addsd  %xmm6,%xmm3
movsd  (%rdx),%xmm6
unpcklpd %xmm4,%xmm6
movsd  (%r14,%rsi,8),%xmm4
unpcklpd %xmm4,%xmm4
mulpd  %xmm6,%xmm4
movapd %xmm4,%xmm6
addpd  %xmm5,%xmm6
add    %r11,%rdx
add    %r8,%rdi
add    $0x1,%rsi
cmp    %rsi,%rbx
jne    3770 <bobyqb_+0x25e0>
addpd  %xmm5,%xmm4
jmp    3700 <bobyqb_+0x2570>
nopl   0x0(%rax)
xorpd  %xmm3,%xmm3
xorpd  %xmm8,%xmm8
cmp    %r15d,0x120(%rsp)
mov    0x8(%rsp),%r15
jge    3b50 <bobyqb_+0x29c0>
xorpd  %xmm8,%xmm8
mov    $0x1,%r8d
mov    0x210(%rsp),%rsi
mov    0x2a8(%rsp),%rdi
mov    %r15,%r12
mov    0x360(%rsp),%rax
xor    %r9d,%r9d
jmp    383f <bobyqb_+0x26af>
nopw   0x0(%rax,%rax,1)
mov    0x550(%rsp),%r10
add    $0x1,%r8
add    $0x1,%r9
mov    0x78(%rsp),%rcx
add    %rcx,%rax
add    %r15,%r12
add    %rcx,%rdi
add    %rcx,%rsi
cmp    0x198(%rsp),%r8
je     3b50 <bobyqb_+0x29c0>
mov    %r9,%rcx
imul   %r15,%rcx
mov    0x238(%rsp),%rdx
lea    (%rdx,%rcx,1),%rbp
add    0x240(%rsp),%rcx
mov    0x578(%rsp),%rbx
lea    (%rbx,%rbp,8),%r10
lea    (%rbx,%rcx,8),%r11
cmpl   $0x0,0x10(%rsp)
jle    3810 <bobyqb_+0x2680>
xorpd  %xmm4,%xmm4
mov    $0x1,%ebp
cmpq   $0x3,0xd0(%rsp)
jb     38f0 <bobyqb_+0x2760>
xorpd  %xmm4,%xmm4
xor    %ebp,%ebp
mov    0x110(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  -0x18(%rax,%rbp,8),%xmm5
movsd  -0x10(%rax,%rbp,8),%xmm6
mulsd  0x0(%r13,%rbp,8),%xmm5
mulsd  0x8(%r13,%rbp,8),%xmm6
addsd  %xmm4,%xmm5
movsd  -0x8(%rax,%rbp,8),%xmm7
mulsd  0x10(%r13,%rbp,8),%xmm7
addsd  %xmm5,%xmm6
movsd  (%rax,%rbp,8),%xmm4
mulsd  0x18(%r13,%rbp,8),%xmm4
addsd  %xmm6,%xmm7
addsd  %xmm7,%xmm4
add    $0x4,%rbp
cmp    %rbp,%rcx
jne    38a0 <bobyqb_+0x2710>
add    $0x1,%rbp
testb  $0x3,0x80(%rsp)
03
mov    0x248(%rsp),%rdx
je     3938 <bobyqb_+0x27a8>
mov    0x20(%rsp),%rcx
lea    (%rcx,%rbp,8),%rcx
add    %r12,%rbp
mov    0xc0(%rsp),%rbx
lea    (%rbx,%rbp,8),%rbp
xor    %ebx,%ebx
nopl   0x0(%rax)
movsd  0x0(%rbp,%rbx,8),%xmm5
mulsd  (%rcx,%rbx,8),%xmm5
addsd  %xmm5,%xmm4
add    $0x1,%rbx
cmp    %rbx,%rdx
jne    3920 <bobyqb_+0x2790>
movapd %xmm4,%xmm5
mulsd  %xmm4,%xmm5
subsd  %xmm5,%xmm8
cmpl   $0x0,0x10(%rsp)
jle    3810 <bobyqb_+0x2680>
mov    %r15,%rcx
mov    %r8,%r15
imul   %rcx,%r15
mov    $0x1,%ebp
cmpq   $0x4,0x80(%rsp)
jae    3974 <bobyqb_+0x27e4>
mov    0x30(%rsp),%rdx
jmp    3ab0 <bobyqb_+0x2920>
cmp    0x5b0(%rsp),%r11
mov    0x30(%rsp),%rdx
jbe    3991 <bobyqb_+0x2801>
cmp    0x370(%rsp),%r10
jb     3ab0 <bobyqb_+0x2920>
movapd %xmm4,%xmm5
unpcklpd %xmm4,%xmm5
mov    $0x0,%ebp
cmpq   $0x4,0x228(%rsp)
mov    0x5b0(%rsp),%rbx
jb     3a2f <bobyqb_+0x289f>
mov    0x218(%rsp),%rcx
xor    %ebp,%ebp
nopl   0x0(%rax,%rax,1)
movupd -0x30(%rdi,%rbp,8),%xmm6
movupd -0x20(%rdi,%rbp,8),%xmm7
mulpd  %xmm5,%xmm6
movupd (%rbx,%rbp,8),%xmm0
addpd  %xmm6,%xmm0
movupd 0x10(%rbx,%rbp,8),%xmm6
movupd 0x20(%rbx,%rbp,8),%xmm1
movupd 0x30(%rbx,%rbp,8),%xmm2
mulpd  %xmm5,%xmm7
addpd  %xmm6,%xmm7
movupd %xmm0,(%rbx,%rbp,8)
movupd %xmm7,0x10(%rbx,%rbp,8)
movupd -0x10(%rdi,%rbp,8),%xmm0
movupd (%rdi,%rbp,8),%xmm6
mulpd  %xmm5,%xmm0
addpd  %xmm1,%xmm0
mulpd  %xmm5,%xmm6
addpd  %xmm2,%xmm6
movupd %xmm0,0x20(%rbx,%rbp,8)
movupd %xmm6,0x30(%rbx,%rbp,8)
add    $0x8,%rbp
add    $0xfffffffffffffffe,%rcx
jne    39c0 <bobyqb_+0x2830>
testb  $0x1,0x220(%rsp)
01
je     3a84 <bobyqb_+0x28f4>
or     $0x1,%rbp
lea    (%r15,%rbp,1),%rcx
mov    0xc0(%rsp),%rbx
movupd (%rbx,%rcx,8),%xmm0
movupd 0x10(%rbx,%rcx,8),%xmm1
mov    0x5b0(%rsp),%rcx
movupd -0x8(%rcx,%rbp,8),%xmm2
movupd 0x8(%rcx,%rbp,8),%xmm6
mulpd  %xmm5,%xmm0
addpd  %xmm2,%xmm0
mulpd  %xmm5,%xmm1
addpd  %xmm6,%xmm1
movupd %xmm0,-0x8(%rcx,%rbp,8)
movupd %xmm1,0x8(%rcx,%rbp,8)
mov    0x1d8(%rsp),%rbp
mov    0x110(%rsp),%rcx
cmp    %rcx,0x80(%rsp)
jne    3ab0 <bobyqb_+0x2920>
mov    0x550(%rsp),%r10
mov    0x8(%rsp),%r15
jmp    3818 <bobyqb_+0x2688>
mov    %rbp,%rcx
not    %rcx
test   $0x1,%dl
jne    3ae8 <bobyqb_+0x2958>
add    %rbp,%r15
mov    0xc0(%rsp),%rbx
movsd  (%rbx,%r15,8),%xmm0
mulsd  %xmm4,%xmm0
mov    0x5b0(%rsp),%rbx
addsd  -0x8(%rbx,%rbp,8),%xmm0
movsd  %xmm0,-0x8(%rbx,%rbp,8)
add    $0x1,%rbp
cmp    0x1e8(%rsp),%rcx
mov    0x550(%rsp),%r10
mov    0x8(%rsp),%r15
je     3818 <bobyqb_+0x2688>
mov    0x5b0(%rsp),%rcx
nopl   0x0(%rax,%rax,1)
movsd  -0x8(%rsi,%rbp,8),%xmm0
mulsd  %xmm4,%xmm0
addsd  -0x8(%rcx,%rbp,8),%xmm0
movsd  %xmm0,-0x8(%rcx,%rbp,8)
movsd  (%rsi,%rbp,8),%xmm0
mulsd  %xmm4,%xmm0
addsd  (%rcx,%rbp,8),%xmm0
movsd  %xmm0,(%rcx,%rbp,8)
add    $0x2,%rbp
cmp    %rbp,%rdx
jne    3b10 <bobyqb_+0x2980>
jmp    3818 <bobyqb_+0x2688>
nopw   0x0(%rax,%rax,1)
xorpd  %xmm5,%xmm5
xorpd  %xmm4,%xmm4
cmpl   $0x0,0x18(%rsp)
mov    0x28(%rsp),%r15
jle    3d80 <bobyqb_+0x2bf0>
xorpd  %xmm4,%xmm4
mov    $0x1,%r12d
mov    0x450(%rsp),%r11
mov    0x368(%rsp),%rdx
mov    0xd8(%rsp),%r9
mov    0x458(%rsp),%rdi
xorpd  %xmm5,%xmm5
xorpd  %xmm3,%xmm3
jmp    3beb <bobyqb_+0x2a5b>
nopl   0x0(%rax)
mov    0x5b0(%rsp),%rsi
movsd  %xmm6,-0x8(%rsi,%r8,8)
movsd  -0x8(%r14,%r12,8),%xmm0
mulsd  %xmm0,%xmm6
mulsd  -0x8(%r10,%r12,8),%xmm0
addsd  %xmm6,%xmm4
addsd  %xmm0,%xmm5
add    $0x1,%r12
add    0x70(%rsp),%rdi
add    0xd8(%rsp),%r9
add    $0x8,%rdx
add    $0x8,%r11
cmp    %r15,%r12
je     3d80 <bobyqb_+0x2bf0>
movapd %xmm3,%xmm0
movsd  -0x8(%r14,%r12,8),%xmm7
movapd %xmm7,%xmm3
mulsd  %xmm7,%xmm3
addsd  %xmm0,%xmm3
xorpd  %xmm6,%xmm6
cmpl   $0x0,0x10(%rsp)
mov    0x248(%rsp),%rax
jle    3cd8 <bobyqb_+0x2b48>
xorpd  %xmm6,%xmm6
mov    $0x1,%ebp
cmpq   $0x3,0xd0(%rsp)
jb     3c90 <bobyqb_+0x2b00>
xorpd  %xmm6,%xmm6
xor    %ebp,%ebp
mov    0x110(%rsp),%rsi
nopl   0x0(%rax,%rax,1)
movsd  0x0(%r13,%rbp,8),%xmm0
movsd  0x8(%r13,%rbp,8),%xmm1
mulsd  -0x18(%rdi,%rbp,8),%xmm0
mulsd  -0x10(%rdi,%rbp,8),%xmm1
addsd  %xmm6,%xmm0
movsd  0x10(%r13,%rbp,8),%xmm2
mulsd  -0x8(%rdi,%rbp,8),%xmm2
addsd  %xmm0,%xmm1
movsd  0x18(%r13,%rbp,8),%xmm6
mulsd  (%rdi,%rbp,8),%xmm6
addsd  %xmm1,%xmm2
addsd  %xmm2,%xmm6
add    $0x4,%rbp
cmp    %rbp,%rsi
jne    3c40 <bobyqb_+0x2ab0>
add    $0x1,%rbp
testb  $0x3,0x80(%rsp)
03
je     3cd8 <bobyqb_+0x2b48>
lea    (%r9,%rbp,1),%rsi
mov    0x2d8(%rsp),%rbx
lea    (%rbx,%rsi,8),%rbx
mov    0x20(%rsp),%rsi
lea    (%rsi,%rbp,8),%rbp
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
nop
movsd  0x0(%rbp,%rsi,8),%xmm0
mulsd  (%rbx,%rsi,8),%xmm0
addsd  %xmm0,%xmm6
add    $0x1,%rsi
cmp    %rsi,%rax
jne    3cc0 <bobyqb_+0x2b30>
mov    0x8(%rsp),%rax
lea    (%r12,%rax,1),%r8
mulsd  %xmm6,%xmm7
addsd  %xmm7,%xmm4
mov    $0x1,%ebx
cmpq   $0x0,0xc8(%rsp)
je     3d45 <bobyqb_+0x2bb5>
mov    $0x1,%ebx
xor    %ebp,%ebp
mov    0xf8(%rsp),%rax
mov    0x380(%rsp),%rcx
movsd  (%rdx,%rbp,1),%xmm0
mulsd  -0x8(%r14,%rbx,8),%xmm0
addsd  %xmm6,%xmm0
movsd  (%r11,%rbp,1),%xmm6
mulsd  (%r14,%rbx,8),%xmm6
addsd  %xmm0,%xmm6
add    %rcx,%rbp
lea    (%rax,%rbx,1),%rsi
add    $0x2,%rsi
add    $0x2,%rbx
cmp    $0x1,%rsi
jne    3d10 <bobyqb_+0x2b80>
testb  $0x1,0x40(%rsp)
je     3ba0 <bobyqb_+0x2a10>
mov    %rbx,%rsi
imul   0xd8(%rsp),%rsi
add    %r8,%rsi
mov    0x150(%rsp),%rbp
movsd  0x0(%rbp,%rsi,8),%xmm0
mulsd  -0x8(%r14,%rbx,8),%xmm0
addsd  %xmm0,%xmm6
jmp    3ba0 <bobyqb_+0x2a10>
nopl   (%rax)
movapd %xmm15,%xmm0
addsd  %xmm5,%xmm0
addsd  %xmm5,%xmm0
movapd %xmm3,%xmm1
mulsd  %xmm13,%xmm1
addsd  %xmm0,%xmm1
mulsd  %xmm3,%xmm1
mulsd  %xmm5,%xmm5
addsd  %xmm1,%xmm5
addsd  %xmm5,%xmm8
subsd  %xmm4,%xmm8
mov    0x5b0(%rsp),%rax
mov    0xe0(%rsp),%rcx
movsd  -0x8(%rax,%rcx,8),%xmm0
addsd  %xmm14,%xmm0
movsd  %xmm0,-0x8(%rax,%rcx,8)
mov    0xa4(%rsp),%r12d
test   %r12d,%r12d
mov    0x598(%rsp),%r15
jne    4000 <bobyqb_+0x2e70>
mov    0xf0(%rsp),%rcx
movsd  -0x8(%rax,%rcx,8),%xmm4
movapd %xmm8,%xmm0
mulsd  %xmm9,%xmm0
mulsd  %xmm4,%xmm4
addsd  %xmm4,%xmm0
ucomisd %xmm12,%xmm10
jbe    4350 <bobyqb_+0x31c0>
ucomisd %xmm0,%xmm10
jbe    4350 <bobyqb_+0x31c0>
mov    0x18(%rsp),%r9
test   %r9d,%r9d
mov    0x5a0(%rsp),%rdx
mov    0x20(%rsp),%r12
mov    0x40(%rsp),%rbx
mov    0x78(%rsp),%r8
mov    0x70(%rsp),%r11
mov    0x28(%rsp),%rsi
jle    36c0 <bobyqb_+0x2530>
cmp    $0x4,%rbx
setb   %al
or     0xaf(%rsp),%al
mov    $0x1,%eax
jne    3f81 <bobyqb_+0x2df1>
mov    $0x0,%eax
cmpq   $0x4,0x298(%rsp)
jb     3f16 <bobyqb_+0x2d86>
mov    0x280(%rsp),%rcx
xor    %eax,%eax
cs nopw 0x0(%rax,%rax,1)
movupd (%rdx,%rax,8),%xmm0
movupd 0x10(%rdx,%rax,8),%xmm1
movupd %xmm0,(%r15,%rax,8)
movupd %xmm1,0x10(%r15,%rax,8)
movupd (%r10,%rax,8),%xmm2
movupd 0x10(%r10,%rax,8),%xmm3
subpd  %xmm2,%xmm0
subpd  %xmm3,%xmm1
movupd %xmm0,(%r14,%rax,8)
movupd %xmm1,0x10(%r14,%rax,8)
movupd 0x20(%rdx,%rax,8),%xmm0
movupd 0x30(%rdx,%rax,8),%xmm1
movupd %xmm0,0x20(%r15,%rax,8)
movupd %xmm1,0x30(%r15,%rax,8)
movupd 0x20(%r10,%rax,8),%xmm2
movupd 0x30(%r10,%rax,8),%xmm3
subpd  %xmm2,%xmm0
subpd  %xmm3,%xmm1
movupd %xmm0,0x20(%r14,%rax,8)
movupd %xmm1,0x30(%r14,%rax,8)
add    $0x8,%rax
add    $0xfffffffffffffffe,%rcx
jne    3e90 <bobyqb_+0x2d00>
testb  $0x1,0x290(%rsp)
01
je     3f66 <bobyqb_+0x2dd6>
shl    $0x3,%rax
or     $0x8,%rax
movupd -0x8(%rdx,%rax,1),%xmm0
movupd 0x8(%rdx,%rax,1),%xmm1
movupd %xmm0,-0x8(%r15,%rax,1)
movupd %xmm1,0x8(%r15,%rax,1)
movupd -0x8(%r10,%rax,1),%xmm2
movupd 0x8(%r10,%rax,1),%xmm3
subpd  %xmm2,%xmm0
subpd  %xmm3,%xmm1
movupd %xmm0,-0x8(%r14,%rax,1)
movupd %xmm1,0x8(%r14,%rax,1)
mov    0x288(%rsp),%rax
cmp    0x200(%rsp),%rbx
mov    0x28(%rsp),%rsi
je     36c0 <bobyqb_+0x2530>
mov    %rax,%rcx
not    %rcx
test   $0x1,%sil
jne    3fac <bobyqb_+0x2e1c>
movsd  -0x8(%rdx,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r15,%rax,8)
subsd  -0x8(%r10,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r14,%rax,8)
add    $0x1,%rax
cmp    0x358(%rsp),%rcx
mov    0x28(%rsp),%rcx
je     36c0 <bobyqb_+0x2530>
nop
movsd  -0x8(%rdx,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r15,%rax,8)
subsd  -0x8(%r10,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r14,%rax,8)
movsd  (%rdx,%rax,8),%xmm0
movsd  %xmm0,(%r15,%rax,8)
subsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,(%r14,%rax,8)
add    $0x2,%rax
cmp    %rax,%rcx
jne    3fc0 <bobyqb_+0x2e30>
jmp    36c0 <bobyqb_+0x2530>
movsd  %xmm8,0x90(%rsp)
movsd  %xmm3,0x1f0(%rsp)
movapd 0x170(%rsp),%xmm1
mulsd  %xmm1,%xmm1
xorpd  %xmm3,%xmm3
cmpl   $0x0,0x10(%rsp)
jle    43d3 <bobyqb_+0x3243>
xor    %eax,%eax
mov    %rax,0x98(%rsp)
xorpd  %xmm2,%xmm2
mov    $0x1,%r12d
mov    0x138(%rsp),%r15
mov    0x140(%rsp),%rdx
mov    0x260(%rsp),%r9
mov    0x268(%rsp),%r10
mov    0x318(%rsp),%rax
mov    0x310(%rsp),%r11
xorpd  %xmm3,%xmm3
movsd  0x60(%rsp),%xmm0
mov    0x130(%rsp),%rcx
movsd  0x1b0(%rsp),%xmm8
mov    0x50(%rsp),%r8
jmp    40e3 <bobyqb_+0x2f53>
cs nopw 0x0(%rax,%rax,1)
maxsd  %xmm3,%xmm4
mulsd  %xmm6,%xmm5
maxsd  %xmm2,%xmm5
movapd %xmm4,%xmm3
movapd %xmm5,%xmm2
mov    0xe0(%rsp),%rax
add    $0x1,%r12
add    $0x8,%r11
add    $0x8,%rax
add    $0x8,%r10
add    $0x8,%r9
add    $0x8,%rdx
add    $0x8,%r15
cmp    0x30(%rsp),%r12
je     43f9 <bobyqb_+0x3269>
cmp    %r8,%r12
je     40bc <bobyqb_+0x2f2c>
mov    %rax,0xe0(%rsp)
movapd %xmm0,%xmm7
xorpd  %xmm4,%xmm4
xorpd  %xmm0,%xmm0
mov    0x120(%rsp),%rax
cmp    0x10(%rsp),%eax
jge    4225 <bobyqb_+0x3095>
mov    %r10,0x60(%rsp)
mov    %r9,0xf0(%rsp)
xorpd  %xmm0,%xmm0
mov    $0x1,%ebp
cmpq   $0x3,0x2d0(%rsp)
mov    0x348(%rsp),%r8
mov    0x340(%rsp),%r9
mov    0x208(%rsp),%r10
jb     41c6 <bobyqb_+0x3036>
xorpd  %xmm0,%xmm0
mov    $0x1,%ebp
mov    0xf0(%rsp),%rdi
mov    0x60(%rsp),%rbx
mov    0xe0(%rsp),%rsi
mov    %r11,%rax
nopl   0x0(%rax,%rax,1)
movsd  (%rbx,%r10,1),%xmm5
mulsd  %xmm5,%xmm5
addsd  %xmm0,%xmm5
movsd  (%rdi,%r10,1),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm5,%xmm0
movsd  (%rsi,%r10,1),%xmm5
mulsd  %xmm5,%xmm5
addsd  %xmm0,%xmm5
movsd  (%rax,%r10,1),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm5,%xmm0
add    %r8,%rax
add    %r8,%rsi
add    %r8,%rbx
add    %r8,%rdi
lea    (%r9,%rbp,1),%rcx
add    $0x4,%rcx
add    $0x4,%rbp
cmp    $0x1,%rcx
jne    4170 <bobyqb_+0x2fe0>
cmpq   $0x0,0x2a0(%rsp)
mov    0x130(%rsp),%rcx
mov    0x78(%rsp),%rdi
mov    0x50(%rsp),%r8
mov    0xf0(%rsp),%r9
mov    0x60(%rsp),%r10
je     4225 <bobyqb_+0x3095>
imul   0x8(%rsp),%rbp
add    %r12,%rbp
mov    0xc0(%rsp),%rax
lea    (%rax,%rbp,8),%rax
mov    0x2a0(%rsp),%rsi
nopl   (%rax)
movsd  (%rax),%xmm5
mulsd  %xmm5,%xmm5
addsd  %xmm5,%xmm0
add    %rdi,%rax
add    $0xffffffffffffffff,%rsi
jne    4210 <bobyqb_+0x3080>
mov    0x5b0(%rsp),%rax
movsd  -0x8(%rax,%r12,8),%xmm5
mulsd  %xmm5,%xmm5
mulsd  0x90(%rsp),%xmm0
addsd  %xmm5,%xmm0
cmpl   $0x0,0x18(%rsp)
jle    4306 <bobyqb_+0x3176>
xorpd  %xmm4,%xmm4
mov    $0x1,%ebp
cmpq   $0x0,0xc8(%rsp)
mov    0x550(%rsp),%rsi
mov    0x58(%rsp),%rdi
mov    0xf8(%rsp),%rbx
je     42cb <bobyqb_+0x313b>
xorpd  %xmm4,%xmm4
mov    $0x1,%ebp
mov    0x540(%rsp),%rax
nopw   0x0(%rax,%rax,1)
movsd  (%rax,%rdx,1),%xmm6
subsd  -0x8(%rsi,%rbp,8),%xmm6
mulsd  %xmm6,%xmm6
addsd  %xmm4,%xmm6
movsd  (%rax,%r15,1),%xmm4
subsd  (%rsi,%rbp,8),%xmm4
mulsd  %xmm4,%xmm4
addsd  %xmm6,%xmm4
add    %rdi,%rax
lea    (%rbx,%rbp,1),%rcx
add    $0x2,%rcx
add    $0x2,%rbp
cmp    $0x1,%rcx
jne    4290 <bobyqb_+0x3100>
testb  $0x1,0x40(%rsp)
mov    0x130(%rsp),%rcx
je     4306 <bobyqb_+0x3176>
mov    %rbp,%rax
imul   0x8(%rsp),%rax
add    %r12,%rax
mov    0x68(%rsp),%rsi
movsd  (%rsi,%rax,8),%xmm6
mov    0x550(%rsp),%rax
subsd  -0x8(%rax,%rbp,8),%xmm6
mulsd  %xmm6,%xmm6
addsd  %xmm6,%xmm4
divsd  %xmm1,%xmm4
mulsd  %xmm4,%xmm4
movapd %xmm14,%xmm6
maxsd  %xmm4,%xmm6
movapd %xmm0,%xmm4
mulsd  %xmm6,%xmm4
ucomisd %xmm3,%xmm4
mov    0x98(%rsp),%rax
cmova  %r12d,%eax
mov    %rax,0x98(%rsp)
ja     40a0 <bobyqb_+0x2f10>
movapd %xmm7,%xmm0
jmp    40a0 <bobyqb_+0x2f10>
cs nopw 0x0(%rax,%rax,1)
movsd  %xmm3,0x1f0(%rsp)
mulsd  %xmm13,%xmm4
xor    %r11d,%r11d
ucomisd %xmm0,%xmm4
mov    0x40(%rsp),%r8
movsd  %xmm8,0x90(%rsp)
jae    310a <bobyqb_+0x1f7a>
movsd  %xmm0,0x100(%rsp)
movaps 0x2f0(%rsp),%xmm0
movsd  %xmm0,0x108(%rsp)
movsd  0x1b0(%rsp),%xmm0
movsd  %xmm0,0x278(%rsp)
mov    0x160(%rsp),%rdx
mov    0x130(%rsp),%rcx
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
mov    0x538(%rsp),%rbp
jmp    445e <bobyqb_+0x32ce>
xor    %eax,%eax
mov    %rax,0x98(%rsp)
movsd  0x60(%rsp),%xmm0
xorpd  %xmm2,%xmm2
mov    0x130(%rsp),%rcx
movsd  0x1b0(%rsp),%xmm8
mulsd  %xmm13,%xmm2
ucomisd %xmm3,%xmm2
mov    0x40(%rsp),%r8
jae    446f <bobyqb_+0x32df>
movsd  %xmm0,0x100(%rsp)
movapd 0x2f0(%rsp),%xmm0
movsd  %xmm0,0x108(%rsp)
movsd  %xmm8,0x278(%rsp)
mov    0xa4(%rsp),%r11d
mov    0x160(%rsp),%rdx
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
mov    0x538(%rsp),%rbp
mov    0x598(%rsp),%r15
mov    0x258(%rsp),%rdi
lea    0x2c4d(%rip),%r12
jmp    44c0 <bobyqb_+0x3330>
mov    0x3c(%rsp),%eax
mov    %rax,0x180(%rsp)
cmp    0x11c(%rsp),%eax
mov    0x18(%rsp),%rdi
mov    0x550(%rsp),%r10
mov    0x10(%rsp),%rsi
mov    0x570(%rsp),%r11
mov    0x568(%rsp),%rbp
mov    0x558(%rsp),%rbx
mov    0xa4(%rsp),%r12d
jg     314d <bobyqb_+0x1fbd>
jmp    6c22 <bobyqb_+0x5a92>
nop
cmpl   $0x0,0x18(%rsp)
jle    4560 <bobyqb_+0x33d0>
xor    %eax,%eax
jmp    44dd <bobyqb_+0x334d>
nop
add    $0x8,%rax
cmp    %rax,%rdi
je     4560 <bobyqb_+0x33d0>
movsd  0x0(%rbp,%rax,1),%xmm0
addsd  (%r15,%rax,1),%xmm0
movsd  %xmm0,(%rdx,%rax,1)
mov    0x1e0(%rsp),%rsi
movsd  (%rsi,%rax,1),%xmm1
ucomisd %xmm0,%xmm1
jbe    450a <bobyqb_+0x337a>
movsd  %xmm1,(%rdx,%rax,1)
movapd %xmm1,%xmm0
movsd  (%rcx,%rax,1),%xmm1
ucomisd %xmm1,%xmm0
jbe    451a <bobyqb_+0x338a>
movsd  %xmm1,(%rdx,%rax,1)
movsd  (%r15,%rax,1),%xmm0
ucomisd (%rbx,%rax,1),%xmm0
jne    4541 <bobyqb_+0x33b1>
jp     4541 <bobyqb_+0x33b1>
mov    0x1e0(%rsp),%rsi
movsd  (%rsi,%rax,1),%xmm0
movsd  %xmm0,(%rdx,%rax,1)
movsd  (%r15,%rax,1),%xmm0
ucomisd (%r9,%rax,1),%xmm0
jne    44d0 <bobyqb_+0x3340>
jp     44d0 <bobyqb_+0x3340>
movsd  (%rcx,%rax,1),%xmm0
movsd  %xmm0,(%rdx,%rax,1)
jmp    44d0 <bobyqb_+0x3340>
nopw   0x0(%rax,%rax,1)
mov    0x3c(%rsp),%eax
mov    0x530(%rsp),%ecx
cmp    %ecx,%eax
jge    6bcf <bobyqb_+0x5a3f>
mov    %r11d,0x88(%rsp)
movsd  %xmm15,0x50(%rsp)
add    $0x1,%eax
mov    %eax,0x3c(%rsp)
mov    0x520(%rsp),%rdi
mov    0x18(%rsp),%rsi
mov    %r12,%rbp
mov    %r8,%r12
call   *0x328(%rsp)
movapd %xmm0,0xb0(%rsp)
mov    0x528(%rsp),%eax
cmp    $0x3,%eax
mov    0x560(%rsp),%r15
jne    4610 <bobyqb_+0x3480>
mov    0x3c(%rsp),%esi
lea    0x2ab5(%rip),%rdi
movapd 0xb0(%rsp),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
mov    0x18(%rsp),%rdi
test   %edi,%edi
jle    4819 <bobyqb_+0x3689>
xor    %ebx,%ebx
nopw   0x0(%rax,%rax,1)
mov    0x160(%rsp),%rax
movsd  (%rax,%rbx,8),%xmm0
mov    %rbp,%rdi
mov    $0x1,%al
call   1040 <printf@plt>
add    $0x1,%rbx
cmp    %rbx,%r12
jne    45f0 <bobyqb_+0x3460>
cmpl   $0xffffffff,0x88(%rsp)
ff
mov    0x568(%rsp),%rbx
movsd  0x29d8(%rip),%xmm5
je     6bdb <bobyqb_+0x5a4b>
movslq 0x4c(%rsp),%rax
mov    0x128(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm6
xorpd  %xmm4,%xmm4
mov    0x18(%rsp),%rdi
test   %edi,%edi
movapd 0xb0(%rsp),%xmm12
jle    4800 <bobyqb_+0x3670>
xorpd  %xmm4,%xmm4
mov    $0x1,%eax
mov    $0x2,%r9d
xor    %r11d,%r11d
xor    %r8d,%r8d
xor    %r10d,%r10d
xorpd  %xmm9,%xmm9
mov    0x3f0(%rsp),%r12
movapd 0x1a0(%rsp),%xmm7
movapd 0x170(%rsp),%xmm11
jmp    46ca <bobyqb_+0x353a>
cs nopw 0x0(%rax,%rax,1)
nop
mulsd  (%r15,%rbx,8),%xmm4
addsd  %xmm0,%xmm4
add    %rax,%r10
add    $0x1,%rax
add    $0x1,%r9
add    $0xffffffffffffffff,%r11
cmp    %r12,%r9
mov    0x568(%rsp),%rbx
je     47c0 <bobyqb_+0x3630>
mov    %r8,%rcx
add    $0x1,%r8
movsd  -0x8(%r14,%rax,8),%xmm1
mov    0x558(%rsp),%rdx
movsd  -0x8(%rdx,%rax,8),%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm4,%xmm0
movslq %r10d,%r10
test   %rcx,%rcx
je     4780 <bobyqb_+0x35f0>
mov    %r8,%rsi
and    $0xfffffffffffffffe,%rsi
mov    $0x1,%ebp
mov    %r10,%rdi
xor    %ecx,%ecx
jmp    472b <bobyqb_+0x359b>
nopl   (%rax)
mulsd  0x8(%r15,%rdi,8),%xmm2
addsd  %xmm2,%xmm0
add    $0x2,%rbp
add    $0x2,%rcx
mov    %rbx,%rdi
cmp    %rsi,%rcx
je     4788 <bobyqb_+0x35f8>
lea    (%r11,%rbp,1),%rbx
movsd  -0x8(%r14,%rbp,8),%xmm3
mulsd  %xmm1,%xmm3
movapd %xmm3,%xmm2
mulsd  %xmm5,%xmm2
cmp    $0x1,%rbx
je     474c <bobyqb_+0x35bc>
movapd %xmm3,%xmm2
mulsd  (%r15,%rdi,8),%xmm2
addsd  %xmm2,%xmm0
lea    0x1(%rbp),%rdx
lea    0x2(%rdi),%rbx
movsd  (%r14,%rbp,8),%xmm3
mulsd  %xmm1,%xmm3
movapd %xmm3,%xmm2
mulsd  %xmm5,%xmm2
cmp    %rax,%rdx
je     4710 <bobyqb_+0x3580>
movapd %xmm3,%xmm2
jmp    4710 <bobyqb_+0x3580>
nopl   0x0(%rax,%rax,1)
mov    %r10,%rbx
mov    $0x1,%ebp
movapd %xmm0,%xmm4
test   $0x1,%r8b
je     46aa <bobyqb_+0x351a>
mulsd  -0x8(%r14,%rbp,8),%xmm1
movapd %xmm1,%xmm4
mulsd  %xmm5,%xmm4
cmp    %rax,%rbp
je     46a0 <bobyqb_+0x3510>
movapd %xmm1,%xmm4
jmp    46a0 <bobyqb_+0x3510>
nopw   0x0(%rax,%rax,1)
mov    0x10(%rsp),%rsi
mov    0x8(%rsp),%r8
mov    0x190(%rsp),%rdx
mov    0xd0(%rsp),%rcx
mov    0x1c8(%rsp),%rbp
mov    0x98(%rsp),%r10
mov    0x18(%rsp),%rdi
jmp    4899 <bobyqb_+0x3709>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    0x10(%rsp),%rsi
mov    0x8(%rsp),%r8
mov    0x190(%rsp),%rdx
xorpd  %xmm9,%xmm9
jmp    486e <bobyqb_+0x36de>
movslq 0x4c(%rsp),%rax
mov    0x128(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm6
xorpd  %xmm4,%xmm4
cmpl   $0xffffffff,0x88(%rsp)
ff
je     6e0a <bobyqb_+0x5c7a>
mov    0x10(%rsp),%rsi
mov    0x568(%rsp),%rbx
mov    0x8(%rsp),%r8
movapd 0xb0(%rsp),%xmm12
mov    0x190(%rsp),%rdx
xorpd  %xmm9,%xmm9
movsd  0x2792(%rip),%xmm5
mov    0xd0(%rsp),%rcx
mov    0x1c8(%rsp),%rbp
mov    0x98(%rsp),%r10
movapd 0x1a0(%rsp),%xmm7
movapd 0x170(%rsp),%xmm11
movsd  0x90(%rsp),%xmm1
mov    0x28(%rsp),%r15
test   %esi,%esi
jle    4920 <bobyqb_+0x3790>
mov    $0x1,%eax
test   %rcx,%rcx
je     492a <bobyqb_+0x379a>
mov    $0x1,%eax
mov    0x88(%rsp),%r9d
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  -0x8(%rbx,%rax,8),%xmm1
mulsd  %xmm5,%xmm1
movsd  -0x8(%rbp,%rax,8),%xmm2
movsd  0x0(%rbp,%rax,8),%xmm0
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm2
addsd  %xmm4,%xmm2
movsd  (%rbx,%rax,8),%xmm1
mulsd  %xmm5,%xmm1
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm2,%xmm0
lea    (%rdx,%rax,1),%rcx
add    $0x2,%rcx
add    $0x2,%rax
movapd %xmm0,%xmm4
cmp    $0x1,%rcx
jne    48d0 <bobyqb_+0x3740>
jmp    4936 <bobyqb_+0x37a6>
nop
mov    0x88(%rsp),%r9d
jmp    4979 <bobyqb_+0x37e9>
movapd %xmm4,%xmm0
mov    0x88(%rsp),%r9d
movapd %xmm0,%xmm4
testb  $0x1,0x80(%rsp)
01
movsd  0x90(%rsp),%xmm1
je     4979 <bobyqb_+0x37e9>
movsd  -0x8(%rbx,%rax,8),%xmm1
mulsd  %xmm5,%xmm1
add    %r8,%rax
mov    0x20(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm4
mulsd  %xmm4,%xmm4
mulsd  %xmm1,%xmm4
movsd  0x90(%rsp),%xmm1
addsd  %xmm0,%xmm4
movapd %xmm12,%xmm8
subsd  %xmm6,%xmm8
movapd %xmm8,%xmm2
subsd  %xmm4,%xmm2
movapd %xmm2,%xmm0
andpd  0x26d8(%rip),%xmm0
movapd %xmm0,0x2f0(%rsp)
movsd  0x158(%rsp),%xmm0
ucomisd %xmm7,%xmm0
mov    0x570(%rsp),%rdx
jbe    49c4 <bobyqb_+0x3834>
mov    0x3c(%rsp),%eax
mov    %rax,0x180(%rsp)
test   %r9d,%r9d
movsd  %xmm6,0x188(%rsp)
movsd  %xmm4,0x418(%rsp)
movapd %xmm2,0x1b0(%rsp)
jle    4e1b <bobyqb_+0x3c8b>
ucomisd %xmm9,%xmm4
jae    6c0e <bobyqb_+0x5a7e>
divsd  %xmm4,%xmm8
movsd  0x2620(%rip),%xmm0
ucomisd %xmm8,%xmm0
jae    4a50 <bobyqb_+0x38c0>
movsd  0x2639(%rip),%xmm0
ucomisd %xmm8,%xmm0
mulsd  %xmm5,%xmm11
jae    65e1 <bobyqb_+0x5451>
movsd  0x158(%rsp),%xmm0
addsd  %xmm0,%xmm0
ucomisd %xmm11,%xmm0
movsd  0x2606(%rip),%xmm10
jbe    4a74 <bobyqb_+0x38e4>
movapd %xmm0,%xmm11
jmp    4a74 <bobyqb_+0x38e4>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mulsd  %xmm5,%xmm11
ucomisd 0x158(%rsp),%xmm11
movsd  0x25d8(%rip),%xmm10
jbe    4a74 <bobyqb_+0x38e4>
movsd  0x158(%rsp),%xmm11
movapd %xmm11,%xmm0
cmpnlesd 0x4b0(%rsp),%xmm0
andpd  %xmm0,%xmm11
andnpd %xmm7,%xmm0
orpd   %xmm0,%xmm11
ucomisd %xmm12,%xmm6
movapd %xmm11,0x170(%rsp)
jbe    4dd0 <bobyqb_+0x3c40>
xor    %r9d,%r9d
movapd %xmm11,%xmm9
mulsd  %xmm11,%xmm9
xorpd  %xmm7,%xmm7
movsd  0x100(%rsp),%xmm3
xorpd  %xmm6,%xmm6
test   %esi,%esi
mov    0x5b0(%rsp),%rcx
jle    4de0 <bobyqb_+0x3c50>
xor    %r9d,%r9d
xorpd  %xmm2,%xmm2
mov    $0x1,%r15d
mov    0x138(%rsp),%rdx
mov    0x140(%rsp),%rsi
mov    0x260(%rsp),%r11
mov    0x268(%rsp),%rax
mov    %rax,0xe0(%rsp)
mov    0x318(%rsp),%rax
mov    %rax,0xf0(%rsp)
mov    0x310(%rsp),%r8
xorpd  %xmm1,%xmm1
movsd  0x100(%rsp),%xmm12
jmp    4b8a <bobyqb_+0x39fa>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
maxsd  %xmm1,%xmm7
mulsd  %xmm0,%xmm6
maxsd  %xmm2,%xmm6
add    $0x1,%r15
add    $0x8,%r8
addq   $0x8,0xf0(%rsp)
addq   $0x8,0xe0(%rsp)
add    $0x8,%r11
add    $0x8,%rsi
add    $0x8,%rdx
movapd %xmm6,%xmm2
movapd %xmm7,%xmm1
movapd %xmm3,%xmm12
cmp    0x30(%rsp),%r15
je     4de0 <bobyqb_+0x3c50>
xorpd  %xmm3,%xmm3
mov    0x120(%rsp),%rax
cmp    0x10(%rsp),%eax
jge    4cb5 <bobyqb_+0x3b25>
mov    %r11,0x60(%rsp)
mov    %r9d,0xa4(%rsp)
xorpd  %xmm3,%xmm3
mov    $0x1,%ebp
cmpq   $0x3,0x2d0(%rsp)
mov    0x348(%rsp),%r9
mov    0x340(%rsp),%r10
mov    0x208(%rsp),%r11
jb     4c56 <bobyqb_+0x3ac6>
xorpd  %xmm3,%xmm3
mov    $0x1,%ebp
mov    0x60(%rsp),%rbx
mov    0xe0(%rsp),%rax
mov    0xf0(%rsp),%rdi
mov    %r8,%r12
xchg   %ax,%ax
movsd  (%rax,%r11,1),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm3,%xmm0
movsd  (%rbx,%r11,1),%xmm3
mulsd  %xmm3,%xmm3
addsd  %xmm0,%xmm3
movsd  (%rdi,%r11,1),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm3,%xmm0
movsd  (%r12,%r11,1),%xmm3
mulsd  %xmm3,%xmm3
addsd  %xmm0,%xmm3
add    %r9,%r12
add    %r9,%rdi
add    %r9,%rax
add    %r9,%rbx
lea    (%r10,%rbp,1),%rcx
add    $0x4,%rcx
add    $0x4,%rbp
cmp    $0x1,%rcx
jne    4c00 <bobyqb_+0x3a70>
testb  $0x3,0x2c0(%rsp)
03
mov    0x5b0(%rsp),%rcx
mov    0x78(%rsp),%rbx
mov    0x98(%rsp),%r10
mov    0xa4(%rsp),%r9d
mov    0x60(%rsp),%r11
je     4cb5 <bobyqb_+0x3b25>
imul   0x8(%rsp),%rbp
add    %r15,%rbp
mov    0xc0(%rsp),%rax
lea    (%rax,%rbp,8),%rax
mov    0x2a0(%rsp),%rdi
nop
movsd  (%rax),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm0,%xmm3
add    %rbx,%rax
add    $0xffffffffffffffff,%rdi
jne    4ca0 <bobyqb_+0x3b10>
movsd  -0x8(%rcx,%r15,8),%xmm6
mulsd  %xmm6,%xmm6
mulsd  0x90(%rsp),%xmm3
addsd  %xmm6,%xmm3
xorpd  %xmm7,%xmm7
cmpl   $0x0,0x18(%rsp)
jle    4d95 <bobyqb_+0x3c05>
xorpd  %xmm7,%xmm7
mov    $0x1,%ebp
cmpq   $0x0,0xc8(%rsp)
mov    0x598(%rsp),%rdi
mov    0x58(%rsp),%rbx
mov    0xf8(%rsp),%r12
je     4d5a <bobyqb_+0x3bca>
xorpd  %xmm7,%xmm7
mov    $0x1,%ebp
mov    0x540(%rsp),%rax
cs nopw 0x0(%rax,%rax,1)
movsd  (%rax,%rsi,1),%xmm0
subsd  -0x8(%rdi,%rbp,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm7,%xmm0
movsd  (%rax,%rdx,1),%xmm7
subsd  (%rdi,%rbp,8),%xmm7
mulsd  %xmm7,%xmm7
addsd  %xmm0,%xmm7
add    %rbx,%rax
lea    (%r12,%rbp,1),%rcx
add    $0x2,%rcx
add    $0x2,%rbp
cmp    $0x1,%rcx
jne    4d20 <bobyqb_+0x3b90>
testb  $0x1,0x40(%rsp)
mov    0x5b0(%rsp),%rcx
je     4d95 <bobyqb_+0x3c05>
mov    %rbp,%rax
imul   0x8(%rsp),%rax
add    %r15,%rax
mov    0x68(%rsp),%rdi
movsd  (%rdi,%rax,8),%xmm0
mov    0x598(%rsp),%rax
subsd  -0x8(%rax,%rbp,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm0,%xmm7
divsd  %xmm9,%xmm7
mulsd  %xmm7,%xmm7
movapd %xmm10,%xmm0
maxsd  %xmm7,%xmm0
movapd %xmm3,%xmm7
mulsd  %xmm0,%xmm7
ucomisd %xmm1,%xmm7
cmova  %r15d,%r9d
mov    0x568(%rsp),%rbx
ja     4b40 <bobyqb_+0x39b0>
movapd %xmm12,%xmm3
jmp    4b40 <bobyqb_+0x39b0>
nop
movapd %xmm8,0x390(%rsp)
jmp    4e1b <bobyqb_+0x3c8b>
nopl   0x0(%rax)
mulsd  %xmm5,%xmm6
ucomisd %xmm7,%xmm6
jae    4df6 <bobyqb_+0x3c66>
mov    %r9d,%r10d
movsd  %xmm3,0x100(%rsp)
movapd %xmm8,0x390(%rsp)
mov    0x18(%rsp),%rdi
mov    0x10(%rsp),%rsi
mov    0x570(%rsp),%rdx
movsd  0x90(%rsp),%xmm1
lea    -0x1(%r10),%eax
mov    0x578(%rsp),%rcx
mov    0x148(%rsp),%r8
mov    %rdi,%r15
mov    0x5b0(%rsp),%r9
movapd %xmm1,%xmm0
movsd  0x100(%rsp),%xmm1
push   %r13
push   %rax
mov    %r10,%rbp
call   1080 <update_@plt>
add    $0x10,%rsp
mov    %rbp,0x98(%rsp)
movslq %ebp,%rax
movsd  -0x8(%rbx,%rax,8),%xmm0
mov    %rax,0xe0(%rsp)
movq   $0x0,-0x8(%rbx,%rax,8)
test   %r15d,%r15d
movapd 0xb0(%rsp),%xmm11
xorpd  %xmm9,%xmm9
movsd  0x50(%rsp),%xmm15
movapd 0x1b0(%rsp),%xmm7
jle    5000 <bobyqb_+0x3e70>
mov    0x8(%rsp),%rax
mov    0xe0(%rsp),%rdx
add    %rdx,%rax
mov    0x540(%rsp),%rcx
lea    (%rcx,%rax,8),%rcx
mov    0x270(%rsp),%rax
lea    (%rax,%rdx,8),%rdx
mov    $0x1,%r8d
xor    %esi,%esi
mov    $0x2,%r9d
mov    $0x1,%r11d
jmp    4f25 <bobyqb_+0x3d95>
xchg   %ax,%ax
imul   0x8(%rsp),%rbp
add    0xe0(%rsp),%rbp
mov    0x68(%rsp),%rax
mulsd  (%rax,%rbp,8),%xmm1
mov    0x560(%rsp),%rax
addsd  (%rax,%r15,8),%xmm1
movsd  %xmm1,(%rax,%r15,8)
add    $0x1,%r8
add    %r9d,%r11d
add    $0x1,%r9d
mov    0x28(%rsp),%rax
cmp    %rax,%r8
je     5000 <bobyqb_+0x3e70>
movslq %esi,%r15
mov    0x478(%rsp),%rax
lea    (%rax,%r15,8),%rdi
movslq %r11d,%r10
mov    %r10,%r12
sub    %r15,%r12
mov    %r12,%rbx
and    $0xfffffffffffffffe,%rbx
mov    %r15,%rax
not    %rax
mov    %r8,%rsi
imul   0x8(%rsp),%rsi
add    0xe0(%rsp),%rsi
mov    0x68(%rsp),%rbp
movsd  0x0(%rbp,%rsi,8),%xmm1
mulsd  %xmm0,%xmm1
lea    (%r15,%r8,1),%esi
add    %r10,%rax
jne    4f90 <bobyqb_+0x3e00>
mov    $0x1,%ebp
test   $0x1,%r12b
je     4f0c <bobyqb_+0x3d7c>
jmp    4ee0 <bobyqb_+0x3d50>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x1d0(%rsp),%r10
xor    %ebp,%ebp
mov    0x2b8(%rsp),%rax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  (%rcx,%r10,8),%xmm2
mulsd  %xmm1,%xmm2
addsd  -0x8(%rdi,%rbp,8),%xmm2
movsd  %xmm2,-0x8(%rdi,%rbp,8)
movsd  (%rdx,%r10,8),%xmm2
mulsd  %xmm1,%xmm2
addsd  (%rdi,%rbp,8),%xmm2
movsd  %xmm2,(%rdi,%rbp,8)
add    $0x2,%rbp
add    %rax,%r10
cmp    %rbp,%rbx
jne    4fb0 <bobyqb_+0x3e20>
add    %rbp,%r15
add    $0x1,%rbp
test   $0x1,%r12b
je     4f0c <bobyqb_+0x3d7c>
jmp    4ee0 <bobyqb_+0x3d50>
nopl   0x0(%rax)
mov    0x10(%rsp),%r10
cmp    %r10d,0x120(%rsp)
mov    0xf8(%rsp),%r15
movsd  0x1fe2(%rip),%xmm13
movsd  0x2019(%rip),%xmm14
mov    0x208(%rsp),%r12
movsd  0x188(%rsp),%xmm8
jge    52d0 <bobyqb_+0x4140>
mov    $0x1,%ecx
mov    0x210(%rsp),%rdx
mov    0x2a8(%rsp),%rsi
xor    %r9d,%r9d
jmp    5081 <bobyqb_+0x3ef1>
nopl   0x0(%rax)
add    $0x1,%rcx
add    $0x1,%r9
mov    0x78(%rsp),%rax
add    %rax,%rsi
add    %rax,%rdx
cmp    0x198(%rsp),%rcx
je     52d0 <bobyqb_+0x4140>
mov    %r9,%rax
mov    0x8(%rsp),%rdi
imul   %rdi,%rax
mov    0x238(%rsp),%rbp
lea    (%rax,%rbp,1),%rbx
add    0x240(%rsp),%rax
mov    %rcx,%r11
imul   %rdi,%r11
mov    0xe0(%rsp),%rdi
add    %r11,%rdi
mov    0x578(%rsp),%rbp
lea    0x0(%rbp,%rbx,8),%r8
lea    0x0(%rbp,%rax,8),%rbx
mov    0xc0(%rsp),%rax
movsd  (%rax,%rdi,8),%xmm0
mulsd  %xmm7,%xmm0
test   %r10d,%r10d
mov    0x568(%rsp),%rbp
jle    5060 <bobyqb_+0x3ed0>
mov    $0x1,%eax
cmpq   $0x4,0x80(%rsp)
jae    5110 <bobyqb_+0x3f80>
mov    0x30(%rsp),%rdi
jmp    5240 <bobyqb_+0x40b0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
cmp    %rbp,%rbx
mov    0x30(%rsp),%rdi
jbe    5128 <bobyqb_+0x3f98>
cmp    0x440(%rsp),%r8
jb     5240 <bobyqb_+0x40b0>
movapd %xmm0,%xmm1
unpcklpd %xmm0,%xmm1
mov    $0x0,%eax
cmpq   $0x4,0x228(%rsp)
jb     51c1 <bobyqb_+0x4031>
mov    0x218(%rsp),%rbx
xor    %eax,%eax
xchg   %ax,%ax
movupd -0x30(%rsi,%rax,8),%xmm2
movupd -0x20(%rsi,%rax,8),%xmm3
mulpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm4
addpd  %xmm2,%xmm4
movupd 0x10(%rbp,%rax,8),%xmm2
movupd 0x20(%rbp,%rax,8),%xmm5
movupd 0x30(%rbp,%rax,8),%xmm6
mulpd  %xmm1,%xmm3
addpd  %xmm2,%xmm3
movupd %xmm4,0x0(%rbp,%rax,8)
movupd %xmm3,0x10(%rbp,%rax,8)
movupd -0x10(%rsi,%rax,8),%xmm2
movupd (%rsi,%rax,8),%xmm3
mulpd  %xmm1,%xmm2
addpd  %xmm5,%xmm2
mulpd  %xmm1,%xmm3
addpd  %xmm6,%xmm3
movupd %xmm2,0x20(%rbp,%rax,8)
movupd %xmm3,0x30(%rbp,%rax,8)
add    $0x8,%rax
add    $0xfffffffffffffffe,%rbx
jne    5150 <bobyqb_+0x3fc0>
testb  $0x1,0x220(%rsp)
01
mov    0x110(%rsp),%rdi
je     521e <bobyqb_+0x408e>
or     $0x1,%rax
lea    (%rax,%r11,1),%rdi
mov    0xc0(%rsp),%rbx
movupd (%rbx,%rdi,8),%xmm2
movupd 0x10(%rbx,%rdi,8),%xmm3
mov    0x110(%rsp),%rdi
movupd -0x8(%rbp,%rax,8),%xmm4
movupd 0x8(%rbp,%rax,8),%xmm5
mulpd  %xmm1,%xmm2
addpd  %xmm4,%xmm2
mulpd  %xmm1,%xmm3
addpd  %xmm5,%xmm3
movupd %xmm2,-0x8(%rbp,%rax,8)
movupd %xmm3,0x8(%rbp,%rax,8)
mov    0x1d8(%rsp),%rax
cmp    %rdi,0x80(%rsp)
mov    0x30(%rsp),%rdi
je     5060 <bobyqb_+0x3ed0>
nopl   0x0(%rax)
mov    %rax,%rbx
not    %rbx
test   $0x1,%dil
jne    5271 <bobyqb_+0x40e1>
add    %rax,%r11
mov    0xc0(%rsp),%rdi
movsd  (%rdi,%r11,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%rbp,%rax,8),%xmm1
movsd  %xmm1,-0x8(%rbp,%rax,8)
add    $0x1,%rax
cmp    0x1e8(%rsp),%rbx
mov    0x30(%rsp),%rdi
je     5060 <bobyqb_+0x3ed0>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  -0x8(%rdx,%rax,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%rbp,%rax,8),%xmm1
movsd  %xmm1,-0x8(%rbp,%rax,8)
movsd  (%rdx,%rax,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x0(%rbp,%rax,8),%xmm1
movsd  %xmm1,0x0(%rbp,%rax,8)
add    $0x2,%rax
cmp    %rax,%rdi
jne    5290 <bobyqb_+0x4100>
jmp    5060 <bobyqb_+0x3ed0>
nopl   0x0(%rax)
mov    0x128(%rsp),%rax
mov    0xe0(%rsp),%rcx
movsd  %xmm11,(%rax,%rcx,8)
mov    0x18(%rsp),%r9
test   %r9d,%r9d
jle    541e <bobyqb_+0x428e>
mov    $0x1,%eax
cmpq   $0x0,0xc8(%rsp)
mov    0x380(%rsp),%r9
mov    0x2b8(%rsp),%r11
mov    0x598(%rsp),%r12
je     53b8 <bobyqb_+0x4228>
mov    0xd8(%rsp),%rax
mov    0xe0(%rsp),%rdi
lea    (%rax,%rdi,1),%r8
mov    0x8(%rsp),%rax
add    %rdi,%rax
mov    0x540(%rsp),%rcx
lea    (%rcx,%rax,8),%rdx
lea    (%r9,%rdi,8),%rsi
mov    0x270(%rsp),%rax
lea    (%rax,%rdi,8),%rdi
mov    $0x1,%eax
mov    0x1d0(%rsp),%rbp
mov    0x150(%rsp),%rbx
nopl   (%rax)
movsd  -0x8(%r12,%rax,8),%xmm0
movsd  %xmm0,(%rdx,%rbp,8)
movsd  (%rbx,%r8,8),%xmm0
movsd  %xmm0,-0x8(%r13,%rax,8)
movsd  (%r12,%rax,8),%xmm0
movsd  %xmm0,(%rdi,%rbp,8)
movsd  (%rbx,%rsi,1),%xmm0
movsd  %xmm0,0x0(%r13,%rax,8)
add    %r9,%rbx
add    %r11,%rbp
lea    (%r15,%rax,1),%rcx
add    $0x2,%rcx
add    $0x2,%rax
cmp    $0x1,%rcx
jne    5370 <bobyqb_+0x41e0>
testb  $0x1,0x40(%rsp)
mov    0x18(%rsp),%r9
mov    0x208(%rsp),%r12
je     541e <bobyqb_+0x428e>
mov    0x598(%rsp),%rcx
movsd  -0x8(%rcx,%rax,8),%xmm0
mov    %rax,%rcx
imul   0x8(%rsp),%rcx
mov    0xe0(%rsp),%rsi
add    %rsi,%rcx
mov    0x68(%rsp),%rdx
movsd  %xmm0,(%rdx,%rcx,8)
mov    %rax,%rcx
imul   0xd8(%rsp),%rcx
add    %rsi,%rcx
mov    0x150(%rsp),%rdx
movsd  (%rdx,%rcx,8),%xmm0
mov    0x20(%rsp),%rcx
movsd  %xmm0,(%rcx,%rax,8)
test   %r10d,%r10d
mov    0x58(%rsp),%rbp
jle    56e0 <bobyqb_+0x4550>
mov    0x8(%rsp),%rax
mov    0xe0(%rsp),%rdx
add    %rdx,%rax
mov    0x578(%rsp),%rcx
lea    (%rcx,%rax,8),%rax
mov    %rax,0xf0(%rsp)
mov    0x3f8(%rsp),%rax
lea    (%rax,%rdx,8),%rax
mov    %rax,0x60(%rsp)
mov    $0x1,%r10d
mov    0x138(%rsp),%rdi
mov    0x140(%rsp),%rbx
mov    0x260(%rsp),%r11
mov    0x268(%rsp),%r8
jmp    54af <bobyqb_+0x431f>
nopl   0x0(%rax)
add    $0x1,%r10
add    $0x8,%r8
add    $0x8,%r11
add    $0x8,%rbx
add    $0x8,%rdi
cmp    0x30(%rsp),%r10
je     56e0 <bobyqb_+0x4550>
xorpd  %xmm0,%xmm0
mov    0x120(%rsp),%rax
cmp    0x10(%rsp),%eax
jge    558d <bobyqb_+0x43fd>
xorpd  %xmm0,%xmm0
mov    $0x1,%eax
cmpq   $0x0,0x2d0(%rsp)
mov    %rbp,%r15
mov    %r12,%r9
je     5546 <bobyqb_+0x43b6>
xorpd  %xmm0,%xmm0
mov    $0x1,%eax
mov    0x60(%rsp),%rbp
mov    %r11,%rcx
mov    0xf0(%rsp),%rdx
mov    %r8,%r12
nopl   0x0(%rax,%rax,1)
movsd  (%rdx,%r9,1),%xmm1
mulsd  (%r12,%r9,1),%xmm1
addsd  %xmm0,%xmm1
movsd  0x0(%rbp,%r9,1),%xmm0
mulsd  (%rcx,%r9,1),%xmm0
addsd  %xmm1,%xmm0
add    %r15,%r12
add    %r15,%rdx
add    %r15,%rcx
add    %r15,%rbp
mov    0x498(%rsp),%rsi
add    %rax,%rsi
add    $0x2,%rsi
add    $0x2,%rax
cmp    $0x1,%rsi
jne    5500 <bobyqb_+0x4370>
testb  $0x1,0x2c0(%rsp)
01
mov    %r15,%rbp
mov    0xf8(%rsp),%r15
mov    %r9,%r12
mov    0x18(%rsp),%r9
je     558d <bobyqb_+0x43fd>
imul   0x8(%rsp),%rax
mov    0xe0(%rsp),%rcx
add    %rax,%rcx
mov    0xc0(%rsp),%rdx
movsd  (%rdx,%rcx,8),%xmm1
add    %r10,%rax
mulsd  (%rdx,%rax,8),%xmm1
addsd  %xmm1,%xmm0
test   %r9d,%r9d
jle    5490 <bobyqb_+0x4300>
xorpd  %xmm1,%xmm1
mov    $0x1,%eax
cmpq   $0x0,0xc8(%rsp)
mov    0x550(%rsp),%rsi
je     5602 <bobyqb_+0x4472>
xorpd  %xmm1,%xmm1
mov    $0x1,%eax
mov    0x540(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  (%rcx,%rbx,1),%xmm2
mulsd  -0x8(%rsi,%rax,8),%xmm2
addsd  %xmm1,%xmm2
movsd  (%rcx,%rdi,1),%xmm1
mulsd  (%rsi,%rax,8),%xmm1
addsd  %xmm2,%xmm1
add    %rbp,%rcx
lea    (%r15,%rax,1),%rdx
add    $0x2,%rdx
add    $0x2,%rax
cmp    $0x1,%rdx
jne    55d0 <bobyqb_+0x4440>
testb  $0x1,0x40(%rsp)
je     5631 <bobyqb_+0x44a1>
mov    %rax,%rcx
imul   0x8(%rsp),%rcx
add    %r10,%rcx
mov    0x68(%rsp),%rdx
movsd  (%rdx,%rcx,8),%xmm2
mov    0x550(%rsp),%rcx
mulsd  -0x8(%rcx,%rax,8),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
test   %r9d,%r9d
jle    5490 <bobyqb_+0x4300>
mov    $0x1,%eax
cmpq   $0x0,0xc8(%rsp)
je     56a3 <bobyqb_+0x4513>
mov    $0x1,%eax
mov    0x540(%rsp),%rcx
nopl   0x0(%rax,%rax,1)
movsd  (%rcx,%rbx,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%r13,%rax,8),%xmm1
movsd  %xmm1,-0x8(%r13,%rax,8)
movsd  (%rcx,%rdi,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x0(%r13,%rax,8),%xmm1
movsd  %xmm1,0x0(%r13,%rax,8)
add    %rbp,%rcx
lea    (%r15,%rax,1),%rdx
add    $0x2,%rdx
add    $0x2,%rax
cmp    $0x1,%rdx
jne    5660 <bobyqb_+0x44d0>
testb  $0x1,0x40(%rsp)
je     5490 <bobyqb_+0x4300>
mov    %rax,%rcx
imul   0x8(%rsp),%rcx
add    %r10,%rcx
mov    0x68(%rsp),%rdx
mulsd  (%rdx,%rcx,8),%xmm0
mov    0x20(%rsp),%rcx
addsd  (%rcx,%rax,8),%xmm0
movsd  %xmm0,(%rcx,%rax,8)
jmp    5490 <bobyqb_+0x4300>
nopl   0x0(%rax,%rax,1)
test   %r9d,%r9d
jle    5990 <bobyqb_+0x4800>
mov    0x40(%rsp),%rdx
cmp    $0x4,%rdx
setb   %al
or     0xae(%rsp),%al
mov    $0x1,%eax
mov    0x550(%rsp),%r10
mov    0x558(%rsp),%r8
mov    0x98(%rsp),%rsi
mov    0x598(%rsp),%r11
mov    0x28(%rsp),%r15
mov    0x88(%rsp),%ebx
jne    583c <bobyqb_+0x46ac>
movapd %xmm7,%xmm0
unpcklpd %xmm7,%xmm0
mov    $0x0,%eax
cmpq   $0x4,0x298(%rsp)
jb     57dc <bobyqb_+0x464c>
mov    0x280(%rsp),%rcx
xor    %eax,%eax
nopl   0x0(%rax)
movupd 0x0(%r13,%rax,8),%xmm1
movupd 0x10(%r13,%rax,8),%xmm2
mulpd  %xmm0,%xmm1
movupd (%r8,%rax,8),%xmm3
addpd  %xmm1,%xmm3
movupd 0x10(%r8,%rax,8),%xmm1
movupd 0x20(%r8,%rax,8),%xmm4
movupd 0x30(%r8,%rax,8),%xmm5
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd %xmm3,(%r8,%rax,8)
movupd %xmm2,0x10(%r8,%rax,8)
movupd 0x20(%r13,%rax,8),%xmm1
movupd 0x30(%r13,%rax,8),%xmm2
mulpd  %xmm0,%xmm1
addpd  %xmm4,%xmm1
mulpd  %xmm0,%xmm2
addpd  %xmm5,%xmm2
movupd %xmm1,0x20(%r8,%rax,8)
movupd %xmm2,0x30(%r8,%rax,8)
add    $0x8,%rax
add    $0xfffffffffffffffe,%rcx
jne    5760 <bobyqb_+0x45d0>
testb  $0x1,0x290(%rsp)
01
je     582a <bobyqb_+0x469a>
shl    $0x3,%rax
or     $0x8,%rax
mov    0x20(%rsp),%rcx
movupd (%rcx,%rax,1),%xmm1
movupd 0x10(%rcx,%rax,1),%xmm2
movupd -0x8(%r8,%rax,1),%xmm3
movupd 0x8(%r8,%rax,1),%xmm4
mulpd  %xmm0,%xmm1
addpd  %xmm3,%xmm1
mulpd  %xmm0,%xmm2
addpd  %xmm4,%xmm2
movupd %xmm1,-0x8(%r8,%rax,1)
movupd %xmm2,0x8(%r8,%rax,1)
mov    0x288(%rsp),%rax
cmp    0x200(%rsp),%rdx
je     58b9 <bobyqb_+0x4729>
mov    %rax,%rcx
not    %rcx
test   $0x1,%r15b
jne    5868 <bobyqb_+0x46d8>
mov    0x20(%rsp),%rdx
movsd  (%rdx,%rax,8),%xmm0
mulsd  %xmm7,%xmm0
addsd  -0x8(%r8,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r8,%rax,8)
add    $0x1,%rax
cmp    0x358(%rsp),%rcx
je     58b9 <bobyqb_+0x4729>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  -0x8(%r13,%rax,8),%xmm0
mulsd  %xmm7,%xmm0
addsd  -0x8(%r8,%rax,8),%xmm0
movsd  %xmm0,-0x8(%r8,%rax,8)
movsd  0x0(%r13,%rax,8),%xmm0
mulsd  %xmm7,%xmm0
addsd  (%r8,%rax,8),%xmm0
movsd  %xmm0,(%r8,%rax,8)
add    $0x2,%rax
cmp    %rax,%r15
jne    5880 <bobyqb_+0x46f0>
ucomisd %xmm11,%xmm8
jbe    5b9a <bobyqb_+0x4a0a>
mov    %esi,0x4c(%rsp)
xorpd  %xmm15,%xmm15
test   %r9d,%r9d
jle    59c8 <bobyqb_+0x4838>
xorpd  %xmm15,%xmm15
mov    $0x1,%edx
xor    %eax,%eax
mov    $0xffffffff,%ecx
jmp    5912 <bobyqb_+0x4782>
nopl   0x0(%rax)
mulsd  %xmm0,%xmm0
addsd  %xmm0,%xmm15
add    %edx,%eax
mov    %rdx,%rsi
add    $0x1,%rsi
add    $0xffffffffffffffff,%rcx
mov    %rsi,%rdx
cmp    %r15,%rsi
je     59c8 <bobyqb_+0x4838>
movslq %eax,%rsi
mov    0x560(%rsp),%rdi
lea    (%rdi,%rsi,8),%rsi
movsd  -0x8(%r11,%rdx,8),%xmm0
movsd  %xmm0,-0x8(%r10,%rdx,8)
mov    $0x1,%edi
jmp    5967 <bobyqb_+0x47d7>
cs nopw 0x0(%rax,%rax,1)
movsd  -0x8(%rsi,%rdi,8),%xmm1
mulsd  -0x8(%r14,%rdx,8),%xmm1
addsd  -0x8(%r8,%rdi,8),%xmm1
movsd  %xmm1,-0x8(%r8,%rdi,8)
add    $0x1,%rdi
lea    (%rdi,%rcx,1),%ebp
cmp    $0x1,%ebp
je     58f0 <bobyqb_+0x4760>
cmp    %rdx,%rdi
jae    5940 <bobyqb_+0x47b0>
movsd  -0x8(%rsi,%rdi,8),%xmm1
mulsd  -0x8(%r14,%rdi,8),%xmm1
addsd  -0x8(%r8,%rdx,8),%xmm1
movsd  %xmm1,-0x8(%r8,%rdx,8)
jmp    5940 <bobyqb_+0x47b0>
nopl   0x0(%rax)
ucomisd %xmm11,%xmm8
mov    0x550(%rsp),%r10
mov    0x558(%rsp),%r8
mov    0x98(%rsp),%rax
mov    0x28(%rsp),%r15
mov    0x88(%rsp),%ebx
jbe    5b9a <bobyqb_+0x4a0a>
mov    %eax,0x4c(%rsp)
xorpd  %xmm15,%xmm15
cmpl   $0x0,0x10(%rsp)
jle    5bee <bobyqb_+0x4a5e>
mov    %r8,%r11
mov    $0x1,%r8d
mov    0x138(%rsp),%rcx
mov    0x140(%rsp),%rdx
mov    0x58(%rsp),%rbp
jmp    5a17 <bobyqb_+0x4887>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%r8
add    $0x8,%rdx
add    $0x8,%rcx
cmp    0x30(%rsp),%r8
je     5b90 <bobyqb_+0x4a00>
test   %r9d,%r9d
jle    5a00 <bobyqb_+0x4870>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
mov    0xf8(%rsp),%rbx
je     5a89 <bobyqb_+0x48f9>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
nopl   0x0(%rax)
movsd  (%rdi,%rdx,1),%xmm1
mulsd  -0x8(%r14,%rsi,8),%xmm1
addsd  %xmm0,%xmm1
movsd  (%rdi,%rcx,1),%xmm0
mulsd  (%r14,%rsi,8),%xmm0
addsd  %xmm1,%xmm0
add    %rbp,%rdi
lea    (%rbx,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
mov    0x58(%rsp),%rbp
jne    5a50 <bobyqb_+0x48c0>
testb  $0x1,0x40(%rsp)
je     5ab2 <bobyqb_+0x4922>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r8,%rdi
mov    0x68(%rsp),%rbp
movsd  0x0(%rbp,%rdi,8),%xmm1
mulsd  -0x8(%r14,%rsi,8),%xmm1
addsd  %xmm1,%xmm0
mov    0x568(%rsp),%rbp
mulsd  -0x8(%rbp,%r8,8),%xmm0
test   %r9d,%r9d
mov    0x58(%rsp),%rbp
jle    5a00 <bobyqb_+0x4870>
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
mov    %rbp,%rbx
mov    0xf8(%rsp),%rax
je     5b41 <bobyqb_+0x49b1>
mov    %r11,%r12
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
nopw   0x0(%rax,%rax,1)
movsd  (%rdi,%rdx,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%r12,%rsi,8),%xmm1
movsd  %xmm1,-0x8(%r12,%rsi,8)
movsd  (%rdi,%rcx,1),%xmm1
mulsd  %xmm0,%xmm1
addsd  (%r12,%rsi,8),%xmm1
movsd  %xmm1,(%r12,%rsi,8)
add    %rbx,%rdi
lea    (%rax,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
jne    5b00 <bobyqb_+0x4970>
testb  $0x1,0x40(%rsp)
mov    %rbx,%rbp
je     5a00 <bobyqb_+0x4870>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r8,%rdi
mov    0x68(%rsp),%rbp
mulsd  0x0(%rbp,%rdi,8),%xmm0
mov    0x58(%rsp),%rbp
mov    %r11,%rax
addsd  -0x8(%r11,%rsi,8),%xmm0
movsd  %xmm0,-0x8(%r11,%rsi,8)
jmp    5a00 <bobyqb_+0x4870>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %r11,%r8
mov    0x88(%rsp),%ebx
test   %ebx,%ebx
jle    6650 <bobyqb_+0x54c0>
mov    0x10(%rsp),%r15
test   %r15d,%r15d
jle    5be4 <bobyqb_+0x4a54>
movslq 0x4c(%rsp),%rdx
mov    0x128(%rsp),%rax
lea    (%rax,%rdx,8),%rax
mov    $0x1,%ecx
cmpq   $0x4,0x80(%rsp)
mov    0x8(%rsp),%rbp
mov    0x548(%rsp),%rdi
jae    5c0f <bobyqb_+0x4a7f>
mov    0x20(%rsp),%rbx
jmp    5d70 <bobyqb_+0x4be0>
mov    0x8(%rsp),%rbp
jmp    5df9 <bobyqb_+0x4c69>
test   %ebx,%ebx
mov    0x10(%rsp),%r15
mov    0x8(%rsp),%rbp
jg     5df9 <bobyqb_+0x4c69>
mov    0x28(%rsp),%r15
mov    0x58(%rsp),%rbp
jmp    6650 <bobyqb_+0x54c0>
lea    (%rdi,%rdx,8),%rdx
cmp    0x5b0(%rsp),%rdx
seta   %sil
cmp    0x370(%rsp),%rax
setb   %bl
and    %sil,%bl
or     0xac(%rsp),%bl
or     0xab(%rsp),%bl
cmp    %r13,%rdx
seta   %sil
cmp    0x320(%rsp),%rax
setb   %dl
and    %sil,%dl
or     %bl,%dl
or     0xaa(%rsp),%dl
mov    0x20(%rsp),%rbx
mov    0x110(%rsp),%r8
jne    5d70 <bobyqb_+0x4be0>
mov    $0x0,%ecx
cmpq   $0x4,0x228(%rsp)
mov    0x5b0(%rsp),%rsi
jb     5d04 <bobyqb_+0x4b74>
movsd  (%rax),%xmm0
unpcklpd %xmm0,%xmm0
mov    0x218(%rsp),%rdx
xor    %ecx,%ecx
nopw   0x0(%rax,%rax,1)
movupd (%rdi,%rcx,8),%xmm1
movupd 0x10(%rdi,%rcx,8),%xmm2
subpd  %xmm0,%xmm1
subpd  %xmm0,%xmm2
movupd %xmm1,(%rsi,%rcx,8)
movupd %xmm2,0x10(%rsi,%rcx,8)
movupd %xmm9,0x0(%r13,%rcx,8)
movupd %xmm9,0x10(%r13,%rcx,8)
movupd 0x20(%rdi,%rcx,8),%xmm1
movupd 0x30(%rdi,%rcx,8),%xmm2
subpd  %xmm0,%xmm1
subpd  %xmm0,%xmm2
movupd %xmm1,0x20(%rsi,%rcx,8)
movupd %xmm2,0x30(%rsi,%rcx,8)
movupd %xmm9,0x20(%r13,%rcx,8)
movupd %xmm9,0x30(%r13,%rcx,8)
add    $0x8,%rcx
add    $0xfffffffffffffffe,%rdx
jne    5ca0 <bobyqb_+0x4b10>
testb  $0x1,0x220(%rsp)
01
je     5d5a <bobyqb_+0x4bca>
shl    $0x3,%rcx
or     $0x8,%rcx
mov    0x128(%rsp),%rdx
movupd (%rdx,%rcx,1),%xmm0
movupd 0x10(%rdx,%rcx,1),%xmm1
movsd  (%rax),%xmm2
unpcklpd %xmm2,%xmm2
subpd  %xmm2,%xmm0
subpd  %xmm2,%xmm1
mov    0x5b0(%rsp),%rdx
movupd %xmm0,-0x8(%rdx,%rcx,1)
movupd %xmm1,0x8(%rdx,%rcx,1)
movupd %xmm9,(%rbx,%rcx,1)
movupd %xmm9,0x10(%rbx,%rcx,1)
mov    0x1d8(%rsp),%rcx
cmp    %r8,0x80(%rsp)
je     5df9 <bobyqb_+0x4c69>
mov    %rcx,%rdx
not    %rdx
testb  $0x1,0x30(%rsp)
jne    5da8 <bobyqb_+0x4c18>
mov    0x128(%rsp),%rsi
movsd  (%rsi,%rcx,8),%xmm0
subsd  (%rax),%xmm0
mov    0x5b0(%rsp),%rsi
movsd  %xmm0,-0x8(%rsi,%rcx,8)
movq   $0x0,(%rbx,%rcx,8)
add    $0x1,%rcx
cmp    0x1e8(%rsp),%rdx
mov    0x5b0(%rsp),%rdx
mov    0x30(%rsp),%rsi
je     5df9 <bobyqb_+0x4c69>
nop
movsd  -0x8(%rdi,%rcx,8),%xmm0
subsd  (%rax),%xmm0
movsd  %xmm0,-0x8(%rdx,%rcx,8)
movq   $0x0,-0x8(%r13,%rcx,8)
movsd  (%rdi,%rcx,8),%xmm0
subsd  (%rax),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
movq   $0x0,0x0(%r13,%rcx,8)
add    $0x2,%rcx
cmp    %rcx,%rsi
jne    5dc0 <bobyqb_+0x4c30>
cmp    %r15d,0x120(%rsp)
jge    6150 <bobyqb_+0x4fc0>
mov    $0x1,%r10d
mov    0x210(%rsp),%rcx
mov    0x2a8(%rsp),%rdx
mov    %rbp,%r11
mov    0x360(%rsp),%rdi
xor    %r12d,%r12d
jmp    5e5c <bobyqb_+0x4ccc>
nopl   (%rax)
add    $0x1,%r10
add    $0x1,%r12
mov    0x78(%rsp),%rax
add    %rax,%rdi
mov    0x8(%rsp),%rbp
add    %rbp,%r11
add    %rax,%rdx
add    %rax,%rcx
cmp    0x198(%rsp),%r10
je     6150 <bobyqb_+0x4fc0>
mov    %r12,%rsi
imul   %rbp,%rsi
mov    0x238(%rsp),%rax
lea    (%rax,%rsi,1),%rbp
add    0x240(%rsp),%rsi
mov    0x578(%rsp),%rbx
lea    (%rbx,%rbp,8),%r8
lea    (%rbx,%rsi,8),%r9
cmpl   $0x0,0x10(%rsp)
mov    0xd0(%rsp),%rax
jle    5e30 <bobyqb_+0x4ca0>
xorpd  %xmm0,%xmm0
mov    $0x1,%ebp
cmp    $0x3,%rax
jb     5f0b <bobyqb_+0x4d7b>
xorpd  %xmm0,%xmm0
xor    %ebp,%ebp
mov    0x5b0(%rsp),%rsi
mov    0x110(%rsp),%rax
nopl   0x0(%rax,%rax,1)
movsd  -0x18(%rdi,%rbp,8),%xmm1
movsd  -0x10(%rdi,%rbp,8),%xmm2
mulsd  (%rsi,%rbp,8),%xmm1
mulsd  0x8(%rsi,%rbp,8),%xmm2
addsd  %xmm0,%xmm1
movsd  -0x8(%rdi,%rbp,8),%xmm3
mulsd  0x10(%rsi,%rbp,8),%xmm3
addsd  %xmm1,%xmm2
movsd  (%rdi,%rbp,8),%xmm0
mulsd  0x18(%rsi,%rbp,8),%xmm0
addsd  %xmm2,%xmm3
addsd  %xmm3,%xmm0
add    $0x4,%rbp
cmp    %rbp,%rax
jne    5ec0 <bobyqb_+0x4d30>
add    $0x1,%rbp
testb  $0x3,0x80(%rsp)
03
mov    0x248(%rsp),%rax
je     5f58 <bobyqb_+0x4dc8>
mov    0x350(%rsp),%rsi
lea    (%rsi,%rbp,8),%rsi
add    %r11,%rbp
mov    0xc0(%rsp),%rbx
lea    (%rbx,%rbp,8),%rbp
xor    %ebx,%ebx
nopw   0x0(%rax,%rax,1)
movsd  0x0(%rbp,%rbx,8),%xmm1
mulsd  (%rsi,%rbx,8),%xmm1
addsd  %xmm1,%xmm0
add    $0x1,%rbx
cmp    %rbx,%rax
jne    5f40 <bobyqb_+0x4db0>
cmpl   $0x0,0x10(%rsp)
jle    5e30 <bobyqb_+0x4ca0>
mov    %r10,%rax
imul   0x8(%rsp),%rax
mov    $0x1,%ebp
cmpq   $0x4,0x80(%rsp)
jae    5f86 <bobyqb_+0x4df6>
mov    0x30(%rsp),%rbx
jmp    60c0 <bobyqb_+0x4f30>
cmp    %r13,%r9
mov    0x30(%rsp),%rbx
jbe    5f9e <bobyqb_+0x4e0e>
cmp    0x320(%rsp),%r8
jb     60c0 <bobyqb_+0x4f30>
movapd %xmm0,%xmm1
unpcklpd %xmm0,%xmm1
mov    $0x0,%ebp
cmpq   $0x4,0x228(%rsp)
jb     6049 <bobyqb_+0x4eb9>
mov    0x218(%rsp),%rsi
xor    %ebp,%ebp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movupd -0x30(%rdx,%rbp,8),%xmm2
movupd -0x20(%rdx,%rbp,8),%xmm3
mulpd  %xmm1,%xmm2
movupd 0x0(%r13,%rbp,8),%xmm4
addpd  %xmm2,%xmm4
movupd 0x10(%r13,%rbp,8),%xmm2
movupd 0x20(%r13,%rbp,8),%xmm5
movupd 0x30(%r13,%rbp,8),%xmm6
mulpd  %xmm1,%xmm3
addpd  %xmm2,%xmm3
movupd %xmm4,0x0(%r13,%rbp,8)
movupd %xmm3,0x10(%r13,%rbp,8)
movupd -0x10(%rdx,%rbp,8),%xmm2
movupd (%rdx,%rbp,8),%xmm3
mulpd  %xmm1,%xmm2
addpd  %xmm5,%xmm2
mulpd  %xmm1,%xmm3
addpd  %xmm6,%xmm3
movupd %xmm2,0x20(%r13,%rbp,8)
movupd %xmm3,0x30(%r13,%rbp,8)
add    $0x8,%rbp
add    $0xfffffffffffffffe,%rsi
jne    5fd0 <bobyqb_+0x4e40>
testb  $0x1,0x220(%rsp)
01
je     6099 <bobyqb_+0x4f09>
or     $0x1,%rbp
lea    (%rax,%rbp,1),%rsi
mov    0xc0(%rsp),%rbx
movupd (%rbx,%rsi,8),%xmm2
movupd 0x10(%rbx,%rsi,8),%xmm3
mov    0x20(%rsp),%rsi
movupd (%rsi,%rbp,8),%xmm4
movupd 0x10(%rsi,%rbp,8),%xmm5
mulpd  %xmm1,%xmm2
addpd  %xmm4,%xmm2
mulpd  %xmm1,%xmm3
addpd  %xmm5,%xmm3
movupd %xmm2,(%rsi,%rbp,8)
movupd %xmm3,0x10(%rsi,%rbp,8)
mov    0x1d8(%rsp),%rbp
mov    0x110(%rsp),%rsi
cmp    %rsi,0x80(%rsp)
mov    0x30(%rsp),%rbx
je     5e30 <bobyqb_+0x4ca0>
nopl   0x0(%rax)
mov    %rbp,%rsi
not    %rsi
test   $0x1,%bl
jne    60f2 <bobyqb_+0x4f62>
add    %rbp,%rax
mov    0xc0(%rsp),%rbx
movsd  (%rbx,%rax,8),%xmm1
mulsd  %xmm0,%xmm1
mov    0x20(%rsp),%rbx
addsd  (%rbx,%rbp,8),%xmm1
movsd  %xmm1,(%rbx,%rbp,8)
add    $0x1,%rbp
cmp    0x1e8(%rsp),%rsi
mov    0x30(%rsp),%rsi
je     5e30 <bobyqb_+0x4ca0>
cs nopw 0x0(%rax,%rax,1)
nop
movsd  -0x8(%rcx,%rbp,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  -0x8(%r13,%rbp,8),%xmm1
movsd  %xmm1,-0x8(%r13,%rbp,8)
movsd  (%rcx,%rbp,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x0(%r13,%rbp,8),%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
add    $0x2,%rbp
cmp    %rbp,%rsi
jne    6110 <bobyqb_+0x4f80>
jmp    5e30 <bobyqb_+0x4ca0>
nopl   (%rax)
cmpl   $0x0,0x10(%rsp)
mov    0x28(%rsp),%r12
mov    0x588(%rsp),%r9
mov    0x550(%rsp),%r10
mov    0x40(%rsp),%r8
mov    0xf8(%rsp),%rax
mov    0x70(%rsp),%r11
jle    6280 <bobyqb_+0x50f0>
mov    $0x1,%r15d
mov    0x138(%rsp),%rcx
mov    0x140(%rsp),%rdx
jmp    61d9 <bobyqb_+0x5049>
nopw   0x0(%rax,%rax,1)
mov    0x20(%rsp),%rdi
movsd  (%rdi,%r15,8),%xmm1
mov    0x8(%rsp),%rsi
add    %r15,%rsi
movsd  %xmm1,(%rdi,%rsi,8)
mulsd  %xmm1,%xmm0
movsd  %xmm0,(%rdi,%r15,8)
add    $0x1,%r15
add    $0x8,%rdx
add    $0x8,%rcx
cmp    0x30(%rsp),%r15
je     6280 <bobyqb_+0x50f0>
xorpd  %xmm0,%xmm0
cmpl   $0x0,0x18(%rsp)
jle    61a0 <bobyqb_+0x5010>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
mov    0x58(%rsp),%rbx
je     6244 <bobyqb_+0x50b4>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
xchg   %ax,%ax
movsd  (%rdi,%rdx,1),%xmm1
mulsd  -0x8(%r10,%rsi,8),%xmm1
addsd  %xmm0,%xmm1
movsd  (%rdi,%rcx,1),%xmm0
mulsd  (%r10,%rsi,8),%xmm0
addsd  %xmm1,%xmm0
add    %rbx,%rdi
lea    (%rax,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
jne    6210 <bobyqb_+0x5080>
test   $0x1,%r8b
je     61a0 <bobyqb_+0x5010>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r15,%rdi
mov    0x68(%rsp),%rbp
movsd  0x0(%rbp,%rdi,8),%xmm1
mulsd  -0x8(%r10,%rsi,8),%xmm1
addsd  %xmm1,%xmm0
jmp    61a0 <bobyqb_+0x5010>
cs nopw 0x0(%rax,%rax,1)
nop
xorpd  %xmm1,%xmm1
xorpd  %xmm0,%xmm0
cmpl   $0x0,0x18(%rsp)
mov    0x10(%rsp),%rbp
mov    0x558(%rsp),%r8
jle    6480 <bobyqb_+0x52f0>
xorpd  %xmm0,%xmm0
mov    $0x1,%eax
mov    0x2c8(%rsp),%rcx
mov    0x2b0(%rsp),%rdx
xorpd  %xmm1,%xmm1
jmp    6330 <bobyqb_+0x51a0>
nop
movsd  -0x8(%r10,%rax,8),%xmm3
ucomisd -0x8(%r9,%rax,8),%xmm3
jne    6430 <bobyqb_+0x52a0>
jp     6430 <bobyqb_+0x52a0>
xorpd  %xmm3,%xmm3
minsd  -0x8(%r8,%rax,8),%xmm3
mulsd  %xmm3,%xmm3
addsd  %xmm3,%xmm0
xorpd  %xmm3,%xmm3
minsd  %xmm2,%xmm3
mov    %r12,%rbx
mov    0x10(%rsp),%rbp
mulsd  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mov    0x8(%rsp),%rsi
add    %rax,%rsi
mov    0x5b0(%rsp),%rdi
movsd  %xmm3,-0x8(%rdi,%rsi,8)
add    $0x1,%rax
add    0x78(%rsp),%rdx
add    %r11,%rcx
cmp    %rbx,%rax
je     6480 <bobyqb_+0x52f0>
xorpd  %xmm2,%xmm2
test   %ebp,%ebp
jle    62c0 <bobyqb_+0x5130>
mov    %rax,%rbp
imul   0xd8(%rsp),%rbp
mov    %rax,%r15
imul   0x8(%rsp),%r15
xorpd  %xmm2,%xmm2
mov    $0x1,%edi
cmpq   $0x0,0xd0(%rsp)
mov    0x5b0(%rsp),%rsi
mov    0x190(%rsp),%r8
je     63d1 <bobyqb_+0x5241>
xorpd  %xmm2,%xmm2
mov    $0x1,%edi
nopw   0x0(%rax,%rax,1)
movsd  -0x8(%rcx,%rdi,8),%xmm3
mulsd  -0x8(%rsi,%rdi,8),%xmm3
movsd  (%rcx,%rdi,8),%xmm4
addsd  %xmm2,%xmm3
movsd  -0x8(%rdx,%rdi,8),%xmm5
movsd  (%rdx,%rdi,8),%xmm2
mulsd  -0x8(%r13,%rdi,8),%xmm5
mulsd  (%rsi,%rdi,8),%xmm4
addsd  %xmm3,%xmm5
addsd  %xmm5,%xmm4
mulsd  0x0(%r13,%rdi,8),%xmm2
addsd  %xmm4,%xmm2
lea    (%r8,%rdi,1),%rbx
add    $0x2,%rbx
add    $0x2,%rdi
cmp    $0x1,%rbx
jne    6380 <bobyqb_+0x51f0>
testb  $0x1,0x80(%rsp)
01
mov    0x558(%rsp),%r8
je     62c0 <bobyqb_+0x5130>
add    %rdi,%rbp
mov    0x150(%rsp),%rsi
movsd  (%rsi,%rbp,8),%xmm3
mov    0x5b0(%rsp),%rsi
mulsd  -0x8(%rsi,%rdi,8),%xmm3
addsd  %xmm2,%xmm3
add    %rdi,%r15
mov    0x68(%rsp),%rsi
movsd  (%rsi,%r15,8),%xmm2
mov    0x20(%rsp),%rsi
mulsd  (%rsi,%rdi,8),%xmm2
addsd  %xmm3,%xmm2
jmp    62c0 <bobyqb_+0x5130>
nopw   0x0(%rax,%rax,1)
mov    0x590(%rsp),%rsi
ucomisd -0x8(%rsi,%rax,8),%xmm3
movsd  -0x8(%r8,%rax,8),%xmm3
mov    %r12,%rbx
jne    6469 <bobyqb_+0x52d9>
jp     6469 <bobyqb_+0x52d9>
xorpd  %xmm4,%xmm4
maxsd  %xmm3,%xmm4
mulsd  %xmm4,%xmm4
addsd  %xmm4,%xmm0
xorpd  %xmm3,%xmm3
maxsd  %xmm2,%xmm3
jmp    62f8 <bobyqb_+0x5168>
mulsd  %xmm3,%xmm3
addsd  %xmm3,%xmm0
movapd %xmm2,%xmm3
jmp    62f8 <bobyqb_+0x5168>
nopw   0x0(%rax,%rax,1)
mov    0x16c(%rsp),%ecx
add    $0x1,%ecx
mulsd  0xb76(%rip),%xmm1
ucomisd %xmm0,%xmm1
mov    $0x0,%eax
cmova  %eax,%ecx
mov    %ecx,0x16c(%rsp)
cmp    $0x3,%ecx
mov    0x58(%rsp),%rbp
mov    %r12,%r15
jl     65c0 <bobyqb_+0x5430>
mov    %r8,%r12
movsd  %xmm15,0x50(%rsp)
mov    0x10(%rsp),%rdi
mov    0x1fc(%rsp),%esi
xor    %eax,%eax
call   1070 <imax@plt>
test   %eax,%eax
jle    6603 <bobyqb_+0x5473>
add    $0x1,%eax
mov    $0x1,%ecx
mov    0x550(%rsp),%r10
movapd 0xb0(%rsp),%xmm11
movsd  0xb02(%rip),%xmm13
movsd  0xb39(%rip),%xmm14
mov    0x3e0(%rsp),%rsi
mov    0x3d8(%rsp),%rdi
mov    0x3d0(%rsp),%rbx
mov    0x18(%rsp),%r9
movsd  0x50(%rsp),%xmm15
mov    0x88(%rsp),%r11d
movsd  0x188(%rsp),%xmm8
mov    %r12,%r8
jmp    6559 <bobyqb_+0x53c9>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0x1,%rcx
cmp    %rcx,%rax
je     65d1 <bobyqb_+0x5441>
cmp    %rsi,%rcx
jle    6570 <bobyqb_+0x53e0>
cmp    0x8(%rsp),%rcx
jle    6584 <bobyqb_+0x53f4>
cmp    %rdi,%rcx
jg     6550 <bobyqb_+0x53c0>
jmp    65a5 <bobyqb_+0x5415>
nopl   0x0(%rax)
movsd  -0x8(%rbx,%rcx,8),%xmm0
movsd  %xmm0,-0x8(%r8,%rcx,8)
cmp    0x8(%rsp),%rcx
jg     6565 <bobyqb_+0x53d5>
mov    0x1c8(%rsp),%rdx
movsd  -0x8(%rdx,%rcx,8),%xmm0
mov    0x568(%rsp),%rdx
movsd  %xmm0,-0x8(%rdx,%rcx,8)
cmp    %rdi,%rcx
jg     6550 <bobyqb_+0x53c0>
mov    0x560(%rsp),%rdx
movq   $0x0,-0x8(%rdx,%rcx,8)
jmp    6550 <bobyqb_+0x53c0>
nopl   0x0(%rax,%rax,1)
mov    0x18(%rsp),%r9
mov    0x88(%rsp),%ebx
jmp    6650 <bobyqb_+0x54c0>
movl   $0x0,0x16c(%rsp)
mov    %r11d,%ebx
jmp    6650 <bobyqb_+0x54c0>
movsd  0x158(%rsp),%xmm0
ucomisd %xmm11,%xmm0
movsd  0xa48(%rip),%xmm10
jbe    4a74 <bobyqb_+0x38e4>
jmp    4a6a <bobyqb_+0x38da>
mov    0x550(%rsp),%r10
movapd 0xb0(%rsp),%xmm11
movsd  0x9e2(%rip),%xmm13
movsd  0xa19(%rip),%xmm14
mov    0x18(%rsp),%r9
movsd  0x50(%rsp),%xmm15
mov    0x88(%rsp),%ebx
movsd  0x188(%rsp),%xmm8
mov    %r12,%r8
nopw   0x0(%rax,%rax,1)
xor    %r12d,%r12d
test   %ebx,%ebx
je     1f20 <bobyqb_+0xd90>
movsd  0x418(%rsp),%xmm0
mulsd  0x9b4(%rip),%xmm0
addsd  %xmm8,%xmm0
ucomisd %xmm11,%xmm0
mov    %ebx,%r12d
jae    1f20 <bobyqb_+0xd90>
movapd 0x170(%rsp),%xmm0
addsd  %xmm0,%xmm0
mulsd  %xmm0,%xmm0
maxsd  0x3a0(%rsp),%xmm0
movsd  0x108(%rsp),%xmm10
mov    %ebx,%r12d
xorpd  %xmm12,%xmm12
xor    %r9d,%r9d
cmpl   $0x0,0x10(%rsp)
jle    6881 <bobyqb_+0x56f1>
mov    %r8,%r11
xor    %r9d,%r9d
mov    $0x1,%r8d
mov    0x138(%rsp),%rcx
mov    0x140(%rsp),%rdx
jmp    6703 <bobyqb_+0x5573>
nopw   0x0(%rax,%rax,1)
ucomisd %xmm1,%xmm0
cmova  %r8d,%r9d
maxsd  %xmm1,%xmm0
add    $0x1,%r8
add    $0x8,%rdx
add    $0x8,%rcx
cmp    0x30(%rsp),%r8
je     67d0 <bobyqb_+0x5640>
movapd %xmm0,%xmm1
xorpd  %xmm0,%xmm0
cmpl   $0x0,0x18(%rsp)
jle    66e0 <bobyqb_+0x5550>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
cmpq   $0x0,0xc8(%rsp)
mov    %rbp,%rbx
mov    0xf8(%rsp),%rax
je     678c <bobyqb_+0x55fc>
xorpd  %xmm0,%xmm0
mov    $0x1,%esi
mov    0x540(%rsp),%rdi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  (%rdi,%rdx,1),%xmm2
subsd  -0x8(%r10,%rsi,8),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm0,%xmm2
movsd  (%rdi,%rcx,1),%xmm0
subsd  (%r10,%rsi,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm2,%xmm0
add    %rbx,%rdi
lea    (%rax,%rsi,1),%rbp
add    $0x2,%rbp
add    $0x2,%rsi
cmp    $0x1,%rbp
jne    6750 <bobyqb_+0x55c0>
testb  $0x1,0x40(%rsp)
mov    %rbx,%rbp
je     66e0 <bobyqb_+0x5550>
mov    %rsi,%rdi
imul   0x8(%rsp),%rdi
add    %r8,%rdi
mov    0x68(%rsp),%rbp
movsd  0x0(%rbp,%rdi,8),%xmm2
mov    0x58(%rsp),%rbp
subsd  -0x8(%r10,%rsi,8),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm2,%xmm0
jmp    66e0 <bobyqb_+0x5550>
nopw   0x0(%rax,%rax,1)
test   %r9d,%r9d
jle    687e <bobyqb_+0x56ee>
mov    %r9,0x98(%rsp)
xorps  %xmm1,%xmm1
sqrtsd %xmm0,%xmm1
ucomisd %xmm12,%xmm0
jae    684d <bobyqb_+0x56bd>
movapd %xmm11,0xb0(%rsp)
movsd  %xmm15,0x50(%rsp)
movsd  %xmm10,0x1b0(%rsp)
call   10a0 <sqrt@plt>
movsd  0x1b0(%rsp),%xmm10
movsd  0x50(%rsp),%xmm15
movsd  0x817(%rip),%xmm14
movsd  0x7ce(%rip),%xmm13
xorpd  %xmm12,%xmm12
movapd 0xb0(%rsp),%xmm11
mov    0x550(%rsp),%r10
movapd %xmm0,%xmm1
cmp    $0xffffffff,%r12d
mov    0x20(%rsp),%r12
mov    0x78(%rsp),%r8
je     6979 <bobyqb_+0x57e9>
mov    0x70(%rsp),%r11
mov    0x18(%rsp),%r9
movapd 0x170(%rsp),%xmm0
mov    0x40(%rsp),%rbx
jmp    69be <bobyqb_+0x582e>
mov    %r11,%r8
mov    %r9,0x98(%rsp)
cmp    $0xffffffff,%r12d
je     68e0 <bobyqb_+0x5750>
movapd 0x390(%rsp),%xmm0
ucomisd %xmm12,%xmm0
movsd  %xmm10,0x108(%rsp)
mov    0x18(%rsp),%r9
ja     1f20 <bobyqb_+0xd90>
movapd 0x170(%rsp),%xmm0
maxsd  0x158(%rsp),%xmm0
ucomisd 0x1a0(%rsp),%xmm0
movsd  %xmm10,0x108(%rsp)
ja     1f20 <bobyqb_+0xd90>
jmp    68e6 <bobyqb_+0x5756>
nop
mov    $0xffffffff,%r12d
movapd 0x1a0(%rsp),%xmm0
ucomisd 0x250(%rsp),%xmm0
mov    0x160(%rsp),%rdx
mov    0x130(%rsp),%rcx
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
xorpd  %xmm1,%xmm1
mov    0x258(%rsp),%rdi
mov    %r12d,%esi
lea    0x78c(%rip),%r12
mov    0x598(%rsp),%r15
mov    0x40(%rsp),%r8
ja     6a0a <bobyqb_+0x587a>
mov    $0xffffffff,%r11d
movapd 0x2f0(%rsp),%xmm0
movsd  %xmm0,0x108(%rsp)
movsd  %xmm10,0x278(%rsp)
cmp    $0xffffffff,%esi
mov    0x538(%rsp),%rbp
je     44c0 <bobyqb_+0x3330>
jmp    6c07 <bobyqb_+0x5a77>
movapd 0x170(%rsp),%xmm2
mulsd  0x696(%rip),%xmm2
movapd %xmm1,%xmm0
mulsd  %xmm13,%xmm0
minsd  %xmm2,%xmm0
movapd 0x4b0(%rsp),%xmm2
ucomisd %xmm0,%xmm2
mov    0x70(%rsp),%r11
mov    0x18(%rsp),%r9
mov    0x40(%rsp),%rbx
jb     69be <bobyqb_+0x582e>
movapd 0x1a0(%rsp),%xmm0
mulsd  0x65a(%rip),%xmm1
movapd %xmm0,0x170(%rsp)
minsd  %xmm1,%xmm0
movapd 0x1a0(%rsp),%xmm1
maxsd  %xmm0,%xmm1
movapd %xmm1,0x4d0(%rsp)
movapd %xmm1,%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x1f0(%rsp)
movl   $0x0,0xa4(%rsp)
jmp    22b0 <bobyqb_+0x1120>
movapd 0x1a0(%rsp),%xmm3
movsd  0x250(%rsp),%xmm0
divsd  %xmm0,%xmm3
movsd  0x628(%rip),%xmm2
ucomisd %xmm3,%xmm2
movapd %xmm0,%xmm2
movapd %xmm3,0x390(%rsp)
mov    0x28(%rsp),%r15
movapd %xmm11,0xb0(%rsp)
movsd  %xmm15,0x50(%rsp)
movsd  %xmm10,0x1b0(%rsp)
jae    6aac <bobyqb_+0x591c>
movsd  0x5f5(%rip),%xmm0
ucomisd %xmm3,%xmm0
jae    6a7c <bobyqb_+0x58ec>
movapd 0x1a0(%rsp),%xmm2
mulsd  0x5a6(%rip),%xmm2
jmp    6aac <bobyqb_+0x591c>
xorps  %xmm2,%xmm2
sqrtsd %xmm3,%xmm2
ucomisd %xmm1,%xmm3
jae    6aa3 <bobyqb_+0x5913>
movapd %xmm3,%xmm0
call   10a0 <sqrt@plt>
mov    0x40(%rsp),%r8
mov    0x550(%rsp),%r10
movapd %xmm0,%xmm2
mulsd  0x250(%rsp),%xmm2
movapd 0x2e0(%rsp),%xmm0
movapd %xmm2,0xe0(%rsp)
maxsd  %xmm2,%xmm0
movapd %xmm0,0x2e0(%rsp)
mov    0x528(%rsp),%eax
cmp    $0x2,%eax
jl     6b6e <bobyqb_+0x59de>
mov    %r8,%rbp
mov    0x3c(%rsp),%esi
lea    0x5d6(%rip),%rdi
movaps 0xe0(%rsp),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
movslq 0x4c(%rsp),%rax
mov    0x128(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm0
lea    0x5db(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
mov    0x538(%rsp),%rax
mov    0x550(%rsp),%r10
cmpl   $0x0,0x18(%rsp)
jle    6b6e <bobyqb_+0x59de>
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%rax,%rbx,8),%xmm0
addsd  (%r10,%rbx,8),%xmm0
mov    %r12,%rdi
mov    $0x1,%al
call   1040 <printf@plt>
mov    0x538(%rsp),%rax
mov    0x550(%rsp),%r10
add    $0x1,%rbx
cmp    %rbx,%rbp
jne    6b40 <bobyqb_+0x59b0>
xor    %r12d,%r12d
mov    0x3c(%rsp),%eax
mov    %rax,0x180(%rsp)
mov    0x558(%rsp),%r8
movapd 0xb0(%rsp),%xmm11
mov    0x58(%rsp),%rbp
movsd  0x464(%rip),%xmm2
movsd  0x46c(%rip),%xmm3
movsd  0x46c(%rip),%xmm4
mov    0x18(%rsp),%r9
movsd  0x50(%rsp),%xmm15
movsd  0x1b0(%rsp),%xmm5
movapd 0xe0(%rsp),%xmm6
jmp    1ea5 <bobyqb_+0xd15>
movapd %xmm11,0xb0(%rsp)
jmp    6c36 <bobyqb_+0x5aa6>
movapd 0xb0(%rsp),%xmm11
movsd  %xmm11,0x308(%rsp)
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
mov    0x538(%rsp),%rbp
mov    0x28(%rsp),%r15
jmp    6c74 <bobyqb_+0x5ae4>
lea    0x544(%rip),%rdi
mov    0x528(%rsp),%eax
test   %eax,%eax
jg     6c4d <bobyqb_+0x5abd>
jmp    6c52 <bobyqb_+0x5ac2>
lea    0x577(%rip),%rdi
jmp    6c3d <bobyqb_+0x5aad>
mov    0x530(%rsp),%eax
mov    %eax,0x3c(%rsp)
lea    0x5a5(%rip),%rdi
mov    0x528(%rsp),%eax
test   %eax,%eax
mov    0x28(%rsp),%r15
jle    6c52 <bobyqb_+0x5ac2>
call   1030 <puts@plt>
mov    0x590(%rsp),%r9
mov    0x588(%rsp),%rbx
mov    0x538(%rsp),%rbp
movapd 0xb0(%rsp),%xmm11
movslq 0x4c(%rsp),%r8
mov    0x128(%rsp),%rax
movsd  (%rax,%r8,8),%xmm1
movsd  0x308(%rsp),%xmm2
ucomisd %xmm1,%xmm2
movapd %xmm1,%xmm0
cmpnlesd %xmm2,%xmm0
movapd %xmm0,%xmm2
andnpd %xmm1,%xmm2
andpd  %xmm11,%xmm0
orpd   %xmm2,%xmm0
jb     6d85 <bobyqb_+0x5bf5>
cmpl   $0x0,0x18(%rsp)
jle    6d85 <bobyqb_+0x5bf5>
lea    -0x8(,%r15,8),%rcx
ff
xor    %edx,%edx
mov    0x160(%rsp),%rsi
mov    0x550(%rsp),%rax
jmp    6ced <bobyqb_+0x5b5d>
nopl   0x0(%rax,%rax,1)
add    $0x8,%rdx
cmp    %rdx,%rcx
je     6d77 <bobyqb_+0x5be7>
movsd  0x0(%rbp,%rdx,1),%xmm0
addsd  (%rax,%rdx,1),%xmm0
movsd  %xmm0,(%rsi,%rdx,1)
mov    0x1e0(%rsp),%rdi
movsd  (%rdi,%rdx,1),%xmm1
ucomisd %xmm0,%xmm1
jbe    6d19 <bobyqb_+0x5b89>
movsd  %xmm1,(%rsi,%rdx,1)
movapd %xmm1,%xmm0
mov    0x130(%rsp),%rdi
movsd  (%rdi,%rdx,1),%xmm1
ucomisd %xmm1,%xmm0
jbe    6d31 <bobyqb_+0x5ba1>
movsd  %xmm1,(%rsi,%rdx,1)
movsd  (%rax,%rdx,1),%xmm0
ucomisd (%rbx,%rdx,1),%xmm0
jne    6d56 <bobyqb_+0x5bc6>
jp     6d56 <bobyqb_+0x5bc6>
mov    0x1e0(%rsp),%rdi
movsd  (%rdi,%rdx,1),%xmm0
movsd  %xmm0,(%rsi,%rdx,1)
movsd  (%rax,%rdx,1),%xmm0
ucomisd (%r9,%rdx,1),%xmm0
jne    6ce0 <bobyqb_+0x5b50>
jp     6ce0 <bobyqb_+0x5b50>
mov    0x130(%rsp),%rdi
movsd  (%rdi,%rdx,1),%xmm0
movsd  %xmm0,(%rsi,%rdx,1)
jmp    6ce0 <bobyqb_+0x5b50>
mov    0x128(%rsp),%rax
movsd  (%rax,%r8,8),%xmm0
mov    0x528(%rsp),%eax
test   %eax,%eax
mov    0x160(%rsp),%rbx
jle    6df8 <bobyqb_+0x5c68>
movapd %xmm0,0xb0(%rsp)
mov    0x3c(%rsp),%esi
lea    0x373(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x332(%rip),%rdi
movapd 0xb0(%rsp),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
cmpl   $0x0,0x18(%rsp)
jle    6df8 <bobyqb_+0x5c68>
add    $0xffffffffffffffff,%r15
xor    %ebp,%ebp
lea    0x2dc(%rip),%r14
xchg   %ax,%ax
movsd  (%rbx,%rbp,8),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1040 <printf@plt>
add    $0x1,%rbp
cmp    %rbp,%r15
jne    6de0 <bobyqb_+0x5c50>
add    $0x4e8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
movapd 0xb0(%rsp),%xmm0
ucomisd %xmm6,%xmm0
mov    0x160(%rsp),%rbx
mov    0x28(%rsp),%r15
jb     6d98 <bobyqb_+0x5c08>
movapd %xmm6,%xmm0
jmp    6d98 <bobyqb_+0x5c08>

LLVM IR (-O0):
@.str = [65 x i8] c"Return from BOBYQA because CALFUN has been called MAXFUN times.\0A\00"
@.str.1 = [67 x i8] c"Return from BOBYQA because of much cancellation in a denominator.\0A\00"
@.str.2 = [58 x i8] c"Function number %d F = %g\0A The corresponding X is:\0A\00"
@.str.3 = [5 x i8] c"\09%g\0A\00"
@.str.4 = [72 x i8] c"Return from BOBYQA because a trust region step has failed to reduce Q.\0A\00"
@.str.5 = [45 x i8] c"New RHO = %g, Number of function values = %d\00"
@.str.6 = [51 x i8] c"Least value of F = %g\0A The corresponding X is:\0A\00"
@.str.7 = [58 x i8] c"At the return from BOBYQA\0ANumber of function values = %d\0A\00"
define void @bobyqb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, double (i8*, i32, double*)* %5, i8* %6, double %7, double %8, i32 %9, i32 %10, double* %11, double* %12, double* %13, double* %14, double* %15, double* %16, double* %17, double* %18, double* %19, i32 %20, double* %21, double* %22, double* %23, double* %24, double* %25, double* %26, double* %27) {
%29 = alloca i32
%30 = alloca i32
%31 = alloca double*
%32 = alloca double*
%33 = alloca double*
%34 = alloca double (i8*, i32, double*)*
%35 = alloca i8*
%36 = alloca double
%37 = alloca double
%38 = alloca i32
%39 = alloca i32
%40 = alloca double*
%41 = alloca double*
%42 = alloca double*
%43 = alloca double*
%44 = alloca double*
%45 = alloca double*
%46 = alloca double*
%47 = alloca double*
%48 = alloca double*
%49 = alloca i32
%50 = alloca double*
%51 = alloca double*
%52 = alloca double*
%53 = alloca double*
%54 = alloca double*
%55 = alloca double*
%56 = alloca double*
%57 = alloca i32
%58 = alloca i32
%59 = alloca i32
%60 = alloca i32
%61 = alloca i32
%62 = alloca i32
%63 = alloca i32
%64 = alloca i32
%65 = alloca i32
%66 = alloca double
%67 = alloca double
%68 = alloca double
%69 = alloca double
%70 = alloca double
%71 = alloca i32
%72 = alloca i32
%73 = alloca i32
%74 = alloca i32
%75 = alloca i32
%76 = alloca i32
%77 = alloca i32
%78 = alloca i32
%79 = alloca i32
%80 = alloca double
%81 = alloca i32
%82 = alloca double
%83 = alloca double
%84 = alloca double
%85 = alloca double
%86 = alloca double
%87 = alloca double
%88 = alloca double
%89 = alloca double
%90 = alloca double
%91 = alloca double
%92 = alloca double
%93 = alloca i32
%94 = alloca double
%95 = alloca double
%96 = alloca double
%97 = alloca double
%98 = alloca double
%99 = alloca i32
%100 = alloca i32
%101 = alloca double
%102 = alloca double
%103 = alloca i32
%104 = alloca double
%105 = alloca double
%106 = alloca double
%107 = alloca double
%108 = alloca double
%109 = alloca double
%110 = alloca double
%111 = alloca double
%112 = alloca i32
%113 = alloca double
%114 = alloca double
%115 = alloca double
%116 = alloca double
%117 = alloca double
%118 = alloca double
%119 = alloca double
%120 = alloca i32
%121 = alloca i32
%122 = alloca double
%123 = alloca double
%124 = alloca double
%125 = alloca double
%126 = alloca double
%127 = alloca i32
%128 = alloca double
%129 = alloca double
%130 = alloca double
%131 = alloca double
%132 = alloca double
%133 = alloca double
%134 = alloca double
%135 = alloca double
%136 = alloca double
%137 = alloca double
%138 = alloca double
%139 = alloca i32
%140 = alloca double
%141 = alloca double
%142 = alloca double
%143 = alloca double
%144 = alloca double
%145 = alloca double
%146 = alloca double
%147 = alloca double
%148 = alloca double
%149 = alloca double
%150 = alloca double
store i32 %0, i32* %29
store i32 %1, i32* %30
store double* %2, double** %31
store double* %3, double** %32
store double* %4, double** %33
store double (i8*, i32, double*)* %5, double (i8*, i32, double*)** %34
store i8* %6, i8** %35
store double %7, double* %36
store double %8, double* %37
store i32 %9, i32* %38
store i32 %10, i32* %39
store double* %11, double** %40
store double* %12, double** %41
store double* %13, double** %42
store double* %14, double** %43
store double* %15, double** %44
store double* %16, double** %45
store double* %17, double** %46
store double* %18, double** %47
store double* %19, double** %48
store i32 %20, i32* %49
store double* %21, double** %50
store double* %22, double** %51
store double* %23, double** %52
store double* %24, double** %53
store double* %25, double** %54
store double* %26, double** %55
store double* %27, double** %56
%151 = load i32, i32* %30
store i32 %151, i32* %61
%152 = load i32, i32* %61
%153 = add nsw i32 1, %152
store i32 %153, i32* %62
%154 = load i32, i32* %62
%155 = load double*, double** %48
%156 = sext i32 %154 to i64
%157 = sub i64 0, %156
%158 = getelementptr inbounds double, double* %155, i64 %157
store double* %158, double** %48
%159 = load i32, i32* %30
store i32 %159, i32* %57
%160 = load i32, i32* %57
%161 = add nsw i32 1, %160
store i32 %161, i32* %58
%162 = load i32, i32* %58
%163 = load double*, double** %41
%164 = sext i32 %162 to i64
%165 = sub i64 0, %164
%166 = getelementptr inbounds double, double* %163, i64 %165
store double* %166, double** %41
%167 = load double*, double** %31
%168 = getelementptr inbounds double, double* %167, i32 -1
store double* %168, double** %31
%169 = load double*, double** %32
%170 = getelementptr inbounds double, double* %169, i32 -1
store double* %170, double** %32
%171 = load double*, double** %33
%172 = getelementptr inbounds double, double* %171, i32 -1
store double* %172, double** %33
%173 = load double*, double** %40
%174 = getelementptr inbounds double, double* %173, i32 -1
store double* %174, double** %40
%175 = load double*, double** %42
%176 = getelementptr inbounds double, double* %175, i32 -1
store double* %176, double** %42
%177 = load double*, double** %43
%178 = getelementptr inbounds double, double* %177, i32 -1
store double* %178, double** %43
%179 = load double*, double** %44
%180 = getelementptr inbounds double, double* %179, i32 -1
store double* %180, double** %44
%181 = load double*, double** %45
%182 = getelementptr inbounds double, double* %181, i32 -1
store double* %182, double** %45
%183 = load double*, double** %46
%184 = getelementptr inbounds double, double* %183, i32 -1
store double* %184, double** %46
%185 = load i32, i32* %49
store i32 %185, i32* %59
%186 = load i32, i32* %59
%187 = add nsw i32 1, %186
store i32 %187, i32* %60
%188 = load i32, i32* %60
%189 = load double*, double** %47
%190 = sext i32 %188 to i64
%191 = sub i64 0, %190
%192 = getelementptr inbounds double, double* %189, i64 %191
store double* %192, double** %47
%193 = load double*, double** %50
%194 = getelementptr inbounds double, double* %193, i32 -1
store double* %194, double** %50
%195 = load double*, double** %51
%196 = getelementptr inbounds double, double* %195, i32 -1
store double* %196, double** %51
%197 = load double*, double** %52
%198 = getelementptr inbounds double, double* %197, i32 -1
store double* %198, double** %52
%199 = load double*, double** %53
%200 = getelementptr inbounds double, double* %199, i32 -1
store double* %200, double** %53
%201 = load double*, double** %54
%202 = getelementptr inbounds double, double* %201, i32 -1
store double* %202, double** %54
%203 = load double*, double** %55
%204 = getelementptr inbounds double, double* %203, i32 -1
store double* %204, double** %55
%205 = load double*, double** %56
%206 = getelementptr inbounds double, double* %205, i32 -1
store double* %206, double** %56
store double 5.000000e-01, double* %90
store double 1.000000e+00, double* %83
store double 1.000000e+01, double* %84
store double 1.000000e-01, double* %126
store double 2.000000e+00, double* %88
store double 0.000000e+00, double* %101
%207 = load i32, i32* %29
%208 = add nsw i32 %207, 1
store i32 %208, i32* %81
%209 = load i32, i32* %30
%210 = load i32, i32* %81
%211 = sub nsw i32 %209, %210
store i32 %211, i32* %100
%212 = load i32, i32* %29
%213 = load i32, i32* %81
%214 = mul nsw i32 %212, %213
%215 = sdiv i32 %214, 2
store i32 %215, i32* %77
%216 = load i32, i32* %29
%217 = load i32, i32* %30
%218 = load double*, double** %31
%219 = getelementptr inbounds double, double* %218, i64 1
%220 = load double*, double** %32
%221 = getelementptr inbounds double, double* %220, i64 1
%222 = load double*, double** %33
%223 = getelementptr inbounds double, double* %222, i64 1
%224 = load double (i8*, i32, double*)*, double (i8*, i32, double*)** %34
%225 = load i8*, i8** %35
%226 = load double, double* %36
%227 = load i32, i32* %38
%228 = load i32, i32* %39
%229 = load double*, double** %40
%230 = getelementptr inbounds double, double* %229, i64 1
%231 = load double*, double** %41
%232 = load i32, i32* %58
%233 = sext i32 %232 to i64
%234 = getelementptr inbounds double, double* %231, i64 %233
%235 = load double*, double** %42
%236 = getelementptr inbounds double, double* %235, i64 1
%237 = load double*, double** %44
%238 = getelementptr inbounds double, double* %237, i64 1
%239 = load double*, double** %45
%240 = getelementptr inbounds double, double* %239, i64 1
%241 = load double*, double** %46
%242 = getelementptr inbounds double, double* %241, i64 1
%243 = load double*, double** %47
%244 = load i32, i32* %60
%245 = sext i32 %244 to i64
%246 = getelementptr inbounds double, double* %243, i64 %245
%247 = load double*, double** %48
%248 = load i32, i32* %62
%249 = sext i32 %248 to i64
%250 = getelementptr inbounds double, double* %247, i64 %249
%251 = load i32, i32* %49
%252 = load double*, double** %50
%253 = getelementptr inbounds double, double* %252, i64 1
%254 = load double*, double** %51
%255 = getelementptr inbounds double, double* %254, i64 1
%256 = load double, double* %101
store double %256, double* %140
store i32 1, i32* %71
br label %257
257: ; preds = %284, %28
%258 = load i32, i32* %71
%259 = load i32, i32* %29
%260 = icmp sle i32 %258, %259
br i1 %260, label %261, label %287
261: ; preds = %257
%262 = load double*, double** %41
%263 = load i32, i32* %99
%264 = load i32, i32* %71
%265 = load i32, i32* %57
%266 = mul nsw i32 %264, %265
%267 = add nsw i32 %263, %266
%268 = sext i32 %267 to i64
%269 = getelementptr inbounds double, double* %262, i64 %268
%270 = load double, double* %269
%271 = load double*, double** %43
%272 = load i32, i32* %71
%273 = sext i32 %272 to i64
%274 = getelementptr inbounds double, double* %271, i64 %273
store double %270, double* %274
%275 = load double*, double** %43
%276 = load i32, i32* %71
%277 = sext i32 %276 to i64
%278 = getelementptr inbounds double, double* %275, i64 %277
%279 = load double, double* %278
store double %279, double* %66
%280 = load double, double* %66
%281 = load double, double* %66
%282 = load double, double* %140
%283 = call double @llvm.fmuladd.f64(double %280, double %281, double %282)
store double %283, double* %140
br label %284
284: ; preds = %261
%285 = load i32, i32* %71
%286 = add nsw i32 %285, 1
store i32 %286, i32* %71
br label %257
287: ; preds = %257
%288 = load double*, double** %42
%289 = getelementptr inbounds double, double* %288, i64 1
%290 = load double, double* %289
store double %290, double* %117
%291 = load i32, i32* %75
%292 = load i32, i32* %30
%293 = icmp slt i32 %291, %292
br i1 %293, label %294, label %300
294: ; preds = %287
%295 = load i32, i32* %38
%296 = icmp sgt i32 %295, 0
br i1 %296, label %297, label %299
297: ; preds = %294
%298 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str, i64 0, i64 0))
br label %299
299: ; preds = %297, %294
br label %3476
300: ; preds = %287
store i32 1, i32* %112
%301 = load double, double* %36
store double %301, double* %86
%302 = load double, double* %86
store double %302, double* %114
%303 = load i32, i32* %75
store i32 %303, i32* %120
store i32 0, i32* %139
%304 = load double, double* %101
store double %304, double* %108
%305 = load double, double* %101
store double %305, double* %109
store i32 0, i32* %127
%306 = load i32, i32* %75
store i32 %306, i32* %121
br label %307
307: ; preds = %1320, %300
%308 = load i32, i32* %99
%309 = load i32, i32* %112
%310 = icmp ne i32 %308, %309
br i1 %310, label %311, label %446
311: ; preds = %307
store i32 0, i32* %74
%312 = load i32, i32* %29
store i32 %312, i32* %63
store i32 1, i32* %72
br label %313
313: ; preds = %367, %311
%314 = load i32, i32* %72
%315 = load i32, i32* %63
%316 = icmp sle i32 %314, %315
br i1 %316, label %317, label %370
317: ; preds = %313
%318 = load i32, i32* %72
store i32 %318, i32* %64
store i32 1, i32* %71
br label %319
319: ; preds = %363, %317
%320 = load i32, i32* %71
%321 = load i32, i32* %64
%322 = icmp sle i32 %320, %321
br i1 %322, label %323, label %366
323: ; preds = %319
%324 = load i32, i32* %74
%325 = add nsw i32 %324, 1
store i32 %325, i32* %74
%326 = load i32, i32* %71
%327 = load i32, i32* %72
%328 = icmp slt i32 %326, %327
br i1 %328, label %329, label %346
329: ; preds = %323
%330 = load double*, double** %45
%331 = load i32, i32* %74
%332 = sext i32 %331 to i64
%333 = getelementptr inbounds double, double* %330, i64 %332
%334 = load double, double* %333
%335 = load double*, double** %43
%336 = load i32, i32* %71
%337 = sext i32 %336 to i64
%338 = getelementptr inbounds double, double* %335, i64 %337
%339 = load double, double* %338
%340 = load double*, double** %44
%341 = load i32, i32* %72
%342 = sext i32 %341 to i64
%343 = getelementptr inbounds double, double* %340, i64 %342
%344 = load double, double* %343
%345 = call double @llvm.fmuladd.f64(double %334, double %339, double %344)
store double %345, double* %343
br label %346
346: ; preds = %329, %323
%347 = load double*, double** %45
%348 = load i32, i32* %74
%349 = sext i32 %348 to i64
%350 = getelementptr inbounds double, double* %347, i64 %349
%351 = load double, double* %350
%352 = load double*, double** %43
%353 = load i32, i32* %72
%354 = sext i32 %353 to i64
%355 = getelementptr inbounds double, double* %352, i64 %354
%356 = load double, double* %355
%357 = load double*, double** %44
%358 = load i32, i32* %71
%359 = sext i32 %358 to i64
%360 = getelementptr inbounds double, double* %357, i64 %359
%361 = load double, double* %360
%362 = call double @llvm.fmuladd.f64(double %351, double %356, double %361)
store double %362, double* %360
br label %363
363: ; preds = %346
%364 = load i32, i32* %71
%365 = add nsw i32 %364, 1
store i32 %365, i32* %71
br label %319
366: ; preds = %319
br label %367
367: ; preds = %366
%368 = load i32, i32* %72
%369 = add nsw i32 %368, 1
store i32 %369, i32* %72
br label %313
370: ; preds = %313
%371 = load i32, i32* %75
%372 = load i32, i32* %30
%373 = icmp sgt i32 %371, %372
br i1 %373, label %374, label %445
374: ; preds = %370
%375 = load i32, i32* %30
store i32 %375, i32* %64
store i32 1, i32* %73
br label %376
376: ; preds = %441, %374
%377 = load i32, i32* %73
%378 = load i32, i32* %64
%379 = icmp sle i32 %377, %378
br i1 %379, label %380, label %444
380: ; preds = %376
%381 = load double, double* %101
store double %381, double* %94
%382 = load i32, i32* %29
store i32 %382, i32* %63
store i32 1, i32* %72
br label %383
383: ; preds = %404, %380
%384 = load i32, i32* %72
%385 = load i32, i32* %63
%386 = icmp sle i32 %384, %385
br i1 %386, label %387, label %407
387: ; preds = %383
%388 = load double*, double** %41
%389 = load i32, i32* %73
%390 = load i32, i32* %72
%391 = load i32, i32* %57
%392 = mul nsw i32 %390, %391
%393 = add nsw i32 %389, %392
%394 = sext i32 %393 to i64
%395 = getelementptr inbounds double, double* %388, i64 %394
%396 = load double, double* %395
%397 = load double*, double** %43
%398 = load i32, i32* %72
%399 = sext i32 %398 to i64
%400 = getelementptr inbounds double, double* %397, i64 %399
%401 = load double, double* %400
%402 = load double, double* %94
%403 = call double @llvm.fmuladd.f64(double %396, double %401, double %402)
store double %403, double* %94
br label %404
404: ; preds = %387
%405 = load i32, i32* %72
%406 = add nsw i32 %405, 1
store i32 %406, i32* %72
br label %383
407: ; preds = %383
%408 = load double*, double** %46
%409 = load i32, i32* %73
%410 = sext i32 %409 to i64
%411 = getelementptr inbounds double, double* %408, i64 %410
%412 = load double, double* %411
%413 = load double, double* %94
%414 = fmul double %412, %413
store double %414, double* %94
%415 = load i32, i32* %29
store i32 %415, i32* %63
store i32 1, i32* %71
br label %416
416: ; preds = %437, %407
%417 = load i32, i32* %71
%418 = load i32, i32* %63
%419 = icmp sle i32 %417, %418
br i1 %419, label %420, label %440
420: ; preds = %416
%421 = load double, double* %94
%422 = load double*, double** %41
%423 = load i32, i32* %73
%424 = load i32, i32* %71
%425 = load i32, i32* %57
%426 = mul nsw i32 %424, %425
%427 = add nsw i32 %423, %426
%428 = sext i32 %427 to i64
%429 = getelementptr inbounds double, double* %422, i64 %428
%430 = load double, double* %429
%431 = load double*, double** %44
%432 = load i32, i32* %71
%433 = sext i32 %432 to i64
%434 = getelementptr inbounds double, double* %431, i64 %433
%435 = load double, double* %434
%436 = call double @llvm.fmuladd.f64(double %421, double %430, double %435)
store double %436, double* %434
br label %437
437: ; preds = %420
%438 = load i32, i32* %71
%439 = add nsw i32 %438, 1
store i32 %439, i32* %71
br label %416
440: ; preds = %416
br label %441
441: ; preds = %440
%442 = load i32, i32* %73
%443 = add nsw i32 %442, 1
store i32 %443, i32* %73
br label %376
444: ; preds = %376
br label %445
445: ; preds = %444, %370
br label %446
446: ; preds = %445, %307
br label %447
447: ; preds = %3469, %3396, %3383, %3246, %3238, %1325, %446
%448 = load i32, i32* %29
%449 = load i32, i32* %30
%450 = load double*, double** %41
%451 = load i32, i32* %58
%452 = sext i32 %451 to i64
%453 = getelementptr inbounds double, double* %450, i64 %452
%454 = load double*, double** %43
%455 = getelementptr inbounds double, double* %454, i64 1
%456 = load double*, double** %44
%457 = getelementptr inbounds double, double* %456, i64 1
%458 = load double*, double** %45
%459 = getelementptr inbounds double, double* %458, i64 1
%460 = load double*, double** %46
%461 = getelementptr inbounds double, double* %460, i64 1
%462 = load double*, double** %50
%463 = getelementptr inbounds double, double* %462, i64 1
%464 = load double*, double** %51
%465 = getelementptr inbounds double, double* %464, i64 1
%466 = load double, double* %114
%467 = load double*, double** %52
%468 = getelementptr inbounds double, double* %467, i64 1
%469 = load double*, double** %54
%470 = getelementptr inbounds double, double* %469, i64 1
%471 = load double*, double** %56
%472 = getelementptr inbounds double, double* %471, i64 1
%473 = load double*, double** %56
%474 = load i32, i32* %81
%475 = sext i32 %474 to i64
%476 = getelementptr inbounds double, double* %473, i64 %475
%477 = load double*, double** %56
%478 = load i32, i32* %81
%479 = load i32, i32* %29
%480 = add nsw i32 %478, %479
%481 = sext i32 %480 to i64
%482 = getelementptr inbounds double, double* %477, i64 %481
%483 = load double*, double** %56
%484 = load i32, i32* %81
%485 = load i32, i32* %29
%486 = shl i32 %485, 1
%487 = add nsw i32 %484, %486
%488 = sext i32 %487 to i64
%489 = getelementptr inbounds double, double* %483, i64 %488
%490 = load double*, double** %56
%491 = load i32, i32* %81
%492 = load i32, i32* %29
%493 = mul nsw i32 %492, 3
%494 = add nsw i32 %491, %493
%495 = sext i32 %494 to i64
%496 = getelementptr inbounds double, double* %490, i64 %495
%497 = load double, double* %85
%498 = call double @sqrt(double %497)
store double %498, double* %123
%499 = load double, double* %114
%500 = load double, double* %123
%501 = fcmp olt double %499, %500
br i1 %501, label %502, label %504
502: ; preds = %447
%503 = load double, double* %114
store double %503, double* %123
br label %504
504: ; preds = %502, %447
%505 = load double, double* %123
%506 = load double, double* %90
%507 = load double, double* %86
%508 = fmul double %506, %507
%509 = fcmp olt double %505, %508
br i1 %509, label %510, label %665
510: ; preds = %504
store i32 -1, i32* %139
%511 = load double, double* %84
%512 = load double, double* %86
%513 = fmul double %511, %512
%514 = load double, double* %84
%515 = load double, double* %86
%516 = fmul double %514, %515
%517 = fmul double %513, %516
store double %517, double* %138
%518 = load i32, i32* %75
%519 = load i32, i32* %121
%520 = add nsw i32 %519, 2
%521 = icmp sle i32 %518, %520
br i1 %521, label %522, label %523
522: ; preds = %510
br label %3269
523: ; preds = %510
%524 = load double, double* %108
store double %524, double* %130
%525 = load double, double* %109
%526 = load double, double* %130
%527 = fcmp ogt double %525, %526
br i1 %527, label %528, label %530
528: ; preds = %523
%529 = load double, double* %109
store double %529, double* %130
br label %530
530: ; preds = %528, %523
%531 = load double, double* %110
%532 = load double, double* %130
%533 = fcmp ogt double %531, %532
br i1 %533, label %534, label %536
534: ; preds = %530
%535 = load double, double* %110
store double %535, double* %130
br label %536
536: ; preds = %534, %530
%537 = load double, double* %86
%538 = fmul double %537, 1.250000e-01
%539 = load double, double* %86
%540 = fmul double %538, %539
store double %540, double* %137
%541 = load double, double* %136
%542 = load double, double* %101
%543 = fcmp ogt double %541, %542
br i1 %543, label %544, label %551
544: ; preds = %536
%545 = load double, double* %130
%546 = load double, double* %137
%547 = load double, double* %136
%548 = fmul double %546, %547
%549 = fcmp ogt double %545, %548
br i1 %549, label %550, label %551
550: ; preds = %544
br label %3269
551: ; preds = %544, %536
%552 = load double, double* %130
%553 = load double, double* %86
%554 = fdiv double %552, %553
store double %554, double* %118
%555 = load i32, i32* %29
store i32 %555, i32* %63
store i32 1, i32* %72
br label %556
556: ; preds = %661, %551
%557 = load i32, i32* %72
%558 = load i32, i32* %63
%559 = icmp sle i32 %557, %558
br i1 %559, label %560, label %664
560: ; preds = %556
%561 = load double, double* %118
store double %561, double* %135
%562 = load double*, double** %52
%563 = load i32, i32* %72
%564 = sext i32 %563 to i64
%565 = getelementptr inbounds double, double* %562, i64 %564
%566 = load double, double* %565
%567 = load double*, double** %50
%568 = load i32, i32* %72
%569 = sext i32 %568 to i64
%570 = getelementptr inbounds double, double* %567, i64 %569
%571 = load double, double* %570
%572 = fcmp oeq double %566, %571
br i1 %572, label %573, label %579
573: ; preds = %560
%574 = load double*, double** %56
%575 = load i32, i32* %72
%576 = sext i32 %575 to i64
%577 = getelementptr inbounds double, double* %574, i64 %576
%578 = load double, double* %577
store double %578, double* %135
br label %579
579: ; preds = %573, %560
%580 = load double*, double** %52
%581 = load i32, i32* %72
%582 = sext i32 %581 to i64
%583 = getelementptr inbounds double, double* %580, i64 %582
%584 = load double, double* %583
%585 = load double*, double** %51
%586 = load i32, i32* %72
%587 = sext i32 %586 to i64
%588 = getelementptr inbounds double, double* %585, i64 %587
%589 = load double, double* %588
%590 = fcmp oeq double %584, %589
br i1 %590, label %591, label %598
591: ; preds = %579
%592 = load double*, double** %56
%593 = load i32, i32* %72
%594 = sext i32 %593 to i64
%595 = getelementptr inbounds double, double* %592, i64 %594
%596 = load double, double* %595
%597 = fneg double %596
store double %597, double* %135
br label %598
598: ; preds = %591, %579
%599 = load double, double* %135
%600 = load double, double* %118
%601 = fcmp olt double %599, %600
br i1 %601, label %602, label %660
602: ; preds = %598
%603 = load double*, double** %45
%604 = load i32, i32* %72
%605 = load i32, i32* %72
%606 = load i32, i32* %72
%607 = mul nsw i32 %605, %606
%608 = add nsw i32 %604, %607
%609 = sdiv i32 %608, 2
%610 = sext i32 %609 to i64
%611 = getelementptr inbounds double, double* %603, i64 %610
%612 = load double, double* %611
store double %612, double* %102
%613 = load i32, i32* %30
store i32 %613, i32* %64
store i32 1, i32* %73
br label %614
614: ; preds = %645, %602
%615 = load i32, i32* %73
%616 = load i32, i32* %64
%617 = icmp sle i32 %615, %616
br i1 %617, label %618, label %648
618: ; preds = %614
%619 = load double*, double** %46
%620 = load i32, i32* %73
%621 = sext i32 %620 to i64
%622 = getelementptr inbounds double, double* %619, i64 %621
%623 = load double, double* %622
%624 = load double*, double** %41
%625 = load i32, i32* %73
%626 = load i32, i32* %72
%627 = load i32, i32* %57
%628 = mul nsw i32 %626, %627
%629 = add nsw i32 %625, %628
%630 = sext i32 %629 to i64
%631 = getelementptr inbounds double, double* %624, i64 %630
%632 = load double, double* %631
%633 = load double*, double** %41
%634 = load i32, i32* %73
%635 = load i32, i32* %72
%636 = load i32, i32* %57
%637 = mul nsw i32 %635, %636
%638 = add nsw i32 %634, %637
%639 = sext i32 %638 to i64
%640 = getelementptr inbounds double, double* %633, i64 %639
%641 = load double, double* %640
%642 = fmul double %632, %641
%643 = load double, double* %102
%644 = call double @llvm.fmuladd.f64(double %623, double %642, double %643)
store double %644, double* %102
br label %645
645: ; preds = %618
%646 = load i32, i32* %73
%647 = add nsw i32 %646, 1
store i32 %647, i32* %73
br label %614
648: ; preds = %614
%649 = load double, double* %90
%650 = load double, double* %102
%651 = fmul double %649, %650
%652 = load double, double* %86
%653 = load double, double* %135
%654 = call double @llvm.fmuladd.f64(double %651, double %652, double %653)
store double %654, double* %135
%655 = load double, double* %135
%656 = load double, double* %118
%657 = fcmp olt double %655, %656
br i1 %657, label %658, label %659
658: ; preds = %648
br label %3269
659: ; preds = %648
br label %660
660: ; preds = %659, %598
br label %661
661: ; preds = %660
%662 = load i32, i32* %72
%663 = add nsw i32 %662, 1
store i32 %663, i32* %72
br label %556
664: ; preds = %556
br label %3398
665: ; preds = %504
%666 = load i32, i32* %139
%667 = add nsw i32 %666, 1
store i32 %667, i32* %139
br label %668
668: ; preds = %3371, %665
%669 = load double, double* %85
%670 = load double, double* %140
%671 = fmul double %670, 1.000000e-03
%672 = fcmp ole double %669, %671
br i1 %672, label %673, label %1202
673: ; preds = %668
%674 = load double, double* %140
%675 = fmul double %674, 2.500000e-01
store double %675, double* %132
%676 = load double, double* %101
store double %676, double* %128
store i32 1, i32* %73
br label %677
677: ; preds = %825, %673
%678 = load i32, i32* %73
%679 = load i32, i32* %30
%680 = icmp sle i32 %678, %679
br i1 %680, label %681, label %828
681: ; preds = %677
%682 = load double*, double** %46
%683 = load i32, i32* %73
%684 = sext i32 %683 to i64
%685 = getelementptr inbounds double, double* %682, i64 %684
%686 = load double, double* %685
%687 = load double, double* %128
%688 = fadd double %687, %686
store double %688, double* %128
%689 = load double, double* %90
%690 = fneg double %689
%691 = load double, double* %140
%692 = fmul double %690, %691
store double %692, double* %87
store i32 1, i32* %71
br label %693
693: ; preds = %714, %681
%694 = load i32, i32* %71
%695 = load i32, i32* %29
%696 = icmp sle i32 %694, %695
br i1 %696, label %697, label %717
697: ; preds = %693
%698 = load double*, double** %41
%699 = load i32, i32* %73
%700 = load i32, i32* %71
%701 = load i32, i32* %57
%702 = mul nsw i32 %700, %701
%703 = add nsw i32 %699, %702
%704 = sext i32 %703 to i64
%705 = getelementptr inbounds double, double* %698, i64 %704
%706 = load double, double* %705
%707 = load double*, double** %43
%708 = load i32, i32* %71
%709 = sext i32 %708 to i64
%710 = getelementptr inbounds double, double* %707, i64 %709
%711 = load double, double* %710
%712 = load double, double* %87
%713 = call double @llvm.fmuladd.f64(double %706, double %711, double %712)
store double %713, double* %87
br label %714
714: ; preds = %697
%715 = load i32, i32* %71
%716 = add nsw i32 %715, 1
store i32 %716, i32* %71
br label %693
717: ; preds = %693
%718 = load double, double* %87
%719 = load double*, double** %56
%720 = load i32, i32* %30
%721 = load i32, i32* %73
%722 = add nsw i32 %720, %721
%723 = sext i32 %722 to i64
%724 = getelementptr inbounds double, double* %719, i64 %723
store double %718, double* %724
%725 = load double, double* %132
%726 = load double, double* %90
%727 = load double, double* %87
%728 = fneg double %726
%729 = call double @llvm.fmuladd.f64(double %728, double %727, double %725)
store double %729, double* %94
store i32 1, i32* %71
br label %730
730: ; preds = %821, %717
%731 = load i32, i32* %71
%732 = load i32, i32* %29
%733 = icmp sle i32 %731, %732
br i1 %733, label %734, label %824
734: ; preds = %730
%735 = load double*, double** %47
%736 = load i32, i32* %73
%737 = load i32, i32* %71
%738 = load i32, i32* %59
%739 = mul nsw i32 %737, %738
%740 = add nsw i32 %736, %739
%741 = sext i32 %740 to i64
%742 = getelementptr inbounds double, double* %735, i64 %741
%743 = load double, double* %742
%744 = load double*, double** %56
%745 = load i32, i32* %71
%746 = sext i32 %745 to i64
%747 = getelementptr inbounds double, double* %744, i64 %746
store double %743, double* %747
%748 = load double, double* %87
%749 = load double*, double** %41
%750 = load i32, i32* %73
%751 = load i32, i32* %71
%752 = load i32, i32* %57
%753 = mul nsw i32 %751, %752
%754 = add nsw i32 %750, %753
%755 = sext i32 %754 to i64
%756 = getelementptr inbounds double, double* %749, i64 %755
%757 = load double, double* %756
%758 = load double, double* %94
%759 = load double*, double** %43
%760 = load i32, i32* %71
%761 = sext i32 %760 to i64
%762 = getelementptr inbounds double, double* %759, i64 %761
%763 = load double, double* %762
%764 = fmul double %758, %763
%765 = call double @llvm.fmuladd.f64(double %748, double %757, double %764)
%766 = load double*, double** %55
%767 = load i32, i32* %71
%768 = sext i32 %767 to i64
%769 = getelementptr inbounds double, double* %766, i64 %768
store double %765, double* %769
%770 = load i32, i32* %30
%771 = load i32, i32* %71
%772 = add nsw i32 %770, %771
store i32 %772, i32* %78
store i32 1, i32* %72
br label %773
773: ; preds = %817, %734
%774 = load i32, i32* %72
%775 = load i32, i32* %71
%776 = icmp sle i32 %774, %775
br i1 %776, label %777, label %820
777: ; preds = %773
%778 = load double*, double** %47
%779 = load i32, i32* %78
%780 = load i32, i32* %72
%781 = load i32, i32* %59
%782 = mul nsw i32 %780, %781
%783 = add nsw i32 %779, %782
%784 = sext i32 %783 to i64
%785 = getelementptr inbounds double, double* %778, i64 %784
%786 = load double, double* %785
%787 = load double*, double** %56
%788 = load i32, i32* %71
%789 = sext i32 %788 to i64
%790 = getelementptr inbounds double, double* %787, i64 %789
%791 = load double, double* %790
%792 = load double*, double** %55
%793 = load i32, i32* %72
%794 = sext i32 %793 to i64
%795 = getelementptr inbounds double, double* %792, i64 %794
%796 = load double, double* %795
%797 = call double @llvm.fmuladd.f64(double %791, double %796, double %786)
%798 = load double*, double** %55
%799 = load i32, i32* %71
%800 = sext i32 %799 to i64
%801 = getelementptr inbounds double, double* %798, i64 %800
%802 = load double, double* %801
%803 = load double*, double** %56
%804 = load i32, i32* %72
%805 = sext i32 %804 to i64
%806 = getelementptr inbounds double, double* %803, i64 %805
%807 = load double, double* %806
%808 = call double @llvm.fmuladd.f64(double %802, double %807, double %797)
%809 = load double*, double** %47
%810 = load i32, i32* %78
%811 = load i32, i32* %72
%812 = load i32, i32* %59
%813 = mul nsw i32 %811, %812
%814 = add nsw i32 %810, %813
%815 = sext i32 %814 to i64
%816 = getelementptr inbounds double, double* %809, i64 %815
store double %808, double* %816
br label %817
817: ; preds = %777
%818 = load i32, i32* %72
%819 = add nsw i32 %818, 1
store i32 %819, i32* %72
br label %773
820: ; preds = %773
br label %821
821: ; preds = %820
%822 = load i32, i32* %71
%823 = add nsw i32 %822, 1
store i32 %823, i32* %71
br label %730
824: ; preds = %730
br label %825
825: ; preds = %824
%826 = load i32, i32* %73
%827 = add nsw i32 %826, 1
store i32 %827, i32* %73
br label %677
828: ; preds = %677
store i32 1, i32* %76
br label %829
829: ; preds = %1008, %828
%830 = load i32, i32* %76
%831 = load i32, i32* %100
%832 = icmp sle i32 %830, %831
br i1 %832, label %833, label %1011
833: ; preds = %829
%834 = load double, double* %101
store double %834, double* %107
%835 = load double, double* %101
store double %835, double* %106
%836 = load i32, i32* %30
store i32 %836, i32* %64
store i32 1, i32* %73
br label %837
837: ; preds = %881, %833
%838 = load i32, i32* %73
%839 = load i32, i32* %64
%840 = icmp sle i32 %838, %839
br i1 %840, label %841, label %884
841: ; preds = %837
%842 = load double*, double** %48
%843 = load i32, i32* %73
%844 = load i32, i32* %76
%845 = load i32, i32* %61
%846 = mul nsw i32 %844, %845
%847 = add nsw i32 %843, %846
%848 = sext i32 %847 to i64
%849 = getelementptr inbounds double, double* %842, i64 %848
%850 = load double, double* %849
%851 = load double, double* %107
%852 = fadd double %851, %850
store double %852, double* %107
%853 = load double*, double** %56
%854 = load i32, i32* %30
%855 = load i32, i32* %73
%856 = add nsw i32 %854, %855
%857 = sext i32 %856 to i64
%858 = getelementptr inbounds double, double* %853, i64 %857
%859 = load double, double* %858
%860 = load double*, double** %48
%861 = load i32, i32* %73
%862 = load i32, i32* %76
%863 = load i32, i32* %61
%864 = mul nsw i32 %862, %863
%865 = add nsw i32 %861, %864
%866 = sext i32 %865 to i64
%867 = getelementptr inbounds double, double* %860, i64 %866
%868 = load double, double* %867
%869 = fmul double %859, %868
%870 = load double*, double** %55
%871 = load i32, i32* %73
%872 = sext i32 %871 to i64
%873 = getelementptr inbounds double, double* %870, i64 %872
store double %869, double* %873
%874 = load double*, double** %55
%875 = load i32, i32* %73
%876 = sext i32 %875 to i64
%877 = getelementptr inbounds double, double* %874, i64 %876
%878 = load double, double* %877
%879 = load double, double* %106
%880 = fadd double %879, %878
store double %880, double* %106
br label %881
881: ; preds = %841
%882 = load i32, i32* %73
%883 = add nsw i32 %882, 1
store i32 %883, i32* %73
br label %837
884: ; preds = %837
store i32 1, i32* %72
br label %885
885: ; preds = %962, %884
%886 = load i32, i32* %72
%887 = load i32, i32* %29
%888 = icmp sle i32 %886, %887
br i1 %888, label %889, label %965
889: ; preds = %885
%890 = load double, double* %132
%891 = load double, double* %107
%892 = load double, double* %90
%893 = load double, double* %106
%894 = fmul double %892, %893
%895 = fneg double %894
%896 = call double @llvm.fmuladd.f64(double %890, double %891, double %895)
%897 = load double*, double** %43
%898 = load i32, i32* %72
%899 = sext i32 %898 to i64
%900 = getelementptr inbounds double, double* %897, i64 %899
%901 = load double, double* %900
%902 = fmul double %896, %901
store double %902, double* %87
store i32 1, i32* %73
br label %903
903: ; preds = %924, %889
%904 = load i32, i32* %73
%905 = load i32, i32* %30
%906 = icmp sle i32 %904, %905
br i1 %906, label %907, label %927
907: ; preds = %903
%908 = load double*, double** %55
%909 = load i32, i32* %73
%910 = sext i32 %909 to i64
%911 = getelementptr inbounds double, double* %908, i64 %910
%912 = load double, double* %911
%913 = load double*, double** %41
%914 = load i32, i32* %73
%915 = load i32, i32* %72
%916 = load i32, i32* %57
%917 = mul nsw i32 %915, %916
%918 = add nsw i32 %914, %917
%919 = sext i32 %918 to i64
%920 = getelementptr inbounds double, double* %913, i64 %919
%921 = load double, double* %920
%922 = load double, double* %87
%923 = call double @llvm.fmuladd.f64(double %912, double %921, double %922)
store double %923, double* %87
br label %924
924: ; preds = %907
%925 = load i32, i32* %73
%926 = add nsw i32 %925, 1
store i32 %926, i32* %73
br label %903
927: ; preds = %903
%928 = load double, double* %87
%929 = load double*, double** %56
%930 = load i32, i32* %72
%931 = sext i32 %930 to i64
%932 = getelementptr inbounds double, double* %929, i64 %931
store double %928, double* %932
store i32 1, i32* %73
br label %933
933: ; preds = %958, %927
%934 = load i32, i32* %73
%935 = load i32, i32* %30
%936 = icmp sle i32 %934, %935
br i1 %936, label %937, label %961
937: ; preds = %933
%938 = load double, double* %87
%939 = load double*, double** %48
%940 = load i32, i32* %73
%941 = load i32, i32* %76
%942 = load i32, i32* %61
%943 = mul nsw i32 %941, %942
%944 = add nsw i32 %940, %943
%945 = sext i32 %944 to i64
%946 = getelementptr inbounds double, double* %939, i64 %945
%947 = load double, double* %946
%948 = load double*, double** %47
%949 = load i32, i32* %73
%950 = load i32, i32* %72
%951 = load i32, i32* %59
%952 = mul nsw i32 %950, %951
%953 = add nsw i32 %949, %952
%954 = sext i32 %953 to i64
%955 = getelementptr inbounds double, double* %948, i64 %954
%956 = load double, double* %955
%957 = call double @llvm.fmuladd.f64(double %938, double %947, double %956)
store double %957, double* %955
br label %958
958: ; preds = %937
%959 = load i32, i32* %73
%960 = add nsw i32 %959, 1
store i32 %960, i32* %73
br label %933
961: ; preds = %933
br label %962
962: ; preds = %961
%963 = load i32, i32* %72
%964 = add nsw i32 %963, 1
store i32 %964, i32* %72
br label %885
965: ; preds = %885
store i32 1, i32* %71
br label %966
966: ; preds = %1004, %965
%967 = load i32, i32* %71
%968 = load i32, i32* %29
%969 = icmp sle i32 %967, %968
br i1 %969, label %970, label %1007
970: ; preds = %966
%971 = load i32, i32* %71
%972 = load i32, i32* %30
%973 = add nsw i32 %971, %972
store i32 %973, i32* %78
%974 = load double*, double** %56
%975 = load i32, i32* %71
%976 = sext i32 %975 to i64
%977 = getelementptr inbounds double, double* %974, i64 %976
%978 = load double, double* %977
store double %978, double* %94
store i32 1, i32* %72
br label %979
979: ; preds = %1000, %970
%980 = load i32, i32* %72
%981 = load i32, i32* %71
%982 = icmp sle i32 %980, %981
br i1 %982, label %983, label %1003
983: ; preds = %979
%984 = load double, double* %94
%985 = load double*, double** %56
%986 = load i32, i32* %72
%987 = sext i32 %986 to i64
%988 = getelementptr inbounds double, double* %985, i64 %987
%989 = load double, double* %988
%990 = load double*, double** %47
%991 = load i32, i32* %78
%992 = load i32, i32* %72
%993 = load i32, i32* %59
%994 = mul nsw i32 %992, %993
%995 = add nsw i32 %991, %994
%996 = sext i32 %995 to i64
%997 = getelementptr inbounds double, double* %990, i64 %996
%998 = load double, double* %997
%999 = call double @llvm.fmuladd.f64(double %984, double %989, double %998)
store double %999, double* %997
br label %1000
1000: ; preds = %983
%1001 = load i32, i32* %72
%1002 = add nsw i32 %1001, 1
store i32 %1002, i32* %72
br label %979
1003: ; preds = %979
br label %1004
1004: ; preds = %1003
%1005 = load i32, i32* %71
%1006 = add nsw i32 %1005, 1
store i32 %1006, i32* %71
br label %966
1007: ; preds = %966
br label %1008
1008: ; preds = %1007
%1009 = load i32, i32* %76
%1010 = add nsw i32 %1009, 1
store i32 %1010, i32* %76
br label %829
1011: ; preds = %829
store i32 0, i32* %74
store i32 1, i32* %72
br label %1012
1012: ; preds = %1139, %1011
%1013 = load i32, i32* %72
%1014 = load i32, i32* %29
%1015 = icmp sle i32 %1013, %1014
br i1 %1015, label %1016, label %1142
1016: ; preds = %1012
%1017 = load double, double* %90
%1018 = fneg double %1017
%1019 = load double, double* %128
%1020 = fmul double %1018, %1019
%1021 = load double*, double** %43
%1022 = load i32, i32* %72
%1023 = sext i32 %1022 to i64
%1024 = getelementptr inbounds double, double* %1021, i64 %1023
%1025 = load double, double* %1024
%1026 = fmul double %1020, %1025
%1027 = load double*, double** %56
%1028 = load i32, i32* %72
%1029 = sext i32 %1028 to i64
%1030 = getelementptr inbounds double, double* %1027, i64 %1029
store double %1026, double* %1030
%1031 = load i32, i32* %30
store i32 %1031, i32* %63
store i32 1, i32* %73
br label %1032
1032: ; preds = %1072, %1016
%1033 = load i32, i32* %73
%1034 = load i32, i32* %63
%1035 = icmp sle i32 %1033, %1034
br i1 %1035, label %1036, label %1075
1036: ; preds = %1032
%1037 = load double*, double** %46
%1038 = load i32, i32* %73
%1039 = sext i32 %1038 to i64
%1040 = getelementptr inbounds double, double* %1037, i64 %1039
%1041 = load double, double* %1040
%1042 = load double*, double** %41
%1043 = load i32, i32* %73
%1044 = load i32, i32* %72
%1045 = load i32, i32* %57
%1046 = mul nsw i32 %1044, %1045
%1047 = add nsw i32 %1043, %1046
%1048 = sext i32 %1047 to i64
%1049 = getelementptr inbounds double, double* %1042, i64 %1048
%1050 = load double, double* %1049
%1051 = load double*, double** %56
%1052 = load i32, i32* %72
%1053 = sext i32 %1052 to i64
%1054 = getelementptr inbounds double, double* %1051, i64 %1053
%1055 = load double, double* %1054
%1056 = call double @llvm.fmuladd.f64(double %1041, double %1050, double %1055)
store double %1056, double* %1054
%1057 = load double*, double** %43
%1058 = load i32, i32* %72
%1059 = sext i32 %1058 to i64
%1060 = getelementptr inbounds double, double* %1057, i64 %1059
%1061 = load double, double* %1060
%1062 = load double*, double** %41
%1063 = load i32, i32* %73
%1064 = load i32, i32* %72
%1065 = load i32, i32* %57
%1066 = mul nsw i32 %1064, %1065
%1067 = add nsw i32 %1063, %1066
%1068 = sext i32 %1067 to i64
%1069 = getelementptr inbounds double, double* %1062, i64 %1068
%1070 = load double, double* %1069
%1071 = fsub double %1070, %1061
store double %1071, double* %1069
br label %1072
1072: ; preds = %1036
%1073 = load i32, i32* %73
%1074 = add nsw i32 %1073, 1
store i32 %1074, i32* %73
br label %1032
1075: ; preds = %1032
store i32 1, i32* %71
br label %1076
1076: ; preds = %1135, %1075
%1077 = load i32, i32* %71
%1078 = load i32, i32* %72
%1079 = icmp sle i32 %1077, %1078
br i1 %1079, label %1080, label %1138
1080: ; preds = %1076
%1081 = load i32, i32* %74
%1082 = add nsw i32 %1081, 1
store i32 %1082, i32* %74
%1083 = load double*, double** %45
%1084 = load i32, i32* %74
%1085 = sext i32 %1084 to i64
%1086 = getelementptr inbounds double, double* %1083, i64 %1085
%1087 = load double, double* %1086
%1088 = load double*, double** %56
%1089 = load i32, i32* %71
%1090 = sext i32 %1089 to i64
%1091 = getelementptr inbounds double, double* %1088, i64 %1090
%1092 = load double, double* %1091
%1093 = load double*, double** %43
%1094 = load i32, i32* %72
%1095 = sext i32 %1094 to i64
%1096 = getelementptr inbounds double, double* %1093, i64 %1095
%1097 = load double, double* %1096
%1098 = call double @llvm.fmuladd.f64(double %1092, double %1097, double %1087)
%1099 = load double*, double** %43
%1100 = load i32, i32* %71
%1101 = sext i32 %1100 to i64
%1102 = getelementptr inbounds double, double* %1099, i64 %1101
%1103 = load double, double* %1102
%1104 = load double*, double** %56
%1105 = load i32, i32* %72
%1106 = sext i32 %1105 to i64
%1107 = getelementptr inbounds double, double* %1104, i64 %1106
%1108 = load double, double* %1107
%1109 = call double @llvm.fmuladd.f64(double %1103, double %1108, double %1098)
%1110 = load double*, double** %45
%1111 = load i32, i32* %74
%1112 = sext i32 %1111 to i64
%1113 = getelementptr inbounds double, double* %1110, i64 %1112
store double %1109, double* %1113
%1114 = load double*, double** %47
%1115 = load i32, i32* %30
%1116 = load i32, i32* %72
%1117 = add nsw i32 %1115, %1116
%1118 = load i32, i32* %71
%1119 = load i32, i32* %59
%1120 = mul nsw i32 %1118, %1119
%1121 = add nsw i32 %1117, %1120
%1122 = sext i32 %1121 to i64
%1123 = getelementptr inbounds double, double* %1114, i64 %1122
%1124 = load double, double* %1123
%1125 = load double*, double** %47
%1126 = load i32, i32* %30
%1127 = load i32, i32* %71
%1128 = add nsw i32 %1126, %1127
%1129 = load i32, i32* %72
%1130 = load i32, i32* %59
%1131 = mul nsw i32 %1129, %1130
%1132 = add nsw i32 %1128, %1131
%1133 = sext i32 %1132 to i64
%1134 = getelementptr inbounds double, double* %1125, i64 %1133
store double %1124, double* %1134
br label %1135
1135: ; preds = %1080
%1136 = load i32, i32* %71
%1137 = add nsw i32 %1136, 1
store i32 %1137, i32* %71
br label %1076
1138: ; preds = %1076
br label %1139
1139: ; preds = %1138
%1140 = load i32, i32* %72
%1141 = add nsw i32 %1140, 1
store i32 %1141, i32* %72
br label %1012
1142: ; preds = %1012
store i32 1, i32* %71
br label %1143
1143: ; preds = %1197, %1142
%1144 = load i32, i32* %71
%1145 = load i32, i32* %29
%1146 = icmp sle i32 %1144, %1145
br i1 %1146, label %1147, label %1200
1147: ; preds = %1143
%1148 = load double*, double** %43
%1149 = load i32, i32* %71
%1150 = sext i32 %1149 to i64
%1151 = getelementptr inbounds double, double* %1148, i64 %1150
%1152 = load double, double* %1151
%1153 = load double*, double** %40
%1154 = load i32, i32* %71
%1155 = sext i32 %1154 to i64
%1156 = getelementptr inbounds double, double* %1153, i64 %1155
%1157 = load double, double* %1156
%1158 = fadd double %1157, %1152
store double %1158, double* %1156
%1159 = load double*, double** %43
%1160 = load i32, i32* %71
%1161 = sext i32 %1160 to i64
%1162 = getelementptr inbounds double, double* %1159, i64 %1161
%1163 = load double, double* %1162
%1164 = load double*, double** %52
%1165 = load i32, i32* %71
%1166 = sext i32 %1165 to i64
%1167 = getelementptr inbounds double, double* %1164, i64 %1166
%1168 = load double, double* %1167
%1169 = fsub double %1168, %1163
store double %1169, double* %1167
%1170 = load double*, double** %43
%1171 = load i32, i32* %71
%1172 = sext i32 %1171 to i64
%1173 = getelementptr inbounds double, double* %1170, i64 %1172
%1174 = load double, double* %1173
%1175 = load double*, double** %50
%1176 = load i32, i32* %71
%1177 = sext i32 %1176 to i64
%1178 = getelementptr inbounds double, double* %1175, i64 %1177
%1179 = load double, double* %1178
%1180 = fsub double %1179, %1174
store double %1180, double* %1178
%1181 = load double*, double** %43
%1182 = load i32, i32* %71
%1183 = sext i32 %1182 to i64
%1184 = getelementptr inbounds double, double* %1181, i64 %1183
%1185 = load double, double* %1184
%1186 = load double*, double** %51
%1187 = load i32, i32* %71
%1188 = sext i32 %1187 to i64
%1189 = getelementptr inbounds double, double* %1186, i64 %1188
%1190 = load double, double* %1189
%1191 = fsub double %1190, %1185
store double %1191, double* %1189
%1192 = load double, double* %101
%1193 = load double*, double** %43
%1194 = load i32, i32* %71
%1195 = sext i32 %1194 to i64
%1196 = getelementptr inbounds double, double* %1193, i64 %1195
store double %1192, double* %1196
br label %1197
1197: ; preds = %1147
%1198 = load i32, i32* %71
%1199 = add nsw i32 %1198, 1
store i32 %1199, i32* %71
br label %1143
1200: ; preds = %1143
%1201 = load double, double* %101
store double %1201, double* %140
br label %1202
1202: ; preds = %1200, %668
%1203 = load i32, i32* %139
%1204 = icmp eq i32 %1203, 0
br i1 %1204, label %1205, label %1206
1205: ; preds = %1202
br label %1327
1206: ; preds = %1202
br label %1391
1207: ; preds = %1929, %1762
%1208 = load i32, i32* %75
store i32 %1208, i32* %121
%1209 = load i32, i32* %99
store i32 %1209, i32* %112
%1210 = load i32, i32* %29
%1211 = load i32, i32* %30
%1212 = load double*, double** %32
%1213 = getelementptr inbounds double, double* %1212, i64 1
%1214 = load double*, double** %33
%1215 = getelementptr inbounds double, double* %1214, i64 1
%1216 = load double (i8*, i32, double*)*, double (i8*, i32, double*)** %34
%1217 = load i8*, i8** %35
%1218 = load i32, i32* %38
%1219 = load i32, i32* %39
%1220 = load double*, double** %40
%1221 = getelementptr inbounds double, double* %1220, i64 1
%1222 = load double*, double** %41
%1223 = load i32, i32* %58
%1224 = sext i32 %1223 to i64
%1225 = getelementptr inbounds double, double* %1222, i64 %1224
%1226 = load double*, double** %42
%1227 = getelementptr inbounds double, double* %1226, i64 1
%1228 = load double*, double** %43
%1229 = getelementptr inbounds double, double* %1228, i64 1
%1230 = load double*, double** %44
%1231 = getelementptr inbounds double, double* %1230, i64 1
%1232 = load double*, double** %45
%1233 = getelementptr inbounds double, double* %1232, i64 1
%1234 = load double*, double** %46
%1235 = getelementptr inbounds double, double* %1234, i64 1
%1236 = load double*, double** %47
%1237 = load i32, i32* %60
%1238 = sext i32 %1237 to i64
%1239 = getelementptr inbounds double, double* %1236, i64 %1238
%1240 = load double*, double** %48
%1241 = load i32, i32* %62
%1242 = sext i32 %1241 to i64
%1243 = getelementptr inbounds double, double* %1240, i64 %1242
%1244 = load i32, i32* %49
%1245 = load double*, double** %50
%1246 = getelementptr inbounds double, double* %1245, i64 1
%1247 = load double*, double** %51
%1248 = getelementptr inbounds double, double* %1247, i64 1
%1249 = load double, double* %114
%1250 = load double*, double** %55
%1251 = getelementptr inbounds double, double* %1250, i64 1
%1252 = load double*, double** %56
%1253 = getelementptr inbounds double, double* %1252, i64 1
%1254 = load double*, double** %56
%1255 = load i32, i32* %29
%1256 = load i32, i32* %81
%1257 = add nsw i32 %1255, %1256
%1258 = sext i32 %1257 to i64
%1259 = getelementptr inbounds double, double* %1254, i64 %1258
%1260 = load double*, double** %56
%1261 = load i32, i32* %49
%1262 = load i32, i32* %81
%1263 = add nsw i32 %1261, %1262
%1264 = sext i32 %1263 to i64
%1265 = getelementptr inbounds double, double* %1260, i64 %1264
%1266 = load double, double* %101
store double %1266, double* %140
%1267 = load i32, i32* %99
%1268 = load i32, i32* %112
%1269 = icmp ne i32 %1267, %1268
br i1 %1269, label %1270, label %1305
1270: ; preds = %1207
store i32 1, i32* %71
br label %1271
1271: ; preds = %1301, %1270
%1272 = load i32, i32* %71
%1273 = load i32, i32* %29
%1274 = icmp sle i32 %1272, %1273
br i1 %1274, label %1275, label %1304
1275: ; preds = %1271
%1276 = load double*, double** %41
%1277 = load i32, i32* %99
%1278 = load i32, i32* %71
%1279 = load i32, i32* %57
%1280 = mul nsw i32 %1278, %1279
%1281 = add nsw i32 %1277, %1280
%1282 = sext i32 %1281 to i64
%1283 = getelementptr inbounds double, double* %1276, i64 %1282
%1284 = load double, double* %1283
%1285 = load double*, double** %43
%1286 = load i32, i32* %71
%1287 = sext i32 %1286 to i64
%1288 = getelementptr inbounds double, double* %1285, i64 %1287
store double %1284, double* %1288
%1289 = load double*, double** %43
%1290 = load i32, i32* %71
%1291 = sext i32 %1290 to i64
%1292 = getelementptr inbounds double, double* %1289, i64 %1291
%1293 = load double, double* %1292
%1294 = load double*, double** %43
%1295 = load i32, i32* %71
%1296 = sext i32 %1295 to i64
%1297 = getelementptr inbounds double, double* %1294, i64 %1296
%1298 = load double, double* %1297
%1299 = load double, double* %140
%1300 = call double @llvm.fmuladd.f64(double %1293, double %1298, double %1299)
store double %1300, double* %140
br label %1301
1301: ; preds = %1275
%1302 = load i32, i32* %71
%1303 = add nsw i32 %1302, 1
store i32 %1303, i32* %71
br label %1271
1304: ; preds = %1271
br label %1305
1305: ; preds = %1304, %1207
%1306 = load i32, i32* %75
%1307 = icmp slt i32 %1306, 0
br i1 %1307, label %1308, label %1315
1308: ; preds = %1305
%1309 = load i32, i32* %39
store i32 %1309, i32* %75
%1310 = load i32, i32* %38
%1311 = icmp sgt i32 %1310, 0
br i1 %1311, label %1312, label %1314
1312: ; preds = %1308
%1313 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str, i64 0, i64 0))
br label %1314
1314: ; preds = %1312, %1308
br label %3476
1315: ; preds = %1305
%1316 = load i32, i32* %75
store i32 %1316, i32* %120
%1317 = load i32, i32* %121
%1318 = load i32, i32* %75
%1319 = icmp slt i32 %1317, %1318
br i1 %1319, label %1320, label %1322
1320: ; preds = %1315
%1321 = load i32, i32* %75
store i32 %1321, i32* %121
br label %307
1322: ; preds = %1315
%1323 = load i32, i32* %139
%1324 = icmp sgt i32 %1323, 0
br i1 %1324, label %1325, label %1326
1325: ; preds = %1322
br label %447
1326: ; preds = %1322
br label %1327
1327: ; preds = %1326, %1205
%1328 = load i32, i32* %29
%1329 = load i32, i32* %30
%1330 = load double*, double** %41
%1331 = load i32, i32* %58
%1332 = sext i32 %1331 to i64
%1333 = getelementptr inbounds double, double* %1330, i64 %1332
%1334 = load double*, double** %43
%1335 = getelementptr inbounds double, double* %1334, i64 1
%1336 = load double*, double** %47
%1337 = load i32, i32* %60
%1338 = sext i32 %1337 to i64
%1339 = getelementptr inbounds double, double* %1336, i64 %1338
%1340 = load double*, double** %48
%1341 = load i32, i32* %62
%1342 = sext i32 %1341 to i64
%1343 = getelementptr inbounds double, double* %1340, i64 %1342
%1344 = load i32, i32* %49
%1345 = load double*, double** %50
%1346 = getelementptr inbounds double, double* %1345, i64 1
%1347 = load double*, double** %51
%1348 = getelementptr inbounds double, double* %1347, i64 1
%1349 = load i32, i32* %99
%1350 = load i32, i32* %93
%1351 = load double, double* %115
%1352 = load double*, double** %52
%1353 = getelementptr inbounds double, double* %1352, i64 1
%1354 = load double*, double** %53
%1355 = getelementptr inbounds double, double* %1354, i64 1
%1356 = load double*, double** %56
%1357 = getelementptr inbounds double, double* %1356, i64 1
%1358 = load double*, double** %56
%1359 = load i32, i32* %81
%1360 = sext i32 %1359 to i64
%1361 = getelementptr inbounds double, double* %1358, i64 %1360
%1362 = load double*, double** %56
%1363 = load i32, i32* %49
%1364 = add nsw i32 %1363, 1
%1365 = sext i32 %1364 to i64
%1366 = getelementptr inbounds double, double* %1362, i64 %1365
store i32 1, i32* %71
br label %1367
1367: ; preds = %1387, %1327
%1368 = load i32, i32* %71
%1369 = load i32, i32* %29
%1370 = icmp sle i32 %1368, %1369
br i1 %1370, label %1371, label %1390
1371: ; preds = %1367
%1372 = load double*, double** %52
%1373 = load i32, i32* %71
%1374 = sext i32 %1373 to i64
%1375 = getelementptr inbounds double, double* %1372, i64 %1374
%1376 = load double, double* %1375
%1377 = load double*, double** %43
%1378 = load i32, i32* %71
%1379 = sext i32 %1378 to i64
%1380 = getelementptr inbounds double, double* %1377, i64 %1379
%1381 = load double, double* %1380
%1382 = fsub double %1376, %1381
%1383 = load double*, double** %54
%1384 = load i32, i32* %71
%1385 = sext i32 %1384 to i64
%1386 = getelementptr inbounds double, double* %1383, i64 %1385
store double %1382, double* %1386
br label %1387
1387: ; preds = %1371
%1388 = load i32, i32* %71
%1389 = add nsw i32 %1388, 1
store i32 %1389, i32* %71
br label %1367
1390: ; preds = %1367
br label %1391
1391: ; preds = %1740, %1390, %1206
store i32 1, i32* %73
br label %1392
1392: ; preds = %1480, %1391
%1393 = load i32, i32* %73
%1394 = load i32, i32* %30
%1395 = icmp sle i32 %1393, %1394
br i1 %1395, label %1396, label %1483
1396: ; preds = %1392
%1397 = load double, double* %101
store double %1397, double* %95
%1398 = load double, double* %101
store double %1398, double* %96
%1399 = load double, double* %101
store double %1399, double* %87
%1400 = load i32, i32* %29
store i32 %1400, i32* %64
store i32 1, i32* %72
br label %1401
1401: ; preds = %1454, %1396
%1402 = load i32, i32* %72
%1403 = load i32, i32* %64
%1404 = icmp sle i32 %1402, %1403
br i1 %1404, label %1405, label %1457
1405: ; preds = %1401
%1406 = load double*, double** %41
%1407 = load i32, i32* %73
%1408 = load i32, i32* %72
%1409 = load i32, i32* %57
%1410 = mul nsw i32 %1408, %1409
%1411 = add nsw i32 %1407, %1410
%1412 = sext i32 %1411 to i64
%1413 = getelementptr inbounds double, double* %1406, i64 %1412
%1414 = load double, double* %1413
%1415 = load double*, double** %54
%1416 = load i32, i32* %72
%1417 = sext i32 %1416 to i64
%1418 = getelementptr inbounds double, double* %1415, i64 %1417
%1419 = load double, double* %1418
%1420 = load double, double* %95
%1421 = call double @llvm.fmuladd.f64(double %1414, double %1419, double %1420)
store double %1421, double* %95
%1422 = load double*, double** %41
%1423 = load i32, i32* %73
%1424 = load i32, i32* %72
%1425 = load i32, i32* %57
%1426 = mul nsw i32 %1424, %1425
%1427 = add nsw i32 %1423, %1426
%1428 = sext i32 %1427 to i64
%1429 = getelementptr inbounds double, double* %1422, i64 %1428
%1430 = load double, double* %1429
%1431 = load double*, double** %43
%1432 = load i32, i32* %72
%1433 = sext i32 %1432 to i64
%1434 = getelementptr inbounds double, double* %1431, i64 %1433
%1435 = load double, double* %1434
%1436 = load double, double* %96
%1437 = call double @llvm.fmuladd.f64(double %1430, double %1435, double %1436)
store double %1437, double* %96
%1438 = load double*, double** %47
%1439 = load i32, i32* %73
%1440 = load i32, i32* %72
%1441 = load i32, i32* %59
%1442 = mul nsw i32 %1440, %1441
%1443 = add nsw i32 %1439, %1442
%1444 = sext i32 %1443 to i64
%1445 = getelementptr inbounds double, double* %1438, i64 %1444
%1446 = load double, double* %1445
%1447 = load double*, double** %54
%1448 = load i32, i32* %72
%1449 = sext i32 %1448 to i64
%1450 = getelementptr inbounds double, double* %1447, i64 %1449
%1451 = load double, double* %1450
%1452 = load double, double* %87
%1453 = call double @llvm.fmuladd.f64(double %1446, double %1451, double %1452)
store double %1453, double* %87
br label %1454
1454: ; preds = %1405
%1455 = load i32, i32* %72
%1456 = add nsw i32 %1455, 1
store i32 %1456, i32* %72
br label %1401
1457: ; preds = %1401
%1458 = load double, double* %95
%1459 = load double, double* %90
%1460 = load double, double* %95
%1461 = load double, double* %96
%1462 = call double @llvm.fmuladd.f64(double %1459, double %1460, double %1461)
%1463 = fmul double %1458, %1462
%1464 = load double*, double** %56
%1465 = load i32, i32* %73
%1466 = sext i32 %1465 to i64
%1467 = getelementptr inbounds double, double* %1464, i64 %1466
store double %1463, double* %1467
%1468 = load double, double* %87
%1469 = load double*, double** %55
%1470 = load i32, i32* %73
%1471 = sext i32 %1470 to i64
%1472 = getelementptr inbounds double, double* %1469, i64 %1471
store double %1468, double* %1472
%1473 = load double, double* %95
%1474 = load double*, double** %56
%1475 = load i32, i32* %30
%1476 = load i32, i32* %73
%1477 = add nsw i32 %1475, %1476
%1478 = sext i32 %1477 to i64
%1479 = getelementptr inbounds double, double* %1474, i64 %1478
store double %1473, double* %1479
br label %1480
1480: ; preds = %1457
%1481 = load i32, i32* %73
%1482 = add nsw i32 %1481, 1
store i32 %1482, i32* %73
br label %1392
1483: ; preds = %1392
%1484 = load double, double* %101
store double %1484, double* %91
store i32 1, i32* %76
br label %1485
1485: ; preds = %1546, %1483
%1486 = load i32, i32* %76
%1487 = load i32, i32* %100
%1488 = icmp sle i32 %1486, %1487
br i1 %1488, label %1489, label %1549
1489: ; preds = %1485
%1490 = load double, double* %101
store double %1490, double* %87
store i32 1, i32* %73
br label %1491
1491: ; preds = %1512, %1489
%1492 = load i32, i32* %73
%1493 = load i32, i32* %30
%1494 = icmp sle i32 %1492, %1493
br i1 %1494, label %1495, label %1515
1495: ; preds = %1491
%1496 = load double*, double** %48
%1497 = load i32, i32* %73
%1498 = load i32, i32* %76
%1499 = load i32, i32* %61
%1500 = mul nsw i32 %1498, %1499
%1501 = add nsw i32 %1497, %1500
%1502 = sext i32 %1501 to i64
%1503 = getelementptr inbounds double, double* %1496, i64 %1502
%1504 = load double, double* %1503
%1505 = load double*, double** %56
%1506 = load i32, i32* %73
%1507 = sext i32 %1506 to i64
%1508 = getelementptr inbounds double, double* %1505, i64 %1507
%1509 = load double, double* %1508
%1510 = load double, double* %87
%1511 = call double @llvm.fmuladd.f64(double %1504, double %1509, double %1510)
store double %1511, double* %87
br label %1512
1512: ; preds = %1495
%1513 = load i32, i32* %73
%1514 = add nsw i32 %1513, 1
store i32 %1514, i32* %73
br label %1491
1515: ; preds = %1491
%1516 = load double, double* %87
%1517 = load double, double* %87
%1518 = load double, double* %91
%1519 = fneg double %1516
%1520 = call double @llvm.fmuladd.f64(double %1519, double %1517, double %1518)
store double %1520, double* %91
store i32 1, i32* %73
br label %1521
1521: ; preds = %1542, %1515
%1522 = load i32, i32* %73
%1523 = load i32, i32* %30
%1524 = icmp sle i32 %1522, %1523
br i1 %1524, label %1525, label %1545
1525: ; preds = %1521
%1526 = load double, double* %87
%1527 = load double*, double** %48
%1528 = load i32, i32* %73
%1529 = load i32, i32* %76
%1530 = load i32, i32* %61
%1531 = mul nsw i32 %1529, %1530
%1532 = add nsw i32 %1528, %1531
%1533 = sext i32 %1532 to i64
%1534 = getelementptr inbounds double, double* %1527, i64 %1533
%1535 = load double, double* %1534
%1536 = load double*, double** %55
%1537 = load i32, i32* %73
%1538 = sext i32 %1537 to i64
%1539 = getelementptr inbounds double, double* %1536, i64 %1538
%1540 = load double, double* %1539
%1541 = call double @llvm.fmuladd.f64(double %1526, double %1535, double %1540)
store double %1541, double* %1539
br label %1542
1542: ; preds = %1525
%1543 = load i32, i32* %73
%1544 = add nsw i32 %1543, 1
store i32 %1544, i32* %73
br label %1521
1545: ; preds = %1521
br label %1546
1546: ; preds = %1545
%1547 = load i32, i32* %76
%1548 = add nsw i32 %1547, 1
store i32 %1548, i32* %76
br label %1485
1549: ; preds = %1485
%1550 = load double, double* %101
store double %1550, double* %85
%1551 = load double, double* %101
store double %1551, double* %97
%1552 = load double, double* %101
store double %1552, double* %80
store i32 1, i32* %72
br label %1553
1553: ; preds = %1654, %1549
%1554 = load i32, i32* %72
%1555 = load i32, i32* %29
%1556 = icmp sle i32 %1554, %1555
br i1 %1556, label %1557, label %1657
1557: ; preds = %1553
%1558 = load double*, double** %54
%1559 = load i32, i32* %72
%1560 = sext i32 %1559 to i64
%1561 = getelementptr inbounds double, double* %1558, i64 %1560
%1562 = load double, double* %1561
store double %1562, double* %66
%1563 = load double, double* %66
%1564 = load double, double* %66
%1565 = load double, double* %85
%1566 = call double @llvm.fmuladd.f64(double %1563, double %1564, double %1565)
store double %1566, double* %85
%1567 = load double, double* %101
store double %1567, double* %87
store i32 1, i32* %73
br label %1568
1568: ; preds = %1589, %1557
%1569 = load i32, i32* %73
%1570 = load i32, i32* %30
%1571 = icmp sle i32 %1569, %1570
br i1 %1571, label %1572, label %1592
1572: ; preds = %1568
%1573 = load double*, double** %56
%1574 = load i32, i32* %73
%1575 = sext i32 %1574 to i64
%1576 = getelementptr inbounds double, double* %1573, i64 %1575
%1577 = load double, double* %1576
%1578 = load double*, double** %47
%1579 = load i32, i32* %73
%1580 = load i32, i32* %72
%1581 = load i32, i32* %59
%1582 = mul nsw i32 %1580, %1581
%1583 = add nsw i32 %1579, %1582
%1584 = sext i32 %1583 to i64
%1585 = getelementptr inbounds double, double* %1578, i64 %1584
%1586 = load double, double* %1585
%1587 = load double, double* %87
%1588 = call double @llvm.fmuladd.f64(double %1577, double %1586, double %1587)
store double %1588, double* %87
br label %1589
1589: ; preds = %1572
%1590 = load i32, i32* %73
%1591 = add nsw i32 %1590, 1
store i32 %1591, i32* %73
br label %1568
1592: ; preds = %1568
%1593 = load double, double* %87
%1594 = load double*, double** %54
%1595 = load i32, i32* %72
%1596 = sext i32 %1595 to i64
%1597 = getelementptr inbounds double, double* %1594, i64 %1596
%1598 = load double, double* %1597
%1599 = load double, double* %97
%1600 = call double @llvm.fmuladd.f64(double %1593, double %1598, double %1599)
store double %1600, double* %97
%1601 = load i32, i32* %30
%1602 = load i32, i32* %72
%1603 = add nsw i32 %1601, %1602
store i32 %1603, i32* %79
store i32 1, i32* %71
br label %1604
1604: ; preds = %1625, %1592
%1605 = load i32, i32* %71
%1606 = load i32, i32* %29
%1607 = icmp sle i32 %1605, %1606
br i1 %1607, label %1608, label %1628
1608: ; preds = %1604
%1609 = load double*, double** %47
%1610 = load i32, i32* %79
%1611 = load i32, i32* %71
%1612 = load i32, i32* %59
%1613 = mul nsw i32 %1611, %1612
%1614 = add nsw i32 %1610, %1613
%1615 = sext i32 %1614 to i64
%1616 = getelementptr inbounds double, double* %1609, i64 %1615
%1617 = load double, double* %1616
%1618 = load double*, double** %54
%1619 = load i32, i32* %71
%1620 = sext i32 %1619 to i64
%1621 = getelementptr inbounds double, double* %1618, i64 %1620
%1622 = load double, double* %1621
%1623 = load double, double* %87
%1624 = call double @llvm.fmuladd.f64(double %1617, double %1622, double %1623)
store double %1624, double* %87
br label %1625
1625: ; preds = %1608
%1626 = load i32, i32* %71
%1627 = add nsw i32 %1626, 1
store i32 %1627, i32* %71
br label %1604
1628: ; preds = %1604
%1629 = load double, double* %87
%1630 = load double*, double** %55
%1631 = load i32, i32* %79
%1632 = sext i32 %1631 to i64
%1633 = getelementptr inbounds double, double* %1630, i64 %1632
store double %1629, double* %1633
%1634 = load double, double* %87
%1635 = load double*, double** %54
%1636 = load i32, i32* %72
%1637 = sext i32 %1636 to i64
%1638 = getelementptr inbounds double, double* %1635, i64 %1637
%1639 = load double, double* %1638
%1640 = load double, double* %97
%1641 = call double @llvm.fmuladd.f64(double %1634, double %1639, double %1640)
store double %1641, double* %97
%1642 = load double*, double** %54
%1643 = load i32, i32* %72
%1644 = sext i32 %1643 to i64
%1645 = getelementptr inbounds double, double* %1642, i64 %1644
%1646 = load double, double* %1645
%1647 = load double*, double** %43
%1648 = load i32, i32* %72
%1649 = sext i32 %1648 to i64
%1650 = getelementptr inbounds double, double* %1647, i64 %1649
%1651 = load double, double* %1650
%1652 = load double, double* %80
%1653 = call double @llvm.fmuladd.f64(double %1646, double %1651, double %1652)
store double %1653, double* %80
br label %1654
1654: ; preds = %1628
%1655 = load i32, i32* %72
%1656 = add nsw i32 %1655, 1
store i32 %1656, i32* %72
br label %1553
1657: ; preds = %1553
%1658 = load double, double* %80
%1659 = load double, double* %80
%1660 = load double, double* %85
%1661 = load double, double* %140
%1662 = load double, double* %80
%1663 = fadd double %1661, %1662
%1664 = load double, double* %80
%1665 = fadd double %1663, %1664
%1666 = load double, double* %90
%1667 = load double, double* %85
%1668 = call double @llvm.fmuladd.f64(double %1666, double %1667, double %1665)
%1669 = fmul double %1660, %1668
%1670 = call double @llvm.fmuladd.f64(double %1658, double %1659, double %1669)
%1671 = load double, double* %91
%1672 = fadd double %1670, %1671
%1673 = load double, double* %97
%1674 = fsub double %1672, %1673
store double %1674, double* %91
%1675 = load double, double* %83
%1676 = load double*, double** %55
%1677 = load i32, i32* %99
%1678 = sext i32 %1677 to i64
%1679 = getelementptr inbounds double, double* %1676, i64 %1678
%1680 = load double, double* %1679
%1681 = fadd double %1680, %1675
store double %1681, double* %1679
%1682 = load i32, i32* %139
%1683 = icmp eq i32 %1682, 0
br i1 %1683, label %1684, label %1770
1684: ; preds = %1657
%1685 = load double*, double** %55
%1686 = load i32, i32* %93
%1687 = sext i32 %1686 to i64
%1688 = getelementptr inbounds double, double* %1685, i64 %1687
%1689 = load double, double* %1688
%1690 = load double*, double** %55
%1691 = load i32, i32* %93
%1692 = sext i32 %1691 to i64
%1693 = getelementptr inbounds double, double* %1690, i64 %1692
%1694 = load double, double* %1693
%1695 = load double, double* %113
%1696 = load double, double* %91
%1697 = fmul double %1695, %1696
%1698 = call double @llvm.fmuladd.f64(double %1689, double %1694, double %1697)
store double %1698, double* %116
%1699 = load double, double* %116
%1700 = load double, double* %131
%1701 = fcmp olt double %1699, %1700
br i1 %1701, label %1702, label %1742
1702: ; preds = %1684
%1703 = load double, double* %131
%1704 = load double, double* %101
%1705 = fcmp ogt double %1703, %1704
br i1 %1705, label %1706, label %1742
1706: ; preds = %1702
%1707 = load i32, i32* %29
store i32 %1707, i32* %64
store i32 1, i32* %71
br label %1708
1708: ; preds = %1737, %1706
%1709 = load i32, i32* %71
%1710 = load i32, i32* %64
%1711 = icmp sle i32 %1709, %1710
br i1 %1711, label %1712, label %1740
1712: ; preds = %1708
%1713 = load double*, double** %53
%1714 = load i32, i32* %71
%1715 = sext i32 %1714 to i64
%1716 = getelementptr inbounds double, double* %1713, i64 %1715
%1717 = load double, double* %1716
%1718 = load double*, double** %52
%1719 = load i32, i32* %71
%1720 = sext i32 %1719 to i64
%1721 = getelementptr inbounds double, double* %1718, i64 %1720
store double %1717, double* %1721
%1722 = load double*, double** %52
%1723 = load i32, i32* %71
%1724 = sext i32 %1723 to i64
%1725 = getelementptr inbounds double, double* %1722, i64 %1724
%1726 = load double, double* %1725
%1727 = load double*, double** %43
%1728 = load i32, i32* %71
%1729 = sext i32 %1728 to i64
%1730 = getelementptr inbounds double, double* %1727, i64 %1729
%1731 = load double, double* %1730
%1732 = fsub double %1726, %1731
%1733 = load double*, double** %54
%1734 = load i32, i32* %71
%1735 = sext i32 %1734 to i64
%1736 = getelementptr inbounds double, double* %1733, i64 %1735
store double %1732, double* %1736
br label %1737
1737: ; preds = %1712
%1738 = load i32, i32* %71
%1739 = add nsw i32 %1738, 1
store i32 %1739, i32* %71
br label %1708
1740: ; preds = %1708
%1741 = load double, double* %101
store double %1741, double* %131
br label %1391
1742: ; preds = %1702, %1684
%1743 = load double, double* %116
%1744 = load double, double* %90
%1745 = load double*, double** %55
%1746 = load i32, i32* %93
%1747 = sext i32 %1746 to i64
%1748 = getelementptr inbounds double, double* %1745, i64 %1747
%1749 = load double, double* %1748
%1750 = load double*, double** %55
%1751 = load i32, i32* %93
%1752 = sext i32 %1751 to i64
%1753 = getelementptr inbounds double, double* %1750, i64 %1752
%1754 = load double, double* %1753
%1755 = fmul double %1749, %1754
%1756 = fmul double %1744, %1755
%1757 = fcmp ole double %1743, %1756
br i1 %1757, label %1758, label %1769
1758: ; preds = %1742
%1759 = load i32, i32* %75
%1760 = load i32, i32* %120
%1761 = icmp sgt i32 %1759, %1760
br i1 %1761, label %1762, label %1763
1762: ; preds = %1758
br label %1207
1763: ; preds = %1758
%1764 = load i32, i32* %38
%1765 = icmp sgt i32 %1764, 0
br i1 %1765, label %1766, label %1768
1766: ; preds = %1763
%1767 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.1, i64 0, i64 0))
br label %1768
1768: ; preds = %1766, %1763
br label %3476
1769: ; preds = %1742
br label %1937
1770: ; preds = %1657
%1771 = load double, double* %114
%1772 = load double, double* %114
%1773 = fmul double %1771, %1772
store double %1773, double* %119
%1774 = load double, double* %101
store double %1774, double* %129
%1775 = load double, double* %101
store double %1775, double* %133
store i32 0, i32* %93
store i32 1, i32* %73
br label %1776
1776: ; preds = %1916, %1770
%1777 = load i32, i32* %73
%1778 = load i32, i32* %30
%1779 = icmp sle i32 %1777, %1778
br i1 %1779, label %1780, label %1919
1780: ; preds = %1776
%1781 = load i32, i32* %73
%1782 = load i32, i32* %99
%1783 = icmp eq i32 %1781, %1782
br i1 %1783, label %1784, label %1785
1784: ; preds = %1780
br label %1915
1785: ; preds = %1780
%1786 = load double, double* %101
store double %1786, double* %111
store i32 1, i32* %76
br label %1787
1787: ; preds = %1812, %1785
%1788 = load i32, i32* %76
%1789 = load i32, i32* %100
%1790 = icmp sle i32 %1788, %1789
br i1 %1790, label %1791, label %1815
1791: ; preds = %1787
%1792 = load double*, double** %48
%1793 = load i32, i32* %73
%1794 = load i32, i32* %76
%1795 = load i32, i32* %61
%1796 = mul nsw i32 %1794, %1795
%1797 = add nsw i32 %1793, %1796
%1798 = sext i32 %1797 to i64
%1799 = getelementptr inbounds double, double* %1792, i64 %1798
%1800 = load double, double* %1799
%1801 = load double*, double** %48
%1802 = load i32, i32* %73
%1803 = load i32, i32* %76
%1804 = load i32, i32* %61
%1805 = mul nsw i32 %1803, %1804
%1806 = add nsw i32 %1802, %1805
%1807 = sext i32 %1806 to i64
%1808 = getelementptr inbounds double, double* %1801, i64 %1807
%1809 = load double, double* %1808
%1810 = load double, double* %111
%1811 = call double @llvm.fmuladd.f64(double %1800, double %1809, double %1810)
store double %1811, double* %111
br label %1812
1812: ; preds = %1791
%1813 = load i32, i32* %76
%1814 = add nsw i32 %1813, 1
store i32 %1814, i32* %76
br label %1787
1815: ; preds = %1787
%1816 = load double, double* %91
%1817 = load double, double* %111
%1818 = load double*, double** %55
%1819 = load i32, i32* %73
%1820 = sext i32 %1819 to i64
%1821 = getelementptr inbounds double, double* %1818, i64 %1820
%1822 = load double, double* %1821
%1823 = load double*, double** %55
%1824 = load i32, i32* %73
%1825 = sext i32 %1824 to i64
%1826 = getelementptr inbounds double, double* %1823, i64 %1825
%1827 = load double, double* %1826
%1828 = fmul double %1822, %1827
%1829 = call double @llvm.fmuladd.f64(double %1816, double %1817, double %1828)
store double %1829, double* %82
%1830 = load double, double* %101
store double %1830, double* %138
store i32 1, i32* %72
br label %1831
1831: ; preds = %1868, %1815
%1832 = load i32, i32* %72
%1833 = load i32, i32* %29
%1834 = icmp sle i32 %1832, %1833
br i1 %1834, label %1835, label %1871
1835: ; preds = %1831
%1836 = load double*, double** %41
%1837 = load i32, i32* %73
%1838 = load i32, i32* %72
%1839 = load i32, i32* %57
%1840 = mul nsw i32 %1838, %1839
%1841 = add nsw i32 %1837, %1840
%1842 = sext i32 %1841 to i64
%1843 = getelementptr inbounds double, double* %1836, i64 %1842
%1844 = load double, double* %1843
%1845 = load double*, double** %43
%1846 = load i32, i32* %72
%1847 = sext i32 %1846 to i64
%1848 = getelementptr inbounds double, double* %1845, i64 %1847
%1849 = load double, double* %1848
%1850 = fsub double %1844, %1849
%1851 = load double*, double** %41
%1852 = load i32, i32* %73
%1853 = load i32, i32* %72
%1854 = load i32, i32* %57
%1855 = mul nsw i32 %1853, %1854
%1856 = add nsw i32 %1852, %1855
%1857 = sext i32 %1856 to i64
%1858 = getelementptr inbounds double, double* %1851, i64 %1857
%1859 = load double, double* %1858
%1860 = load double*, double** %43
%1861 = load i32, i32* %72
%1862 = sext i32 %1861 to i64
%1863 = getelementptr inbounds double, double* %1860, i64 %1862
%1864 = load double, double* %1863
%1865 = fsub double %1859, %1864
%1866 = load double, double* %138
%1867 = call double @llvm.fmuladd.f64(double %1850, double %1865, double %1866)
store double %1867, double* %138
br label %1868
1868: ; preds = %1835
%1869 = load i32, i32* %72
%1870 = add nsw i32 %1869, 1
store i32 %1870, i32* %72
br label %1831
1871: ; preds = %1831
%1872 = load double, double* %138
%1873 = load double, double* %119
%1874 = fdiv double %1872, %1873
store double %1874, double* %141
%1875 = load double, double* %141
%1876 = load double, double* %141
%1877 = fmul double %1875, %1876
store double %1877, double* %94
%1878 = load double, double* %83
%1879 = load double, double* %94
%1880 = fcmp ogt double %1878, %1879
br i1 %1880, label %1881, label %1883
1881: ; preds = %1871
%1882 = load double, double* %83
store double %1882, double* %94
br label %1883
1883: ; preds = %1881, %1871
%1884 = load double, double* %94
%1885 = load double, double* %82
%1886 = fmul double %1884, %1885
%1887 = load double, double* %129
%1888 = fcmp ogt double %1886, %1887
br i1 %1888, label %1889, label %1895
1889: ; preds = %1883
%1890 = load double, double* %94
%1891 = load double, double* %82
%1892 = fmul double %1890, %1891
store double %1892, double* %129
%1893 = load i32, i32* %73
store i32 %1893, i32* %93
%1894 = load double, double* %82
store double %1894, double* %116
br label %1895
1895: ; preds = %1889, %1883
%1896 = load double, double* %94
%1897 = load double*, double** %55
%1898 = load i32, i32* %73
%1899 = sext i32 %1898 to i64
%1900 = getelementptr inbounds double, double* %1897, i64 %1899
%1901 = load double, double* %1900
%1902 = load double*, double** %55
%1903 = load i32, i32* %73
%1904 = sext i32 %1903 to i64
%1905 = getelementptr inbounds double, double* %1902, i64 %1904
%1906 = load double, double* %1905
%1907 = fmul double %1901, %1906
%1908 = fmul double %1896, %1907
store double %1908, double* %142
%1909 = load double, double* %142
%1910 = load double, double* %133
%1911 = fcmp ogt double %1909, %1910
br i1 %1911, label %1912, label %1914
1912: ; preds = %1895
%1913 = load double, double* %142
store double %1913, double* %133
br label %1914
1914: ; preds = %1912, %1895
br label %1915
1915: ; preds = %1914, %1784
br label %1916
1916: ; preds = %1915
%1917 = load i32, i32* %73
%1918 = add nsw i32 %1917, 1
store i32 %1918, i32* %73
br label %1776
1919: ; preds = %1776
%1920 = load double, double* %129
%1921 = load double, double* %90
%1922 = load double, double* %133
%1923 = fmul double %1921, %1922
%1924 = fcmp ole double %1920, %1923
br i1 %1924, label %1925, label %1936
1925: ; preds = %1919
%1926 = load i32, i32* %75
%1927 = load i32, i32* %120
%1928 = icmp sgt i32 %1926, %1927
br i1 %1928, label %1929, label %1930
1929: ; preds = %1925
br label %1207
1930: ; preds = %1925
%1931 = load i32, i32* %38
%1932 = icmp sgt i32 %1931, 0
br i1 %1932, label %1933, label %1935
1933: ; preds = %1930
%1934 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.1, i64 0, i64 0))
br label %1935
1935: ; preds = %1933, %1930
br label %3476
1936: ; preds = %1919
br label %1937
1937: ; preds = %1936, %1769
br label %1938
1938: ; preds = %3474, %1937
store i32 1, i32* %71
br label %1939
1939: ; preds = %2047, %1938
%1940 = load i32, i32* %71
%1941 = load i32, i32* %29
%1942 = icmp sle i32 %1940, %1941
br i1 %1942, label %1943, label %2050
1943: ; preds = %1939
%1944 = load double*, double** %40
%1945 = load i32, i32* %71
%1946 = sext i32 %1945 to i64
%1947 = getelementptr inbounds double, double* %1944, i64 %1946
%1948 = load double, double* %1947
%1949 = load double*, double** %52
%1950 = load i32, i32* %71
%1951 = sext i32 %1950 to i64
%1952 = getelementptr inbounds double, double* %1949, i64 %1951
%1953 = load double, double* %1952
%1954 = fadd double %1948, %1953
%1955 = load double*, double** %31
%1956 = load i32, i32* %71
%1957 = sext i32 %1956 to i64
%1958 = getelementptr inbounds double, double* %1955, i64 %1957
store double %1954, double* %1958
%1959 = load double*, double** %32
%1960 = load i32, i32* %71
%1961 = sext i32 %1960 to i64
%1962 = getelementptr inbounds double, double* %1959, i64 %1961
%1963 = load double, double* %1962
%1964 = load double*, double** %31
%1965 = load i32, i32* %71
%1966 = sext i32 %1965 to i64
%1967 = getelementptr inbounds double, double* %1964, i64 %1966
%1968 = load double, double* %1967
%1969 = fcmp ogt double %1963, %1968
br i1 %1969, label %1970, label %1980
1970: ; preds = %1943
%1971 = load double*, double** %32
%1972 = load i32, i32* %71
%1973 = sext i32 %1972 to i64
%1974 = getelementptr inbounds double, double* %1971, i64 %1973
%1975 = load double, double* %1974
%1976 = load double*, double** %31
%1977 = load i32, i32* %71
%1978 = sext i32 %1977 to i64
%1979 = getelementptr inbounds double, double* %1976, i64 %1978
store double %1975, double* %1979
br label %1980
1980: ; preds = %1970, %1943
%1981 = load double*, double** %33
%1982 = load i32, i32* %71
%1983 = sext i32 %1982 to i64
%1984 = getelementptr inbounds double, double* %1981, i64 %1983
%1985 = load double, double* %1984
%1986 = load double*, double** %31
%1987 = load i32, i32* %71
%1988 = sext i32 %1987 to i64
%1989 = getelementptr inbounds double, double* %1986, i64 %1988
%1990 = load double, double* %1989
%1991 = fcmp olt double %1985, %1990
br i1 %1991, label %1992, label %2002
1992: ; preds = %1980
%1993 = load double*, double** %33
%1994 = load i32, i32* %71
%1995 = sext i32 %1994 to i64
%1996 = getelementptr inbounds double, double* %1993, i64 %1995
%1997 = load double, double* %1996
%1998 = load double*, double** %31
%1999 = load i32, i32* %71
%2000 = sext i32 %1999 to i64
%2001 = getelementptr inbounds double, double* %1998, i64 %2000
store double %1997, double* %2001
br label %2002
2002: ; preds = %1992, %1980
%2003 = load double*, double** %52
%2004 = load i32, i32* %71
%2005 = sext i32 %2004 to i64
%2006 = getelementptr inbounds double, double* %2003, i64 %2005
%2007 = load double, double* %2006
%2008 = load double*, double** %50
%2009 = load i32, i32* %71
%2010 = sext i32 %2009 to i64
%2011 = getelementptr inbounds double, double* %2008, i64 %2010
%2012 = load double, double* %2011
%2013 = fcmp oeq double %2007, %2012
br i1 %2013, label %2014, label %2024
2014: ; preds = %2002
%2015 = load double*, double** %32
%2016 = load i32, i32* %71
%2017 = sext i32 %2016 to i64
%2018 = getelementptr inbounds double, double* %2015, i64 %2017
%2019 = load double, double* %2018
%2020 = load double*, double** %31
%2021 = load i32, i32* %71
%2022 = sext i32 %2021 to i64
%2023 = getelementptr inbounds double, double* %2020, i64 %2022
store double %2019, double* %2023
br label %2024
2024: ; preds = %2014, %2002
%2025 = load double*, double** %52
%2026 = load i32, i32* %71
%2027 = sext i32 %2026 to i64
%2028 = getelementptr inbounds double, double* %2025, i64 %2027
%2029 = load double, double* %2028
%2030 = load double*, double** %51
%2031 = load i32, i32* %71
%2032 = sext i32 %2031 to i64
%2033 = getelementptr inbounds double, double* %2030, i64 %2032
%2034 = load double, double* %2033
%2035 = fcmp oeq double %2029, %2034
br i1 %2035, label %2036, label %2046
2036: ; preds = %2024
%2037 = load double*, double** %33
%2038 = load i32, i32* %71
%2039 = sext i32 %2038 to i64
%2040 = getelementptr inbounds double, double* %2037, i64 %2039
%2041 = load double, double* %2040
%2042 = load double*, double** %31
%2043 = load i32, i32* %71
%2044 = sext i32 %2043 to i64
%2045 = getelementptr inbounds double, double* %2042, i64 %2044
store double %2041, double* %2045
br label %2046
2046: ; preds = %2036, %2024
br label %2047
2047: ; preds = %2046
%2048 = load i32, i32* %71
%2049 = add nsw i32 %2048, 1
store i32 %2049, i32* %71
br label %1939
2050: ; preds = %1939
%2051 = load i32, i32* %75
%2052 = load i32, i32* %39
%2053 = icmp sge i32 %2051, %2052
br i1 %2053, label %2054, label %2060
2054: ; preds = %2050
%2055 = load i32, i32* %38
%2056 = icmp sgt i32 %2055, 0
br i1 %2056, label %2057, label %2059
2057: ; preds = %2054
%2058 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str, i64 0, i64 0))
br label %2059
2059: ; preds = %2057, %2054
br label %3476
2060: ; preds = %2050
%2061 = load i32, i32* %75
%2062 = add nsw i32 %2061, 1
store i32 %2062, i32* %75
%2063 = load double (i8*, i32, double*)*, double (i8*, i32, double*)** %34
%2064 = load i8*, i8** %35
%2065 = load i32, i32* %29
%2066 = load double*, double** %31
%2067 = getelementptr inbounds double, double* %2066, i64 1
%2068 = call double %2063(i8* %2064, i32 %2065, double* %2067)
store double %2068, double* %70
%2069 = load i32, i32* %38
%2070 = icmp eq i32 %2069, 3
br i1 %2070, label %2071, label %2090
2071: ; preds = %2060
%2072 = load i32, i32* %75
%2073 = load double, double* %70
%2074 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.2, i64 0, i64 0), i32 %2072, double %2073)
store i32 1, i32* %71
br label %2075
2075: ; preds = %2086, %2071
%2076 = load i32, i32* %71
%2077 = load i32, i32* %29
%2078 = icmp sle i32 %2076, %2077
br i1 %2078, label %2079, label %2089
2079: ; preds = %2075
%2080 = load double*, double** %31
%2081 = load i32, i32* %71
%2082 = sext i32 %2081 to i64
%2083 = getelementptr inbounds double, double* %2080, i64 %2082
%2084 = load double, double* %2083
%2085 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %2084)
br label %2086
2086: ; preds = %2079
%2087 = load i32, i32* %71
%2088 = add nsw i32 %2087, 1
store i32 %2088, i32* %71
br label %2075
2089: ; preds = %2075
br label %2090
2090: ; preds = %2089, %2060
%2091 = load i32, i32* %139
%2092 = icmp eq i32 %2091, -1
br i1 %2092, label %2093, label %2095
2093: ; preds = %2090
%2094 = load double, double* %70
store double %2094, double* %117
br label %3476
2095: ; preds = %2090
%2096 = load double*, double** %42
%2097 = load i32, i32* %99
%2098 = sext i32 %2097 to i64
%2099 = getelementptr inbounds double, double* %2096, i64 %2098
%2100 = load double, double* %2099
store double %2100, double* %98
%2101 = load double, double* %101
store double %2101, double* %124
store i32 0, i32* %74
store i32 1, i32* %72
br label %2102
2102: ; preds = %2157, %2095
%2103 = load i32, i32* %72
%2104 = load i32, i32* %29
%2105 = icmp sle i32 %2103, %2104
br i1 %2105, label %2106, label %2160
2106: ; preds = %2102
%2107 = load double*, double** %54
%2108 = load i32, i32* %72
%2109 = sext i32 %2108 to i64
%2110 = getelementptr inbounds double, double* %2107, i64 %2109
%2111 = load double, double* %2110
%2112 = load double*, double** %44
%2113 = load i32, i32* %72
%2114 = sext i32 %2113 to i64
%2115 = getelementptr inbounds double, double* %2112, i64 %2114
%2116 = load double, double* %2115
%2117 = load double, double* %124
%2118 = call double @llvm.fmuladd.f64(double %2111, double %2116, double %2117)
store double %2118, double* %124
store i32 1, i32* %71
br label %2119
2119: ; preds = %2153, %2106
%2120 = load i32, i32* %71
%2121 = load i32, i32* %72
%2122 = icmp sle i32 %2120, %2121
br i1 %2122, label %2123, label %2156
2123: ; preds = %2119
%2124 = load i32, i32* %74
%2125 = add nsw i32 %2124, 1
store i32 %2125, i32* %74
%2126 = load double*, double** %54
%2127 = load i32, i32* %71
%2128 = sext i32 %2127 to i64
%2129 = getelementptr inbounds double, double* %2126, i64 %2128
%2130 = load double, double* %2129
%2131 = load double*, double** %54
%2132 = load i32, i32* %72
%2133 = sext i32 %2132 to i64
%2134 = getelementptr inbounds double, double* %2131, i64 %2133
%2135 = load double, double* %2134
%2136 = fmul double %2130, %2135
store double %2136, double* %94
%2137 = load i32, i32* %71
%2138 = load i32, i32* %72
%2139 = icmp eq i32 %2137, %2138
br i1 %2139, label %2140, label %2144
2140: ; preds = %2123
%2141 = load double, double* %90
%2142 = load double, double* %94
%2143 = fmul double %2141, %2142
store double %2143, double* %94
br label %2144
2144: ; preds = %2140, %2123
%2145 = load double*, double** %45
%2146 = load i32, i32* %74
%2147 = sext i32 %2146 to i64
%2148 = getelementptr inbounds double, double* %2145, i64 %2147
%2149 = load double, double* %2148
%2150 = load double, double* %94
%2151 = load double, double* %124
%2152 = call double @llvm.fmuladd.f64(double %2149, double %2150, double %2151)
store double %2152, double* %124
br label %2153
2153: ; preds = %2144
%2154 = load i32, i32* %71
%2155 = add nsw i32 %2154, 1
store i32 %2155, i32* %71
br label %2119
2156: ; preds = %2119
br label %2157
2157: ; preds = %2156
%2158 = load i32, i32* %72
%2159 = add nsw i32 %2158, 1
store i32 %2159, i32* %72
br label %2102
2160: ; preds = %2102
store i32 1, i32* %73
br label %2161
2161: ; preds = %2190, %2160
%2162 = load i32, i32* %73
%2163 = load i32, i32* %30
%2164 = icmp sle i32 %2162, %2163
br i1 %2164, label %2165, label %2193
2165: ; preds = %2161
%2166 = load double, double* %90
%2167 = load double*, double** %46
%2168 = load i32, i32* %73
%2169 = sext i32 %2168 to i64
%2170 = getelementptr inbounds double, double* %2167, i64 %2169
%2171 = load double, double* %2170
%2172 = fmul double %2166, %2171
%2173 = load double*, double** %56
%2174 = load i32, i32* %30
%2175 = load i32, i32* %73
%2176 = add nsw i32 %2174, %2175
%2177 = sext i32 %2176 to i64
%2178 = getelementptr inbounds double, double* %2173, i64 %2177
%2179 = load double, double* %2178
%2180 = load double*, double** %56
%2181 = load i32, i32* %30
%2182 = load i32, i32* %73
%2183 = add nsw i32 %2181, %2182
%2184 = sext i32 %2183 to i64
%2185 = getelementptr inbounds double, double* %2180, i64 %2184
%2186 = load double, double* %2185
%2187 = fmul double %2179, %2186
%2188 = load double, double* %124
%2189 = call double @llvm.fmuladd.f64(double %2172, double %2187, double %2188)
store double %2189, double* %124
br label %2190
2190: ; preds = %2165
%2191 = load i32, i32* %73
%2192 = add nsw i32 %2191, 1
store i32 %2192, i32* %73
br label %2161
2193: ; preds = %2161
%2194 = load double, double* %70
%2195 = load double, double* %98
%2196 = fsub double %2194, %2195
%2197 = load double, double* %124
%2198 = fsub double %2196, %2197
store double %2198, double* %89
%2199 = load double, double* %109
store double %2199, double* %110
%2200 = load double, double* %108
store double %2200, double* %109
%2201 = load double, double* %89
%2202 = call double @llvm.fabs.f64(double %2201)
store double %2202, double* %108
%2203 = load double, double* %123
%2204 = load double, double* %86
%2205 = fcmp ogt double %2203, %2204
br i1 %2205, label %2206, label %2208
2206: ; preds = %2193
%2207 = load i32, i32* %75
store i32 %2207, i32* %121
br label %2208
2208: ; preds = %2206, %2193
%2209 = load i32, i32* %139
%2210 = icmp sgt i32 %2209, 0
br i1 %2210, label %2211, label %2435
2211: ; preds = %2208
%2212 = load double, double* %124
%2213 = load double, double* %101
%2214 = fcmp oge double %2212, %2213
br i1 %2214, label %2215, label %2221
2215: ; preds = %2211
%2216 = load i32, i32* %38
%2217 = icmp sgt i32 %2216, 0
br i1 %2217, label %2218, label %2220
2218: ; preds = %2215
%2219 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.4, i64 0, i64 0))
br label %2220
2220: ; preds = %2218, %2215
br label %3476
2221: ; preds = %2211
%2222 = load double, double* %70
%2223 = load double, double* %98
%2224 = fsub double %2222, %2223
%2225 = load double, double* %124
%2226 = fdiv double %2224, %2225
store double %2226, double* %122
%2227 = load double, double* %122
%2228 = load double, double* %126
%2229 = fcmp ole double %2227, %2228
br i1 %2229, label %2230, label %2240
2230: ; preds = %2221
%2231 = load double, double* %90
%2232 = load double, double* %114
%2233 = fmul double %2231, %2232
store double %2233, double* %114
%2234 = load double, double* %123
%2235 = load double, double* %114
%2236 = fcmp olt double %2234, %2235
br i1 %2236, label %2237, label %2239
2237: ; preds = %2230
%2238 = load double, double* %123
store double %2238, double* %114
br label %2239
2239: ; preds = %2237, %2230
br label %2266
2240: ; preds = %2221
%2241 = load double, double* %122
%2242 = fcmp ole double %2241, 0x3FE6666666666666
br i1 %2242, label %2243, label %2253
2243: ; preds = %2240
%2244 = load double, double* %90
%2245 = load double, double* %114
%2246 = fmul double %2244, %2245
store double %2246, double* %114
%2247 = load double, double* %123
%2248 = load double, double* %114
%2249 = fcmp ogt double %2247, %2248
br i1 %2249, label %2250, label %2252
2250: ; preds = %2243
%2251 = load double, double* %123
store double %2251, double* %114
br label %2252
2252: ; preds = %2250, %2243
br label %2265
2253: ; preds = %2240
%2254 = load double, double* %90
%2255 = load double, double* %114
%2256 = fmul double %2254, %2255
store double %2256, double* %114
%2257 = load double, double* %123
%2258 = fmul double 2.000000e+00, %2257
%2259 = load double, double* %114
%2260 = fcmp ogt double %2258, %2259
br i1 %2260, label %2261, label %2264
2261: ; preds = %2253
%2262 = load double, double* %123
%2263 = fmul double 2.000000e+00, %2262
store double %2263, double* %114
br label %2264
2264: ; preds = %2261, %2253
br label %2265
2265: ; preds = %2264, %2252
br label %2266
2266: ; preds = %2265, %2239
%2267 = load double, double* %114
%2268 = load double, double* %86
%2269 = fmul double %2268, 1.500000e+00
%2270 = fcmp ole double %2267, %2269
br i1 %2270, label %2271, label %2273
2271: ; preds = %2266
%2272 = load double, double* %86
store double %2272, double* %114
br label %2273
2273: ; preds = %2271, %2266
%2274 = load double, double* %70
%2275 = load double, double* %98
%2276 = fcmp olt double %2274, %2275
br i1 %2276, label %2277, label %2434
2277: ; preds = %2273
%2278 = load i32, i32* %93
store i32 %2278, i32* %103
%2279 = load double, double* %116
store double %2279, double* %134
%2280 = load double, double* %114
%2281 = load double, double* %114
%2282 = fmul double %2280, %2281
store double %2282, double* %119
%2283 = load double, double* %101
store double %2283, double* %129
%2284 = load double, double* %101
store double %2284, double* %133
store i32 0, i32* %93
%2285 = load i32, i32* %30
store i32 %2285, i32* %63
store i32 1, i32* %73
br label %2286
2286: ; preds = %2421, %2277
%2287 = load i32, i32* %73
%2288 = load i32, i32* %63
%2289 = icmp sle i32 %2287, %2288
br i1 %2289, label %2290, label %2424
2290: ; preds = %2286
%2291 = load double, double* %101
store double %2291, double* %111
%2292 = load i32, i32* %100
store i32 %2292, i32* %64
store i32 1, i32* %76
br label %2293
2293: ; preds = %2318, %2290
%2294 = load i32, i32* %76
%2295 = load i32, i32* %64
%2296 = icmp sle i32 %2294, %2295
br i1 %2296, label %2297, label %2321
2297: ; preds = %2293
%2298 = load double*, double** %48
%2299 = load i32, i32* %73
%2300 = load i32, i32* %76
%2301 = load i32, i32* %61
%2302 = mul nsw i32 %2300, %2301
%2303 = add nsw i32 %2299, %2302
%2304 = sext i32 %2303 to i64
%2305 = getelementptr inbounds double, double* %2298, i64 %2304
%2306 = load double, double* %2305
%2307 = load double*, double** %48
%2308 = load i32, i32* %73
%2309 = load i32, i32* %76
%2310 = load i32, i32* %61
%2311 = mul nsw i32 %2309, %2310
%2312 = add nsw i32 %2308, %2311
%2313 = sext i32 %2312 to i64
%2314 = getelementptr inbounds double, double* %2307, i64 %2313
%2315 = load double, double* %2314
%2316 = load double, double* %111
%2317 = call double @llvm.fmuladd.f64(double %2306, double %2315, double %2316)
store double %2317, double* %111
br label %2318
2318: ; preds = %2297
%2319 = load i32, i32* %76
%2320 = add nsw i32 %2319, 1
store i32 %2320, i32* %76
br label %2293
2321: ; preds = %2293
%2322 = load double, double* %91
%2323 = load double, double* %111
%2324 = load double*, double** %55
%2325 = load i32, i32* %73
%2326 = sext i32 %2325 to i64
%2327 = getelementptr inbounds double, double* %2324, i64 %2326
%2328 = load double, double* %2327
%2329 = load double*, double** %55
%2330 = load i32, i32* %73
%2331 = sext i32 %2330 to i64
%2332 = getelementptr inbounds double, double* %2329, i64 %2331
%2333 = load double, double* %2332
%2334 = fmul double %2328, %2333
%2335 = call double @llvm.fmuladd.f64(double %2322, double %2323, double %2334)
store double %2335, double* %82
%2336 = load double, double* %101
store double %2336, double* %138
store i32 1, i32* %72
br label %2337
2337: ; preds = %2374, %2321
%2338 = load i32, i32* %72
%2339 = load i32, i32* %29
%2340 = icmp sle i32 %2338, %2339
br i1 %2340, label %2341, label %2377
2341: ; preds = %2337
%2342 = load double*, double** %41
%2343 = load i32, i32* %73
%2344 = load i32, i32* %72
%2345 = load i32, i32* %57
%2346 = mul nsw i32 %2344, %2345
%2347 = add nsw i32 %2343, %2346
%2348 = sext i32 %2347 to i64
%2349 = getelementptr inbounds double, double* %2342, i64 %2348
%2350 = load double, double* %2349
%2351 = load double*, double** %52
%2352 = load i32, i32* %72
%2353 = sext i32 %2352 to i64
%2354 = getelementptr inbounds double, double* %2351, i64 %2353
%2355 = load double, double* %2354
%2356 = fsub double %2350, %2355
%2357 = load double*, double** %41
%2358 = load i32, i32* %73
%2359 = load i32, i32* %72
%2360 = load i32, i32* %57
%2361 = mul nsw i32 %2359, %2360
%2362 = add nsw i32 %2358, %2361
%2363 = sext i32 %2362 to i64
%2364 = getelementptr inbounds double, double* %2357, i64 %2363
%2365 = load double, double* %2364
%2366 = load double*, double** %52
%2367 = load i32, i32* %72
%2368 = sext i32 %2367 to i64
%2369 = getelementptr inbounds double, double* %2366, i64 %2368
%2370 = load double, double* %2369
%2371 = fsub double %2365, %2370
%2372 = load double, double* %138
%2373 = call double @llvm.fmuladd.f64(double %2356, double %2371, double %2372)
store double %2373, double* %138
br label %2374
2374: ; preds = %2341
%2375 = load i32, i32* %72
%2376 = add nsw i32 %2375, 1
store i32 %2376, i32* %72
br label %2337
2377: ; preds = %2337
%2378 = load double, double* %138
%2379 = load double, double* %119
%2380 = fdiv double %2378, %2379
store double %2380, double* %143
%2381 = load double, double* %143
%2382 = load double, double* %143
%2383 = fmul double %2381, %2382
store double %2383, double* %94
%2384 = load double, double* %83
%2385 = load double, double* %94
%2386 = fcmp ogt double %2384, %2385
br i1 %2386, label %2387, label %2389
2387: ; preds = %2377
%2388 = load double, double* %83
store double %2388, double* %94
br label %2389
2389: ; preds = %2387, %2377
%2390 = load double, double* %94
%2391 = load double, double* %82
%2392 = fmul double %2390, %2391
%2393 = load double, double* %129
%2394 = fcmp ogt double %2392, %2393
br i1 %2394, label %2395, label %2401
2395: ; preds = %2389
%2396 = load double, double* %94
%2397 = load double, double* %82
%2398 = fmul double %2396, %2397
store double %2398, double* %129
%2399 = load i32, i32* %73
store i32 %2399, i32* %93
%2400 = load double, double* %82
store double %2400, double* %116
br label %2401
2401: ; preds = %2395, %2389
%2402 = load double, double* %94
%2403 = load double*, double** %55
%2404 = load i32, i32* %73
%2405 = sext i32 %2404 to i64
%2406 = getelementptr inbounds double, double* %2403, i64 %2405
%2407 = load double, double* %2406
%2408 = load double*, double** %55
%2409 = load i32, i32* %73
%2410 = sext i32 %2409 to i64
%2411 = getelementptr inbounds double, double* %2408, i64 %2410
%2412 = load double, double* %2411
%2413 = fmul double %2407, %2412
%2414 = fmul double %2402, %2413
store double %2414, double* %144
%2415 = load double, double* %144
%2416 = load double, double* %133
%2417 = fcmp ogt double %2415, %2416
br i1 %2417, label %2418, label %2420
2418: ; preds = %2401
%2419 = load double, double* %144
store double %2419, double* %133
br label %2420
2420: ; preds = %2418, %2401
br label %2421
2421: ; preds = %2420
%2422 = load i32, i32* %73
%2423 = add nsw i32 %2422, 1
store i32 %2423, i32* %73
br label %2286
2424: ; preds = %2286
%2425 = load double, double* %129
%2426 = load double, double* %90
%2427 = load double, double* %133
%2428 = fmul double %2426, %2427
%2429 = fcmp ole double %2425, %2428
br i1 %2429, label %2430, label %2433
2430: ; preds = %2424
%2431 = load i32, i32* %103
store i32 %2431, i32* %93
%2432 = load double, double* %134
store double %2432, double* %116
br label %2433
2433: ; preds = %2430, %2424
br label %2434
2434: ; preds = %2433, %2273
br label %2435
2435: ; preds = %2434, %2208
%2436 = load i32, i32* %29
%2437 = load i32, i32* %30
%2438 = load double*, double** %47
%2439 = load i32, i32* %60
%2440 = sext i32 %2439 to i64
%2441 = getelementptr inbounds double, double* %2438, i64 %2440
%2442 = load double*, double** %48
%2443 = load i32, i32* %62
%2444 = sext i32 %2443 to i64
%2445 = getelementptr inbounds double, double* %2442, i64 %2444
%2446 = load i32, i32* %49
%2447 = load double*, double** %55
%2448 = getelementptr inbounds double, double* %2447, i64 1
%2449 = load double, double* %91
%2450 = load double, double* %116
%2451 = load i32, i32* %93
%2452 = sub nsw i32 %2451, 1
%2453 = load double*, double** %56
%2454 = getelementptr inbounds double, double* %2453, i64 1
store i32 0, i32* %74
%2455 = load double*, double** %46
%2456 = load i32, i32* %93
%2457 = sext i32 %2456 to i64
%2458 = getelementptr inbounds double, double* %2455, i64 %2457
%2459 = load double, double* %2458
store double %2459, double* %125
%2460 = load double, double* %101
%2461 = load double*, double** %46
%2462 = load i32, i32* %93
%2463 = sext i32 %2462 to i64
%2464 = getelementptr inbounds double, double* %2461, i64 %2463
store double %2460, double* %2464
store i32 1, i32* %71
br label %2465
2465: ; preds = %2509, %2435
%2466 = load i32, i32* %71
%2467 = load i32, i32* %29
%2468 = icmp sle i32 %2466, %2467
br i1 %2468, label %2469, label %2512
2469: ; preds = %2465
%2470 = load double, double* %125
%2471 = load double*, double** %41
%2472 = load i32, i32* %93
%2473 = load i32, i32* %71
%2474 = load i32, i32* %57
%2475 = mul nsw i32 %2473, %2474
%2476 = add nsw i32 %2472, %2475
%2477 = sext i32 %2476 to i64
%2478 = getelementptr inbounds double, double* %2471, i64 %2477
%2479 = load double, double* %2478
%2480 = fmul double %2470, %2479
store double %2480, double* %94
%2481 = load i32, i32* %71
store i32 %2481, i32* %64
store i32 1, i32* %72
br label %2482
2482: ; preds = %2505, %2469
%2483 = load i32, i32* %72
%2484 = load i32, i32* %64
%2485 = icmp sle i32 %2483, %2484
br i1 %2485, label %2486, label %2508
2486: ; preds = %2482
%2487 = load i32, i32* %74
%2488 = add nsw i32 %2487, 1
store i32 %2488, i32* %74
%2489 = load double, double* %94
%2490 = load double*, double** %41
%2491 = load i32, i32* %93
%2492 = load i32, i32* %72
%2493 = load i32, i32* %57
%2494 = mul nsw i32 %2492, %2493
%2495 = add nsw i32 %2491, %2494
%2496 = sext i32 %2495 to i64
%2497 = getelementptr inbounds double, double* %2490, i64 %2496
%2498 = load double, double* %2497
%2499 = load double*, double** %45
%2500 = load i32, i32* %74
%2501 = sext i32 %2500 to i64
%2502 = getelementptr inbounds double, double* %2499, i64 %2501
%2503 = load double, double* %2502
%2504 = call double @llvm.fmuladd.f64(double %2489, double %2498, double %2503)
store double %2504, double* %2502
br label %2505
2505: ; preds = %2486
%2506 = load i32, i32* %72
%2507 = add nsw i32 %2506, 1
store i32 %2507, i32* %72
br label %2482
2508: ; preds = %2482
br label %2509
2509: ; preds = %2508
%2510 = load i32, i32* %71
%2511 = add nsw i32 %2510, 1
store i32 %2511, i32* %71
br label %2465
2512: ; preds = %2465
store i32 1, i32* %76
br label %2513
2513: ; preds = %2554, %2512
%2514 = load i32, i32* %76
%2515 = load i32, i32* %100
%2516 = icmp sle i32 %2514, %2515
br i1 %2516, label %2517, label %2557
2517: ; preds = %2513
%2518 = load double, double* %89
%2519 = load double*, double** %48
%2520 = load i32, i32* %93
%2521 = load i32, i32* %76
%2522 = load i32, i32* %61
%2523 = mul nsw i32 %2521, %2522
%2524 = add nsw i32 %2520, %2523
%2525 = sext i32 %2524 to i64
%2526 = getelementptr inbounds double, double* %2519, i64 %2525
%2527 = load double, double* %2526
%2528 = fmul double %2518, %2527
store double %2528, double* %94
store i32 1, i32* %73
br label %2529
2529: ; preds = %2550, %2517
%2530 = load i32, i32* %73
%2531 = load i32, i32* %30
%2532 = icmp sle i32 %2530, %2531
br i1 %2532, label %2533, label %2553
2533: ; preds = %2529
%2534 = load double, double* %94
%2535 = load double*, double** %48
%2536 = load i32, i32* %73
%2537 = load i32, i32* %76
%2538 = load i32, i32* %61
%2539 = mul nsw i32 %2537, %2538
%2540 = add nsw i32 %2536, %2539
%2541 = sext i32 %2540 to i64
%2542 = getelementptr inbounds double, double* %2535, i64 %2541
%2543 = load double, double* %2542
%2544 = load double*, double** %46
%2545 = load i32, i32* %73
%2546 = sext i32 %2545 to i64
%2547 = getelementptr inbounds double, double* %2544, i64 %2546
%2548 = load double, double* %2547
%2549 = call double @llvm.fmuladd.f64(double %2534, double %2543, double %2548)
store double %2549, double* %2547
br label %2550
2550: ; preds = %2533
%2551 = load i32, i32* %73
%2552 = add nsw i32 %2551, 1
store i32 %2552, i32* %73
br label %2529
2553: ; preds = %2529
br label %2554
2554: ; preds = %2553
%2555 = load i32, i32* %76
%2556 = add nsw i32 %2555, 1
store i32 %2556, i32* %76
br label %2513
2557: ; preds = %2513
%2558 = load double, double* %70
%2559 = load double*, double** %42
%2560 = load i32, i32* %93
%2561 = sext i32 %2560 to i64
%2562 = getelementptr inbounds double, double* %2559, i64 %2561
store double %2558, double* %2562
store i32 1, i32* %71
br label %2563
2563: ; preds = %2594, %2557
%2564 = load i32, i32* %71
%2565 = load i32, i32* %29
%2566 = icmp sle i32 %2564, %2565
br i1 %2566, label %2567, label %2597
2567: ; preds = %2563
%2568 = load double*, double** %52
%2569 = load i32, i32* %71
%2570 = sext i32 %2569 to i64
%2571 = getelementptr inbounds double, double* %2568, i64 %2570
%2572 = load double, double* %2571
%2573 = load double*, double** %41
%2574 = load i32, i32* %93
%2575 = load i32, i32* %71
%2576 = load i32, i32* %57
%2577 = mul nsw i32 %2575, %2576
%2578 = add nsw i32 %2574, %2577
%2579 = sext i32 %2578 to i64
%2580 = getelementptr inbounds double, double* %2573, i64 %2579
store double %2572, double* %2580
%2581 = load double*, double** %47
%2582 = load i32, i32* %93
%2583 = load i32, i32* %71
%2584 = load i32, i32* %59
%2585 = mul nsw i32 %2583, %2584
%2586 = add nsw i32 %2582, %2585
%2587 = sext i32 %2586 to i64
%2588 = getelementptr inbounds double, double* %2581, i64 %2587
%2589 = load double, double* %2588
%2590 = load double*, double** %56
%2591 = load i32, i32* %71
%2592 = sext i32 %2591 to i64
%2593 = getelementptr inbounds double, double* %2590, i64 %2592
store double %2589, double* %2593
br label %2594
2594: ; preds = %2567
%2595 = load i32, i32* %71
%2596 = add nsw i32 %2595, 1
store i32 %2596, i32* %71
br label %2563
2597: ; preds = %2563
store i32 1, i32* %73
br label %2598
2598: ; preds = %2687, %2597
%2599 = load i32, i32* %73
%2600 = load i32, i32* %30
%2601 = icmp sle i32 %2599, %2600
br i1 %2601, label %2602, label %2690
2602: ; preds = %2598
%2603 = load double, double* %101
store double %2603, double* %95
store i32 1, i32* %76
br label %2604
2604: ; preds = %2629, %2602
%2605 = load i32, i32* %76
%2606 = load i32, i32* %100
%2607 = icmp sle i32 %2605, %2606
br i1 %2607, label %2608, label %2632
2608: ; preds = %2604
%2609 = load double*, double** %48
%2610 = load i32, i32* %93
%2611 = load i32, i32* %76
%2612 = load i32, i32* %61
%2613 = mul nsw i32 %2611, %2612
%2614 = add nsw i32 %2610, %2613
%2615 = sext i32 %2614 to i64
%2616 = getelementptr inbounds double, double* %2609, i64 %2615
%2617 = load double, double* %2616
%2618 = load double*, double** %48
%2619 = load i32, i32* %73
%2620 = load i32, i32* %76
%2621 = load i32, i32* %61
%2622 = mul nsw i32 %2620, %2621
%2623 = add nsw i32 %2619, %2622
%2624 = sext i32 %2623 to i64
%2625 = getelementptr inbounds double, double* %2618, i64 %2624
%2626 = load double, double* %2625
%2627 = load double, double* %95
%2628 = call double @llvm.fmuladd.f64(double %2617, double %2626, double %2627)
store double %2628, double* %95
br label %2629
2629: ; preds = %2608
%2630 = load i32, i32* %76
%2631 = add nsw i32 %2630, 1
store i32 %2631, i32* %76
br label %2604
2632: ; preds = %2604
%2633 = load double, double* %101
store double %2633, double* %96
store i32 1, i32* %72
br label %2634
2634: ; preds = %2655, %2632
%2635 = load i32, i32* %72
%2636 = load i32, i32* %29
%2637 = icmp sle i32 %2635, %2636
br i1 %2637, label %2638, label %2658
2638: ; preds = %2634
%2639 = load double*, double** %41
%2640 = load i32, i32* %73
%2641 = load i32, i32* %72
%2642 = load i32, i32* %57
%2643 = mul nsw i32 %2641, %2642
%2644 = add nsw i32 %2640, %2643
%2645 = sext i32 %2644 to i64
%2646 = getelementptr inbounds double, double* %2639, i64 %2645
%2647 = load double, double* %2646
%2648 = load double*, double** %43
%2649 = load i32, i32* %72
%2650 = sext i32 %2649 to i64
%2651 = getelementptr inbounds double, double* %2648, i64 %2650
%2652 = load double, double* %2651
%2653 = load double, double* %96
%2654 = call double @llvm.fmuladd.f64(double %2647, double %2652, double %2653)
store double %2654, double* %96
br label %2655
2655: ; preds = %2638
%2656 = load i32, i32* %72
%2657 = add nsw i32 %2656, 1
store i32 %2657, i32* %72
br label %2634
2658: ; preds = %2634
%2659 = load double, double* %95
%2660 = load double, double* %96
%2661 = fmul double %2659, %2660
store double %2661, double* %94
store i32 1, i32* %71
br label %2662
2662: ; preds = %2683, %2658
%2663 = load i32, i32* %71
%2664 = load i32, i32* %29
%2665 = icmp sle i32 %2663, %2664
br i1 %2665, label %2666, label %2686
2666: ; preds = %2662
%2667 = load double, double* %94
%2668 = load double*, double** %41
%2669 = load i32, i32* %73
%2670 = load i32, i32* %71
%2671 = load i32, i32* %57
%2672 = mul nsw i32 %2670, %2671
%2673 = add nsw i32 %2669, %2672
%2674 = sext i32 %2673 to i64
%2675 = getelementptr inbounds double, double* %2668, i64 %2674
%2676 = load double, double* %2675
%2677 = load double*, double** %56
%2678 = load i32, i32* %71
%2679 = sext i32 %2678 to i64
%2680 = getelementptr inbounds double, double* %2677, i64 %2679
%2681 = load double, double* %2680
%2682 = call double @llvm.fmuladd.f64(double %2667, double %2676, double %2681)
store double %2682, double* %2680
br label %2683
2683: ; preds = %2666
%2684 = load i32, i32* %71
%2685 = add nsw i32 %2684, 1
store i32 %2685, i32* %71
br label %2662
2686: ; preds = %2662
br label %2687
2687: ; preds = %2686
%2688 = load i32, i32* %73
%2689 = add nsw i32 %2688, 1
store i32 %2689, i32* %73
br label %2598
2690: ; preds = %2598
store i32 1, i32* %71
br label %2691
2691: ; preds = %2708, %2690
%2692 = load i32, i32* %71
%2693 = load i32, i32* %29
%2694 = icmp sle i32 %2692, %2693
br i1 %2694, label %2695, label %2711
2695: ; preds = %2691
%2696 = load double, double* %89
%2697 = load double*, double** %56
%2698 = load i32, i32* %71
%2699 = sext i32 %2698 to i64
%2700 = getelementptr inbounds double, double* %2697, i64 %2699
%2701 = load double, double* %2700
%2702 = load double*, double** %44
%2703 = load i32, i32* %71
%2704 = sext i32 %2703 to i64
%2705 = getelementptr inbounds double, double* %2702, i64 %2704
%2706 = load double, double* %2705
%2707 = call double @llvm.fmuladd.f64(double %2696, double %2701, double %2706)
store double %2707, double* %2705
br label %2708
2708: ; preds = %2695
%2709 = load i32, i32* %71
%2710 = add nsw i32 %2709, 1
store i32 %2710, i32* %71
br label %2691
2711: ; preds = %2691
%2712 = load double, double* %70
%2713 = load double, double* %98
%2714 = fcmp olt double %2712, %2713
br i1 %2714, label %2715, label %2863
2715: ; preds = %2711
%2716 = load i32, i32* %93
store i32 %2716, i32* %99
%2717 = load double, double* %101
store double %2717, double* %140
store i32 0, i32* %74
store i32 1, i32* %72
br label %2718
2718: ; preds = %2792, %2715
%2719 = load i32, i32* %72
%2720 = load i32, i32* %29
%2721 = icmp sle i32 %2719, %2720
br i1 %2721, label %2722, label %2795
2722: ; preds = %2718
%2723 = load double*, double** %52
%2724 = load i32, i32* %72
%2725 = sext i32 %2724 to i64
%2726 = getelementptr inbounds double, double* %2723, i64 %2725
%2727 = load double, double* %2726
%2728 = load double*, double** %43
%2729 = load i32, i32* %72
%2730 = sext i32 %2729 to i64
%2731 = getelementptr inbounds double, double* %2728, i64 %2730
store double %2727, double* %2731
%2732 = load double*, double** %43
%2733 = load i32, i32* %72
%2734 = sext i32 %2733 to i64
%2735 = getelementptr inbounds double, double* %2732, i64 %2734
%2736 = load double, double* %2735
%2737 = load double*, double** %43
%2738 = load i32, i32* %72
%2739 = sext i32 %2738 to i64
%2740 = getelementptr inbounds double, double* %2737, i64 %2739
%2741 = load double, double* %2740
%2742 = load double, double* %140
%2743 = call double @llvm.fmuladd.f64(double %2736, double %2741, double %2742)
store double %2743, double* %140
store i32 1, i32* %71
br label %2744
2744: ; preds = %2788, %2722
%2745 = load i32, i32* %71
%2746 = load i32, i32* %72
%2747 = icmp sle i32 %2745, %2746
br i1 %2747, label %2748, label %2791
2748: ; preds = %2744
%2749 = load i32, i32* %74
%2750 = add nsw i32 %2749, 1
store i32 %2750, i32* %74
%2751 = load i32, i32* %71
%2752 = load i32, i32* %72
%2753 = icmp slt i32 %2751, %2752
br i1 %2753, label %2754, label %2771
2754: ; preds = %2748
%2755 = load double*, double** %45
%2756 = load i32, i32* %74
%2757 = sext i32 %2756 to i64
%2758 = getelementptr inbounds double, double* %2755, i64 %2757
%2759 = load double, double* %2758
%2760 = load double*, double** %54
%2761 = load i32, i32* %71
%2762 = sext i32 %2761 to i64
%2763 = getelementptr inbounds double, double* %2760, i64 %2762
%2764 = load double, double* %2763
%2765 = load double*, double** %44
%2766 = load i32, i32* %72
%2767 = sext i32 %2766 to i64
%2768 = getelementptr inbounds double, double* %2765, i64 %2767
%2769 = load double, double* %2768
%2770 = call double @llvm.fmuladd.f64(double %2759, double %2764, double %2769)
store double %2770, double* %2768
br label %2771
2771: ; preds = %2754, %2748
%2772 = load double*, double** %45
%2773 = load i32, i32* %74
%2774 = sext i32 %2773 to i64
%2775 = getelementptr inbounds double, double* %2772, i64 %2774
%2776 = load double, double* %2775
%2777 = load double*, double** %54
%2778 = load i32, i32* %72
%2779 = sext i32 %2778 to i64
%2780 = getelementptr inbounds double, double* %2777, i64 %2779
%2781 = load double, double* %2780
%2782 = load double*, double** %44
%2783 = load i32, i32* %71
%2784 = sext i32 %2783 to i64
%2785 = getelementptr inbounds double, double* %2782, i64 %2784
%2786 = load double, double* %2785
%2787 = call double @llvm.fmuladd.f64(double %2776, double %2781, double %2786)
store double %2787, double* %2785
br label %2788
2788: ; preds = %2771
%2789 = load i32, i32* %71
%2790 = add nsw i32 %2789, 1
store i32 %2790, i32* %71
br label %2744
2791: ; preds = %2744
br label %2792
2792: ; preds = %2791
%2793 = load i32, i32* %72
%2794 = add nsw i32 %2793, 1
store i32 %2794, i32* %72
br label %2718
2795: ; preds = %2718
store i32 1, i32* %73
br label %2796
2796: ; preds = %2859, %2795
%2797 = load i32, i32* %73
%2798 = load i32, i32* %30
%2799 = icmp sle i32 %2797, %2798
br i1 %2799, label %2800, label %2862
2800: ; preds = %2796
%2801 = load double, double* %101
store double %2801, double* %94
store i32 1, i32* %72
br label %2802
2802: ; preds = %2823, %2800
%2803 = load i32, i32* %72
%2804 = load i32, i32* %29
%2805 = icmp sle i32 %2803, %2804
br i1 %2805, label %2806, label %2826
2806: ; preds = %2802
%2807 = load double*, double** %41
%2808 = load i32, i32* %73
%2809 = load i32, i32* %72
%2810 = load i32, i32* %57
%2811 = mul nsw i32 %2809, %2810
%2812 = add nsw i32 %2808, %2811
%2813 = sext i32 %2812 to i64
%2814 = getelementptr inbounds double, double* %2807, i64 %2813
%2815 = load double, double* %2814
%2816 = load double*, double** %54
%2817 = load i32, i32* %72
%2818 = sext i32 %2817 to i64
%2819 = getelementptr inbounds double, double* %2816, i64 %2818
%2820 = load double, double* %2819
%2821 = load double, double* %94
%2822 = call double @llvm.fmuladd.f64(double %2815, double %2820, double %2821)
store double %2822, double* %94
br label %2823
2823: ; preds = %2806
%2824 = load i32, i32* %72
%2825 = add nsw i32 %2824, 1
store i32 %2825, i32* %72
br label %2802
2826: ; preds = %2802
%2827 = load double*, double** %46
%2828 = load i32, i32* %73
%2829 = sext i32 %2828 to i64
%2830 = getelementptr inbounds double, double* %2827, i64 %2829
%2831 = load double, double* %2830
%2832 = load double, double* %94
%2833 = fmul double %2831, %2832
store double %2833, double* %94
store i32 1, i32* %71
br label %2834
2834: ; preds = %2855, %2826
%2835 = load i32, i32* %71
%2836 = load i32, i32* %29
%2837 = icmp sle i32 %2835, %2836
br i1 %2837, label %2838, label %2858
2838: ; preds = %2834
%2839 = load double, double* %94
%2840 = load double*, double** %41
%2841 = load i32, i32* %73
%2842 = load i32, i32* %71
%2843 = load i32, i32* %57
%2844 = mul nsw i32 %2842, %2843
%2845 = add nsw i32 %2841, %2844
%2846 = sext i32 %2845 to i64
%2847 = getelementptr inbounds double, double* %2840, i64 %2846
%2848 = load double, double* %2847
%2849 = load double*, double** %44
%2850 = load i32, i32* %71
%2851 = sext i32 %2850 to i64
%2852 = getelementptr inbounds double, double* %2849, i64 %2851
%2853 = load double, double* %2852
%2854 = call double @llvm.fmuladd.f64(double %2839, double %2848, double %2853)
store double %2854, double* %2852
br label %2855
2855: ; preds = %2838
%2856 = load i32, i32* %71
%2857 = add nsw i32 %2856, 1
store i32 %2857, i32* %71
br label %2834
2858: ; preds = %2834
br label %2859
2859: ; preds = %2858
%2860 = load i32, i32* %73
%2861 = add nsw i32 %2860, 1
store i32 %2861, i32* %73
br label %2796
2862: ; preds = %2796
br label %2863
2863: ; preds = %2862, %2711
%2864 = load i32, i32* %139
%2865 = icmp sgt i32 %2864, 0
br i1 %2865, label %2866, label %3235
2866: ; preds = %2863
store i32 1, i32* %73
br label %2867
2867: ; preds = %2892, %2866
%2868 = load i32, i32* %73
%2869 = load i32, i32* %30
%2870 = icmp sle i32 %2868, %2869
br i1 %2870, label %2871, label %2895
2871: ; preds = %2867
%2872 = load double*, double** %42
%2873 = load i32, i32* %73
%2874 = sext i32 %2873 to i64
%2875 = getelementptr inbounds double, double* %2872, i64 %2874
%2876 = load double, double* %2875
%2877 = load double*, double** %42
%2878 = load i32, i32* %99
%2879 = sext i32 %2878 to i64
%2880 = getelementptr inbounds double, double* %2877, i64 %2879
%2881 = load double, double* %2880
%2882 = fsub double %2876, %2881
%2883 = load double*, double** %55
%2884 = load i32, i32* %73
%2885 = sext i32 %2884 to i64
%2886 = getelementptr inbounds double, double* %2883, i64 %2885
store double %2882, double* %2886
%2887 = load double, double* %101
%2888 = load double*, double** %56
%2889 = load i32, i32* %73
%2890 = sext i32 %2889 to i64
%2891 = getelementptr inbounds double, double* %2888, i64 %2890
store double %2887, double* %2891
br label %2892
2892: ; preds = %2871
%2893 = load i32, i32* %73
%2894 = add nsw i32 %2893, 1
store i32 %2894, i32* %73
br label %2867
2895: ; preds = %2867
store i32 1, i32* %72
br label %2896
2896: ; preds = %2952, %2895
%2897 = load i32, i32* %72
%2898 = load i32, i32* %100
%2899 = icmp sle i32 %2897, %2898
br i1 %2899, label %2900, label %2955
2900: ; preds = %2896
%2901 = load double, double* %101
store double %2901, double* %87
store i32 1, i32* %73
br label %2902
2902: ; preds = %2923, %2900
%2903 = load i32, i32* %73
%2904 = load i32, i32* %30
%2905 = icmp sle i32 %2903, %2904
br i1 %2905, label %2906, label %2926
2906: ; preds = %2902
%2907 = load double*, double** %48
%2908 = load i32, i32* %73
%2909 = load i32, i32* %72
%2910 = load i32, i32* %61
%2911 = mul nsw i32 %2909, %2910
%2912 = add nsw i32 %2908, %2911
%2913 = sext i32 %2912 to i64
%2914 = getelementptr inbounds double, double* %2907, i64 %2913
%2915 = load double, double* %2914
%2916 = load double*, double** %55
%2917 = load i32, i32* %73
%2918 = sext i32 %2917 to i64
%2919 = getelementptr inbounds double, double* %2916, i64 %2918
%2920 = load double, double* %2919
%2921 = load double, double* %87
%2922 = call double @llvm.fmuladd.f64(double %2915, double %2920, double %2921)
store double %2922, double* %87
br label %2923
2923: ; preds = %2906
%2924 = load i32, i32* %73
%2925 = add nsw i32 %2924, 1
store i32 %2925, i32* %73
br label %2902
2926: ; preds = %2902
store i32 1, i32* %73
br label %2927
2927: ; preds = %2948, %2926
%2928 = load i32, i32* %73
%2929 = load i32, i32* %30
%2930 = icmp sle i32 %2928, %2929
br i1 %2930, label %2931, label %2951
2931: ; preds = %2927
%2932 = load double, double* %87
%2933 = load double*, double** %48
%2934 = load i32, i32* %73
%2935 = load i32, i32* %72
%2936 = load i32, i32* %61
%2937 = mul nsw i32 %2935, %2936
%2938 = add nsw i32 %2934, %2937
%2939 = sext i32 %2938 to i64
%2940 = getelementptr inbounds double, double* %2933, i64 %2939
%2941 = load double, double* %2940
%2942 = load double*, double** %56
%2943 = load i32, i32* %73
%2944 = sext i32 %2943 to i64
%2945 = getelementptr inbounds double, double* %2942, i64 %2944
%2946 = load double, double* %2945
%2947 = call double @llvm.fmuladd.f64(double %2932, double %2941, double %2946)
store double %2947, double* %2945
br label %2948
2948: ; preds = %2931
%2949 = load i32, i32* %73
%2950 = add nsw i32 %2949, 1
store i32 %2950, i32* %73
br label %2927
2951: ; preds = %2927
br label %2952
2952: ; preds = %2951
%2953 = load i32, i32* %72
%2954 = add nsw i32 %2953, 1
store i32 %2954, i32* %72
br label %2896
2955: ; preds = %2896
store i32 1, i32* %73
br label %2956
2956: ; preds = %3009, %2955
%2957 = load i32, i32* %73
%2958 = load i32, i32* %30
%2959 = icmp sle i32 %2957, %2958
br i1 %2959, label %2960, label %3012
2960: ; preds = %2956
%2961 = load double, double* %101
store double %2961, double* %87
store i32 1, i32* %72
br label %2962
2962: ; preds = %2983, %2960
%2963 = load i32, i32* %72
%2964 = load i32, i32* %29
%2965 = icmp sle i32 %2963, %2964
br i1 %2965, label %2966, label %2986
2966: ; preds = %2962
%2967 = load double*, double** %41
%2968 = load i32, i32* %73
%2969 = load i32, i32* %72
%2970 = load i32, i32* %57
%2971 = mul nsw i32 %2969, %2970
%2972 = add nsw i32 %2968, %2971
%2973 = sext i32 %2972 to i64
%2974 = getelementptr inbounds double, double* %2967, i64 %2973
%2975 = load double, double* %2974
%2976 = load double*, double** %43
%2977 = load i32, i32* %72
%2978 = sext i32 %2977 to i64
%2979 = getelementptr inbounds double, double* %2976, i64 %2978
%2980 = load double, double* %2979
%2981 = load double, double* %87
%2982 = call double @llvm.fmuladd.f64(double %2975, double %2980, double %2981)
store double %2982, double* %87
br label %2983
2983: ; preds = %2966
%2984 = load i32, i32* %72
%2985 = add nsw i32 %2984, 1
store i32 %2985, i32* %72
br label %2962
2986: ; preds = %2962
%2987 = load double*, double** %56
%2988 = load i32, i32* %73
%2989 = sext i32 %2988 to i64
%2990 = getelementptr inbounds double, double* %2987, i64 %2989
%2991 = load double, double* %2990
%2992 = load double*, double** %56
%2993 = load i32, i32* %73
%2994 = load i32, i32* %30
%2995 = add nsw i32 %2993, %2994
%2996 = sext i32 %2995 to i64
%2997 = getelementptr inbounds double, double* %2992, i64 %2996
store double %2991, double* %2997
%2998 = load double, double* %87
%2999 = load double*, double** %56
%3000 = load i32, i32* %73
%3001 = sext i32 %3000 to i64
%3002 = getelementptr inbounds double, double* %2999, i64 %3001
%3003 = load double, double* %3002
%3004 = fmul double %2998, %3003
%3005 = load double*, double** %56
%3006 = load i32, i32* %73
%3007 = sext i32 %3006 to i64
%3008 = getelementptr inbounds double, double* %3005, i64 %3007
store double %3004, double* %3008
br label %3009
3009: ; preds = %2986
%3010 = load i32, i32* %73
%3011 = add nsw i32 %3010, 1
store i32 %3011, i32* %73
br label %2956
3012: ; preds = %2956
%3013 = load double, double* %101
store double %3013, double* %104
%3014 = load double, double* %101
store double %3014, double* %92
store i32 1, i32* %71
br label %3015
3015: ; preds = %3164, %3012
%3016 = load i32, i32* %71
%3017 = load i32, i32* %29
%3018 = icmp sle i32 %3016, %3017
br i1 %3018, label %3019, label %3167
3019: ; preds = %3015
%3020 = load double, double* %101
store double %3020, double* %87
store i32 1, i32* %73
br label %3021
3021: ; preds = %3057, %3019
%3022 = load i32, i32* %73
%3023 = load i32, i32* %30
%3024 = icmp sle i32 %3022, %3023
br i1 %3024, label %3025, label %3060
3025: ; preds = %3021
%3026 = load double, double* %87
%3027 = load double*, double** %47
%3028 = load i32, i32* %73
%3029 = load i32, i32* %71
%3030 = load i32, i32* %59
%3031 = mul nsw i32 %3029, %3030
%3032 = add nsw i32 %3028, %3031
%3033 = sext i32 %3032 to i64
%3034 = getelementptr inbounds double, double* %3027, i64 %3033
%3035 = load double, double* %3034
%3036 = load double*, double** %55
%3037 = load i32, i32* %73
%3038 = sext i32 %3037 to i64
%3039 = getelementptr inbounds double, double* %3036, i64 %3038
%3040 = load double, double* %3039
%3041 = call double @llvm.fmuladd.f64(double %3035, double %3040, double %3026)
%3042 = load double*, double** %41
%3043 = load i32, i32* %73
%3044 = load i32, i32* %71
%3045 = load i32, i32* %57
%3046 = mul nsw i32 %3044, %3045
%3047 = add nsw i32 %3043, %3046
%3048 = sext i32 %3047 to i64
%3049 = getelementptr inbounds double, double* %3042, i64 %3048
%3050 = load double, double* %3049
%3051 = load double*, double** %56
%3052 = load i32, i32* %73
%3053 = sext i32 %3052 to i64
%3054 = getelementptr inbounds double, double* %3051, i64 %3053
%3055 = load double, double* %3054
%3056 = call double @llvm.fmuladd.f64(double %3050, double %3055, double %3041)
store double %3056, double* %87
br label %3057
3057: ; preds = %3025
%3058 = load i32, i32* %73
%3059 = add nsw i32 %3058, 1
store i32 %3059, i32* %73
br label %3021
3060: ; preds = %3021
%3061 = load double*, double** %43
%3062 = load i32, i32* %71
%3063 = sext i32 %3062 to i64
%3064 = getelementptr inbounds double, double* %3061, i64 %3063
%3065 = load double, double* %3064
%3066 = load double*, double** %50
%3067 = load i32, i32* %71
%3068 = sext i32 %3067 to i64
%3069 = getelementptr inbounds double, double* %3066, i64 %3068
%3070 = load double, double* %3069
%3071 = fcmp oeq double %3065, %3070
br i1 %3071, label %3072, label %3099
3072: ; preds = %3060
%3073 = load double*, double** %44
%3074 = load i32, i32* %71
%3075 = sext i32 %3074 to i64
%3076 = getelementptr inbounds double, double* %3073, i64 %3075
%3077 = load double, double* %3076
store double %3077, double* %145
%3078 = load double, double* %101
%3079 = load double, double* %145
%3080 = fcmp olt double %3078, %3079
br i1 %3080, label %3081, label %3083
3081: ; preds = %3072
%3082 = load double, double* %101
store double %3082, double* %145
br label %3083
3083: ; preds = %3081, %3072
%3084 = load double, double* %145
%3085 = load double, double* %145
%3086 = load double, double* %104
%3087 = call double @llvm.fmuladd.f64(double %3084, double %3085, double %3086)
store double %3087, double* %104
%3088 = load double, double* %87
store double %3088, double* %145
%3089 = load double, double* %101
%3090 = load double, double* %87
%3091 = fcmp olt double %3089, %3090
br i1 %3091, label %3092, label %3094
3092: ; preds = %3083
%3093 = load double, double* %101
store double %3093, double* %87
br label %3094
3094: ; preds = %3092, %3083
%3095 = load double, double* %145
%3096 = load double, double* %145
%3097 = load double, double* %92
%3098 = call double @llvm.fmuladd.f64(double %3095, double %3096, double %3097)
store double %3098, double* %92
br label %3156
3099: ; preds = %3060
%3100 = load double*, double** %43
%3101 = load i32, i32* %71
%3102 = sext i32 %3101 to i64
%3103 = getelementptr inbounds double, double* %3100, i64 %3102
%3104 = load double, double* %3103
%3105 = load double*, double** %51
%3106 = load i32, i32* %71
%3107 = sext i32 %3106 to i64
%3108 = getelementptr inbounds double, double* %3105, i64 %3107
%3109 = load double, double* %3108
%3110 = fcmp oeq double %3104, %3109
br i1 %3110, label %3111, label %3138
3111: ; preds = %3099
%3112 = load double*, double** %44
%3113 = load i32, i32* %71
%3114 = sext i32 %3113 to i64
%3115 = getelementptr inbounds double, double* %3112, i64 %3114
%3116 = load double, double* %3115
store double %3116, double* %146
%3117 = load double, double* %101
%3118 = load double, double* %146
%3119 = fcmp ogt double %3117, %3118
br i1 %3119, label %3120, label %3122
3120: ; preds = %3111
%3121 = load double, double* %101
store double %3121, double* %146
br label %3122
3122: ; preds = %3120, %3111
%3123 = load double, double* %146
%3124 = load double, double* %146
%3125 = load double, double* %104
%3126 = call double @llvm.fmuladd.f64(double %3123, double %3124, double %3125)
store double %3126, double* %104
%3127 = load double, double* %87
store double %3127, double* %146
%3128 = load double, double* %101
%3129 = load double, double* %87
%3130 = fcmp ogt double %3128, %3129
br i1 %3130, label %3131, label %3133
3131: ; preds = %3122
%3132 = load double, double* %101
store double %3132, double* %87
br label %3133
3133: ; preds = %3131, %3122
%3134 = load double, double* %146
%3135 = load double, double* %146
%3136 = load double, double* %92
%3137 = call double @llvm.fmuladd.f64(double %3134, double %3135, double %3136)
store double %3137, double* %92
br label %3155
3138: ; preds = %3099
%3139 = load double*, double** %44
%3140 = load i32, i32* %71
%3141 = sext i32 %3140 to i64
%3142 = getelementptr inbounds double, double* %3139, i64 %3141
%3143 = load double, double* %3142
%3144 = load double*, double** %44
%3145 = load i32, i32* %71
%3146 = sext i32 %3145 to i64
%3147 = getelementptr inbounds double, double* %3144, i64 %3146
%3148 = load double, double* %3147
%3149 = load double, double* %104
%3150 = call double @llvm.fmuladd.f64(double %3143, double %3148, double %3149)
store double %3150, double* %104
%3151 = load double, double* %87
%3152 = load double, double* %87
%3153 = load double, double* %92
%3154 = call double @llvm.fmuladd.f64(double %3151, double %3152, double %3153)
store double %3154, double* %92
br label %3155
3155: ; preds = %3138, %3133
br label %3156
3156: ; preds = %3155, %3094
%3157 = load double, double* %87
%3158 = load double*, double** %55
%3159 = load i32, i32* %30
%3160 = load i32, i32* %71
%3161 = add nsw i32 %3159, %3160
%3162 = sext i32 %3161 to i64
%3163 = getelementptr inbounds double, double* %3158, i64 %3162
store double %3157, double* %3163
br label %3164
3164: ; preds = %3156
%3165 = load i32, i32* %71
%3166 = add nsw i32 %3165, 1
store i32 %3166, i32* %71
br label %3015
3167: ; preds = %3015
%3168 = load i32, i32* %127
%3169 = add nsw i32 %3168, 1
store i32 %3169, i32* %127
%3170 = load double, double* %104
%3171 = load double, double* %84
%3172 = load double, double* %92
%3173 = fmul double %3171, %3172
%3174 = fcmp olt double %3170, %3173
br i1 %3174, label %3175, label %3176
3175: ; preds = %3167
store i32 0, i32* %127
br label %3176
3176: ; preds = %3175, %3167
%3177 = load i32, i32* %127
%3178 = icmp sge i32 %3177, 3
br i1 %3178, label %3179, label %3234
3179: ; preds = %3176
%3180 = load i32, i32* %30
%3181 = load i32, i32* %77
%3182 = call i32 (i32, i32, ...) bitcast (i32 (...)* @imax to i32 (i32, i32, ...)*)(i32 %3180, i32 %3181)
store i32 %3182, i32* %63
store i32 1, i32* %71
br label %3183
3183: ; preds = %3230, %3179
%3184 = load i32, i32* %71
%3185 = load i32, i32* %63
%3186 = icmp sle i32 %3184, %3185
br i1 %3186, label %3187, label %3233
3187: ; preds = %3183
%3188 = load i32, i32* %71
%3189 = load i32, i32* %29
%3190 = icmp sle i32 %3188, %3189
br i1 %3190, label %3191, label %3203
3191: ; preds = %3187
%3192 = load double*, double** %55
%3193 = load i32, i32* %30
%3194 = load i32, i32* %71
%3195 = add nsw i32 %3193, %3194
%3196 = sext i32 %3195 to i64
%3197 = getelementptr inbounds double, double* %3192, i64 %3196
%3198 = load double, double* %3197
%3199 = load double*, double** %44
%3200 = load i32, i32* %71
%3201 = sext i32 %3200 to i64
%3202 = getelementptr inbounds double, double* %3199, i64 %3201
store double %3198, double* %3202
br label %3203
3203: ; preds = %3191, %3187
%3204 = load i32, i32* %71
%3205 = load i32, i32* %30
%3206 = icmp sle i32 %3204, %3205
br i1 %3206, label %3207, label %3219
3207: ; preds = %3203
%3208 = load double*, double** %56
%3209 = load i32, i32* %30
%3210 = load i32, i32* %71
%3211 = add nsw i32 %3209, %3210
%3212 = sext i32 %3211 to i64
%3213 = getelementptr inbounds double, double* %3208, i64 %3212
%3214 = load double, double* %3213
%3215 = load double*, double** %46
%3216 = load i32, i32* %71
%3217 = sext i32 %3216 to i64
%3218 = getelementptr inbounds double, double* %3215, i64 %3217
store double %3214, double* %3218
br label %3219
3219: ; preds = %3207, %3203
%3220 = load i32, i32* %71
%3221 = load i32, i32* %77
%3222 = icmp sle i32 %3220, %3221
br i1 %3222, label %3223, label %3229
3223: ; preds = %3219
%3224 = load double, double* %101
%3225 = load double*, double** %45
%3226 = load i32, i32* %71
%3227 = sext i32 %3226 to i64
%3228 = getelementptr inbounds double, double* %3225, i64 %3227
store double %3224, double* %3228
br label %3229
3229: ; preds = %3223, %3219
store i32 0, i32* %127
br label %3230
3230: ; preds = %3229
%3231 = load i32, i32* %71
%3232 = add nsw i32 %3231, 1
store i32 %3232, i32* %71
br label %3183
3233: ; preds = %3183
br label %3234
3234: ; preds = %3233, %3176
br label %3235
3235: ; preds = %3234, %2863
%3236 = load i32, i32* %139
%3237 = icmp eq i32 %3236, 0
br i1 %3237, label %3238, label %3239
3238: ; preds = %3235
br label %447
3239: ; preds = %3235
%3240 = load double, double* %70
%3241 = load double, double* %98
%3242 = load double, double* %126
%3243 = load double, double* %124
%3244 = call double @llvm.fmuladd.f64(double %3242, double %3243, double %3241)
%3245 = fcmp ole double %3240, %3244
br i1 %3245, label %3246, label %3247
3246: ; preds = %3239
br label %447
3247: ; preds = %3239
%3248 = load double, double* %88
%3249 = load double, double* %114
%3250 = fmul double %3248, %3249
store double %3250, double* %147
%3251 = load double, double* %84
%3252 = load double, double* %86
%3253 = fmul double %3251, %3252
store double %3253, double* %148
%3254 = load double, double* %147
%3255 = load double, double* %147
%3256 = fmul double %3254, %3255
store double %3256, double* %149
%3257 = load double, double* %148
%3258 = load double, double* %148
%3259 = fmul double %3257, %3258
store double %3259, double* %150
%3260 = load double, double* %149
%3261 = load double, double* %150
%3262 = fcmp ogt double %3260, %3261
br i1 %3262, label %3263, label %3265
3263: ; preds = %3247
%3264 = load double, double* %149
br label %3267
3265: ; preds = %3247
%3266 = load double, double* %150
br label %3267
3267: ; preds = %3265, %3263
%3268 = phi double [ %3264, %3263 ], [ %3266, %3265 ]
store double %3268, double* %138
br label %3269
3269: ; preds = %3267, %658, %550, %522
store i32 0, i32* %93
store i32 1, i32* %73
br label %3270
3270: ; preds = %3324, %3269
%3271 = load i32, i32* %73
%3272 = load i32, i32* %30
%3273 = icmp sle i32 %3271, %3272
br i1 %3273, label %3274, label %3327
3274: ; preds = %3270
%3275 = load double, double* %101
store double %3275, double* %87
store i32 1, i32* %72
br label %3276
3276: ; preds = %3313, %3274
%3277 = load i32, i32* %72
%3278 = load i32, i32* %29
%3279 = icmp sle i32 %3277, %3278
br i1 %3279, label %3280, label %3316
3280: ; preds = %3276
%3281 = load double*, double** %41
%3282 = load i32, i32* %73
%3283 = load i32, i32* %72
%3284 = load i32, i32* %57
%3285 = mul nsw i32 %3283, %3284
%3286 = add nsw i32 %3282, %3285
%3287 = sext i32 %3286 to i64
%3288 = getelementptr inbounds double, double* %3281, i64 %3287
%3289 = load double, double* %3288
%3290 = load double*, double** %43
%3291 = load i32, i32* %72
%3292 = sext i32 %3291 to i64
%3293 = getelementptr inbounds double, double* %3290, i64 %3292
%3294 = load double, double* %3293
%3295 = fsub double %3289, %3294
%3296 = load double*, double** %41
%3297 = load i32, i32* %73
%3298 = load i32, i32* %72
%3299 = load i32, i32* %57
%3300 = mul nsw i32 %3298, %3299
%3301 = add nsw i32 %3297, %3300
%3302 = sext i32 %3301 to i64
%3303 = getelementptr inbounds double, double* %3296, i64 %3302
%3304 = load double, double* %3303
%3305 = load double*, double** %43
%3306 = load i32, i32* %72
%3307 = sext i32 %3306 to i64
%3308 = getelementptr inbounds double, double* %3305, i64 %3307
%3309 = load double, double* %3308
%3310 = fsub double %3304, %3309
%3311 = load double, double* %87
%3312 = call double @llvm.fmuladd.f64(double %3295, double %3310, double %3311)
store double %3312, double* %87
br label %3313
3313: ; preds = %3280
%3314 = load i32, i32* %72
%3315 = add nsw i32 %3314, 1
store i32 %3315, i32* %72
br label %3276
3316: ; preds = %3276
%3317 = load double, double* %87
%3318 = load double, double* %138
%3319 = fcmp ogt double %3317, %3318
br i1 %3319, label %3320, label %3323
3320: ; preds = %3316
%3321 = load i32, i32* %73
store i32 %3321, i32* %93
%3322 = load double, double* %87
store double %3322, double* %138
br label %3323
3323: ; preds = %3320, %3316
br label %3324
3324: ; preds = %3323
%3325 = load i32, i32* %73
%3326 = add nsw i32 %3325, 1
store i32 %3326, i32* %73
br label %3270
3327: ; preds = %3270
%3328 = load i32, i32* %93
%3329 = icmp sgt i32 %3328, 0
br i1 %3329, label %3330, label %3375
3330: ; preds = %3327
%3331 = load double, double* %138
%3332 = call double @sqrt(double %3331)
store double %3332, double* %105
%3333 = load i32, i32* %139
%3334 = icmp eq i32 %3333, -1
br i1 %3334, label %3335, label %3356
3335: ; preds = %3330
%3336 = load double, double* %126
%3337 = load double, double* %114
%3338 = fmul double %3336, %3337
store double %3338, double* %114
%3339 = load double, double* %90
%3340 = load double, double* %105
%3341 = fmul double %3339, %3340
%3342 = load double, double* %114
%3343 = fcmp olt double %3341, %3342
br i1 %3343, label %3344, label %3348
3344: ; preds = %3335
%3345 = load double, double* %90
%3346 = load double, double* %105
%3347 = fmul double %3345, %3346
store double %3347, double* %114
br label %3348
3348: ; preds = %3344, %3335
%3349 = load double, double* %114
%3350 = load double, double* %86
%3351 = fmul double %3350, 1.500000e+00
%3352 = fcmp ole double %3349, %3351
br i1 %3352, label %3353, label %3355
3353: ; preds = %3348
%3354 = load double, double* %86
store double %3354, double* %114
br label %3355
3355: ; preds = %3353, %3348
br label %3356
3356: ; preds = %3355, %3330
store i32 0, i32* %139
%3357 = load double, double* %126
%3358 = load double, double* %105
%3359 = fmul double %3357, %3358
store double %3359, double* %115
%3360 = load double, double* %114
%3361 = load double, double* %115
%3362 = fcmp olt double %3360, %3361
br i1 %3362, label %3363, label %3365
3363: ; preds = %3356
%3364 = load double, double* %114
store double %3364, double* %115
br label %3365
3365: ; preds = %3363, %3356
%3366 = load double, double* %86
%3367 = load double, double* %115
%3368 = fcmp ogt double %3366, %3367
br i1 %3368, label %3369, label %3371
3369: ; preds = %3365
%3370 = load double, double* %86
store double %3370, double* %115
br label %3371
3371: ; preds = %3369, %3365
%3372 = load double, double* %115
%3373 = load double, double* %115
%3374 = fmul double %3372, %3373
store double %3374, double* %85
br label %668
3375: ; preds = %3327
%3376 = load i32, i32* %139
%3377 = icmp eq i32 %3376, -1
br i1 %3377, label %3378, label %3379
3378: ; preds = %3375
br label %3398
3379: ; preds = %3375
%3380 = load double, double* %122
%3381 = load double, double* %101
%3382 = fcmp ogt double %3380, %3381
br i1 %3382, label %3383, label %3384
3383: ; preds = %3379
br label %447
3384: ; preds = %3379
%3385 = load double, double* %114
%3386 = load double, double* %123
%3387 = fcmp ogt double %3385, %3386
br i1 %3387, label %3388, label %3390
3388: ; preds = %3384
%3389 = load double, double* %114
br label %3392
3390: ; preds = %3384
%3391 = load double, double* %123
br label %3392
3392: ; preds = %3390, %3388
%3393 = phi double [ %3389, %3388 ], [ %3391, %3390 ]
%3394 = load double, double* %86
%3395 = fcmp ogt double %3393, %3394
br i1 %3395, label %3396, label %3397
3396: ; preds = %3392
br label %447
3397: ; preds = %3392
br label %3398
3398: ; preds = %3397, %3378, %664
%3399 = load double, double* %86
%3400 = load double, double* %37
%3401 = fcmp ogt double %3399, %3400
br i1 %3401, label %3402, label %3471
3402: ; preds = %3398
%3403 = load double, double* %90
%3404 = load double, double* %86
%3405 = fmul double %3403, %3404
store double %3405, double* %114
%3406 = load double, double* %86
%3407 = load double, double* %37
%3408 = fdiv double %3406, %3407
store double %3408, double* %122
%3409 = load double, double* %122
%3410 = fcmp ole double %3409, 1.600000e+01
br i1 %3410, label %3411, label %3413
3411: ; preds = %3402
%3412 = load double, double* %37
store double %3412, double* %86
br label %3426
3413: ; preds = %3402
%3414 = load double, double* %122
%3415 = fcmp ole double %3414, 2.500000e+02
br i1 %3415, label %3416, label %3421
3416: ; preds = %3413
%3417 = load double, double* %122
%3418 = call double @sqrt(double %3417)
%3419 = load double, double* %37
%3420 = fmul double %3418, %3419
store double %3420, double* %86
br label %3425
3421: ; preds = %3413
%3422 = load double, double* %126
%3423 = load double, double* %86
%3424 = fmul double %3422, %3423
store double %3424, double* %86
br label %3425
3425: ; preds = %3421, %3416
br label %3426
3426: ; preds = %3425, %3411
%3427 = load double, double* %114
%3428 = load double, double* %86
%3429 = fcmp ogt double %3427, %3428
br i1 %3429, label %3430, label %3432
3430: ; preds = %3426
%3431 = load double, double* %114
br label %3434
3432: ; preds = %3426
%3433 = load double, double* %86
br label %3434
3434: ; preds = %3432, %3430
%3435 = phi double [ %3431, %3430 ], [ %3433, %3432 ]
store double %3435, double* %114
%3436 = load i32, i32* %38
%3437 = icmp sge i32 %3436, 2
br i1 %3437, label %3438, label %3469
3438: ; preds = %3434
%3439 = load double, double* %86
%3440 = load i32, i32* %75
%3441 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5, i64 0, i64 0), double %3439, i32 %3440)
%3442 = load double*, double** %42
%3443 = load i32, i32* %99
%3444 = sext i32 %3443 to i64
%3445 = getelementptr inbounds double, double* %3442, i64 %3444
%3446 = load double, double* %3445
%3447 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.6, i64 0, i64 0), double %3446)
store i32 1, i32* %71
br label %3448
3448: ; preds = %3465, %3438
%3449 = load i32, i32* %71
%3450 = load i32, i32* %29
%3451 = icmp sle i32 %3449, %3450
br i1 %3451, label %3452, label %3468
3452: ; preds = %3448
%3453 = load double*, double** %40
%3454 = load i32, i32* %71
%3455 = sext i32 %3454 to i64
%3456 = getelementptr inbounds double, double* %3453, i64 %3455
%3457 = load double, double* %3456
%3458 = load double*, double** %43
%3459 = load i32, i32* %71
%3460 = sext i32 %3459 to i64
%3461 = getelementptr inbounds double, double* %3458, i64 %3460
%3462 = load double, double* %3461
%3463 = fadd double %3457, %3462
%3464 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %3463)
br label %3465
3465: ; preds = %3452
%3466 = load i32, i32* %71
%3467 = add nsw i32 %3466, 1
store i32 %3467, i32* %71
br label %3448
3468: ; preds = %3448
br label %3469
3469: ; preds = %3468, %3434
store i32 0, i32* %139
%3470 = load i32, i32* %75
store i32 %3470, i32* %121
br label %447
3471: ; preds = %3398
%3472 = load i32, i32* %139
%3473 = icmp eq i32 %3472, -1
br i1 %3473, label %3474, label %3475
3474: ; preds = %3471
br label %1938
3475: ; preds = %3471
br label %3476
3476: ; preds = %3475, %2220, %2093, %2059, %1935, %1768, %1314, %299
%3477 = load double*, double** %42
%3478 = load i32, i32* %99
%3479 = sext i32 %3478 to i64
%3480 = getelementptr inbounds double, double* %3477, i64 %3479
%3481 = load double, double* %3480
%3482 = load double, double* %117
%3483 = fcmp ole double %3481, %3482
br i1 %3483, label %3484, label %3602
3484: ; preds = %3476
store i32 1, i32* %71
br label %3485
3485: ; preds = %3593, %3484
%3486 = load i32, i32* %71
%3487 = load i32, i32* %29
%3488 = icmp sle i32 %3486, %3487
br i1 %3488, label %3489, label %3596
3489: ; preds = %3485
%3490 = load double*, double** %40
%3491 = load i32, i32* %71
%3492 = sext i32 %3491 to i64
%3493 = getelementptr inbounds double, double* %3490, i64 %3492
%3494 = load double, double* %3493
%3495 = load double*, double** %43
%3496 = load i32, i32* %71
%3497 = sext i32 %3496 to i64
%3498 = getelementptr inbounds double, double* %3495, i64 %3497
%3499 = load double, double* %3498
%3500 = fadd double %3494, %3499
%3501 = load double*, double** %31
%3502 = load i32, i32* %71
%3503 = sext i32 %3502 to i64
%3504 = getelementptr inbounds double, double* %3501, i64 %3503
store double %3500, double* %3504
%3505 = load double*, double** %32
%3506 = load i32, i32* %71
%3507 = sext i32 %3506 to i64
%3508 = getelementptr inbounds double, double* %3505, i64 %3507
%3509 = load double, double* %3508
%3510 = load double*, double** %31
%3511 = load i32, i32* %71
%3512 = sext i32 %3511 to i64
%3513 = getelementptr inbounds double, double* %3510, i64 %3512
%3514 = load double, double* %3513
%3515 = fcmp ogt double %3509, %3514
br i1 %3515, label %3516, label %3526
3516: ; preds = %3489
%3517 = load double*, double** %32
%3518 = load i32, i32* %71
%3519 = sext i32 %3518 to i64
%3520 = getelementptr inbounds double, double* %3517, i64 %3519
%3521 = load double, double* %3520
%3522 = load double*, double** %31
%3523 = load i32, i32* %71
%3524 = sext i32 %3523 to i64
%3525 = getelementptr inbounds double, double* %3522, i64 %3524
store double %3521, double* %3525
br label %3526
3526: ; preds = %3516, %3489
%3527 = load double*, double** %33
%3528 = load i32, i32* %71
%3529 = sext i32 %3528 to i64
%3530 = getelementptr inbounds double, double* %3527, i64 %3529
%3531 = load double, double* %3530
%3532 = load double*, double** %31
%3533 = load i32, i32* %71
%3534 = sext i32 %3533 to i64
%3535 = getelementptr inbounds double, double* %3532, i64 %3534
%3536 = load double, double* %3535
%3537 = fcmp olt double %3531, %3536
br i1 %3537, label %3538, label %3548
3538: ; preds = %3526
%3539 = load double*, double** %33
%3540 = load i32, i32* %71
%3541 = sext i32 %3540 to i64
%3542 = getelementptr inbounds double, double* %3539, i64 %3541
%3543 = load double, double* %3542
%3544 = load double*, double** %31
%3545 = load i32, i32* %71
%3546 = sext i32 %3545 to i64
%3547 = getelementptr inbounds double, double* %3544, i64 %3546
store double %3543, double* %3547
br label %3548
3548: ; preds = %3538, %3526
%3549 = load double*, double** %43
%3550 = load i32, i32* %71
%3551 = sext i32 %3550 to i64
%3552 = getelementptr inbounds double, double* %3549, i64 %3551
%3553 = load double, double* %3552
%3554 = load double*, double** %50
%3555 = load i32, i32* %71
%3556 = sext i32 %3555 to i64
%3557 = getelementptr inbounds double, double* %3554, i64 %3556
%3558 = load double, double* %3557
%3559 = fcmp oeq double %3553, %3558
br i1 %3559, label %3560, label %3570
3560: ; preds = %3548
%3561 = load double*, double** %32
%3562 = load i32, i32* %71
%3563 = sext i32 %3562 to i64
%3564 = getelementptr inbounds double, double* %3561, i64 %3563
%3565 = load double, double* %3564
%3566 = load double*, double** %31
%3567 = load i32, i32* %71
%3568 = sext i32 %3567 to i64
%3569 = getelementptr inbounds double, double* %3566, i64 %3568
store double %3565, double* %3569
br label %3570
3570: ; preds = %3560, %3548
%3571 = load double*, double** %43
%3572 = load i32, i32* %71
%3573 = sext i32 %3572 to i64
%3574 = getelementptr inbounds double, double* %3571, i64 %3573
%3575 = load double, double* %3574
%3576 = load double*, double** %51
%3577 = load i32, i32* %71
%3578 = sext i32 %3577 to i64
%3579 = getelementptr inbounds double, double* %3576, i64 %3578
%3580 = load double, double* %3579
%3581 = fcmp oeq double %3575, %3580
br i1 %3581, label %3582, label %3592
3582: ; preds = %3570
%3583 = load double*, double** %33
%3584 = load i32, i32* %71
%3585 = sext i32 %3584 to i64
%3586 = getelementptr inbounds double, double* %3583, i64 %3585
%3587 = load double, double* %3586
%3588 = load double*, double** %31
%3589 = load i32, i32* %71
%3590 = sext i32 %3589 to i64
%3591 = getelementptr inbounds double, double* %3588, i64 %3590
store double %3587, double* %3591
br label %3592
3592: ; preds = %3582, %3570
br label %3593
3593: ; preds = %3592
%3594 = load i32, i32* %71
%3595 = add nsw i32 %3594, 1
store i32 %3595, i32* %71
br label %3485
3596: ; preds = %3485
%3597 = load double*, double** %42
%3598 = load i32, i32* %99
%3599 = sext i32 %3598 to i64
%3600 = getelementptr inbounds double, double* %3597, i64 %3599
%3601 = load double, double* %3600
store double %3601, double* %70
br label %3602
3602: ; preds = %3596, %3476
%3603 = load i32, i32* %38
%3604 = icmp sge i32 %3603, 1
br i1 %3604, label %3605, label %3625
3605: ; preds = %3602
%3606 = load i32, i32* %75
%3607 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.7, i64 0, i64 0), i32 %3606)
%3608 = load double, double* %70
%3609 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.6, i64 0, i64 0), double %3608)
store i32 1, i32* %71
br label %3610
3610: ; preds = %3621, %3605
%3611 = load i32, i32* %71
%3612 = load i32, i32* %29
%3613 = icmp sle i32 %3611, %3612
br i1 %3613, label %3614, label %3624
3614: ; preds = %3610
%3615 = load double*, double** %31
%3616 = load i32, i32* %71
%3617 = sext i32 %3616 to i64
%3618 = getelementptr inbounds double, double* %3615, i64 %3617
%3619 = load double, double* %3618
%3620 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %3619)
br label %3621
3621: ; preds = %3614
%3622 = load i32, i32* %71
%3623 = add nsw i32 %3622, 1
store i32 %3623, i32* %71
br label %3610
3624: ; preds = %3610
br label %3625
3625: ; preds = %3624, %3602
ret void
}

LLVM IR (-O2):
@.str.2 = [58 x i8] c"Function number %d F = %g\0A The corresponding X is:\0A\00"
@.str.3 = [5 x i8] c"\09%g\0A\00"
@.str.5 = [45 x i8] c"New RHO = %g, Number of function values = %d\00"
@.str.6 = [51 x i8] c"Least value of F = %g\0A The corresponding X is:\0A\00"
@.str.7 = [58 x i8] c"At the return from BOBYQA\0ANumber of function values = %d\0A\00"
@str = [71 x i8] c"Return from BOBYQA because a trust region step has failed to reduce Q.\00"
@str.11 = [66 x i8] c"Return from BOBYQA because of much cancellation in a denominator.\00"
@str.12 = [64 x i8] c"Return from BOBYQA because CALFUN has been called MAXFUN times.\00"
define void @bobyqb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, double (i8*, i32, double*)* %5, i8* %6, double %7, double %8, i32 %9, i32 %10, double* %11, double* %12, double* %13, double* %14, double* %15, double* %16, double* %17, double* %18, double* %19, i32 %20, double* %21, double* %22, double* %23, double* %24, double* %25, double* %26, double* %27) {
%29 = alloca i32
%30 = alloca double
%31 = alloca i32
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = bitcast i32* %29 to i8*
%36 = bitcast double* %30 to i8*
%37 = bitcast i32* %31 to i8*
%38 = bitcast double* %32 to i8*
%39 = bitcast double* %33 to i8*
%40 = bitcast double* %34 to i8*
%41 = xor i32 %1, -1
%42 = sext i32 %41 to i64
%43 = getelementptr inbounds double, double* %19, i64 %42
%44 = getelementptr inbounds double, double* %12, i64 %42
%45 = getelementptr inbounds double, double* %2, i64 -1
%46 = getelementptr inbounds double, double* %3, i64 -1
%47 = getelementptr inbounds double, double* %4, i64 -1
%48 = getelementptr inbounds double, double* %11, i64 -1
%49 = getelementptr inbounds double, double* %13, i64 -1
%50 = getelementptr inbounds double, double* %14, i64 -1
%51 = getelementptr inbounds double, double* %15, i64 -1
%52 = getelementptr inbounds double, double* %16, i64 -1
%53 = getelementptr inbounds double, double* %17, i64 -1
%54 = add nsw i32 %20, 1
%55 = sext i32 %54 to i64
%56 = sub nsw i64 0, %55
%57 = getelementptr inbounds double, double* %18, i64 %56
%58 = getelementptr inbounds double, double* %21, i64 -1
%59 = getelementptr inbounds double, double* %22, i64 -1
%60 = getelementptr inbounds double, double* %23, i64 -1
%61 = getelementptr inbounds double, double* %24, i64 -1
%62 = getelementptr inbounds double, double* %25, i64 -1
%63 = getelementptr inbounds double, double* %26, i64 -1
%64 = getelementptr inbounds double, double* %27, i64 -1
%65 = add i32 %0, 1
%66 = mul nsw i32 %65, %0
%67 = sdiv i32 %66, 2
%68 = icmp slt i32 %0, 1
br i1 %68, label %111, label %69
69: ; preds = %28
%70 = load i32, i32* %31
%71 = sext i32 %1 to i64
%72 = sext i32 %70 to i64
%73 = zext i32 %65 to i64
%74 = add nsw i64 %73, -1
%75 = and i64 %74, 1
%76 = icmp eq i32 %65, 2
br i1 %76, label %99, label %77
77: ; preds = %69
%78 = and i64 %74, -2
br label %79
79: ; preds = %79, %77
%80 = phi i64 [ 1, %77 ], [ %96, %79 ]
%81 = phi double [ 0.000000e+00, %77 ], [ %95, %79 ]
%82 = phi i64 [ 0, %77 ], [ %97, %79 ]
%83 = mul nsw i64 %80, %71
%84 = add nsw i64 %83, %72
%85 = getelementptr inbounds double, double* %44, i64 %84
%86 = load double, double* %85
%87 = getelementptr inbounds double, double* %50, i64 %80
store double %86, double* %87
%88 = call double @llvm.fmuladd.f64(double %86, double %86, double %81)
%89 = add nuw nsw i64 %80, 1
%90 = mul nsw i64 %89, %71
%91 = add nsw i64 %90, %72
%92 = getelementptr inbounds double, double* %44, i64 %91
%93 = load double, double* %92
%94 = getelementptr inbounds double, double* %14, i64 %80
store double %93, double* %94
%95 = call double @llvm.fmuladd.f64(double %93, double %93, double %88)
%96 = add nuw nsw i64 %80, 2
%97 = add i64 %82, 2
%98 = icmp eq i64 %97, %78
br i1 %98, label %99, label %79
99: ; preds = %79, %69
%100 = phi double [ undef, %69 ], [ %95, %79 ]
%101 = phi i64 [ 1, %69 ], [ %96, %79 ]
%102 = phi double [ 0.000000e+00, %69 ], [ %95, %79 ]
%103 = icmp eq i64 %75, 0
br i1 %103, label %111, label %104
104: ; preds = %99
%105 = mul nsw i64 %101, %71
%106 = add nsw i64 %105, %72
%107 = getelementptr inbounds double, double* %44, i64 %106
%108 = load double, double* %107
%109 = getelementptr inbounds double, double* %50, i64 %101
store double %108, double* %109
%110 = call double @llvm.fmuladd.f64(double %108, double %108, double %102)
br label %111
111: ; preds = %104, %99, %28
%112 = phi double [ 0.000000e+00, %28 ], [ %100, %99 ], [ %110, %104 ]
%113 = load double, double* %13
%114 = load i32, i32* %29
%115 = icmp slt i32 %114, %1
br i1 %115, label %468, label %116
116: ; preds = %111
%117 = sext i32 %65 to i64
%118 = getelementptr inbounds double, double* %64, i64 %117
%119 = add nsw i32 %65, %0
%120 = sext i32 %119 to i64
%121 = getelementptr inbounds double, double* %64, i64 %120
%122 = shl i32 %0, 1
%123 = add nsw i32 %65, %122
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds double, double* %64, i64 %124
%126 = mul nsw i32 %0, 3
%127 = add nsw i32 %65, %126
%128 = sext i32 %127 to i64
%129 = getelementptr inbounds double, double* %64, i64 %128
%130 = icmp slt i32 %1, 1
%131 = icmp slt i32 %65, %1
%132 = getelementptr inbounds double, double* %64, i64 %55
%133 = add nsw i32 %65, %20
%134 = sext i32 %133 to i64
%135 = getelementptr inbounds double, double* %64, i64 %134
%136 = icmp eq i32 %9, 3
%137 = icmp sgt i32 %9, 1
%138 = sext i32 %1 to i64
%139 = add i32 %1, 1
%140 = sext i32 %20 to i64
%141 = sub i32 %1, %0
%142 = add i32 %0, 2
%143 = sext i32 %0 to i64
%144 = sext i32 %67 to i64
%145 = load i32, i32* %31
%146 = zext i32 %65 to i64
%147 = zext i32 %139 to i64
%148 = zext i32 %65 to i64
%149 = zext i32 %139 to i64
%150 = zext i32 %139 to i64
%151 = zext i32 %65 to i64
%152 = zext i32 %141 to i64
%153 = zext i32 %65 to i64
%154 = zext i32 %139 to i64
%155 = zext i32 %65 to i64
%156 = zext i32 %65 to i64
%157 = zext i32 %139 to i64
%158 = zext i32 %65 to i64
%159 = zext i32 %65 to i64
%160 = zext i32 %139 to i64
%161 = zext i32 %65 to i64
%162 = zext i32 %141 to i64
%163 = zext i32 %139 to i64
%164 = zext i32 %65 to i64
%165 = zext i32 %65 to i64
%166 = zext i32 %139 to i64
%167 = zext i32 %65 to i64
%168 = zext i32 %65 to i64
%169 = zext i32 %142 to i64
%170 = zext i32 %139 to i64
%171 = zext i32 %65 to i64
%172 = zext i32 %141 to i64
%173 = zext i32 %139 to i64
%174 = zext i32 %139 to i64
%175 = zext i32 %65 to i64
%176 = zext i32 %65 to i64
%177 = zext i32 %139 to i64
%178 = zext i32 %139 to i64
%179 = zext i32 %141 to i64
%180 = zext i32 %139 to i64
%181 = zext i32 %139 to i64
%182 = zext i32 %65 to i64
%183 = zext i32 %65 to i64
%184 = add nsw i64 %147, -1
%185 = getelementptr double, double* %27, i64 %184
%186 = add nsw i64 %138, %42
%187 = add nsw i64 %186, 1
%188 = add nsw i64 %186, %147
%189 = add nsw i64 %147, -1
%190 = add nsw i64 %147, -1
%191 = getelementptr double, double* %26, i64 %190
%192 = getelementptr double, double* %27, i64 %190
%193 = getelementptr double, double* %13, i64 %190
%194 = add nsw i64 %147, -1
%195 = add nsw i64 %146, -1
%196 = getelementptr double, double* %15, i64 %195
%197 = getelementptr double, double* %27, i64 %195
%198 = add nsw i64 %146, -1
%199 = add nsw i64 %147, -1
%200 = getelementptr double, double* %17, i64 %199
%201 = add nsw i64 %138, %42
%202 = add nsw i64 %201, 1
%203 = add nsw i64 %201, %147
%204 = add nsw i64 %147, -1
%205 = add nsw i64 %146, -1
%206 = getelementptr double, double* %23, i64 %205
%207 = getelementptr double, double* %25, i64 %205
%208 = getelementptr double, double* %24, i64 %205
%209 = getelementptr double, double* %14, i64 %205
%210 = add nsw i64 %146, -1
%211 = add nsw i64 %147, -1
%212 = getelementptr double, double* %26, i64 %211
%213 = add nsw i64 %138, %42
%214 = add nsw i64 %213, 1
%215 = add nsw i64 %213, %147
%216 = add nsw i64 %147, -1
%217 = add nsw i64 %146, -1
%218 = getelementptr double, double* %25, i64 %217
%219 = getelementptr double, double* %23, i64 %217
%220 = getelementptr double, double* %14, i64 %217
%221 = add nsw i64 %146, -1
%222 = add nsw i64 %138, 1
%223 = add nsw i64 %140, 1
%224 = sub nsw i64 %223, %55
%225 = add nsw i64 %140, %147
%226 = sub nsw i64 %225, %55
%227 = add nsw i64 %138, %42
%228 = add nsw i64 %227, 1
%229 = add nsw i64 %227, %147
%230 = add nsw i64 %147, -1
%231 = add nsw i64 %138, 1
%232 = getelementptr double, double* %26, i64 1
%233 = getelementptr double, double* %27, i64 1
%234 = add nsw i64 %146, -1
%235 = add nsw i64 %146, -2
%236 = add nsw i64 %147, -1
%237 = add nsw i64 %147, -2
%238 = add nsw i64 %146, -5
%239 = lshr i64 %238, 2
%240 = add nuw nsw i64 %239, 1
%241 = add nsw i64 %147, -5
%242 = lshr i64 %241, 2
%243 = add nuw nsw i64 %242, 1
%244 = add nsw i64 %152, -1
%245 = add nsw i64 %152, -2
%246 = and i64 %234, 1
%247 = icmp eq i64 %235, 0
%248 = and i64 %234, -2
%249 = icmp eq i64 %246, 0
%250 = and i64 %234, 1
%251 = icmp eq i64 %235, 0
%252 = and i64 %234, -2
%253 = icmp eq i64 %250, 0
%254 = and i64 %236, 1
%255 = icmp eq i64 %237, 0
%256 = and i64 %236, -2
%257 = icmp eq i64 %254, 0
%258 = and i64 %234, 1
%259 = icmp eq i64 %235, 0
%260 = and i64 %234, -2
%261 = icmp eq i64 %258, 0
%262 = and i64 %234, 1
%263 = icmp eq i64 %235, 0
%264 = and i64 %234, -2
%265 = icmp eq i64 %262, 0
%266 = icmp eq i32 %20, 1
%267 = and i64 %236, 1
%268 = icmp eq i64 %237, 0
%269 = and i64 %236, -2
%270 = icmp eq i64 %267, 0
%271 = and i64 %236, 3
%272 = icmp ult i64 %237, 3
%273 = and i64 %236, -4
%274 = icmp eq i64 %271, 0
%275 = icmp ult i64 %230, 4
%276 = and i64 %230, -4
%277 = or i64 %276, 1
%278 = icmp eq i64 %230, %276
%279 = and i64 %147, 1
%280 = icmp eq i64 %279, 0
%281 = sub nsw i64 0, %147
%282 = icmp eq i32 %20, 1
%283 = icmp eq i32 %139, 2
%284 = icmp ult i64 %221, 4
%285 = icmp ugt double* %219, %25
%286 = icmp ugt double* %218, %23
%287 = and i1 %285, %286
%288 = icmp ugt double* %220, %25
%289 = icmp ugt double* %218, %14
%290 = and i1 %288, %289
%291 = or i1 %287, %290
%292 = and i64 %221, -4
%293 = or i64 %292, 1
%294 = and i64 %240, 1
%295 = icmp ult i64 %238, 4
%296 = and i64 %240, 9223372036854775806
%297 = icmp eq i64 %294, 0
%298 = icmp eq i64 %221, %292
%299 = and i64 %236, 3
%300 = icmp ult i64 %237, 3
%301 = and i64 %236, -4
%302 = icmp eq i64 %299, 0
%303 = icmp ult i64 %216, 4
%304 = and i64 %216, -4
%305 = or i64 %304, 1
%306 = and i64 %243, 1
%307 = icmp ult i64 %241, 4
%308 = and i64 %243, 9223372036854775806
%309 = icmp eq i64 %306, 0
%310 = icmp eq i64 %216, %304
%311 = and i64 %147, 1
%312 = icmp eq i64 %311, 0
%313 = sub nsw i64 0, %147
%314 = and i64 %236, 3
%315 = icmp ult i64 %237, 3
%316 = and i64 %236, -4
%317 = icmp eq i64 %314, 0
%318 = and i64 %234, 1
%319 = icmp eq i64 %235, 0
%320 = and i64 %234, -2
%321 = icmp eq i64 %318, 0
%322 = icmp ult i64 %210, 4
%323 = icmp ugt double* %207, %23
%324 = icmp ugt double* %206, %25
%325 = and i1 %323, %324
%326 = icmp ugt double* %208, %23
%327 = icmp ugt double* %206, %24
%328 = and i1 %326, %327
%329 = or i1 %325, %328
%330 = icmp ugt double* %209, %23
%331 = icmp ugt double* %206, %14
%332 = and i1 %330, %331
%333 = or i1 %329, %332
%334 = icmp ugt double* %208, %25
%335 = icmp ugt double* %207, %24
%336 = and i1 %334, %335
%337 = or i1 %333, %336
%338 = icmp ugt double* %209, %25
%339 = icmp ugt double* %207, %14
%340 = and i1 %338, %339
%341 = or i1 %337, %340
%342 = and i64 %210, -4
%343 = or i64 %342, 1
%344 = and i64 %240, 1
%345 = icmp ult i64 %238, 4
%346 = and i64 %240, 9223372036854775806
%347 = icmp eq i64 %344, 0
%348 = icmp eq i64 %210, %342
%349 = and i64 %146, 1
%350 = icmp eq i64 %349, 0
%351 = sub nsw i64 0, %146
%352 = and i64 %244, 3
%353 = icmp ult i64 %245, 3
%354 = and i64 %244, -4
%355 = icmp eq i64 %352, 0
%356 = and i64 %234, 1
%357 = icmp eq i64 %235, 0
%358 = and i64 %234, -2
%359 = icmp eq i64 %356, 0
%360 = and i64 %234, 1
%361 = icmp eq i64 %235, 0
%362 = and i64 %234, -2
%363 = icmp eq i64 %360, 0
%364 = and i64 %236, 1
%365 = icmp eq i64 %237, 0
%366 = and i64 %236, -2
%367 = icmp eq i64 %364, 0
%368 = and i64 %244, 3
%369 = icmp ult i64 %245, 3
%370 = and i64 %244, -4
%371 = icmp eq i64 %368, 0
%372 = and i64 %234, 1
%373 = icmp eq i64 %235, 0
%374 = and i64 %234, -2
%375 = icmp eq i64 %372, 0
%376 = icmp ult i64 %204, 4
%377 = and i64 %204, -4
%378 = or i64 %377, 1
%379 = and i64 %243, 1
%380 = icmp ult i64 %241, 4
%381 = and i64 %243, 9223372036854775806
%382 = icmp eq i64 %379, 0
%383 = icmp eq i64 %204, %377
%384 = and i64 %147, 1
%385 = icmp eq i64 %384, 0
%386 = sub nsw i64 0, %147
%387 = and i64 %234, 1
%388 = icmp eq i64 %235, 0
%389 = and i64 %234, -2
%390 = icmp eq i64 %387, 0
%391 = and i64 %244, 1
%392 = icmp eq i64 %245, 0
%393 = and i64 %244, -2
%394 = icmp eq i64 %391, 0
%395 = and i64 %234, 1
%396 = icmp eq i64 %235, 0
%397 = and i64 %234, -2
%398 = icmp eq i64 %395, 0
%399 = and i64 %234, 1
%400 = icmp eq i64 %235, 0
%401 = and i64 %234, -2
%402 = icmp eq i64 %399, 0
%403 = icmp ult i64 %198, 4
%404 = icmp ugt double* %197, %15
%405 = icmp ugt double* %196, %27
%406 = and i1 %404, %405
%407 = and i64 %198, -4
%408 = or i64 %407, 1
%409 = and i64 %240, 1
%410 = icmp ult i64 %238, 4
%411 = and i64 %240, 9223372036854775806
%412 = icmp eq i64 %409, 0
%413 = icmp eq i64 %198, %407
%414 = and i64 %146, 1
%415 = icmp eq i64 %414, 0
%416 = sub nsw i64 0, %146
%417 = and i64 %234, 1
%418 = icmp eq i64 %235, 0
%419 = and i64 %234, -2
%420 = icmp eq i64 %417, 0
%421 = and i64 %234, 1
%422 = icmp eq i64 %235, 0
%423 = and i64 %234, -2
%424 = icmp eq i64 %421, 0
%425 = icmp ult i64 %194, 4
%426 = icmp ugt double* %192, %26
%427 = icmp ugt double* %191, %27
%428 = and i1 %426, %427
%429 = icmp ugt double* %193, %26
%430 = icmp ugt double* %191, %13
%431 = and i1 %429, %430
%432 = icmp ugt double* %193, %27
%433 = icmp ugt double* %192, %13
%434 = and i1 %432, %433
%435 = and i64 %194, -4
%436 = or i64 %435, 1
%437 = and i64 %243, 1
%438 = icmp ult i64 %241, 4
%439 = and i64 %243, 9223372036854775806
%440 = icmp eq i64 %437, 0
%441 = icmp eq i64 %194, %435
%442 = and i64 %147, 1
%443 = icmp eq i64 %442, 0
%444 = sub nsw i64 0, %147
%445 = and i64 %236, 3
%446 = icmp ult i64 %237, 3
%447 = and i64 %236, -4
%448 = icmp eq i64 %445, 0
%449 = icmp ult i64 %189, 4
%450 = and i64 %189, -4
%451 = or i64 %450, 1
%452 = and i64 %243, 1
%453 = icmp ult i64 %241, 4
%454 = and i64 %243, 9223372036854775806
%455 = icmp eq i64 %452, 0
%456 = icmp eq i64 %189, %450
%457 = and i64 %147, 1
%458 = icmp eq i64 %457, 0
%459 = sub nsw i64 0, %147
%460 = and i64 %234, 1
%461 = icmp eq i64 %235, 0
%462 = and i64 %234, -2
%463 = icmp eq i64 %460, 0
%464 = and i64 %236, 1
%465 = icmp eq i64 %237, 0
%466 = and i64 %236, -2
%467 = icmp eq i64 %464, 0
br label %470
468: ; preds = %111
%469 = icmp sgt i32 %9, 0
br i1 %469, label %3728, label %3732
470: ; preds = %1386, %116
%471 = phi i32 [ %114, %116 ], [ %1382, %1386 ]
%472 = phi i32 [ %145, %116 ], [ %1344, %1386 ]
%473 = phi double [ undef, %116 ], [ %743, %1386 ]
%474 = phi double [ %7, %116 ], [ %606, %1386 ]
%475 = phi double [ undef, %116 ], [ %1890, %1386 ]
%476 = phi i32 [ undef, %116 ], [ %1342, %1386 ]
%477 = phi double [ 0.000000e+00, %116 ], [ %745, %1386 ]
%478 = phi double [ 0.000000e+00, %116 ], [ %746, %1386 ]
%479 = phi double [ undef, %116 ], [ %747, %1386 ]
%480 = phi i32 [ 1, %116 ], [ %1511, %1386 ]
%481 = phi double [ %7, %116 ], [ %748, %1386 ]
%482 = phi double [ undef, %116 ], [ %749, %1386 ]
%483 = phi double [ undef, %116 ], [ %1343, %1386 ]
%484 = phi double [ undef, %116 ], [ %753, %1386 ]
%485 = phi i32 [ 0, %116 ], [ %754, %1386 ]
%486 = phi i32 [ 0, %116 ], [ %755, %1386 ]
%487 = phi double [ %112, %116 ], [ %1381, %1386 ]
%488 = icmp eq i32 %472, %480
br i1 %488, label %603, label %489
489: ; preds = %470
br i1 %68, label %523, label %490
490: ; preds = %489, %520
%491 = phi i64 [ %521, %520 ], [ 1, %489 ]
%492 = phi i32 [ %497, %520 ], [ 0, %489 ]
%493 = trunc i64 %491 to i32
%494 = getelementptr inbounds double, double* %50, i64 %491
%495 = getelementptr inbounds double, double* %51, i64 %491
%496 = sext i32 %492 to i64
%497 = add i32 %492, %493
br label %498
498: ; preds = %490, %510
%499 = phi i64 [ %496, %490 ], [ %501, %510 ]
%500 = phi i64 [ 1, %490 ], [ %517, %510 ]
%501 = add nsw i64 %499, 1
%502 = icmp ult i64 %500, %491
br i1 %502, label %503, label %510
503: ; preds = %498
%504 = getelementptr inbounds double, double* %16, i64 %499
%505 = load double, double* %504
%506 = getelementptr inbounds double, double* %50, i64 %500
%507 = load double, double* %506
%508 = load double, double* %495
%509 = call double @llvm.fmuladd.f64(double %505, double %507, double %508)
store double %509, double* %495
br label %510
510: ; preds = %503, %498
%511 = getelementptr inbounds double, double* %16, i64 %499
%512 = load double, double* %511
%513 = load double, double* %494
%514 = getelementptr inbounds double, double* %51, i64 %500
%515 = load double, double* %514
%516 = call double @llvm.fmuladd.f64(double %512, double %513, double %515)
store double %516, double* %514
%517 = add nuw nsw i64 %500, 1
%518 = trunc i64 %501 to i32
%519 = icmp eq i32 %497, %518
br i1 %519, label %520, label %498
520: ; preds = %510
%521 = add nuw nsw i64 %491, 1
%522 = icmp eq i64 %521, %146
br i1 %522, label %523, label %490
523: ; preds = %520, %489
%524 = icmp sle i32 %471, %1
%525 = or i1 %524, %130
br i1 %525, label %603, label %526
526: ; preds = %523, %600
%527 = phi i64 [ %601, %600 ], [ 1, %523 ]
br i1 %68, label %600, label %528
528: ; preds = %526
br i1 %247, label %551, label %529
529: ; preds = %528, %529
%530 = phi i64 [ %548, %529 ], [ 1, %528 ]
%531 = phi double [ %547, %529 ], [ 0.000000e+00, %528 ]
%532 = phi i64 [ %549, %529 ], [ 0, %528 ]
%533 = mul nsw i64 %530, %138
%534 = add nsw i64 %533, %527
%535 = getelementptr inbounds double, double* %44, i64 %534
%536 = load double, double* %535
%537 = getelementptr inbounds double, double* %50, i64 %530
%538 = load double, double* %537
%539 = call double @llvm.fmuladd.f64(double %536, double %538, double %531)
%540 = add nuw nsw i64 %530, 1
%541 = mul nsw i64 %540, %138
%542 = add nsw i64 %541, %527
%543 = getelementptr inbounds double, double* %44, i64 %542
%544 = load double, double* %543
%545 = getelementptr inbounds double, double* %14, i64 %530
%546 = load double, double* %545
%547 = call double @llvm.fmuladd.f64(double %544, double %546, double %539)
%548 = add nuw nsw i64 %530, 2
%549 = add i64 %532, 2
%550 = icmp eq i64 %549, %248
br i1 %550, label %551, label %529
551: ; preds = %529, %528
%552 = phi double [ undef, %528 ], [ %547, %529 ]
%553 = phi i64 [ 1, %528 ], [ %548, %529 ]
%554 = phi double [ 0.000000e+00, %528 ], [ %547, %529 ]
br i1 %249, label %563, label %555
555: ; preds = %551
%556 = mul nsw i64 %553, %138
%557 = add nsw i64 %556, %527
%558 = getelementptr inbounds double, double* %44, i64 %557
%559 = load double, double* %558
%560 = getelementptr inbounds double, double* %50, i64 %553
%561 = load double, double* %560
%562 = call double @llvm.fmuladd.f64(double %559, double %561, double %554)
br label %563
563: ; preds = %551, %555
%564 = phi double [ %552, %551 ], [ %562, %555 ]
%565 = getelementptr inbounds double, double* %53, i64 %527
%566 = load double, double* %565
%567 = fmul double %564, %566
br i1 %68, label %600, label %568
568: ; preds = %563
br i1 %251, label %590, label %569
569: ; preds = %568, %569
%570 = phi i64 [ %587, %569 ], [ 1, %568 ]
%571 = phi i64 [ %588, %569 ], [ 0, %568 ]
%572 = mul nsw i64 %570, %138
%573 = add nsw i64 %572, %527
%574 = getelementptr inbounds double, double* %44, i64 %573
%575 = load double, double* %574
%576 = getelementptr inbounds double, double* %51, i64 %570
%577 = load double, double* %576
%578 = call double @llvm.fmuladd.f64(double %567, double %575, double %577)
store double %578, double* %576
%579 = add nuw nsw i64 %570, 1
%580 = mul nsw i64 %579, %138
%581 = add nsw i64 %580, %527
%582 = getelementptr inbounds double, double* %44, i64 %581
%583 = load double, double* %582
%584 = getelementptr inbounds double, double* %15, i64 %570
%585 = load double, double* %584
%586 = call double @llvm.fmuladd.f64(double %567, double %583, double %585)
store double %586, double* %584
%587 = add nuw nsw i64 %570, 2
%588 = add i64 %571, 2
%589 = icmp eq i64 %588, %252
br i1 %589, label %590, label %569
590: ; preds = %569, %568
%591 = phi i64 [ 1, %568 ], [ %587, %569 ]
br i1 %253, label %600, label %592
592: ; preds = %590
%593 = mul nsw i64 %591, %138
%594 = add nsw i64 %593, %527
%595 = getelementptr inbounds double, double* %44, i64 %594
%596 = load double, double* %595
%597 = getelementptr inbounds double, double* %51, i64 %591
%598 = load double, double* %597
%599 = call double @llvm.fmuladd.f64(double %567, double %596, double %598)
store double %599, double* %597
br label %600
600: ; preds = %592, %590, %526, %563
%601 = add nuw nsw i64 %527, 1
%602 = icmp eq i64 %601, %147
br i1 %602, label %603, label %526
603: ; preds = %600, %523, %470
br label %604
604: ; preds = %603, %3724
%605 = phi double [ %3677, %3724 ], [ %473, %603 ]
%606 = phi double [ %3703, %3724 ], [ %474, %603 ]
%607 = phi double [ %3678, %3724 ], [ %475, %603 ]
%608 = phi i32 [ %3679, %3724 ], [ %476, %603 ]
%609 = phi double [ %3680, %3724 ], [ %477, %603 ]
%610 = phi double [ %3681, %3724 ], [ %478, %603 ]
%611 = phi double [ %3682, %3724 ], [ %479, %603 ]
%612 = phi double [ %3705, %3724 ], [ %481, %603 ]
%613 = phi double [ %3684, %3724 ], [ %482, %603 ]
%614 = phi double [ %3685, %3724 ], [ %483, %603 ]
%615 = phi i32 [ %3686, %3724 ], [ %471, %603 ]
%616 = phi i32 [ %3725, %3724 ], [ %471, %603 ]
%617 = phi double [ %3693, %3724 ], [ %484, %603 ]
%618 = phi i32 [ %3689, %3724 ], [ %485, %603 ]
%619 = phi i32 [ 0, %3724 ], [ %486, %603 ]
%620 = phi double [ %3691, %3724 ], [ %487, %603 ]
%621 = fmul double %606, 5.000000e-01
%622 = fmul double %606, 1.000000e+01
%623 = fmul double %622, %622
%624 = fmul double %606, 1.250000e-01
%625 = fmul double %606, %624
%626 = fcmp ogt double %606, %8
%627 = fmul double %606, 1.500000e+00
br label %628
628: ; preds = %1390, %604
%629 = phi double [ %605, %604 ], [ %1391, %1390 ]
%630 = phi double [ %607, %604 ], [ %1392, %1390 ]
%631 = phi i32 [ %608, %604 ], [ %1393, %1390 ]
%632 = phi double [ %609, %604 ], [ %1394, %1390 ]
%633 = phi double [ %610, %604 ], [ %1395, %1390 ]
%634 = phi double [ %611, %604 ], [ %1396, %1390 ]
%635 = phi double [ %612, %604 ], [ %1397, %1390 ]
%636 = phi double [ %613, %604 ], [ %1398, %1390 ]
%637 = phi double [ %614, %604 ], [ %1399, %1390 ]
%638 = phi i32 [ %615, %604 ], [ %1400, %1390 ]
%639 = phi i32 [ %616, %604 ], [ %1401, %1390 ]
%640 = phi double [ %617, %604 ], [ %1402, %1390 ]
%641 = phi i32 [ %618, %604 ], [ %1403, %1390 ]
%642 = phi i32 [ %619, %604 ], [ %1404, %1390 ]
%643 = phi double [ %620, %604 ], [ %1405, %1390 ]
%644 = load double, double* %30
%645 = call double @sqrt(double %644)
%646 = fcmp olt double %635, %645
%647 = select i1 %646, double %635, double %645
%648 = fcmp olt double %647, %621
br i1 %648, label %649, label %738
649: ; preds = %628
%650 = load i32, i32* %29
%651 = add nsw i32 %639, 2
%652 = icmp sgt i32 %650, %651
br i1 %652, label %653, label %3581
653: ; preds = %649
%654 = fcmp ogt double %633, %632
%655 = select i1 %654, double %633, double %632
%656 = fcmp ogt double %634, %655
%657 = select i1 %656, double %634, double %655
%658 = load double, double* %34
%659 = fcmp ogt double %658, 0.000000e+00
%660 = fmul double %625, %658
%661 = fcmp ogt double %657, %660
%662 = select i1 %659, i1 %661, i1 false
br i1 %662, label %3581, label %663
663: ; preds = %653
%664 = fdiv double %657, %606
br i1 %68, label %3676, label %665
665: ; preds = %663, %735
%666 = phi i64 [ %736, %735 ], [ 1, %663 ]
%667 = getelementptr inbounds double, double* %60, i64 %666
%668 = load double, double* %667
%669 = getelementptr inbounds double, double* %58, i64 %666
%670 = load double, double* %669
%671 = fcmp oeq double %668, %670
br i1 %671, label %672, label %675
672: ; preds = %665
%673 = getelementptr inbounds double, double* %64, i64 %666
%674 = load double, double* %673
br label %675
675: ; preds = %672, %665
%676 = phi double [ %674, %672 ], [ %664, %665 ]
%677 = getelementptr inbounds double, double* %59, i64 %666
%678 = load double, double* %677
%679 = fcmp oeq double %668, %678
br i1 %679, label %680, label %684
680: ; preds = %675
%681 = getelementptr inbounds double, double* %64, i64 %666
%682 = load double, double* %681
%683 = fneg double %682
br label %684
684: ; preds = %680, %675
%685 = phi double [ %683, %680 ], [ %676, %675 ]
%686 = fcmp olt double %685, %664
br i1 %686, label %687, label %735
687: ; preds = %684
%688 = mul i64 %666, %666
%689 = add i64 %688, %666
%690 = lshr i64 %689, 1
%691 = and i64 %690, 2147483647
%692 = getelementptr inbounds double, double* %52, i64 %691
%693 = load double, double* %692
br i1 %130, label %730, label %694
694: ; preds = %687
%695 = mul nsw i64 %666, %138
br i1 %255, label %718, label %696
696: ; preds = %694, %696
%697 = phi i64 [ %715, %696 ], [ 1, %694 ]
%698 = phi double [ %714, %696 ], [ %693, %694 ]
%699 = phi i64 [ %716, %696 ], [ 0, %694 ]
%700 = getelementptr inbounds double, double* %53, i64 %697
%701 = load double, double* %700
%702 = add nsw i64 %697, %695
%703 = getelementptr inbounds double, double* %44, i64 %702
%704 = load double, double* %703
%705 = fmul double %704, %704
%706 = call double @llvm.fmuladd.f64(double %701, double %705, double %698)
%707 = add nuw nsw i64 %697, 1
%708 = getelementptr inbounds double, double* %17, i64 %697
%709 = load double, double* %708
%710 = add nsw i64 %707, %695
%711 = getelementptr inbounds double, double* %44, i64 %710
%712 = load double, double* %711
%713 = fmul double %712, %712
%714 = call double @llvm.fmuladd.f64(double %709, double %713, double %706)
%715 = add nuw nsw i64 %697, 2
%716 = add i64 %699, 2
%717 = icmp eq i64 %716, %256
br i1 %717, label %718, label %696
718: ; preds = %696, %694
%719 = phi double [ undef, %694 ], [ %714, %696 ]
%720 = phi i64 [ 1, %694 ], [ %715, %696 ]
%721 = phi double [ %693, %694 ], [ %714, %696 ]
br i1 %257, label %730, label %722
722: ; preds = %718
%723 = getelementptr inbounds double, double* %53, i64 %720
%724 = load double, double* %723
%725 = add nsw i64 %720, %695
%726 = getelementptr inbounds double, double* %44, i64 %725
%727 = load double, double* %726
%728 = fmul double %727, %727
%729 = call double @llvm.fmuladd.f64(double %724, double %728, double %721)
br label %730
730: ; preds = %722, %718, %687
%731 = phi double [ %693, %687 ], [ %719, %718 ], [ %729, %722 ]
%732 = fmul double %731, 5.000000e-01
%733 = call double @llvm.fmuladd.f64(double %732, double %606, double %685)
%734 = fcmp olt double %733, %664
br i1 %734, label %3581, label %735
735: ; preds = %684, %730
%736 = add nuw nsw i64 %666, 1
%737 = icmp eq i64 %736, %148
br i1 %737, label %3676, label %665
738: ; preds = %628
%739 = add nsw i32 %642, 1
%740 = load double, double* %30
br label %741
741: ; preds = %3659, %738
%742 = phi double [ %3666, %3659 ], [ %740, %738 ]
%743 = phi double [ %3582, %3659 ], [ %629, %738 ]
%744 = phi i32 [ %3643, %3659 ], [ %631, %738 ]
%745 = phi double [ %3584, %3659 ], [ %632, %738 ]
%746 = phi double [ %3585, %3659 ], [ %633, %738 ]
%747 = phi double [ %3586, %3659 ], [ %634, %738 ]
%748 = phi double [ %3660, %3659 ], [ %635, %738 ]
%749 = phi double [ %3665, %3659 ], [ %636, %738 ]
%750 = phi double [ %3589, %3659 ], [ %637, %738 ]
%751 = phi i32 [ %3590, %3659 ], [ %638, %738 ]
%752 = phi i32 [ %3591, %3659 ], [ %639, %738 ]
%753 = phi double [ %3592, %3659 ], [ %640, %738 ]
%754 = phi i32 [ %3593, %3659 ], [ %641, %738 ]
%755 = phi i32 [ 0, %3659 ], [ %739, %738 ]
%756 = phi double [ %3596, %3659 ], [ %643, %738 ]
%757 = fmul double %756, 1.000000e-03
%758 = fcmp ugt double %742, %757
br i1 %758, label %1335, label %759
759: ; preds = %741
%760 = fmul double %756, 2.500000e-01
br i1 %130, label %763, label %761
761: ; preds = %759
%762 = fmul double %756, -5.000000e-01
br label %765
763: ; preds = %939, %759
%764 = phi double [ 0.000000e+00, %759 ], [ %770, %939 ]
br i1 %131, label %945, label %942
765: ; preds = %761, %939
%766 = phi i64 [ 1, %761 ], [ %940, %939 ]
%767 = phi double [ 0.000000e+00, %761 ], [ %770, %939 ]
%768 = getelementptr inbounds double, double* %53, i64 %766
%769 = load double, double* %768
%770 = fadd double %767, %769
br i1 %68, label %772, label %771
771: ; preds = %765
br i1 %263, label %797, label %775
772: ; preds = %765
%773 = add nsw i64 %766, %138
%774 = getelementptr inbounds double, double* %64, i64 %773
store double %762, double* %774
br label %939
775: ; preds = %771, %775
%776 = phi i64 [ %794, %775 ], [ 1, %771 ]
%777 = phi double [ %793, %775 ], [ %762, %771 ]
%778 = phi i64 [ %795, %775 ], [ 0, %771 ]
%779 = mul nsw i64 %776, %138
%780 = add nsw i64 %779, %766
%781 = getelementptr inbounds double, double* %44, i64 %780
%782 = load double, double* %781
%783 = getelementptr inbounds double, double* %50, i64 %776
%784 = load double, double* %783
%785 = call double @llvm.fmuladd.f64(double %782, double %784, double %777)
%786 = add nuw nsw i64 %776, 1
%787 = mul nsw i64 %786, %138
%788 = add nsw i64 %787, %766
%789 = getelementptr inbounds double, double* %44, i64 %788
%790 = load double, double* %789
%791 = getelementptr inbounds double, double* %14, i64 %776
%792 = load double, double* %791
%793 = call double @llvm.fmuladd.f64(double %790, double %792, double %785)
%794 = add nuw nsw i64 %776, 2
%795 = add i64 %778, 2
%796 = icmp eq i64 %795, %264
br i1 %796, label %797, label %775
797: ; preds = %775, %771
%798 = phi double [ undef, %771 ], [ %793, %775 ]
%799 = phi i64 [ 1, %771 ], [ %794, %775 ]
%800 = phi double [ %762, %771 ], [ %793, %775 ]
br i1 %265, label %809, label %801
801: ; preds = %797
%802 = mul nsw i64 %799, %138
%803 = add nsw i64 %802, %766
%804 = getelementptr inbounds double, double* %44, i64 %803
%805 = load double, double* %804
%806 = getelementptr inbounds double, double* %50, i64 %799
%807 = load double, double* %806
%808 = call double @llvm.fmuladd.f64(double %805, double %807, double %800)
br label %809
809: ; preds = %797, %801
%810 = phi double [ %798, %797 ], [ %808, %801 ]
%811 = add nsw i64 %766, %138
%812 = getelementptr inbounds double, double* %64, i64 %811
store double %810, double* %812
%813 = call double @llvm.fmuladd.f64(double %810, double -5.000000e-01, double %760)
br i1 %68, label %939, label %814
814: ; preds = %809, %934
%815 = phi i64 [ %938, %934 ], [ 0, %809 ]
%816 = phi i64 [ %935, %934 ], [ 1, %809 ]
%817 = phi i64 [ %936, %934 ], [ 2, %809 ]
%818 = add i64 %231, %815
%819 = getelementptr double, double* %18, i64 %818
%820 = shl nuw i64 %815, 1
%821 = add i64 %231, %820
%822 = getelementptr double, double* %18, i64 %821
%823 = getelementptr double, double* %26, i64 %816
%824 = getelementptr double, double* %26, i64 %815
%825 = getelementptr double, double* %27, i64 %816
%826 = getelementptr double, double* %27, i64 %815
%827 = mul nsw i64 %816, %140
%828 = add nsw i64 %827, %766
%829 = getelementptr inbounds double, double* %57, i64 %828
%830 = load double, double* %829
%831 = getelementptr inbounds double, double* %64, i64 %816
store double %830, double* %831
%832 = mul nsw i64 %816, %138
%833 = add nsw i64 %832, %766
%834 = getelementptr inbounds double, double* %44, i64 %833
%835 = load double, double* %834
%836 = getelementptr inbounds double, double* %50, i64 %816
%837 = load double, double* %836
%838 = fmul double %813, %837
%839 = call double @llvm.fmuladd.f64(double %810, double %835, double %838)
%840 = getelementptr inbounds double, double* %63, i64 %816
store double %839, double* %840
%841 = add nsw i64 %816, %138
%842 = add nsw i64 %841, %140
%843 = getelementptr inbounds double, double* %57, i64 %842
%844 = load double, double* %843
%845 = load double, double* %831
%846 = load double, double* %26
%847 = call double @llvm.fmuladd.f64(double %845, double %846, double %844)
%848 = load double, double* %27
%849 = call double @llvm.fmuladd.f64(double %839, double %848, double %847)
store double %849, double* %843
%850 = icmp eq i64 %817, 2
br i1 %850, label %934, label %851
851: ; preds = %814
%852 = icmp ugt i64 %815, 3
%853 = and i1 %852, %266
br i1 %853, label %854, label %916
854: ; preds = %851
%855 = icmp ult double* %819, %823
%856 = icmp ult double* %232, %822
%857 = and i1 %855, %856
%858 = icmp ult double* %819, %823
%859 = icmp ult double* %824, %822
%860 = and i1 %858, %859
%861 = or i1 %857, %860
%862 = icmp ult double* %819, %825
%863 = icmp ult double* %233, %822
%864 = and i1 %862, %863
%865 = or i1 %861, %864
%866 = icmp ult double* %819, %825
%867 = icmp ult double* %826, %822
%868 = and i1 %866, %867
%869 = or i1 %865, %868
br i1 %869, label %916, label %870
870: ; preds = %854
%871 = and i64 %815, -4
%872 = or i64 %871, 2
%873 = load double, double* %840
%874 = insertelement <2 x double> poison, double %873, i64 0
%875 = shufflevector <2 x double> %874, <2 x double> poison, <2 x i32> zeroinitializer
%876 = insertelement <2 x double> poison, double %873, i64 0
%877 = shufflevector <2 x double> %876, <2 x double> poison, <2 x i32> zeroinitializer
%878 = load double, double* %831
%879 = insertelement <2 x double> poison, double %878, i64 0
%880 = shufflevector <2 x double> %879, <2 x double> poison, <2 x i32> zeroinitializer
%881 = insertelement <2 x double> poison, double %878, i64 0
%882 = shufflevector <2 x double> %881, <2 x double> poison, <2 x i32> zeroinitializer
br label %883
883: ; preds = %883, %870
%884 = phi i64 [ 0, %870 ], [ %912, %883 ]
%885 = or i64 %884, 2
%886 = mul nsw i64 %885, %140
%887 = add nsw i64 %841, %886
%888 = getelementptr inbounds double, double* %57, i64 %887
%889 = bitcast double* %888 to <2 x double>*
%890 = load <2 x double>, <2 x double>* %889
%891 = getelementptr inbounds double, double* %888, i64 2
%892 = bitcast double* %891 to <2 x double>*
%893 = load <2 x double>, <2 x double>* %892
%894 = getelementptr inbounds double, double* %63, i64 %885
%895 = bitcast double* %894 to <2 x double>*
%896 = load <2 x double>, <2 x double>* %895
%897 = getelementptr inbounds double, double* %894, i64 2
%898 = bitcast double* %897 to <2 x double>*
%899 = load <2 x double>, <2 x double>* %898
%900 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %880, <2 x double> %896, <2 x double> %890)
%901 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %882, <2 x double> %899, <2 x double> %893)
%902 = getelementptr inbounds double, double* %64, i64 %885
%903 = bitcast double* %902 to <2 x double>*
%904 = load <2 x double>, <2 x double>* %903
%905 = getelementptr inbounds double, double* %902, i64 2
%906 = bitcast double* %905 to <2 x double>*
%907 = load <2 x double>, <2 x double>* %906
%908 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %875, <2 x double> %904, <2 x double> %900)
%909 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %877, <2 x double> %907, <2 x double> %901)
%910 = bitcast double* %888 to <2 x double>*
store <2 x double> %908, <2 x double>* %910
%911 = bitcast double* %891 to <2 x double>*
store <2 x double> %909, <2 x double>* %911
%912 = add nuw i64 %884, 4
%913 = icmp eq i64 %912, %871
br i1 %913, label %914, label %883
914: ; preds = %883
%915 = icmp eq i64 %815, %871
br i1 %915, label %934, label %916
916: ; preds = %854, %851, %914
%917 = phi i64 [ 2, %854 ], [ 2, %851 ], [ %872, %914 ]
br label %918
918: ; preds = %916, %918
%919 = phi i64 [ %932, %918 ], [ %917, %916 ]
%920 = load double, double* %840
%921 = mul nsw i64 %919, %140
%922 = add nsw i64 %841, %921
%923 = getelementptr inbounds double, double* %57, i64 %922
%924 = load double, double* %923
%925 = load double, double* %831
%926 = getelementptr inbounds double, double* %63, i64 %919
%927 = load double, double* %926
%928 = call double @llvm.fmuladd.f64(double %925, double %927, double %924)
%929 = getelementptr inbounds double, double* %64, i64 %919
%930 = load double, double* %929
%931 = call double @llvm.fmuladd.f64(double %920, double %930, double %928)
store double %931, double* %923
%932 = add nuw nsw i64 %919, 1
%933 = icmp eq i64 %932, %817
br i1 %933, label %934, label %918
934: ; preds = %918, %914, %814
%935 = add nuw nsw i64 %816, 1
%936 = add nuw nsw i64 %817, 1
%937 = icmp eq i64 %935, %151
%938 = add i64 %815, 1
br i1 %937, label %939, label %814
939: ; preds = %934, %772, %809
%940 = add nuw nsw i64 %766, 1
%941 = icmp eq i64 %940, %150
br i1 %941, label %763, label %765
942: ; preds = %1242, %763
br i1 %68, label %1335, label %943
943: ; preds = %942
%944 = fmul double %764, -5.000000e-01
br label %1247
945: ; preds = %763, %1242
%946 = phi i64 [ %1245, %1242 ], [ 0, %763 ]
%947 = phi i64 [ %1243, %1242 ], [ 1, %763 ]
%948 = mul i64 %946, %138
%949 = add i64 %228, %948
%950 = getelementptr double, double* %19, i64 %949
%951 = add i64 %229, %948
%952 = getelementptr double, double* %19, i64 %951
br i1 %130, label %972, label %953
953: ; preds = %945
%954 = mul nsw i64 %947, %138
br i1 %268, label %955, label %979
955: ; preds = %979, %953
%956 = phi double [ undef, %953 ], [ %998, %979 ]
%957 = phi double [ undef, %953 ], [ %1004, %979 ]
%958 = phi i64 [ 1, %953 ], [ %1005, %979 ]
%959 = phi double [ 0.000000e+00, %953 ], [ %998, %979 ]
%960 = phi double [ 0.000000e+00, %953 ], [ %1004, %979 ]
br i1 %270, label %972, label %961
961: ; preds = %955
%962 = add nsw i64 %958, %954
%963 = getelementptr inbounds double, double* %43, i64 %962
%964 = load double, double* %963
%965 = fadd double %959, %964
%966 = add nsw i64 %958, %138
%967 = getelementptr inbounds double, double* %64, i64 %966
%968 = load double, double* %967
%969 = fmul double %964, %968
%970 = getelementptr inbounds double, double* %63, i64 %958
store double %969, double* %970
%971 = fadd double %960, %969
br label %972
972: ; preds = %961, %955, %945
%973 = phi double [ 0.000000e+00, %945 ], [ %957, %955 ], [ %971, %961 ]
%974 = phi double [ 0.000000e+00, %945 ], [ %956, %955 ], [ %965, %961 ]
br i1 %68, label %1242, label %975
975: ; preds = %972
%976 = fmul double %973, -5.000000e-01
%977 = call double @llvm.fmuladd.f64(double %760, double %974, double %976)
%978 = mul nsw i64 %947, %138
br label %1009
979: ; preds = %953, %979
%980 = phi i64 [ %1005, %979 ], [ 1, %953 ]
%981 = phi double [ %998, %979 ], [ 0.000000e+00, %953 ]
%982 = phi double [ %1004, %979 ], [ 0.000000e+00, %953 ]
%983 = phi i64 [ %1006, %979 ], [ 0, %953 ]
%984 = add nsw i64 %980, %954
%985 = getelementptr inbounds double, double* %43, i64 %984
%986 = load double, double* %985
%987 = fadd double %981, %986
%988 = add nsw i64 %980, %138
%989 = getelementptr inbounds double, double* %64, i64 %988
%990 = load double, double* %989
%991 = fmul double %986, %990
%992 = getelementptr inbounds double, double* %63, i64 %980
store double %991, double* %992
%993 = fadd double %982, %991
%994 = add nuw nsw i64 %980, 1
%995 = add nsw i64 %994, %954
%996 = getelementptr inbounds double, double* %43, i64 %995
%997 = load double, double* %996
%998 = fadd double %987, %997
%999 = add nsw i64 %994, %138
%1000 = getelementptr inbounds double, double* %64, i64 %999
%1001 = load double, double* %1000
%1002 = fmul double %997, %1001
%1003 = getelementptr inbounds double, double* %26, i64 %980
store double %1002, double* %1003
%1004 = fadd double %993, %1002
%1005 = add nuw nsw i64 %980, 2
%1006 = add i64 %983, 2
%1007 = icmp eq i64 %1006, %269
br i1 %1007, label %955, label %979
1008: ; preds = %1147
br i1 %68, label %1242, label %1151
1009: ; preds = %975, %1147
%1010 = phi i64 [ 0, %975 ], [ %1150, %1147 ]
%1011 = phi i64 [ 1, %975 ], [ %1148, %1147 ]
%1012 = mul i64 %1010, %140
%1013 = add i64 %224, %1012
%1014 = getelementptr double, double* %18, i64 %1013
%1015 = add i64 %226, %1012
%1016 = getelementptr double, double* %18, i64 %1015
%1017 = getelementptr inbounds double, double* %50, i64 %1011
%1018 = load double, double* %1017
%1019 = fmul double %977, %1018
br i1 %130, label %1020, label %1022
1020: ; preds = %1009
%1021 = getelementptr inbounds double, double* %64, i64 %1011
store double %1019, double* %1021
br label %1147
1022: ; preds = %1009
%1023 = mul nsw i64 %1011, %138
br i1 %272, label %1058, label %1024
1024: ; preds = %1022, %1024
%1025 = phi i64 [ %1055, %1024 ], [ 1, %1022 ]
%1026 = phi double [ %1054, %1024 ], [ %1019, %1022 ]
%1027 = phi i64 [ %1056, %1024 ], [ 0, %1022 ]
%1028 = getelementptr inbounds double, double* %63, i64 %1025
%1029 = load double, double* %1028
%1030 = add nsw i64 %1025, %1023
%1031 = getelementptr inbounds double, double* %44, i64 %1030
%1032 = load double, double* %1031
%1033 = call double @llvm.fmuladd.f64(double %1029, double %1032, double %1026)
%1034 = add nuw nsw i64 %1025, 1
%1035 = getelementptr inbounds double, double* %26, i64 %1025
%1036 = load double, double* %1035
%1037 = add nsw i64 %1034, %1023
%1038 = getelementptr inbounds double, double* %44, i64 %1037
%1039 = load double, double* %1038
%1040 = call double @llvm.fmuladd.f64(double %1036, double %1039, double %1033)
%1041 = add nuw nsw i64 %1025, 2
%1042 = getelementptr inbounds double, double* %63, i64 %1041
%1043 = load double, double* %1042
%1044 = add nsw i64 %1041, %1023
%1045 = getelementptr inbounds double, double* %44, i64 %1044
%1046 = load double, double* %1045
%1047 = call double @llvm.fmuladd.f64(double %1043, double %1046, double %1040)
%1048 = add nuw nsw i64 %1025, 3
%1049 = getelementptr inbounds double, double* %63, i64 %1048
%1050 = load double, double* %1049
%1051 = add nsw i64 %1048, %1023
%1052 = getelementptr inbounds double, double* %44, i64 %1051
%1053 = load double, double* %1052
%1054 = call double @llvm.fmuladd.f64(double %1050, double %1053, double %1047)
%1055 = add nuw nsw i64 %1025, 4
%1056 = add nuw i64 %1027, 4
%1057 = icmp eq i64 %1056, %273
br i1 %1057, label %1058, label %1024
1058: ; preds = %1024, %1022
%1059 = phi double [ undef, %1022 ], [ %1054, %1024 ]
%1060 = phi i64 [ 1, %1022 ], [ %1055, %1024 ]
%1061 = phi double [ %1019, %1022 ], [ %1054, %1024 ]
br i1 %274, label %1075, label %1062
1062: ; preds = %1058, %1062
%1063 = phi i64 [ %1072, %1062 ], [ %1060, %1058 ]
%1064 = phi double [ %1071, %1062 ], [ %1061, %1058 ]
%1065 = phi i64 [ %1073, %1062 ], [ 0, %1058 ]
%1066 = getelementptr inbounds double, double* %63, i64 %1063
%1067 = load double, double* %1066
%1068 = add nsw i64 %1063, %1023
%1069 = getelementptr inbounds double, double* %44, i64 %1068
%1070 = load double, double* %1069
%1071 = call double @llvm.fmuladd.f64(double %1067, double %1070, double %1064)
%1072 = add nuw nsw i64 %1063, 1
%1073 = add i64 %1065, 1
%1074 = icmp eq i64 %1073, %271
br i1 %1074, label %1075, label %1062
1075: ; preds = %1062, %1058
%1076 = phi double [ %1059, %1058 ], [ %1071, %1062 ]
%1077 = getelementptr inbounds double, double* %64, i64 %1011
store double %1076, double* %1077
br i1 %130, label %1147, label %1078
1078: ; preds = %1075
%1079 = mul nsw i64 %1011, %140
br i1 %275, label %1113, label %1080
1080: ; preds = %1078
%1081 = icmp ult double* %1014, %952
%1082 = icmp ult double* %950, %1016
%1083 = and i1 %1081, %1082
br i1 %1083, label %1113, label %1084
1084: ; preds = %1080
%1085 = insertelement <2 x double> poison, double %1076, i64 0
%1086 = shufflevector <2 x double> %1085, <2 x double> poison, <2 x i32> zeroinitializer
%1087 = insertelement <2 x double> poison, double %1076, i64 0
%1088 = shufflevector <2 x double> %1087, <2 x double> poison, <2 x i32> zeroinitializer
br label %1089
1089: ; preds = %1089, %1084
%1090 = phi i64 [ 0, %1084 ], [ %1110, %1089 ]
%1091 = or i64 %1090, 1
%1092 = add nsw i64 %1091, %978
%1093 = getelementptr inbounds double, double* %43, i64 %1092
%1094 = bitcast double* %1093 to <2 x double>*
%1095 = load <2 x double>, <2 x double>* %1094
%1096 = getelementptr inbounds double, double* %1093, i64 2
%1097 = bitcast double* %1096 to <2 x double>*
%1098 = load <2 x double>, <2 x double>* %1097
%1099 = add nsw i64 %1091, %1079
%1100 = getelementptr inbounds double, double* %57, i64 %1099
%1101 = bitcast double* %1100 to <2 x double>*
%1102 = load <2 x double>, <2 x double>* %1101
%1103 = getelementptr inbounds double, double* %1100, i64 2
%1104 = bitcast double* %1103 to <2 x double>*
%1105 = load <2 x double>, <2 x double>* %1104
%1106 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1086, <2 x double> %1095, <2 x double> %1102)
%1107 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1088, <2 x double> %1098, <2 x double> %1105)
%1108 = bitcast double* %1100 to <2 x double>*
store <2 x double> %1106, <2 x double>* %1108
%1109 = bitcast double* %1103 to <2 x double>*
store <2 x double> %1107, <2 x double>* %1109
%1110 = add nuw i64 %1090, 4
%1111 = icmp eq i64 %1110, %276
br i1 %1111, label %1112, label %1089
1112: ; preds = %1089
br i1 %278, label %1147, label %1113
1113: ; preds = %1080, %1078, %1112
%1114 = phi i64 [ 1, %1080 ], [ 1, %1078 ], [ %277, %1112 ]
%1115 = xor i64 %1114, -1
br i1 %280, label %1116, label %1125
1116: ; preds = %1113
%1117 = add nsw i64 %1114, %978
%1118 = getelementptr inbounds double, double* %43, i64 %1117
%1119 = load double, double* %1118
%1120 = add nsw i64 %1114, %1079
%1121 = getelementptr inbounds double, double* %57, i64 %1120
%1122 = load double, double* %1121
%1123 = call double @llvm.fmuladd.f64(double %1076, double %1119, double %1122)
store double %1123, double* %1121
%1124 = add nuw nsw i64 %1114, 1
br label %1125
1125: ; preds = %1116, %1113
%1126 = phi i64 [ %1114, %1113 ], [ %1124, %1116 ]
%1127 = icmp eq i64 %1115, %281
br i1 %1127, label %1147, label %1128
1128: ; preds = %1125, %1128
%1129 = phi i64 [ %1145, %1128 ], [ %1126, %1125 ]
%1130 = add nsw i64 %1129, %978
%1131 = getelementptr inbounds double, double* %43, i64 %1130
%1132 = load double, double* %1131
%1133 = add nsw i64 %1129, %1079
%1134 = getelementptr inbounds double, double* %57, i64 %1133
%1135 = load double, double* %1134
%1136 = call double @llvm.fmuladd.f64(double %1076, double %1132, double %1135)
store double %1136, double* %1134
%1137 = add nuw nsw i64 %1129, 1
%1138 = add nsw i64 %1137, %978
%1139 = getelementptr inbounds double, double* %43, i64 %1138
%1140 = load double, double* %1139
%1141 = add nsw i64 %1137, %1079
%1142 = getelementptr inbounds double, double* %57, i64 %1141
%1143 = load double, double* %1142
%1144 = call double @llvm.fmuladd.f64(double %1076, double %1140, double %1143)
store double %1144, double* %1142
%1145 = add nuw nsw i64 %1129, 2
%1146 = icmp eq i64 %1145, %154
br i1 %1146, label %1147, label %1128
1147: ; preds = %1125, %1128, %1112, %1020, %1075
%1148 = add nuw nsw i64 %1011, 1
%1149 = icmp eq i64 %1148, %153
%1150 = add i64 %1010, 1
br i1 %1149, label %1008, label %1009
1151: ; preds = %1008, %1237
%1152 = phi i64 [ %1241, %1237 ], [ 0, %1008 ]
%1153 = phi i64 [ %1238, %1237 ], [ 1, %1008 ]
%1154 = phi i64 [ %1239, %1237 ], [ 2, %1008 ]
%1155 = add nsw i64 %1153, %138
%1156 = getelementptr inbounds double, double* %64, i64 %1153
%1157 = load double, double* %1156
%1158 = icmp ugt i64 %1153, 3
%1159 = and i1 %1158, %282
br i1 %1159, label %1160, label %1202
1160: ; preds = %1151
%1161 = getelementptr double, double* %27, i64 %1153
%1162 = shl nuw i64 %1152, 1
%1163 = add i64 %222, %1162
%1164 = getelementptr double, double* %18, i64 %1163
%1165 = add i64 %1152, %138
%1166 = getelementptr double, double* %18, i64 %1165
%1167 = icmp ult double* %1166, %1161
%1168 = icmp ugt double* %1164, %27
%1169 = and i1 %1167, %1168
br i1 %1169, label %1202, label %1170
1170: ; preds = %1160
%1171 = and i64 %1153, 9223372036854775804
%1172 = or i64 %1171, 1
%1173 = insertelement <2 x double> poison, double %1157, i64 0
%1174 = shufflevector <2 x double> %1173, <2 x double> poison, <2 x i32> zeroinitializer
%1175 = insertelement <2 x double> poison, double %1157, i64 0
%1176 = shufflevector <2 x double> %1175, <2 x double> poison, <2 x i32> zeroinitializer
br label %1177
1177: ; preds = %1177, %1170
%1178 = phi i64 [ 0, %1170 ], [ %1198, %1177 ]
%1179 = or i64 %1178, 1
%1180 = getelementptr inbounds double, double* %64, i64 %1179
%1181 = bitcast double* %1180 to <2 x double>*
%1182 = load <2 x double>, <2 x double>* %1181
%1183 = getelementptr inbounds double, double* %1180, i64 2
%1184 = bitcast double* %1183 to <2 x double>*
%1185 = load <2 x double>, <2 x double>* %1184
%1186 = mul nsw i64 %1179, %140
%1187 = add nsw i64 %1155, %1186
%1188 = getelementptr inbounds double, double* %57, i64 %1187
%1189 = bitcast double* %1188 to <2 x double>*
%1190 = load <2 x double>, <2 x double>* %1189
%1191 = getelementptr inbounds double, double* %1188, i64 2
%1192 = bitcast double* %1191 to <2 x double>*
%1193 = load <2 x double>, <2 x double>* %1192
%1194 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1174, <2 x double> %1182, <2 x double> %1190)
%1195 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1176, <2 x double> %1185, <2 x double> %1193)
%1196 = bitcast double* %1188 to <2 x double>*
store <2 x double> %1194, <2 x double>* %1196
%1197 = bitcast double* %1191 to <2 x double>*
store <2 x double> %1195, <2 x double>* %1197
%1198 = add nuw i64 %1178, 4
%1199 = icmp eq i64 %1198, %1171
br i1 %1199, label %1200, label %1177
1200: ; preds = %1177
%1201 = icmp eq i64 %1153, %1171
br i1 %1201, label %1237, label %1202
1202: ; preds = %1160, %1151, %1200
%1203 = phi i64 [ 1, %1160 ], [ 1, %1151 ], [ %1172, %1200 ]
%1204 = and i64 %1154, 1
%1205 = icmp eq i64 %1204, 0
br i1 %1205, label %1206, label %1215
1206: ; preds = %1202
%1207 = getelementptr inbounds double, double* %64, i64 %1203
%1208 = load double, double* %1207
%1209 = mul nsw i64 %1203, %140
%1210 = add nsw i64 %1155, %1209
%1211 = getelementptr inbounds double, double* %57, i64 %1210
%1212 = load double, double* %1211
%1213 = call double @llvm.fmuladd.f64(double %1157, double %1208, double %1212)
store double %1213, double* %1211
%1214 = add nuw nsw i64 %1203, 1
br label %1215
1215: ; preds = %1206, %1202
%1216 = phi i64 [ %1203, %1202 ], [ %1214, %1206 ]
%1217 = icmp eq i64 %1153, %1203
br i1 %1217, label %1237, label %1218
1218: ; preds = %1215, %1218
%1219 = phi i64 [ %1235, %1218 ], [ %1216, %1215 ]
%1220 = getelementptr inbounds double, double* %64, i64 %1219
%1221 = load double, double* %1220
%1222 = mul nsw i64 %1219, %140
%1223 = add nsw i64 %1155, %1222
%1224 = getelementptr inbounds double, double* %57, i64 %1223
%1225 = load double, double* %1224
%1226 = call double @llvm.fmuladd.f64(double %1157, double %1221, double %1225)
store double %1226, double* %1224
%1227 = add nuw nsw i64 %1219, 1
%1228 = getelementptr inbounds double, double* %27, i64 %1219
%1229 = load double, double* %1228
%1230 = mul nsw i64 %1227, %140
%1231 = add nsw i64 %1155, %1230
%1232 = getelementptr inbounds double, double* %57, i64 %1231
%1233 = load double, double* %1232
%1234 = call double @llvm.fmuladd.f64(double %1157, double %1229, double %1233)
store double %1234, double* %1232
%1235 = add nuw nsw i64 %1219, 2
%1236 = icmp eq i64 %1235, %1154
br i1 %1236, label %1237, label %1218
1237: ; preds = %1215, %1218, %1200
%1238 = add nuw nsw i64 %1153, 1
%1239 = add nuw nsw i64 %1154, 1
%1240 = icmp eq i64 %1238, %155
%1241 = add i64 %1152, 1
br i1 %1240, label %1242, label %1151
1242: ; preds = %1237, %972, %1008
%1243 = add nuw nsw i64 %947, 1
%1244 = icmp eq i64 %1243, %152
%1245 = add i64 %946, 1
br i1 %1244, label %942, label %945
1246: ; preds = %1311
br i1 %68, label %1335, label %1314
1247: ; preds = %943, %1311
%1248 = phi i64 [ 1, %943 ], [ %1312, %1311 ]
%1249 = phi i32 [ 0, %943 ], [ %1271, %1311 ]
%1250 = trunc i64 %1248 to i32
%1251 = getelementptr inbounds double, double* %50, i64 %1248
%1252 = load double, double* %1251
%1253 = fmul double %944, %1252
%1254 = getelementptr inbounds double, double* %64, i64 %1248
store double %1253, double* %1254
br i1 %130, label %1265, label %1255
1255: ; preds = %1247
%1256 = mul nsw i64 %1248, %138
%1257 = load double, double* %17
%1258 = add nsw i64 %1256, 1
%1259 = getelementptr inbounds double, double* %44, i64 %1258
%1260 = load double, double* %1259
%1261 = call double @llvm.fmuladd.f64(double %1257, double %1260, double %1253)
store double %1261, double* %1254
%1262 = load double, double* %1251
%1263 = load double, double* %1259
%1264 = fsub double %1263, %1262
store double %1264, double* %1259
br i1 %283, label %1265, label %1272
1265: ; preds = %1272, %1255, %1247
%1266 = add nsw i64 %1248, %138
%1267 = trunc i64 %1248 to i32
%1268 = mul i32 %1267, %20
%1269 = add i32 %1268, %1
%1270 = sext i32 %1249 to i64
%1271 = add i32 %1249, %1250
br label %1286
1272: ; preds = %1255, %1272
%1273 = phi i64 [ %1284, %1272 ], [ 2, %1255 ]
%1274 = load double, double* %1254
%1275 = getelementptr inbounds double, double* %53, i64 %1273
%1276 = load double, double* %1275
%1277 = add nsw i64 %1273, %1256
%1278 = getelementptr inbounds double, double* %44, i64 %1277
%1279 = load double, double* %1278
%1280 = call double @llvm.fmuladd.f64(double %1276, double %1279, double %1274)
store double %1280, double* %1254
%1281 = load double, double* %1251
%1282 = load double, double* %1278
%1283 = fsub double %1282, %1281
store double %1283, double* %1278
%1284 = add nuw nsw i64 %1273, 1
%1285 = icmp eq i64 %1284, %157
br i1 %1285, label %1265, label %1272
1286: ; preds = %1265, %1286
%1287 = phi i64 [ %1270, %1265 ], [ %1289, %1286 ]
%1288 = phi i64 [ 1, %1265 ], [ %1308, %1286 ]
%1289 = add nsw i64 %1287, 1
%1290 = getelementptr inbounds double, double* %16, i64 %1287
%1291 = load double, double* %1290
%1292 = getelementptr inbounds double, double* %64, i64 %1288
%1293 = load double, double* %1292
%1294 = load double, double* %1251
%1295 = call double @llvm.fmuladd.f64(double %1293, double %1294, double %1291)
%1296 = getelementptr inbounds double, double* %50, i64 %1288
%1297 = load double, double* %1296
%1298 = load double, double* %1254
%1299 = call double @llvm.fmuladd.f64(double %1297, double %1298, double %1295)
store double %1299, double* %1290
%1300 = mul nsw i64 %1288, %140
%1301 = add nsw i64 %1266, %1300
%1302 = getelementptr inbounds double, double* %57, i64 %1301
%1303 = load double, double* %1302
%1304 = trunc i64 %1288 to i32
%1305 = add i32 %1269, %1304
%1306 = sext i32 %1305 to i64
%1307 = getelementptr inbounds double, double* %57, i64 %1306
store double %1303, double* %1307
%1308 = add nuw nsw i64 %1288, 1
%1309 = trunc i64 %1289 to i32
%1310 = icmp eq i32 %1271, %1309
br i1 %1310, label %1311, label %1286
1311: ; preds = %1286
%1312 = add nuw nsw i64 %1248, 1
%1313 = icmp eq i64 %1312, %156
br i1 %1313, label %1246, label %1247
1314: ; preds = %1246, %1314
%1315 = phi i64 [ %1333, %1314 ], [ 1, %1246 ]
%1316 = getelementptr inbounds double, double* %50, i64 %1315
%1317 = load double, double* %1316
%1318 = getelementptr inbounds double, double* %48, i64 %1315
%1319 = load double, double* %1318
%1320 = fadd double %1317, %1319
store double %1320, double* %1318
%1321 = load double, double* %1316
%1322 = getelementptr inbounds double, double* %60, i64 %1315
%1323 = load double, double* %1322
%1324 = fsub double %1323, %1321
store double %1324, double* %1322
%1325 = load double, double* %1316
%1326 = getelementptr inbounds double, double* %58, i64 %1315
%1327 = load double, double* %1326
%1328 = fsub double %1327, %1325
store double %1328, double* %1326
%1329 = load double, double* %1316
%1330 = getelementptr inbounds double, double* %59, i64 %1315
%1331 = load double, double* %1330
%1332 = fsub double %1331, %1329
store double %1332, double* %1330
store double 0.000000e+00, double* %1316
%1333 = add nuw nsw i64 %1315, 1
%1334 = icmp eq i64 %1333, %158
br i1 %1334, label %1335, label %1314
1335: ; preds = %1314, %942, %1246, %741
%1336 = phi double [ %756, %741 ], [ 0.000000e+00, %1246 ], [ 0.000000e+00, %942 ], [ 0.000000e+00, %1314 ]
%1337 = icmp eq i32 %755, 0
br i1 %1337, label %1338, label %1505
1338: ; preds = %1335
%1339 = load i32, i32* %31
br label %1406
1340: ; preds = %2158, %2021
%1341 = phi i32 [ %2022, %2021 ], [ %2159, %2158 ]
%1342 = phi i32 [ %1506, %2021 ], [ %2152, %2158 ]
%1343 = phi double [ %1896, %2021 ], [ %2153, %2158 ]
%1344 = load i32, i32* %31
%1345 = icmp eq i32 %1344, %1511
%1346 = or i1 %1345, %68
br i1 %1346, label %1380, label %1347
1347: ; preds = %1340
%1348 = sext i32 %1344 to i64
br i1 %361, label %1369, label %1349
1349: ; preds = %1347, %1349
%1350 = phi i64 [ %1366, %1349 ], [ 1, %1347 ]
%1351 = phi double [ %1365, %1349 ], [ 0.000000e+00, %1347 ]
%1352 = phi i64 [ %1367, %1349 ], [ 0, %1347 ]
%1353 = mul nsw i64 %1350, %138
%1354 = add nsw i64 %1353, %1348
%1355 = getelementptr inbounds double, double* %44, i64 %1354
%1356 = load double, double* %1355
%1357 = getelementptr inbounds double, double* %50, i64 %1350
store double %1356, double* %1357
%1358 = call double @llvm.fmuladd.f64(double %1356, double %1356, double %1351)
%1359 = add nuw nsw i64 %1350, 1
%1360 = mul nsw i64 %1359, %138
%1361 = add nsw i64 %1360, %1348
%1362 = getelementptr inbounds double, double* %44, i64 %1361
%1363 = load double, double* %1362
%1364 = getelementptr inbounds double, double* %14, i64 %1350
store double %1363, double* %1364
%1365 = call double @llvm.fmuladd.f64(double %1363, double %1363, double %1358)
%1366 = add nuw nsw i64 %1350, 2
%1367 = add i64 %1352, 2
%1368 = icmp eq i64 %1367, %362
br i1 %1368, label %1369, label %1349
1369: ; preds = %1349, %1347
%1370 = phi double [ undef, %1347 ], [ %1365, %1349 ]
%1371 = phi i64 [ 1, %1347 ], [ %1366, %1349 ]
%1372 = phi double [ 0.000000e+00, %1347 ], [ %1365, %1349 ]
br i1 %363, label %1380, label %1373
1373: ; preds = %1369
%1374 = mul nsw i64 %1371, %138
%1375 = add nsw i64 %1374, %1348
%1376 = getelementptr inbounds double, double* %44, i64 %1375
%1377 = load double, double* %1376
%1378 = getelementptr inbounds double, double* %50, i64 %1371
store double %1377, double* %1378
%1379 = call double @llvm.fmuladd.f64(double %1377, double %1377, double %1372)
br label %1380
1380: ; preds = %1373, %1369, %1340
%1381 = phi double [ 0.000000e+00, %1340 ], [ %1370, %1369 ], [ %1379, %1373 ]
%1382 = load i32, i32* %29
%1383 = icmp slt i32 %1382, 0
br i1 %1383, label %1384, label %1386
1384: ; preds = %1380
store i32 %10, i32* %29
%1385 = icmp sgt i32 %9, 0
br i1 %1385, label %3728, label %3732
1386: ; preds = %1380
%1387 = icmp slt i32 %1341, %1382
br i1 %1387, label %470, label %1388
1388: ; preds = %1386
%1389 = icmp sgt i32 %755, 0
br i1 %1389, label %1390, label %1406
1390: ; preds = %1388, %3569, %3573, %3670, %3672
%1391 = phi double [ %743, %1388 ], [ %2221, %3569 ], [ %2221, %3573 ], [ %3582, %3670 ], [ %3582, %3672 ]
%1392 = phi double [ %1890, %1388 ], [ %2165, %3569 ], [ %2165, %3573 ], [ %3583, %3670 ], [ %3583, %3672 ]
%1393 = phi i32 [ %1342, %1388 ], [ %2516, %3569 ], [ %2516, %3573 ], [ %3668, %3670 ], [ %3668, %3672 ]
%1394 = phi double [ %745, %1388 ], [ %2360, %3569 ], [ %2360, %3573 ], [ %3584, %3670 ], [ %3584, %3672 ]
%1395 = phi double [ %746, %1388 ], [ %2167, %3569 ], [ %2167, %3573 ], [ %3585, %3670 ], [ %3585, %3672 ]
%1396 = phi double [ %747, %1388 ], [ %2168, %3569 ], [ %2168, %3573 ], [ %3586, %3670 ], [ %3586, %3672 ]
%1397 = phi double [ %748, %1388 ], [ %2517, %3569 ], [ %2517, %3573 ], [ %3587, %3670 ], [ %3587, %3672 ]
%1398 = phi double [ %749, %1388 ], [ %2170, %3569 ], [ %2170, %3573 ], [ %3588, %3670 ], [ %3588, %3672 ]
%1399 = phi double [ %1343, %1388 ], [ %2518, %3569 ], [ %2518, %3573 ], [ %3589, %3670 ], [ %3589, %3672 ]
%1400 = phi i32 [ %1382, %1388 ], [ %2172, %3569 ], [ %2172, %3573 ], [ %3590, %3670 ], [ %3590, %3672 ]
%1401 = phi i32 [ %1341, %1388 ], [ %2363, %3569 ], [ %2363, %3573 ], [ %3591, %3670 ], [ %3591, %3672 ]
%1402 = phi double [ %753, %1388 ], [ %2519, %3569 ], [ %2519, %3573 ], [ %3592, %3670 ], [ %3592, %3672 ]
%1403 = phi i32 [ %754, %1388 ], [ %3571, %3569 ], [ %3571, %3573 ], [ %3593, %3670 ], [ %3593, %3672 ]
%1404 = phi i32 [ %755, %1388 ], [ 0, %3569 ], [ %2176, %3573 ], [ %3595, %3670 ], [ %3595, %3672 ]
%1405 = phi double [ %1381, %1388 ], [ %3570, %3569 ], [ %3570, %3573 ], [ %3596, %3670 ], [ %3596, %3672 ]
br label %628
1406: ; preds = %1338, %1388
%1407 = phi i32 [ %1339, %1338 ], [ %1344, %1388 ]
%1408 = phi i32 [ %744, %1338 ], [ %1342, %1388 ]
%1409 = phi double [ %750, %1338 ], [ %1343, %1388 ]
%1410 = phi i32 [ %751, %1338 ], [ %1382, %1388 ]
%1411 = phi i32 [ %752, %1338 ], [ %1341, %1388 ]
%1412 = phi double [ %1336, %1338 ], [ %1381, %1388 ]
br i1 %68, label %1505, label %1413
1413: ; preds = %1406
%1414 = select i1 %284, i1 true, i1 %291
br i1 %1414, label %1483, label %1415
1415: ; preds = %1413
br i1 %295, label %1460, label %1416
1416: ; preds = %1415, %1416
%1417 = phi i64 [ %1457, %1416 ], [ 0, %1415 ]
%1418 = phi i64 [ %1458, %1416 ], [ 0, %1415 ]
%1419 = or i64 %1417, 1
%1420 = getelementptr inbounds double, double* %60, i64 %1419
%1421 = bitcast double* %1420 to <2 x double>*
%1422 = load <2 x double>, <2 x double>* %1421
%1423 = getelementptr inbounds double, double* %1420, i64 2
%1424 = bitcast double* %1423 to <2 x double>*
%1425 = load <2 x double>, <2 x double>* %1424
%1426 = getelementptr inbounds double, double* %50, i64 %1419
%1427 = bitcast double* %1426 to <2 x double>*
%1428 = load <2 x double>, <2 x double>* %1427
%1429 = getelementptr inbounds double, double* %1426, i64 2
%1430 = bitcast double* %1429 to <2 x double>*
%1431 = load <2 x double>, <2 x double>* %1430
%1432 = fsub <2 x double> %1422, %1428
%1433 = fsub <2 x double> %1425, %1431
%1434 = getelementptr inbounds double, double* %62, i64 %1419
%1435 = bitcast double* %1434 to <2 x double>*
store <2 x double> %1432, <2 x double>* %1435
%1436 = getelementptr inbounds double, double* %1434, i64 2
%1437 = bitcast double* %1436 to <2 x double>*
store <2 x double> %1433, <2 x double>* %1437
%1438 = or i64 %1417, 5
%1439 = getelementptr inbounds double, double* %60, i64 %1438
%1440 = bitcast double* %1439 to <2 x double>*
%1441 = load <2 x double>, <2 x double>* %1440
%1442 = getelementptr inbounds double, double* %1439, i64 2
%1443 = bitcast double* %1442 to <2 x double>*
%1444 = load <2 x double>, <2 x double>* %1443
%1445 = getelementptr inbounds double, double* %50, i64 %1438
%1446 = bitcast double* %1445 to <2 x double>*
%1447 = load <2 x double>, <2 x double>* %1446
%1448 = getelementptr inbounds double, double* %1445, i64 2
%1449 = bitcast double* %1448 to <2 x double>*
%1450 = load <2 x double>, <2 x double>* %1449
%1451 = fsub <2 x double> %1441, %1447
%1452 = fsub <2 x double> %1444, %1450
%1453 = getelementptr inbounds double, double* %62, i64 %1438
%1454 = bitcast double* %1453 to <2 x double>*
store <2 x double> %1451, <2 x double>* %1454
%1455 = getelementptr inbounds double, double* %1453, i64 2
%1456 = bitcast double* %1455 to <2 x double>*
store <2 x double> %1452, <2 x double>* %1456
%1457 = add nuw i64 %1417, 8
%1458 = add i64 %1418, 2
%1459 = icmp eq i64 %1458, %296
br i1 %1459, label %1460, label %1416
1460: ; preds = %1416, %1415
%1461 = phi i64 [ 0, %1415 ], [ %1457, %1416 ]
br i1 %297, label %1482, label %1462
1462: ; preds = %1460
%1463 = or i64 %1461, 1
%1464 = getelementptr inbounds double, double* %60, i64 %1463
%1465 = bitcast double* %1464 to <2 x double>*
%1466 = load <2 x double>, <2 x double>* %1465
%1467 = getelementptr inbounds double, double* %1464, i64 2
%1468 = bitcast double* %1467 to <2 x double>*
%1469 = load <2 x double>, <2 x double>* %1468
%1470 = getelementptr inbounds double, double* %50, i64 %1463
%1471 = bitcast double* %1470 to <2 x double>*
%1472 = load <2 x double>, <2 x double>* %1471
%1473 = getelementptr inbounds double, double* %1470, i64 2
%1474 = bitcast double* %1473 to <2 x double>*
%1475 = load <2 x double>, <2 x double>* %1474
%1476 = fsub <2 x double> %1466, %1472
%1477 = fsub <2 x double> %1469, %1475
%1478 = getelementptr inbounds double, double* %62, i64 %1463
%1479 = bitcast double* %1478 to <2 x double>*
store <2 x double> %1476, <2 x double>* %1479
%1480 = getelementptr inbounds double, double* %1478, i64 2
%1481 = bitcast double* %1480 to <2 x double>*
store <2 x double> %1477, <2 x double>* %1481
br label %1482
1482: ; preds = %1460, %1462
br i1 %298, label %1505, label %1483
1483: ; preds = %1413, %1482
%1484 = phi i64 [ 1, %1413 ], [ %293, %1482 ]
%1485 = sub nsw i64 %146, %1484
%1486 = xor i64 %1484, -1
%1487 = add nsw i64 %1486, %146
%1488 = and i64 %1485, 3
%1489 = icmp eq i64 %1488, 0
br i1 %1489, label %1502, label %1490
1490: ; preds = %1483, %1490
%1491 = phi i64 [ %1499, %1490 ], [ %1484, %1483 ]
%1492 = phi i64 [ %1500, %1490 ], [ 0, %1483 ]
%1493 = getelementptr inbounds double, double* %60, i64 %1491
%1494 = load double, double* %1493
%1495 = getelementptr inbounds double, double* %50, i64 %1491
%1496 = load double, double* %1495
%1497 = fsub double %1494, %1496
%1498 = getelementptr inbounds double, double* %62, i64 %1491
store double %1497, double* %1498
%1499 = add nuw nsw i64 %1491, 1
%1500 = add i64 %1492, 1
%1501 = icmp eq i64 %1500, %1488
br i1 %1501, label %1502, label %1490
1502: ; preds = %1490, %1483
%1503 = phi i64 [ %1484, %1483 ], [ %1499, %1490 ]
%1504 = icmp ult i64 %1487, 3
br i1 %1504, label %1505, label %1518
1505: ; preds = %1502, %1518, %1482, %1406, %1335
%1506 = phi i32 [ %744, %1335 ], [ %1408, %1406 ], [ %1408, %1482 ], [ %1408, %1518 ], [ %1408, %1502 ]
%1507 = phi double [ %750, %1335 ], [ %1409, %1406 ], [ %1409, %1482 ], [ %1409, %1518 ], [ %1409, %1502 ]
%1508 = phi i32 [ %751, %1335 ], [ %1410, %1406 ], [ %1410, %1482 ], [ %1410, %1518 ], [ %1410, %1502 ]
%1509 = phi i32 [ %752, %1335 ], [ %1411, %1406 ], [ %1411, %1482 ], [ %1411, %1518 ], [ %1411, %1502 ]
%1510 = phi double [ %1336, %1335 ], [ %1412, %1406 ], [ %1412, %1482 ], [ %1412, %1518 ], [ %1412, %1502 ]
%1511 = load i32, i32* %31
%1512 = sext i32 %1511 to i64
%1513 = getelementptr inbounds double, double* %63, i64 %1512
%1514 = load double, double* %33
%1515 = sext i32 %1506 to i64
%1516 = getelementptr inbounds double, double* %63, i64 %1515
%1517 = load double, double* %32
br label %1548
1518: ; preds = %1502, %1518
%1519 = phi i64 [ %1546, %1518 ], [ %1503, %1502 ]
%1520 = getelementptr inbounds double, double* %60, i64 %1519
%1521 = load double, double* %1520
%1522 = getelementptr inbounds double, double* %50, i64 %1519
%1523 = load double, double* %1522
%1524 = fsub double %1521, %1523
%1525 = getelementptr inbounds double, double* %62, i64 %1519
store double %1524, double* %1525
%1526 = getelementptr inbounds double, double* %23, i64 %1519
%1527 = load double, double* %1526
%1528 = getelementptr inbounds double, double* %14, i64 %1519
%1529 = load double, double* %1528
%1530 = fsub double %1527, %1529
%1531 = getelementptr inbounds double, double* %25, i64 %1519
store double %1530, double* %1531
%1532 = add nuw nsw i64 %1519, 2
%1533 = getelementptr inbounds double, double* %60, i64 %1532
%1534 = load double, double* %1533
%1535 = getelementptr inbounds double, double* %50, i64 %1532
%1536 = load double, double* %1535
%1537 = fsub double %1534, %1536
%1538 = getelementptr inbounds double, double* %62, i64 %1532
store double %1537, double* %1538
%1539 = add nuw nsw i64 %1519, 3
%1540 = getelementptr inbounds double, double* %60, i64 %1539
%1541 = load double, double* %1540
%1542 = getelementptr inbounds double, double* %50, i64 %1539
%1543 = load double, double* %1542
%1544 = fsub double %1541, %1543
%1545 = getelementptr inbounds double, double* %62, i64 %1539
store double %1544, double* %1545
%1546 = add nuw nsw i64 %1519, 4
%1547 = icmp eq i64 %1546, %159
br i1 %1547, label %1505, label %1518
1548: ; preds = %1505, %2016
%1549 = phi double [ 0.000000e+00, %2016 ], [ %1514, %1505 ]
br i1 %130, label %1550, label %1551
1550: ; preds = %1579, %1548
br i1 %131, label %1592, label %1769
1551: ; preds = %1548, %1579
%1552 = phi i64 [ %1590, %1579 ], [ 1, %1548 ]
br i1 %68, label %1579, label %1553
1553: ; preds = %1551, %1553
%1554 = phi i64 [ %1575, %1553 ], [ 1, %1551 ]
%1555 = phi double [ %1565, %1553 ], [ 0.000000e+00, %1551 ]
%1556 = phi <2 x double> [ %1574, %1553 ], [ zeroinitializer, %1551 ]
%1557 = mul nsw i64 %1554, %138
%1558 = add nsw i64 %1557, %1552
%1559 = getelementptr inbounds double, double* %44, i64 %1558
%1560 = load double, double* %1559
%1561 = getelementptr inbounds double, double* %62, i64 %1554
%1562 = load double, double* %1561
%1563 = getelementptr inbounds double, double* %50, i64 %1554
%1564 = load double, double* %1563
%1565 = call double @llvm.fmuladd.f64(double %1560, double %1564, double %1555)
%1566 = mul nsw i64 %1554, %140
%1567 = add nsw i64 %1566, %1552
%1568 = getelementptr inbounds double, double* %57, i64 %1567
%1569 = load double, double* %1568
%1570 = insertelement <2 x double> poison, double %1569, i64 0
%1571 = insertelement <2 x double> %1570, double %1560, i64 1
%1572 = insertelement <2 x double> poison, double %1562, i64 0
%1573 = shufflevector <2 x double> %1572, <2 x double> poison, <2 x i32> zeroinitializer
%1574 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1571, <2 x double> %1573, <2 x double> %1556)
%1575 = add nuw nsw i64 %1554, 1
%1576 = icmp eq i64 %1575, %161
br i1 %1576, label %1577, label %1553
1577: ; preds = %1553
%1578 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1571, <2 x double> %1573, <2 x double> %1556)
br label %1579
1579: ; preds = %1577, %1551
%1580 = phi double [ 0.000000e+00, %1551 ], [ %1565, %1577 ]
%1581 = phi <2 x double> [ zeroinitializer, %1551 ], [ %1578, %1577 ]
%1582 = extractelement <2 x double> %1581, i64 1
%1583 = call double @llvm.fmuladd.f64(double %1582, double 5.000000e-01, double %1580)
%1584 = fmul double %1582, %1583
%1585 = getelementptr inbounds double, double* %64, i64 %1552
store double %1584, double* %1585
%1586 = getelementptr inbounds double, double* %63, i64 %1552
%1587 = extractelement <2 x double> %1581, i64 0
store double %1587, double* %1586
%1588 = add nsw i64 %1552, %138
%1589 = getelementptr inbounds double, double* %64, i64 %1588
store double %1582, double* %1589
%1590 = add nuw nsw i64 %1552, 1
%1591 = icmp eq i64 %1590, %160
br i1 %1591, label %1550, label %1551
1592: ; preds = %1550, %1764
%1593 = phi i64 [ %1768, %1764 ], [ 0, %1550 ]
%1594 = phi i64 [ %1766, %1764 ], [ 1, %1550 ]
%1595 = phi double [ %1765, %1764 ], [ 0.000000e+00, %1550 ]
%1596 = mul i64 %1593, %138
%1597 = add i64 %214, %1596
%1598 = getelementptr double, double* %19, i64 %1597
%1599 = add i64 %215, %1596
%1600 = getelementptr double, double* %19, i64 %1599
br i1 %130, label %1764, label %1601
1601: ; preds = %1592
%1602 = mul nsw i64 %1594, %138
br i1 %300, label %1637, label %1603
1603: ; preds = %1601, %1603
%1604 = phi i64 [ %1634, %1603 ], [ 1, %1601 ]
%1605 = phi double [ %1633, %1603 ], [ 0.000000e+00, %1601 ]
%1606 = phi i64 [ %1635, %1603 ], [ 0, %1601 ]
%1607 = add nsw i64 %1604, %1602
%1608 = getelementptr inbounds double, double* %43, i64 %1607
%1609 = load double, double* %1608
%1610 = getelementptr inbounds double, double* %64, i64 %1604
%1611 = load double, double* %1610
%1612 = call double @llvm.fmuladd.f64(double %1609, double %1611, double %1605)
%1613 = add nuw nsw i64 %1604, 1
%1614 = add nsw i64 %1613, %1602
%1615 = getelementptr inbounds double, double* %43, i64 %1614
%1616 = load double, double* %1615
%1617 = getelementptr inbounds double, double* %27, i64 %1604
%1618 = load double, double* %1617
%1619 = call double @llvm.fmuladd.f64(double %1616, double %1618, double %1612)
%1620 = add nuw nsw i64 %1604, 2
%1621 = add nsw i64 %1620, %1602
%1622 = getelementptr inbounds double, double* %43, i64 %1621
%1623 = load double, double* %1622
%1624 = getelementptr inbounds double, double* %64, i64 %1620
%1625 = load double, double* %1624
%1626 = call double @llvm.fmuladd.f64(double %1623, double %1625, double %1619)
%1627 = add nuw nsw i64 %1604, 3
%1628 = add nsw i64 %1627, %1602
%1629 = getelementptr inbounds double, double* %43, i64 %1628
%1630 = load double, double* %1629
%1631 = getelementptr inbounds double, double* %64, i64 %1627
%1632 = load double, double* %1631
%1633 = call double @llvm.fmuladd.f64(double %1630, double %1632, double %1626)
%1634 = add nuw nsw i64 %1604, 4
%1635 = add nuw i64 %1606, 4
%1636 = icmp eq i64 %1635, %301
br i1 %1636, label %1637, label %1603
1637: ; preds = %1603, %1601
%1638 = phi double [ undef, %1601 ], [ %1633, %1603 ]
%1639 = phi i64 [ 1, %1601 ], [ %1634, %1603 ]
%1640 = phi double [ 0.000000e+00, %1601 ], [ %1633, %1603 ]
br i1 %302, label %1654, label %1641
1641: ; preds = %1637, %1641
%1642 = phi i64 [ %1651, %1641 ], [ %1639, %1637 ]
%1643 = phi double [ %1650, %1641 ], [ %1640, %1637 ]
%1644 = phi i64 [ %1652, %1641 ], [ 0, %1637 ]
%1645 = add nsw i64 %1642, %1602
%1646 = getelementptr inbounds double, double* %43, i64 %1645
%1647 = load double, double* %1646
%1648 = getelementptr inbounds double, double* %64, i64 %1642
%1649 = load double, double* %1648
%1650 = call double @llvm.fmuladd.f64(double %1647, double %1649, double %1643)
%1651 = add nuw nsw i64 %1642, 1
%1652 = add i64 %1644, 1
%1653 = icmp eq i64 %1652, %299
br i1 %1653, label %1654, label %1641
1654: ; preds = %1641, %1637
%1655 = phi double [ %1638, %1637 ], [ %1650, %1641 ]
%1656 = fneg double %1655
%1657 = call double @llvm.fmuladd.f64(double %1656, double %1655, double %1595)
br i1 %130, label %1764, label %1658
1658: ; preds = %1654
%1659 = mul nsw i64 %1594, %138
br i1 %303, label %1733, label %1660
1660: ; preds = %1658
%1661 = icmp ugt double* %1600, %26
%1662 = icmp ult double* %1598, %212
%1663 = and i1 %1661, %1662
br i1 %1663, label %1733, label %1664
1664: ; preds = %1660
%1665 = insertelement <2 x double> poison, double %1655, i64 0
%1666 = shufflevector <2 x double> %1665, <2 x double> poison, <2 x i32> zeroinitializer
%1667 = insertelement <2 x double> poison, double %1655, i64 0
%1668 = shufflevector <2 x double> %1667, <2 x double> poison, <2 x i32> zeroinitializer
br i1 %307, label %1711, label %1669
1669: ; preds = %1664, %1669
%1670 = phi i64 [ %1708, %1669 ], [ 0, %1664 ]
%1671 = phi i64 [ %1709, %1669 ], [ 0, %1664 ]
%1672 = or i64 %1670, 1
%1673 = add nsw i64 %1672, %1659
%1674 = getelementptr inbounds double, double* %43, i64 %1673
%1675 = bitcast double* %1674 to <2 x double>*
%1676 = load <2 x double>, <2 x double>* %1675
%1677 = getelementptr inbounds double, double* %1674, i64 2
%1678 = bitcast double* %1677 to <2 x double>*
%1679 = load <2 x double>, <2 x double>* %1678
%1680 = getelementptr inbounds double, double* %63, i64 %1672
%1681 = bitcast double* %1680 to <2 x double>*
%1682 = load <2 x double>, <2 x double>* %1681
%1683 = getelementptr inbounds double, double* %1680, i64 2
%1684 = bitcast double* %1683 to <2 x double>*
%1685 = load <2 x double>, <2 x double>* %1684
%1686 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1666, <2 x double> %1676, <2 x double> %1682)
%1687 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1668, <2 x double> %1679, <2 x double> %1685)
%1688 = bitcast double* %1680 to <2 x double>*
store <2 x double> %1686, <2 x double>* %1688
%1689 = bitcast double* %1683 to <2 x double>*
store <2 x double> %1687, <2 x double>* %1689
%1690 = or i64 %1670, 5
%1691 = add nsw i64 %1690, %1659
%1692 = getelementptr inbounds double, double* %43, i64 %1691
%1693 = bitcast double* %1692 to <2 x double>*
%1694 = load <2 x double>, <2 x double>* %1693
%1695 = getelementptr inbounds double, double* %1692, i64 2
%1696 = bitcast double* %1695 to <2 x double>*
%1697 = load <2 x double>, <2 x double>* %1696
%1698 = getelementptr inbounds double, double* %63, i64 %1690
%1699 = bitcast double* %1698 to <2 x double>*
%1700 = load <2 x double>, <2 x double>* %1699
%1701 = getelementptr inbounds double, double* %1698, i64 2
%1702 = bitcast double* %1701 to <2 x double>*
%1703 = load <2 x double>, <2 x double>* %1702
%1704 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1666, <2 x double> %1694, <2 x double> %1700)
%1705 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1668, <2 x double> %1697, <2 x double> %1703)
%1706 = bitcast double* %1698 to <2 x double>*
store <2 x double> %1704, <2 x double>* %1706
%1707 = bitcast double* %1701 to <2 x double>*
store <2 x double> %1705, <2 x double>* %1707
%1708 = add nuw i64 %1670, 8
%1709 = add i64 %1671, 2
%1710 = icmp eq i64 %1709, %308
br i1 %1710, label %1711, label %1669
1711: ; preds = %1669, %1664
%1712 = phi i64 [ 0, %1664 ], [ %1708, %1669 ]
br i1 %309, label %1732, label %1713
1713: ; preds = %1711
%1714 = or i64 %1712, 1
%1715 = add nsw i64 %1714, %1659
%1716 = getelementptr inbounds double, double* %43, i64 %1715
%1717 = bitcast double* %1716 to <2 x double>*
%1718 = load <2 x double>, <2 x double>* %1717
%1719 = getelementptr inbounds double, double* %1716, i64 2
%1720 = bitcast double* %1719 to <2 x double>*
%1721 = load <2 x double>, <2 x double>* %1720
%1722 = getelementptr inbounds double, double* %63, i64 %1714
%1723 = bitcast double* %1722 to <2 x double>*
%1724 = load <2 x double>, <2 x double>* %1723
%1725 = getelementptr inbounds double, double* %1722, i64 2
%1726 = bitcast double* %1725 to <2 x double>*
%1727 = load <2 x double>, <2 x double>* %1726
%1728 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1666, <2 x double> %1718, <2 x double> %1724)
%1729 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1668, <2 x double> %1721, <2 x double> %1727)
%1730 = bitcast double* %1722 to <2 x double>*
store <2 x double> %1728, <2 x double>* %1730
%1731 = bitcast double* %1725 to <2 x double>*
store <2 x double> %1729, <2 x double>* %1731
br label %1732
1732: ; preds = %1711, %1713
br i1 %310, label %1764, label %1733
1733: ; preds = %1660, %1658, %1732
%1734 = phi i64 [ 1, %1660 ], [ 1, %1658 ], [ %305, %1732 ]
%1735 = xor i64 %1734, -1
br i1 %312, label %1736, label %1744
1736: ; preds = %1733
%1737 = add nsw i64 %1734, %1659
%1738 = getelementptr inbounds double, double* %43, i64 %1737
%1739 = load double, double* %1738
%1740 = getelementptr inbounds double, double* %63, i64 %1734
%1741 = load double, double* %1740
%1742 = call double @llvm.fmuladd.f64(double %1655, double %1739, double %1741)
store double %1742, double* %1740
%1743 = add nuw nsw i64 %1734, 1
br label %1744
1744: ; preds = %1736, %1733
%1745 = phi i64 [ %1734, %1733 ], [ %1743, %1736 ]
%1746 = icmp eq i64 %1735, %313
br i1 %1746, label %1764, label %1747
1747: ; preds = %1744, %1747
%1748 = phi i64 [ %1762, %1747 ], [ %1745, %1744 ]
%1749 = add nsw i64 %1748, %1659
%1750 = getelementptr inbounds double, double* %43, i64 %1749
%1751 = load double, double* %1750
%1752 = getelementptr inbounds double, double* %63, i64 %1748
%1753 = load double, double* %1752
%1754 = call double @llvm.fmuladd.f64(double %1655, double %1751, double %1753)
store double %1754, double* %1752
%1755 = add nuw nsw i64 %1748, 1
%1756 = add nsw i64 %1755, %1659
%1757 = getelementptr inbounds double, double* %43, i64 %1756
%1758 = load double, double* %1757
%1759 = getelementptr inbounds double, double* %26, i64 %1748
%1760 = load double, double* %1759
%1761 = call double @llvm.fmuladd.f64(double %1655, double %1758, double %1760)
store double %1761, double* %1759
%1762 = add nuw nsw i64 %1748, 2
%1763 = icmp eq i64 %1762, %163
br i1 %1763, label %1764, label %1747
1764: ; preds = %1744, %1747, %1732, %1592, %1654
%1765 = phi double [ %1657, %1654 ], [ %1595, %1592 ], [ %1657, %1732 ], [ %1657, %1747 ], [ %1657, %1744 ]
%1766 = add nuw nsw i64 %1594, 1
%1767 = icmp eq i64 %1766, %162
%1768 = add i64 %1593, 1
br i1 %1767, label %1769, label %1592
1769: ; preds = %1764, %1550
%1770 = phi double [ 0.000000e+00, %1550 ], [ %1765, %1764 ]
br i1 %68, label %1880, label %1771
1771: ; preds = %1769, %1870
%1772 = phi i64 [ %1878, %1870 ], [ 1, %1769 ]
%1773 = phi double [ %1874, %1870 ], [ 0.000000e+00, %1769 ]
%1774 = phi double [ %1877, %1870 ], [ 0.000000e+00, %1769 ]
%1775 = phi double [ %1778, %1870 ], [ 0.000000e+00, %1769 ]
%1776 = getelementptr inbounds double, double* %62, i64 %1772
%1777 = load double, double* %1776
%1778 = call double @llvm.fmuladd.f64(double %1777, double %1777, double %1775)
br i1 %130, label %1832, label %1779
1779: ; preds = %1771
%1780 = mul nsw i64 %1772, %140
br i1 %315, label %1815, label %1781
1781: ; preds = %1779, %1781
%1782 = phi i64 [ %1812, %1781 ], [ 1, %1779 ]
%1783 = phi double [ %1811, %1781 ], [ 0.000000e+00, %1779 ]
%1784 = phi i64 [ %1813, %1781 ], [ 0, %1779 ]
%1785 = getelementptr inbounds double, double* %64, i64 %1782
%1786 = load double, double* %1785
%1787 = add nsw i64 %1782, %1780
%1788 = getelementptr inbounds double, double* %57, i64 %1787
%1789 = load double, double* %1788
%1790 = call double @llvm.fmuladd.f64(double %1786, double %1789, double %1783)
%1791 = add nuw nsw i64 %1782, 1
%1792 = getelementptr inbounds double, double* %27, i64 %1782
%1793 = load double, double* %1792
%1794 = add nsw i64 %1791, %1780
%1795 = getelementptr inbounds double, double* %57, i64 %1794
%1796 = load double, double* %1795
%1797 = call double @llvm.fmuladd.f64(double %1793, double %1796, double %1790)
%1798 = add nuw nsw i64 %1782, 2
%1799 = getelementptr inbounds double, double* %64, i64 %1798
%1800 = load double, double* %1799
%1801 = add nsw i64 %1798, %1780
%1802 = getelementptr inbounds double, double* %57, i64 %1801
%1803 = load double, double* %1802
%1804 = call double @llvm.fmuladd.f64(double %1800, double %1803, double %1797)
%1805 = add nuw nsw i64 %1782, 3
%1806 = getelementptr inbounds double, double* %64, i64 %1805
%1807 = load double, double* %1806
%1808 = add nsw i64 %1805, %1780
%1809 = getelementptr inbounds double, double* %57, i64 %1808
%1810 = load double, double* %1809
%1811 = call double @llvm.fmuladd.f64(double %1807, double %1810, double %1804)
%1812 = add nuw nsw i64 %1782, 4
%1813 = add nuw i64 %1784, 4
%1814 = icmp eq i64 %1813, %316
br i1 %1814, label %1815, label %1781
1815: ; preds = %1781, %1779
%1816 = phi double [ undef, %1779 ], [ %1811, %1781 ]
%1817 = phi i64 [ 1, %1779 ], [ %1812, %1781 ]
%1818 = phi double [ 0.000000e+00, %1779 ], [ %1811, %1781 ]
br i1 %317, label %1832, label %1819
1819: ; preds = %1815, %1819
%1820 = phi i64 [ %1829, %1819 ], [ %1817, %1815 ]
%1821 = phi double [ %1828, %1819 ], [ %1818, %1815 ]
%1822 = phi i64 [ %1830, %1819 ], [ 0, %1815 ]
%1823 = getelementptr inbounds double, double* %64, i64 %1820
%1824 = load double, double* %1823
%1825 = add nsw i64 %1820, %1780
%1826 = getelementptr inbounds double, double* %57, i64 %1825
%1827 = load double, double* %1826
%1828 = call double @llvm.fmuladd.f64(double %1824, double %1827, double %1821)
%1829 = add nuw nsw i64 %1820, 1
%1830 = add i64 %1822, 1
%1831 = icmp eq i64 %1830, %314
br i1 %1831, label %1832, label %1819
1832: ; preds = %1815, %1819, %1771
%1833 = phi double [ 0.000000e+00, %1771 ], [ %1816, %1815 ], [ %1828, %1819 ]
%1834 = call double @llvm.fmuladd.f64(double %1833, double %1777, double %1773)
%1835 = add nsw i64 %1772, %138
br i1 %319, label %1858, label %1836
1836: ; preds = %1832, %1836
%1837 = phi i64 [ %1855, %1836 ], [ 1, %1832 ]
%1838 = phi double [ %1854, %1836 ], [ %1833, %1832 ]
%1839 = phi i64 [ %1856, %1836 ], [ 0, %1832 ]
%1840 = mul nsw i64 %1837, %140
%1841 = add nsw i64 %1840, %1835
%1842 = getelementptr inbounds double, double* %57, i64 %1841
%1843 = load double, double* %1842
%1844 = getelementptr inbounds double, double* %62, i64 %1837
%1845 = load double, double* %1844
%1846 = call double @llvm.fmuladd.f64(double %1843, double %1845, double %1838)
%1847 = add nuw nsw i64 %1837, 1
%1848 = mul nsw i64 %1847, %140
%1849 = add nsw i64 %1848, %1835
%1850 = getelementptr inbounds double, double* %57, i64 %1849
%1851 = load double, double* %1850
%1852 = getelementptr inbounds double, double* %25, i64 %1837
%1853 = load double, double* %1852
%1854 = call double @llvm.fmuladd.f64(double %1851, double %1853, double %1846)
%1855 = add nuw nsw i64 %1837, 2
%1856 = add i64 %1839, 2
%1857 = icmp eq i64 %1856, %320
br i1 %1857, label %1858, label %1836
1858: ; preds = %1836, %1832
%1859 = phi double [ undef, %1832 ], [ %1854, %1836 ]
%1860 = phi i64 [ 1, %1832 ], [ %1855, %1836 ]
%1861 = phi double [ %1833, %1832 ], [ %1854, %1836 ]
br i1 %321, label %1870, label %1862
1862: ; preds = %1858
%1863 = mul nsw i64 %1860, %140
%1864 = add nsw i64 %1863, %1835
%1865 = getelementptr inbounds double, double* %57, i64 %1864
%1866 = load double, double* %1865
%1867 = getelementptr inbounds double, double* %62, i64 %1860
%1868 = load double, double* %1867
%1869 = call double @llvm.fmuladd.f64(double %1866, double %1868, double %1861)
br label %1870
1870: ; preds = %1858, %1862
%1871 = phi double [ %1859, %1858 ], [ %1869, %1862 ]
%1872 = getelementptr inbounds double, double* %63, i64 %1835
store double %1871, double* %1872
%1873 = load double, double* %1776
%1874 = call double @llvm.fmuladd.f64(double %1871, double %1873, double %1834)
%1875 = getelementptr inbounds double, double* %50, i64 %1772
%1876 = load double, double* %1875
%1877 = call double @llvm.fmuladd.f64(double %1873, double %1876, double %1774)
%1878 = add nuw nsw i64 %1772, 1
%1879 = icmp eq i64 %1878, %164
br i1 %1879, label %1880, label %1771
1880: ; preds = %1870, %1769
%1881 = phi double [ 0.000000e+00, %1769 ], [ %1778, %1870 ]
%1882 = phi double [ 0.000000e+00, %1769 ], [ %1877, %1870 ]
%1883 = phi double [ 0.000000e+00, %1769 ], [ %1874, %1870 ]
%1884 = fadd double %1510, %1882
%1885 = fadd double %1882, %1884
%1886 = call double @llvm.fmuladd.f64(double %1881, double 5.000000e-01, double %1885)
%1887 = fmul double %1881, %1886
%1888 = call double @llvm.fmuladd.f64(double %1882, double %1882, double %1887)
%1889 = fadd double %1770, %1888
%1890 = fsub double %1889, %1883
%1891 = load double, double* %1513
%1892 = fadd double %1891, 1.000000e+00
store double %1892, double* %1513
br i1 %1337, label %1893, label %2026
1893: ; preds = %1880
%1894 = load double, double* %1516
%1895 = fmul double %1890, %1517
%1896 = call double @llvm.fmuladd.f64(double %1894, double %1894, double %1895)
%1897 = fcmp olt double %1896, %1549
%1898 = fcmp ogt double %1549, 0.000000e+00
%1899 = and i1 %1898, %1897
br i1 %1899, label %1900, label %2017
1900: ; preds = %1893
br i1 %68, label %2016, label %1901
1901: ; preds = %1900
%1902 = select i1 %322, i1 true, i1 %341
br i1 %1902, label %1983, label %1903
1903: ; preds = %1901
br i1 %345, label %1956, label %1904
1904: ; preds = %1903, %1904
%1905 = phi i64 [ %1953, %1904 ], [ 0, %1903 ]
%1906 = phi i64 [ %1954, %1904 ], [ 0, %1903 ]
%1907 = or i64 %1905, 1
%1908 = getelementptr inbounds double, double* %61, i64 %1907
%1909 = bitcast double* %1908 to <2 x double>*
%1910 = load <2 x double>, <2 x double>* %1909
%1911 = getelementptr inbounds double, double* %1908, i64 2
%1912 = bitcast double* %1911 to <2 x double>*
%1913 = load <2 x double>, <2 x double>* %1912
%1914 = getelementptr inbounds double, double* %60, i64 %1907
%1915 = bitcast double* %1914 to <2 x double>*
store <2 x double> %1910, <2 x double>* %1915
%1916 = getelementptr inbounds double, double* %1914, i64 2
%1917 = bitcast double* %1916 to <2 x double>*
store <2 x double> %1913, <2 x double>* %1917
%1918 = getelementptr inbounds double, double* %50, i64 %1907
%1919 = bitcast double* %1918 to <2 x double>*
%1920 = load <2 x double>, <2 x double>* %1919
%1921 = getelementptr inbounds double, double* %1918, i64 2
%1922 = bitcast double* %1921 to <2 x double>*
%1923 = load <2 x double>, <2 x double>* %1922
%1924 = fsub <2 x double> %1910, %1920
%1925 = fsub <2 x double> %1913, %1923
%1926 = getelementptr inbounds double, double* %62, i64 %1907
%1927 = bitcast double* %1926 to <2 x double>*
store <2 x double> %1924, <2 x double>* %1927
%1928 = getelementptr inbounds double, double* %1926, i64 2
%1929 = bitcast double* %1928 to <2 x double>*
store <2 x double> %1925, <2 x double>* %1929
%1930 = or i64 %1905, 5
%1931 = getelementptr inbounds double, double* %61, i64 %1930
%1932 = bitcast double* %1931 to <2 x double>*
%1933 = load <2 x double>, <2 x double>* %1932
%1934 = getelementptr inbounds double, double* %1931, i64 2
%1935 = bitcast double* %1934 to <2 x double>*
%1936 = load <2 x double>, <2 x double>* %1935
%1937 = getelementptr inbounds double, double* %60, i64 %1930
%1938 = bitcast double* %1937 to <2 x double>*
store <2 x double> %1933, <2 x double>* %1938
%1939 = getelementptr inbounds double, double* %1937, i64 2
%1940 = bitcast double* %1939 to <2 x double>*
store <2 x double> %1936, <2 x double>* %1940
%1941 = getelementptr inbounds double, double* %50, i64 %1930
%1942 = bitcast double* %1941 to <2 x double>*
%1943 = load <2 x double>, <2 x double>* %1942
%1944 = getelementptr inbounds double, double* %1941, i64 2
%1945 = bitcast double* %1944 to <2 x double>*
%1946 = load <2 x double>, <2 x double>* %1945
%1947 = fsub <2 x double> %1933, %1943
%1948 = fsub <2 x double> %1936, %1946
%1949 = getelementptr inbounds double, double* %62, i64 %1930
%1950 = bitcast double* %1949 to <2 x double>*
store <2 x double> %1947, <2 x double>* %1950
%1951 = getelementptr inbounds double, double* %1949, i64 2
%1952 = bitcast double* %1951 to <2 x double>*
store <2 x double> %1948, <2 x double>* %1952
%1953 = add nuw i64 %1905, 8
%1954 = add i64 %1906, 2
%1955 = icmp eq i64 %1954, %346
br i1 %1955, label %1956, label %1904
1956: ; preds = %1904, %1903
%1957 = phi i64 [ 0, %1903 ], [ %1953, %1904 ]
br i1 %347, label %1982, label %1958
1958: ; preds = %1956
%1959 = or i64 %1957, 1
%1960 = getelementptr inbounds double, double* %61, i64 %1959
%1961 = bitcast double* %1960 to <2 x double>*
%1962 = load <2 x double>, <2 x double>* %1961
%1963 = getelementptr inbounds double, double* %1960, i64 2
%1964 = bitcast double* %1963 to <2 x double>*
%1965 = load <2 x double>, <2 x double>* %1964
%1966 = getelementptr inbounds double, double* %60, i64 %1959
%1967 = bitcast double* %1966 to <2 x double>*
store <2 x double> %1962, <2 x double>* %1967
%1968 = getelementptr inbounds double, double* %1966, i64 2
%1969 = bitcast double* %1968 to <2 x double>*
store <2 x double> %1965, <2 x double>* %1969
%1970 = getelementptr inbounds double, double* %50, i64 %1959
%1971 = bitcast double* %1970 to <2 x double>*
%1972 = load <2 x double>, <2 x double>* %1971
%1973 = getelementptr inbounds double, double* %1970, i64 2
%1974 = bitcast double* %1973 to <2 x double>*
%1975 = load <2 x double>, <2 x double>* %1974
%1976 = fsub <2 x double> %1962, %1972
%1977 = fsub <2 x double> %1965, %1975
%1978 = getelementptr inbounds double, double* %62, i64 %1959
%1979 = bitcast double* %1978 to <2 x double>*
store <2 x double> %1976, <2 x double>* %1979
%1980 = getelementptr inbounds double, double* %1978, i64 2
%1981 = bitcast double* %1980 to <2 x double>*
store <2 x double> %1977, <2 x double>* %1981
br label %1982
1982: ; preds = %1956, %1958
br i1 %348, label %2016, label %1983
1983: ; preds = %1901, %1982
%1984 = phi i64 [ 1, %1901 ], [ %343, %1982 ]
%1985 = xor i64 %1984, -1
br i1 %350, label %1986, label %1995
1986: ; preds = %1983
%1987 = getelementptr inbounds double, double* %61, i64 %1984
%1988 = load double, double* %1987
%1989 = getelementptr inbounds double, double* %60, i64 %1984
store double %1988, double* %1989
%1990 = getelementptr inbounds double, double* %50, i64 %1984
%1991 = load double, double* %1990
%1992 = fsub double %1988, %1991
%1993 = getelementptr inbounds double, double* %62, i64 %1984
store double %1992, double* %1993
%1994 = add nuw nsw i64 %1984, 1
br label %1995
1995: ; preds = %1986, %1983
%1996 = phi i64 [ %1984, %1983 ], [ %1994, %1986 ]
%1997 = icmp eq i64 %1985, %351
br i1 %1997, label %2016, label %1998
1998: ; preds = %1995, %1998
%1999 = phi i64 [ %2014, %1998 ], [ %1996, %1995 ]
%2000 = getelementptr inbounds double, double* %61, i64 %1999
%2001 = load double, double* %2000
%2002 = getelementptr inbounds double, double* %60, i64 %1999
store double %2001, double* %2002
%2003 = getelementptr inbounds double, double* %50, i64 %1999
%2004 = load double, double* %2003
%2005 = fsub double %2001, %2004
%2006 = getelementptr inbounds double, double* %62, i64 %1999
store double %2005, double* %2006
%2007 = getelementptr inbounds double, double* %24, i64 %1999
%2008 = load double, double* %2007
%2009 = getelementptr inbounds double, double* %23, i64 %1999
store double %2008, double* %2009
%2010 = getelementptr inbounds double, double* %14, i64 %1999
%2011 = load double, double* %2010
%2012 = fsub double %2008, %2011
%2013 = getelementptr inbounds double, double* %25, i64 %1999
store double %2012, double* %2013
%2014 = add nuw nsw i64 %1999, 2
%2015 = icmp eq i64 %2014, %165
br i1 %2015, label %2016, label %1998
2016: ; preds = %1995, %1998, %1982, %1900
store double 0.000000e+00, double* %33
br label %1548
2017: ; preds = %1893
store double %1881, double* %30
%2018 = fmul double %1894, %1894
%2019 = fmul double %2018, 5.000000e-01
%2020 = fcmp ugt double %1896, %2019
br i1 %2020, label %2163, label %2021
2021: ; preds = %2017
%2022 = load i32, i32* %29
%2023 = icmp sgt i32 %2022, %1508
br i1 %2023, label %1340, label %2024
2024: ; preds = %2021
%2025 = icmp sgt i32 %9, 0
br i1 %2025, label %3728, label %3732
2026: ; preds = %1880
store double %1881, double* %30
%2027 = fmul double %748, %748
br i1 %130, label %2151, label %2028
2028: ; preds = %2026
%2029 = zext i32 %1511 to i64
br label %2030
2030: ; preds = %2028, %2144
%2031 = phi i64 [ 1, %2028 ], [ %2149, %2144 ]
%2032 = phi double [ 0.000000e+00, %2028 ], [ %2148, %2144 ]
%2033 = phi double [ 0.000000e+00, %2028 ], [ %2147, %2144 ]
%2034 = phi double [ %1507, %2028 ], [ %2146, %2144 ]
%2035 = phi i32 [ 0, %2028 ], [ %2145, %2144 ]
%2036 = icmp eq i64 %2031, %2029
br i1 %2036, label %2144, label %2037
2037: ; preds = %2030
br i1 %131, label %2038, label %2085
2038: ; preds = %2037
br i1 %353, label %2069, label %2039
2039: ; preds = %2038, %2039
%2040 = phi i64 [ %2066, %2039 ], [ 1, %2038 ]
%2041 = phi double [ %2065, %2039 ], [ 0.000000e+00, %2038 ]
%2042 = phi i64 [ %2067, %2039 ], [ 0, %2038 ]
%2043 = mul nsw i64 %2040, %138
%2044 = add nsw i64 %2043, %2031
%2045 = getelementptr inbounds double, double* %43, i64 %2044
%2046 = load double, double* %2045
%2047 = call double @llvm.fmuladd.f64(double %2046, double %2046, double %2041)
%2048 = add nuw nsw i64 %2040, 1
%2049 = mul nsw i64 %2048, %138
%2050 = add nsw i64 %2049, %2031
%2051 = getelementptr inbounds double, double* %43, i64 %2050
%2052 = load double, double* %2051
%2053 = call double @llvm.fmuladd.f64(double %2052, double %2052, double %2047)
%2054 = add nuw nsw i64 %2040, 2
%2055 = mul nsw i64 %2054, %138
%2056 = add nsw i64 %2055, %2031
%2057 = getelementptr inbounds double, double* %43, i64 %2056
%2058 = load double, double* %2057
%2059 = call double @llvm.fmuladd.f64(double %2058, double %2058, double %2053)
%2060 = add nuw nsw i64 %2040, 3
%2061 = mul nsw i64 %2060, %138
%2062 = add nsw i64 %2061, %2031
%2063 = getelementptr inbounds double, double* %43, i64 %2062
%2064 = load double, double* %2063
%2065 = call double @llvm.fmuladd.f64(double %2064, double %2064, double %2059)
%2066 = add nuw nsw i64 %2040, 4
%2067 = add nuw i64 %2042, 4
%2068 = icmp eq i64 %2067, %354
br i1 %2068, label %2069, label %2039
2069: ; preds = %2039, %2038
%2070 = phi double [ undef, %2038 ], [ %2065, %2039 ]
%2071 = phi i64 [ 1, %2038 ], [ %2066, %2039 ]
%2072 = phi double [ 0.000000e+00, %2038 ], [ %2065, %2039 ]
br i1 %355, label %2085, label %2073
2073: ; preds = %2069, %2073
%2074 = phi i64 [ %2082, %2073 ], [ %2071, %2069 ]
%2075 = phi double [ %2081, %2073 ], [ %2072, %2069 ]
%2076 = phi i64 [ %2083, %2073 ], [ 0, %2069 ]
%2077 = mul nsw i64 %2074, %138
%2078 = add nsw i64 %2077, %2031
%2079 = getelementptr inbounds double, double* %43, i64 %2078
%2080 = load double, double* %2079
%2081 = call double @llvm.fmuladd.f64(double %2080, double %2080, double %2075)
%2082 = add nuw nsw i64 %2074, 1
%2083 = add i64 %2076, 1
%2084 = icmp eq i64 %2083, %352
br i1 %2084, label %2085, label %2073
2085: ; preds = %2069, %2073, %2037
%2086 = phi double [ 0.000000e+00, %2037 ], [ %2070, %2069 ], [ %2081, %2073 ]
%2087 = getelementptr inbounds double, double* %63, i64 %2031
%2088 = load double, double* %2087
%2089 = fmul double %2088, %2088
%2090 = call double @llvm.fmuladd.f64(double %1890, double %2086, double %2089)
br i1 %68, label %2129, label %2091
2091: ; preds = %2085
br i1 %357, label %2116, label %2092
2092: ; preds = %2091, %2092
%2093 = phi i64 [ %2113, %2092 ], [ 1, %2091 ]
%2094 = phi double [ %2112, %2092 ], [ 0.000000e+00, %2091 ]
%2095 = phi i64 [ %2114, %2092 ], [ 0, %2091 ]
%2096 = mul nsw i64 %2093, %138
%2097 = add nsw i64 %2096, %2031
%2098 = getelementptr inbounds double, double* %44, i64 %2097
%2099 = load double, double* %2098
%2100 = getelementptr inbounds double, double* %50, i64 %2093
%2101 = load double, double* %2100
%2102 = fsub double %2099, %2101
%2103 = call double @llvm.fmuladd.f64(double %2102, double %2102, double %2094)
%2104 = add nuw nsw i64 %2093, 1
%2105 = mul nsw i64 %2104, %138
%2106 = add nsw i64 %2105, %2031
%2107 = getelementptr inbounds double, double* %44, i64 %2106
%2108 = load double, double* %2107
%2109 = getelementptr inbounds double, double* %14, i64 %2093
%2110 = load double, double* %2109
%2111 = fsub double %2108, %2110
%2112 = call double @llvm.fmuladd.f64(double %2111, double %2111, double %2103)
%2113 = add nuw nsw i64 %2093, 2
%2114 = add i64 %2095, 2
%2115 = icmp eq i64 %2114, %358
br i1 %2115, label %2116, label %2092
2116: ; preds = %2092, %2091
%2117 = phi double [ undef, %2091 ], [ %2112, %2092 ]
%2118 = phi i64 [ 1, %2091 ], [ %2113, %2092 ]
%2119 = phi double [ 0.000000e+00, %2091 ], [ %2112, %2092 ]
br i1 %359, label %2129, label %2120
2120: ; preds = %2116
%2121 = mul nsw i64 %2118, %138
%2122 = add nsw i64 %2121, %2031
%2123 = getelementptr inbounds double, double* %44, i64 %2122
%2124 = load double, double* %2123
%2125 = getelementptr inbounds double, double* %50, i64 %2118
%2126 = load double, double* %2125
%2127 = fsub double %2124, %2126
%2128 = call double @llvm.fmuladd.f64(double %2127, double %2127, double %2119)
br label %2129
2129: ; preds = %2120, %2116, %2085
%2130 = phi double [ 0.000000e+00, %2085 ], [ %2117, %2116 ], [ %2128, %2120 ]
%2131 = fdiv double %2130, %2027
%2132 = fmul double %2131, %2131
%2133 = fcmp olt double %2132, 1.000000e+00
%2134 = select i1 %2133, double 1.000000e+00, double %2132
%2135 = fmul double %2090, %2134
%2136 = fcmp ogt double %2135, %2033
%2137 = trunc i64 %2031 to i32
%2138 = select i1 %2136, i32 %2137, i32 %2035
%2139 = select i1 %2136, double %2090, double %2034
%2140 = select i1 %2136, double %2135, double %2033
%2141 = fmul double %2089, %2134
%2142 = fcmp ogt double %2141, %2032
%2143 = select i1 %2142, double %2141, double %2032
br label %2144
2144: ; preds = %2129, %2030
%2145 = phi i32 [ %2035, %2030 ], [ %2138, %2129 ]
%2146 = phi double [ %2034, %2030 ], [ %2139, %2129 ]
%2147 = phi double [ %2033, %2030 ], [ %2140, %2129 ]
%2148 = phi double [ %2032, %2030 ], [ %2143, %2129 ]
%2149 = add nuw nsw i64 %2031, 1
%2150 = icmp eq i64 %2149, %166
br i1 %2150, label %2151, label %2030
2151: ; preds = %2144, %2026
%2152 = phi i32 [ 0, %2026 ], [ %2145, %2144 ]
%2153 = phi double [ %1507, %2026 ], [ %2146, %2144 ]
%2154 = phi double [ 0.000000e+00, %2026 ], [ %2147, %2144 ]
%2155 = phi double [ 0.000000e+00, %2026 ], [ %2148, %2144 ]
%2156 = fmul double %2155, 5.000000e-01
%2157 = fcmp ugt double %2154, %2156
br i1 %2157, label %2163, label %2158
2158: ; preds = %2151
%2159 = load i32, i32* %29
%2160 = icmp sgt i32 %2159, %1508
br i1 %2160, label %1340, label %2161
2161: ; preds = %2158
%2162 = icmp sgt i32 %9, 0
br i1 %2162, label %3728, label %3732
2163: ; preds = %3726, %2017, %2151
%2164 = phi double [ %743, %2017 ], [ %743, %2151 ], [ %3677, %3726 ]
%2165 = phi double [ %1890, %2017 ], [ %1890, %2151 ], [ %3678, %3726 ]
%2166 = phi i32 [ %1506, %2017 ], [ %2152, %2151 ], [ %3679, %3726 ]
%2167 = phi double [ %745, %2017 ], [ %745, %2151 ], [ %3680, %3726 ]
%2168 = phi double [ %746, %2017 ], [ %746, %2151 ], [ %3681, %3726 ]
%2169 = phi double [ %748, %2017 ], [ %748, %2151 ], [ %3683, %3726 ]
%2170 = phi double [ %749, %2017 ], [ %749, %2151 ], [ %3684, %3726 ]
%2171 = phi double [ %1896, %2017 ], [ %2153, %2151 ], [ %3685, %3726 ]
%2172 = phi i32 [ %1508, %2017 ], [ %1508, %2151 ], [ %3686, %3726 ]
%2173 = phi i32 [ %1509, %2017 ], [ %1509, %2151 ], [ %3687, %3726 ]
%2174 = phi double [ %753, %2017 ], [ %753, %2151 ], [ %3688, %3726 ]
%2175 = phi i32 [ %754, %2017 ], [ %754, %2151 ], [ %3689, %3726 ]
%2176 = phi i32 [ 0, %2017 ], [ %755, %2151 ], [ -1, %3726 ]
%2177 = phi double [ %1510, %2017 ], [ %1510, %2151 ], [ %3691, %3726 ]
br i1 %68, label %2214, label %2178
2178: ; preds = %2163, %2211
%2179 = phi i64 [ %2212, %2211 ], [ 1, %2163 ]
%2180 = getelementptr inbounds double, double* %48, i64 %2179
%2181 = load double, double* %2180
%2182 = getelementptr inbounds double, double* %60, i64 %2179
%2183 = load double, double* %2182
%2184 = fadd double %2181, %2183
%2185 = getelementptr inbounds double, double* %45, i64 %2179
store double %2184, double* %2185
%2186 = getelementptr inbounds double, double* %46, i64 %2179
%2187 = load double, double* %2186
%2188 = fcmp ogt double %2187, %2184
br i1 %2188, label %2189, label %2190
2189: ; preds = %2178
store double %2187, double* %2185
br label %2190
2190: ; preds = %2189, %2178
%2191 = phi double [ %2187, %2189 ], [ %2184, %2178 ]
%2192 = getelementptr inbounds double, double* %47, i64 %2179
%2193 = load double, double* %2192
%2194 = fcmp olt double %2193, %2191
br i1 %2194, label %2195, label %2196
2195: ; preds = %2190
store double %2193, double* %2185
br label %2196
2196: ; preds = %2195, %2190
%2197 = load double, double* %2182
%2198 = getelementptr inbounds double, double* %58, i64 %2179
%2199 = load double, double* %2198
%2200 = fcmp oeq double %2197, %2199
br i1 %2200, label %2201, label %2204
2201: ; preds = %2196
%2202 = load double, double* %2186
store double %2202, double* %2185
%2203 = load double, double* %2182
br label %2204
2204: ; preds = %2201, %2196
%2205 = phi double [ %2203, %2201 ], [ %2197, %2196 ]
%2206 = getelementptr inbounds double, double* %59, i64 %2179
%2207 = load double, double* %2206
%2208 = fcmp oeq double %2205, %2207
br i1 %2208, label %2209, label %2211
2209: ; preds = %2204
%2210 = load double, double* %2192
store double %2210, double* %2185
br label %2211
2211: ; preds = %2204, %2209
%2212 = add nuw nsw i64 %2179, 1
%2213 = icmp eq i64 %2212, %167
br i1 %2213, label %2214, label %2178
2214: ; preds = %2211, %2163
%2215 = load i32, i32* %29
%2216 = icmp slt i32 %2215, %10
br i1 %2216, label %2219, label %2217
2217: ; preds = %2214
%2218 = icmp sgt i32 %9, 0
br i1 %2218, label %3728, label %3732
2219: ; preds = %2214
%2220 = add nsw i32 %2215, 1
store i32 %2220, i32* %29
%2221 = call double %5(i8* %6, i32 %0, double* %2)
br i1 %136, label %2222, label %2232
2222: ; preds = %2219
%2223 = load i32, i32* %29
%2224 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.2, i64 0, i64 0), i32 %2223, double %2221)
br i1 %68, label %2234, label %2225
2225: ; preds = %2222, %2225
%2226 = phi i64 [ %2230, %2225 ], [ 1, %2222 ]
%2227 = getelementptr inbounds double, double* %45, i64 %2226
%2228 = load double, double* %2227
%2229 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %2228)
%2230 = add nuw nsw i64 %2226, 1
%2231 = icmp eq i64 %2230, %168
br i1 %2231, label %2232, label %2225
2232: ; preds = %2225, %2219
%2233 = icmp eq i32 %2176, -1
br i1 %2233, label %3732, label %2240
2234: ; preds = %2222
%2235 = icmp eq i32 %2176, -1
%2236 = load i32, i32* %31
%2237 = sext i32 %2236 to i64
%2238 = getelementptr inbounds double, double* %49, i64 %2237
%2239 = load double, double* %2238
br i1 %2235, label %3742, label %2245
2240: ; preds = %2232
%2241 = load i32, i32* %31
%2242 = sext i32 %2241 to i64
%2243 = getelementptr inbounds double, double* %49, i64 %2242
%2244 = load double, double* %2243
br i1 %68, label %2245, label %2249
2245: ; preds = %2312, %2234, %2240
%2246 = phi double [ %2244, %2240 ], [ %2239, %2234 ], [ %2244, %2312 ]
%2247 = phi double [ 0.000000e+00, %2240 ], [ 0.000000e+00, %2234 ], [ %2313, %2312 ]
br i1 %130, label %2356, label %2248
2248: ; preds = %2245
br i1 %365, label %2343, label %2319
2249: ; preds = %2240, %2312
%2250 = phi i64 [ %2318, %2312 ], [ 0, %2240 ]
%2251 = phi i64 [ %2316, %2312 ], [ 2, %2240 ]
%2252 = phi i64 [ %2315, %2312 ], [ 1, %2240 ]
%2253 = phi double [ %2313, %2312 ], [ 0.000000e+00, %2240 ]
%2254 = phi i64 [ %2314, %2312 ], [ 0, %2240 ]
%2255 = add i64 %2250, 1
%2256 = getelementptr inbounds double, double* %62, i64 %2252
%2257 = load double, double* %2256
%2258 = getelementptr inbounds double, double* %51, i64 %2252
%2259 = load double, double* %2258
%2260 = call double @llvm.fmuladd.f64(double %2257, double %2259, double %2253)
%2261 = shl i64 %2254, 32
%2262 = ashr exact i64 %2261, 32
%2263 = and i64 %2255, 1
%2264 = icmp eq i64 %2250, 0
br i1 %2264, label %2296, label %2265
2265: ; preds = %2249
%2266 = and i64 %2255, -2
br label %2267
2267: ; preds = %2267, %2265
%2268 = phi i64 [ %2262, %2265 ], [ %2283, %2267 ]
%2269 = phi i64 [ 1, %2265 ], [ %2293, %2267 ]
%2270 = phi double [ %2260, %2265 ], [ %2292, %2267 ]
%2271 = phi i64 [ 0, %2265 ], [ %2294, %2267 ]
%2272 = add nsw i64 %2268, 1
%2273 = getelementptr inbounds double, double* %62, i64 %2269
%2274 = load double, double* %2273
%2275 = fmul double %2257, %2274
%2276 = icmp eq i64 %2269, %2252
%2277 = fmul double %2275, 5.000000e-01
%2278 = select i1 %2276, double %2277, double %2275
%2279 = getelementptr inbounds double, double* %16, i64 %2268
%2280 = load double, double* %2279
%2281 = call double @llvm.fmuladd.f64(double %2280, double %2278, double %2270)
%2282 = add nuw nsw i64 %2269, 1
%2283 = add nsw i64 %2268, 2
%2284 = getelementptr inbounds double, double* %25, i64 %2269
%2285 = load double, double* %2284
%2286 = fmul double %2257, %2285
%2287 = icmp eq i64 %2282, %2252
%2288 = fmul double %2286, 5.000000e-01
%2289 = select i1 %2287, double %2288, double %2286
%2290 = getelementptr inbounds double, double* %16, i64 %2272
%2291 = load double, double* %2290
%2292 = call double @llvm.fmuladd.f64(double %2291, double %2289, double %2281)
%2293 = add nuw nsw i64 %2269, 2
%2294 = add i64 %2271, 2
%2295 = icmp eq i64 %2294, %2266
br i1 %2295, label %2296, label %2267
2296: ; preds = %2267, %2249
%2297 = phi double [ undef, %2249 ], [ %2292, %2267 ]
%2298 = phi i64 [ %2262, %2249 ], [ %2283, %2267 ]
%2299 = phi i64 [ 1, %2249 ], [ %2293, %2267 ]
%2300 = phi double [ %2260, %2249 ], [ %2292, %2267 ]
%2301 = icmp eq i64 %2263, 0
br i1 %2301, label %2312, label %2302
2302: ; preds = %2296
%2303 = getelementptr inbounds double, double* %62, i64 %2299
%2304 = load double, double* %2303
%2305 = fmul double %2257, %2304
%2306 = icmp eq i64 %2299, %2252
%2307 = fmul double %2305, 5.000000e-01
%2308 = select i1 %2306, double %2307, double %2305
%2309 = getelementptr inbounds double, double* %16, i64 %2298
%2310 = load double, double* %2309
%2311 = call double @llvm.fmuladd.f64(double %2310, double %2308, double %2300)
br label %2312
2312: ; preds = %2296, %2302
%2313 = phi double [ %2297, %2296 ], [ %2311, %2302 ]
%2314 = add i64 %2252, %2262
%2315 = add nuw nsw i64 %2252, 1
%2316 = add nuw nsw i64 %2251, 1
%2317 = icmp eq i64 %2316, %169
%2318 = add i64 %2250, 1
br i1 %2317, label %2245, label %2249
2319: ; preds = %2248, %2319
%2320 = phi i64 [ %2340, %2319 ], [ 1, %2248 ]
%2321 = phi double [ %2339, %2319 ], [ %2247, %2248 ]
%2322 = phi i64 [ %2341, %2319 ], [ 0, %2248 ]
%2323 = getelementptr inbounds double, double* %53, i64 %2320
%2324 = load double, double* %2323
%2325 = fmul double %2324, 5.000000e-01
%2326 = add nsw i64 %2320, %138
%2327 = getelementptr inbounds double, double* %64, i64 %2326
%2328 = load double, double* %2327
%2329 = fmul double %2328, %2328
%2330 = call double @llvm.fmuladd.f64(double %2325, double %2329, double %2321)
%2331 = add nuw nsw i64 %2320, 1
%2332 = getelementptr inbounds double, double* %17, i64 %2320
%2333 = load double, double* %2332
%2334 = fmul double %2333, 5.000000e-01
%2335 = add nsw i64 %2331, %138
%2336 = getelementptr inbounds double, double* %64, i64 %2335
%2337 = load double, double* %2336
%2338 = fmul double %2337, %2337
%2339 = call double @llvm.fmuladd.f64(double %2334, double %2338, double %2330)
%2340 = add nuw nsw i64 %2320, 2
%2341 = add i64 %2322, 2
%2342 = icmp eq i64 %2341, %366
br i1 %2342, label %2343, label %2319
2343: ; preds = %2319, %2248
%2344 = phi double [ undef, %2248 ], [ %2339, %2319 ]
%2345 = phi i64 [ 1, %2248 ], [ %2340, %2319 ]
%2346 = phi double [ %2247, %2248 ], [ %2339, %2319 ]
br i1 %367, label %2356, label %2347
2347: ; preds = %2343
%2348 = getelementptr inbounds double, double* %53, i64 %2345
%2349 = load double, double* %2348
%2350 = fmul double %2349, 5.000000e-01
%2351 = add nsw i64 %2345, %138
%2352 = getelementptr inbounds double, double* %64, i64 %2351
%2353 = load double, double* %2352
%2354 = fmul double %2353, %2353
%2355 = call double @llvm.fmuladd.f64(double %2350, double %2354, double %2346)
br label %2356
2356: ; preds = %2347, %2343, %2245
%2357 = phi double [ %2247, %2245 ], [ %2344, %2343 ], [ %2355, %2347 ]
%2358 = fsub double %2221, %2246
%2359 = fsub double %2358, %2357
%2360 = call double @llvm.fabs.f64(double %2359)
%2361 = fcmp ogt double %647, %606
%2362 = load i32, i32* %29
%2363 = select i1 %2361, i32 %2362, i32 %2173
%2364 = icmp sgt i32 %2176, 0
br i1 %2364, label %2365, label %2515
2365: ; preds = %2356
%2366 = fcmp ult double %2357, 0.000000e+00
br i1 %2366, label %2369, label %2367
2367: ; preds = %2365
%2368 = icmp sgt i32 %9, 0
br i1 %2368, label %3728, label %3732
2369: ; preds = %2365
%2370 = fdiv double %2358, %2357
%2371 = fcmp ugt double %2370, 1.000000e-01
br i1 %2371, label %2376, label %2372
2372: ; preds = %2369
%2373 = fmul double %2169, 5.000000e-01
%2374 = fcmp olt double %647, %2373
br i1 %2374, label %2375, label %2386
2375: ; preds = %2372
br label %2386
2376: ; preds = %2369
%2377 = fcmp ugt double %2370, 0x3FE6666666666666
%2378 = fmul double %2169, 5.000000e-01
br i1 %2377, label %2382, label %2379
2379: ; preds = %2376
%2380 = fcmp ogt double %647, %2378
br i1 %2380, label %2381, label %2386
2381: ; preds = %2379
br label %2386
2382: ; preds = %2376
%2383 = fmul double %647, 2.000000e+00
%2384 = fcmp ogt double %2383, %2378
br i1 %2384, label %2385, label %2386
2385: ; preds = %2382
br label %2386
2386: ; preds = %2381, %2379, %2385, %2382, %2372, %2375
%2387 = phi double [ %647, %2375 ], [ %2373, %2372 ], [ %647, %2381 ], [ %2378, %2379 ], [ %2383, %2385 ], [ %2378, %2382 ]
%2388 = fcmp ugt double %2387, %627
%2389 = select i1 %2388, double %2387, double %606
%2390 = fcmp olt double %2221, %2246
br i1 %2390, label %2391, label %2515
2391: ; preds = %2386
%2392 = fmul double %2389, %2389
br i1 %130, label %2507, label %2393
2393: ; preds = %2391, %2490
%2394 = phi i64 [ %2505, %2490 ], [ 1, %2391 ]
%2395 = phi double [ %2504, %2490 ], [ 0.000000e+00, %2391 ]
%2396 = phi double [ %2501, %2490 ], [ 0.000000e+00, %2391 ]
%2397 = phi double [ %2500, %2490 ], [ %2171, %2391 ]
%2398 = phi i32 [ %2499, %2490 ], [ 0, %2391 ]
br i1 %131, label %2399, label %2446
2399: ; preds = %2393
br i1 %369, label %2430, label %2400
2400: ; preds = %2399, %2400
%2401 = phi i64 [ %2427, %2400 ], [ 1, %2399 ]
%2402 = phi double [ %2426, %2400 ], [ 0.000000e+00, %2399 ]
%2403 = phi i64 [ %2428, %2400 ], [ 0, %2399 ]
%2404 = mul nsw i64 %2401, %138
%2405 = add nsw i64 %2404, %2394
%2406 = getelementptr inbounds double, double* %43, i64 %2405
%2407 = load double, double* %2406
%2408 = call double @llvm.fmuladd.f64(double %2407, double %2407, double %2402)
%2409 = add nuw nsw i64 %2401, 1
%2410 = mul nsw i64 %2409, %138
%2411 = add nsw i64 %2410, %2394
%2412 = getelementptr inbounds double, double* %43, i64 %2411
%2413 = load double, double* %2412
%2414 = call double @llvm.fmuladd.f64(double %2413, double %2413, double %2408)
%2415 = add nuw nsw i64 %2401, 2
%2416 = mul nsw i64 %2415, %138
%2417 = add nsw i64 %2416, %2394
%2418 = getelementptr inbounds double, double* %43, i64 %2417
%2419 = load double, double* %2418
%2420 = call double @llvm.fmuladd.f64(double %2419, double %2419, double %2414)
%2421 = add nuw nsw i64 %2401, 3
%2422 = mul nsw i64 %2421, %138
%2423 = add nsw i64 %2422, %2394
%2424 = getelementptr inbounds double, double* %43, i64 %2423
%2425 = load double, double* %2424
%2426 = call double @llvm.fmuladd.f64(double %2425, double %2425, double %2420)
%2427 = add nuw nsw i64 %2401, 4
%2428 = add nuw i64 %2403, 4
%2429 = icmp eq i64 %2428, %370
br i1 %2429, label %2430, label %2400
2430: ; preds = %2400, %2399
%2431 = phi double [ undef, %2399 ], [ %2426, %2400 ]
%2432 = phi i64 [ 1, %2399 ], [ %2427, %2400 ]
%2433 = phi double [ 0.000000e+00, %2399 ], [ %2426, %2400 ]
br i1 %371, label %2446, label %2434
2434: ; preds = %2430, %2434
%2435 = phi i64 [ %2443, %2434 ], [ %2432, %2430 ]
%2436 = phi double [ %2442, %2434 ], [ %2433, %2430 ]
%2437 = phi i64 [ %2444, %2434 ], [ 0, %2430 ]
%2438 = mul nsw i64 %2435, %138
%2439 = add nsw i64 %2438, %2394
%2440 = getelementptr inbounds double, double* %43, i64 %2439
%2441 = load double, double* %2440
%2442 = call double @llvm.fmuladd.f64(double %2441, double %2441, double %2436)
%2443 = add nuw nsw i64 %2435, 1
%2444 = add i64 %2437, 1
%2445 = icmp eq i64 %2444, %368
br i1 %2445, label %2446, label %2434
2446: ; preds = %2430, %2434, %2393
%2447 = phi double [ 0.000000e+00, %2393 ], [ %2431, %2430 ], [ %2442, %2434 ]
%2448 = getelementptr inbounds double, double* %63, i64 %2394
%2449 = load double, double* %2448
%2450 = fmul double %2449, %2449
%2451 = call double @llvm.fmuladd.f64(double %2165, double %2447, double %2450)
br i1 %68, label %2490, label %2452
2452: ; preds = %2446
br i1 %373, label %2477, label %2453
2453: ; preds = %2452, %2453
%2454 = phi i64 [ %2474, %2453 ], [ 1, %2452 ]
%2455 = phi double [ %2473, %2453 ], [ 0.000000e+00, %2452 ]
%2456 = phi i64 [ %2475, %2453 ], [ 0, %2452 ]
%2457 = mul nsw i64 %2454, %138
%2458 = add nsw i64 %2457, %2394
%2459 = getelementptr inbounds double, double* %44, i64 %2458
%2460 = load double, double* %2459
%2461 = getelementptr inbounds double, double* %60, i64 %2454
%2462 = load double, double* %2461
%2463 = fsub double %2460, %2462
%2464 = call double @llvm.fmuladd.f64(double %2463, double %2463, double %2455)
%2465 = add nuw nsw i64 %2454, 1
%2466 = mul nsw i64 %2465, %138
%2467 = add nsw i64 %2466, %2394
%2468 = getelementptr inbounds double, double* %44, i64 %2467
%2469 = load double, double* %2468
%2470 = getelementptr inbounds double, double* %23, i64 %2454
%2471 = load double, double* %2470
%2472 = fsub double %2469, %2471
%2473 = call double @llvm.fmuladd.f64(double %2472, double %2472, double %2464)
%2474 = add nuw nsw i64 %2454, 2
%2475 = add i64 %2456, 2
%2476 = icmp eq i64 %2475, %374
br i1 %2476, label %2477, label %2453
2477: ; preds = %2453, %2452
%2478 = phi double [ undef, %2452 ], [ %2473, %2453 ]
%2479 = phi i64 [ 1, %2452 ], [ %2474, %2453 ]
%2480 = phi double [ 0.000000e+00, %2452 ], [ %2473, %2453 ]
br i1 %375, label %2490, label %2481
2481: ; preds = %2477
%2482 = mul nsw i64 %2479, %138
%2483 = add nsw i64 %2482, %2394
%2484 = getelementptr inbounds double, double* %44, i64 %2483
%2485 = load double, double* %2484
%2486 = getelementptr inbounds double, double* %60, i64 %2479
%2487 = load double, double* %2486
%2488 = fsub double %2485, %2487
%2489 = call double @llvm.fmuladd.f64(double %2488, double %2488, double %2480)
br label %2490
2490: ; preds = %2481, %2477, %2446
%2491 = phi double [ 0.000000e+00, %2446 ], [ %2478, %2477 ], [ %2489, %2481 ]
%2492 = fdiv double %2491, %2392
%2493 = fmul double %2492, %2492
%2494 = fcmp olt double %2493, 1.000000e+00
%2495 = select i1 %2494, double 1.000000e+00, double %2493
%2496 = fmul double %2451, %2495
%2497 = fcmp ogt double %2496, %2396
%2498 = trunc i64 %2394 to i32
%2499 = select i1 %2497, i32 %2498, i32 %2398
%2500 = select i1 %2497, double %2451, double %2397
%2501 = select i1 %2497, double %2496, double %2396
%2502 = fmul double %2450, %2495
%2503 = fcmp ogt double %2502, %2395
%2504 = select i1 %2503, double %2502, double %2395
%2505 = add nuw nsw i64 %2394, 1
%2506 = icmp eq i64 %2505, %170
br i1 %2506, label %2507, label %2393
2507: ; preds = %2490, %2391
%2508 = phi i32 [ 0, %2391 ], [ %2499, %2490 ]
%2509 = phi double [ %2171, %2391 ], [ %2500, %2490 ]
%2510 = phi double [ 0.000000e+00, %2391 ], [ %2501, %2490 ]
%2511 = phi double [ 0.000000e+00, %2391 ], [ %2504, %2490 ]
%2512 = fmul double %2511, 5.000000e-01
%2513 = fcmp ugt double %2510, %2512
br i1 %2513, label %2515, label %2514
2514: ; preds = %2507
br label %2515
2515: ; preds = %2386, %2514, %2507, %2356
%2516 = phi i32 [ %2166, %2514 ], [ %2508, %2507 ], [ %2166, %2386 ], [ %2166, %2356 ]
%2517 = phi double [ %2389, %2514 ], [ %2389, %2507 ], [ %2389, %2386 ], [ %2169, %2356 ]
%2518 = phi double [ %2171, %2514 ], [ %2509, %2507 ], [ %2171, %2386 ], [ %2171, %2356 ]
%2519 = phi double [ %2370, %2514 ], [ %2370, %2507 ], [ %2370, %2386 ], [ %2174, %2356 ]
%2520 = add nsw i32 %2516, -1
%2521 = sext i32 %2516 to i64
%2522 = getelementptr inbounds double, double* %53, i64 %2521
%2523 = load double, double* %2522
store double 0.000000e+00, double* %2522
br i1 %68, label %2524, label %2525
2524: ; preds = %2584, %2515
br i1 %131, label %2589, label %2711
2525: ; preds = %2515, %2584
%2526 = phi i32 [ %2588, %2584 ], [ 1, %2515 ]
%2527 = phi i32 [ %2587, %2584 ], [ 0, %2515 ]
%2528 = phi i64 [ %2585, %2584 ], [ 1, %2515 ]
%2529 = phi i32 [ %2542, %2584 ], [ 0, %2515 ]
%2530 = add i32 %2527, 2
%2531 = sext i32 %2526 to i64
%2532 = sext i32 %2529 to i64
%2533 = sub nsw i64 %2531, %2532
%2534 = xor i64 %2532, -1
%2535 = mul nsw i64 %2528, %138
%2536 = add nsw i64 %2535, %2521
%2537 = getelementptr inbounds double, double* %44, i64 %2536
%2538 = load double, double* %2537
%2539 = fmul double %2523, %2538
%2540 = sext i32 %2529 to i64
%2541 = trunc i64 %2528 to i32
%2542 = add i32 %2529, %2541
%2543 = and i64 %2533, 1
%2544 = sub nsw i64 0, %2531
%2545 = icmp eq i64 %2534, %2544
br i1 %2545, label %2572, label %2546
2546: ; preds = %2525
%2547 = and i64 %2533, -2
br label %2548
2548: ; preds = %2548, %2546
%2549 = phi i64 [ %2540, %2546 ], [ %2561, %2548 ]
%2550 = phi i64 [ 1, %2546 ], [ %2569, %2548 ]
%2551 = phi i64 [ 0, %2546 ], [ %2570, %2548 ]
%2552 = add nsw i64 %2549, 1
%2553 = mul nsw i64 %2550, %138
%2554 = add nsw i64 %2553, %2521
%2555 = getelementptr inbounds double, double* %44, i64 %2554
%2556 = load double, double* %2555
%2557 = getelementptr inbounds double, double* %16, i64 %2549
%2558 = load double, double* %2557
%2559 = call double @llvm.fmuladd.f64(double %2539, double %2556, double %2558)
store double %2559, double* %2557
%2560 = add nuw nsw i64 %2550, 1
%2561 = add nsw i64 %2549, 2
%2562 = mul nsw i64 %2560, %138
%2563 = add nsw i64 %2562, %2521
%2564 = getelementptr inbounds double, double* %44, i64 %2563
%2565 = load double, double* %2564
%2566 = getelementptr inbounds double, double* %16, i64 %2552
%2567 = load double, double* %2566
%2568 = call double @llvm.fmuladd.f64(double %2539, double %2565, double %2567)
store double %2568, double* %2566
%2569 = add nuw nsw i64 %2550, 2
%2570 = add i64 %2551, 2
%2571 = icmp eq i64 %2570, %2547
br i1 %2571, label %2572, label %2548
2572: ; preds = %2548, %2525
%2573 = phi i64 [ %2540, %2525 ], [ %2561, %2548 ]
%2574 = phi i64 [ 1, %2525 ], [ %2569, %2548 ]
%2575 = icmp eq i64 %2543, 0
br i1 %2575, label %2584, label %2576
2576: ; preds = %2572
%2577 = mul nsw i64 %2574, %138
%2578 = add nsw i64 %2577, %2521
%2579 = getelementptr inbounds double, double* %44, i64 %2578
%2580 = load double, double* %2579
%2581 = getelementptr inbounds double, double* %16, i64 %2573
%2582 = load double, double* %2581
%2583 = call double @llvm.fmuladd.f64(double %2539, double %2580, double %2582)
store double %2583, double* %2581
br label %2584
2584: ; preds = %2572, %2576
%2585 = add nuw nsw i64 %2528, 1
%2586 = icmp eq i64 %2585, %171
%2587 = add i32 %2527, 1
%2588 = add i32 %2526, %2530
br i1 %2586, label %2524, label %2525
2589: ; preds = %2524, %2707
%2590 = phi i64 [ %2710, %2707 ], [ 0, %2524 ]
%2591 = phi i64 [ %2708, %2707 ], [ 1, %2524 ]
%2592 = mul i64 %2590, %138
%2593 = add i64 %202, %2592
%2594 = getelementptr double, double* %19, i64 %2593
%2595 = add i64 %203, %2592
%2596 = getelementptr double, double* %19, i64 %2595
%2597 = mul nsw i64 %2591, %138
%2598 = add nsw i64 %2597, %2521
%2599 = getelementptr inbounds double, double* %43, i64 %2598
%2600 = load double, double* %2599
%2601 = fmul double %2359, %2600
br i1 %130, label %2707, label %2602
2602: ; preds = %2589
br i1 %376, label %2676, label %2603
2603: ; preds = %2602
%2604 = icmp ugt double* %2596, %17
%2605 = icmp ult double* %2594, %200
%2606 = and i1 %2604, %2605
br i1 %2606, label %2676, label %2607
2607: ; preds = %2603
%2608 = insertelement <2 x double> poison, double %2601, i64 0
%2609 = shufflevector <2 x double> %2608, <2 x double> poison, <2 x i32> zeroinitializer
%2610 = insertelement <2 x double> poison, double %2601, i64 0
%2611 = shufflevector <2 x double> %2610, <2 x double> poison, <2 x i32> zeroinitializer
br i1 %380, label %2654, label %2612
2612: ; preds = %2607, %2612
%2613 = phi i64 [ %2651, %2612 ], [ 0, %2607 ]
%2614 = phi i64 [ %2652, %2612 ], [ 0, %2607 ]
%2615 = or i64 %2613, 1
%2616 = add nsw i64 %2615, %2597
%2617 = getelementptr inbounds double, double* %43, i64 %2616
%2618 = bitcast double* %2617 to <2 x double>*
%2619 = load <2 x double>, <2 x double>* %2618
%2620 = getelementptr inbounds double, double* %2617, i64 2
%2621 = bitcast double* %2620 to <2 x double>*
%2622 = load <2 x double>, <2 x double>* %2621
%2623 = getelementptr inbounds double, double* %53, i64 %2615
%2624 = bitcast double* %2623 to <2 x double>*
%2625 = load <2 x double>, <2 x double>* %2624
%2626 = getelementptr inbounds double, double* %2623, i64 2
%2627 = bitcast double* %2626 to <2 x double>*
%2628 = load <2 x double>, <2 x double>* %2627
%2629 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2609, <2 x double> %2619, <2 x double> %2625)
%2630 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2611, <2 x double> %2622, <2 x double> %2628)
%2631 = bitcast double* %2623 to <2 x double>*
store <2 x double> %2629, <2 x double>* %2631
%2632 = bitcast double* %2626 to <2 x double>*
store <2 x double> %2630, <2 x double>* %2632
%2633 = or i64 %2613, 5
%2634 = add nsw i64 %2633, %2597
%2635 = getelementptr inbounds double, double* %43, i64 %2634
%2636 = bitcast double* %2635 to <2 x double>*
%2637 = load <2 x double>, <2 x double>* %2636
%2638 = getelementptr inbounds double, double* %2635, i64 2
%2639 = bitcast double* %2638 to <2 x double>*
%2640 = load <2 x double>, <2 x double>* %2639
%2641 = getelementptr inbounds double, double* %53, i64 %2633
%2642 = bitcast double* %2641 to <2 x double>*
%2643 = load <2 x double>, <2 x double>* %2642
%2644 = getelementptr inbounds double, double* %2641, i64 2
%2645 = bitcast double* %2644 to <2 x double>*
%2646 = load <2 x double>, <2 x double>* %2645
%2647 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2609, <2 x double> %2637, <2 x double> %2643)
%2648 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2611, <2 x double> %2640, <2 x double> %2646)
%2649 = bitcast double* %2641 to <2 x double>*
store <2 x double> %2647, <2 x double>* %2649
%2650 = bitcast double* %2644 to <2 x double>*
store <2 x double> %2648, <2 x double>* %2650
%2651 = add nuw i64 %2613, 8
%2652 = add i64 %2614, 2
%2653 = icmp eq i64 %2652, %381
br i1 %2653, label %2654, label %2612
2654: ; preds = %2612, %2607
%2655 = phi i64 [ 0, %2607 ], [ %2651, %2612 ]
br i1 %382, label %2675, label %2656
2656: ; preds = %2654
%2657 = or i64 %2655, 1
%2658 = add nsw i64 %2657, %2597
%2659 = getelementptr inbounds double, double* %43, i64 %2658
%2660 = bitcast double* %2659 to <2 x double>*
%2661 = load <2 x double>, <2 x double>* %2660
%2662 = getelementptr inbounds double, double* %2659, i64 2
%2663 = bitcast double* %2662 to <2 x double>*
%2664 = load <2 x double>, <2 x double>* %2663
%2665 = getelementptr inbounds double, double* %53, i64 %2657
%2666 = bitcast double* %2665 to <2 x double>*
%2667 = load <2 x double>, <2 x double>* %2666
%2668 = getelementptr inbounds double, double* %2665, i64 2
%2669 = bitcast double* %2668 to <2 x double>*
%2670 = load <2 x double>, <2 x double>* %2669
%2671 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2609, <2 x double> %2661, <2 x double> %2667)
%2672 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2611, <2 x double> %2664, <2 x double> %2670)
%2673 = bitcast double* %2665 to <2 x double>*
store <2 x double> %2671, <2 x double>* %2673
%2674 = bitcast double* %2668 to <2 x double>*
store <2 x double> %2672, <2 x double>* %2674
br label %2675
2675: ; preds = %2654, %2656
br i1 %383, label %2707, label %2676
2676: ; preds = %2603, %2602, %2675
%2677 = phi i64 [ 1, %2603 ], [ 1, %2602 ], [ %378, %2675 ]
%2678 = xor i64 %2677, -1
br i1 %385, label %2679, label %2687
2679: ; preds = %2676
%2680 = add nsw i64 %2677, %2597
%2681 = getelementptr inbounds double, double* %43, i64 %2680
%2682 = load double, double* %2681
%2683 = getelementptr inbounds double, double* %53, i64 %2677
%2684 = load double, double* %2683
%2685 = call double @llvm.fmuladd.f64(double %2601, double %2682, double %2684)
store double %2685, double* %2683
%2686 = add nuw nsw i64 %2677, 1
br label %2687
2687: ; preds = %2679, %2676
%2688 = phi i64 [ %2677, %2676 ], [ %2686, %2679 ]
%2689 = icmp eq i64 %2678, %386
br i1 %2689, label %2707, label %2690
2690: ; preds = %2687, %2690
%2691 = phi i64 [ %2705, %2690 ], [ %2688, %2687 ]
%2692 = add nsw i64 %2691, %2597
%2693 = getelementptr inbounds double, double* %43, i64 %2692
%2694 = load double, double* %2693
%2695 = getelementptr inbounds double, double* %53, i64 %2691
%2696 = load double, double* %2695
%2697 = call double @llvm.fmuladd.f64(double %2601, double %2694, double %2696)
store double %2697, double* %2695
%2698 = add nuw nsw i64 %2691, 1
%2699 = add nsw i64 %2698, %2597
%2700 = getelementptr inbounds double, double* %43, i64 %2699
%2701 = load double, double* %2700
%2702 = getelementptr inbounds double, double* %17, i64 %2691
%2703 = load double, double* %2702
%2704 = call double @llvm.fmuladd.f64(double %2601, double %2701, double %2703)
store double %2704, double* %2702
%2705 = add nuw nsw i64 %2691, 2
%2706 = icmp eq i64 %2705, %173
br i1 %2706, label %2707, label %2690
2707: ; preds = %2687, %2690, %2675, %2589
%2708 = add nuw nsw i64 %2591, 1
%2709 = icmp eq i64 %2708, %172
%2710 = add i64 %2590, 1
br i1 %2709, label %2711, label %2589
2711: ; preds = %2707, %2524
%2712 = getelementptr inbounds double, double* %49, i64 %2521
store double %2221, double* %2712
br i1 %68, label %2727, label %2713
2713: ; preds = %2711
br i1 %388, label %2714, label %2728
2714: ; preds = %2728, %2713
%2715 = phi i64 [ 1, %2713 ], [ %2752, %2728 ]
br i1 %390, label %2727, label %2716
2716: ; preds = %2714
%2717 = getelementptr inbounds double, double* %60, i64 %2715
%2718 = load double, double* %2717
%2719 = mul nsw i64 %2715, %138
%2720 = add nsw i64 %2719, %2521
%2721 = getelementptr inbounds double, double* %44, i64 %2720
store double %2718, double* %2721
%2722 = mul nsw i64 %2715, %140
%2723 = add nsw i64 %2722, %2521
%2724 = getelementptr inbounds double, double* %57, i64 %2723
%2725 = load double, double* %2724
%2726 = getelementptr inbounds double, double* %64, i64 %2715
store double %2725, double* %2726
br label %2727
2727: ; preds = %2716, %2714, %2711
br i1 %130, label %2755, label %2837
2728: ; preds = %2713, %2728
%2729 = phi i64 [ %2752, %2728 ], [ 1, %2713 ]
%2730 = phi i64 [ %2753, %2728 ], [ 0, %2713 ]
%2731 = getelementptr inbounds double, double* %60, i64 %2729
%2732 = load double, double* %2731
%2733 = mul nsw i64 %2729, %138
%2734 = add nsw i64 %2733, %2521
%2735 = getelementptr inbounds double, double* %44, i64 %2734
store double %2732, double* %2735
%2736 = mul nsw i64 %2729, %140
%2737 = add nsw i64 %2736, %2521
%2738 = getelementptr inbounds double, double* %57, i64 %2737
%2739 = load double, double* %2738
%2740 = getelementptr inbounds double, double* %64, i64 %2729
store double %2739, double* %2740
%2741 = add nuw nsw i64 %2729, 1
%2742 = getelementptr inbounds double, double* %23, i64 %2729
%2743 = load double, double* %2742
%2744 = mul nsw i64 %2741, %138
%2745 = add nsw i64 %2744, %2521
%2746 = getelementptr inbounds double, double* %44, i64 %2745
store double %2743, double* %2746
%2747 = mul nsw i64 %2741, %140
%2748 = add nsw i64 %2747, %2521
%2749 = getelementptr inbounds double, double* %57, i64 %2748
%2750 = load double, double* %2749
%2751 = getelementptr inbounds double, double* %27, i64 %2729
store double %2750, double* %2751
%2752 = add nuw nsw i64 %2729, 2
%2753 = add i64 %2730, 2
%2754 = icmp eq i64 %2753, %389
br i1 %2754, label %2714, label %2728
2755: ; preds = %2949, %2727
br i1 %68, label %2968, label %2756
2756: ; preds = %2755
%2757 = select i1 %403, i1 true, i1 %406
br i1 %2757, label %2824, label %2758
2758: ; preds = %2756
%2759 = insertelement <2 x double> poison, double %2359, i64 0
%2760 = shufflevector <2 x double> %2759, <2 x double> poison, <2 x i32> zeroinitializer
%2761 = insertelement <2 x double> poison, double %2359, i64 0
%2762 = shufflevector <2 x double> %2761, <2 x double> poison, <2 x i32> zeroinitializer
br i1 %410, label %2803, label %2763
2763: ; preds = %2758, %2763
%2764 = phi i64 [ %2800, %2763 ], [ 0, %2758 ]
%2765 = phi i64 [ %2801, %2763 ], [ 0, %2758 ]
%2766 = or i64 %2764, 1
%2767 = getelementptr inbounds double, double* %64, i64 %2766
%2768 = bitcast double* %2767 to <2 x double>*
%2769 = load <2 x double>, <2 x double>* %2768
%2770 = getelementptr inbounds double, double* %2767, i64 2
%2771 = bitcast double* %2770 to <2 x double>*
%2772 = load <2 x double>, <2 x double>* %2771
%2773 = getelementptr inbounds double, double* %51, i64 %2766
%2774 = bitcast double* %2773 to <2 x double>*
%2775 = load <2 x double>, <2 x double>* %2774
%2776 = getelementptr inbounds double, double* %2773, i64 2
%2777 = bitcast double* %2776 to <2 x double>*
%2778 = load <2 x double>, <2 x double>* %2777
%2779 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2760, <2 x double> %2769, <2 x double> %2775)
%2780 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2762, <2 x double> %2772, <2 x double> %2778)
%2781 = bitcast double* %2773 to <2 x double>*
store <2 x double> %2779, <2 x double>* %2781
%2782 = bitcast double* %2776 to <2 x double>*
store <2 x double> %2780, <2 x double>* %2782
%2783 = or i64 %2764, 5
%2784 = getelementptr inbounds double, double* %64, i64 %2783
%2785 = bitcast double* %2784 to <2 x double>*
%2786 = load <2 x double>, <2 x double>* %2785
%2787 = getelementptr inbounds double, double* %2784, i64 2
%2788 = bitcast double* %2787 to <2 x double>*
%2789 = load <2 x double>, <2 x double>* %2788
%2790 = getelementptr inbounds double, double* %51, i64 %2783
%2791 = bitcast double* %2790 to <2 x double>*
%2792 = load <2 x double>, <2 x double>* %2791
%2793 = getelementptr inbounds double, double* %2790, i64 2
%2794 = bitcast double* %2793 to <2 x double>*
%2795 = load <2 x double>, <2 x double>* %2794
%2796 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2760, <2 x double> %2786, <2 x double> %2792)
%2797 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2762, <2 x double> %2789, <2 x double> %2795)
%2798 = bitcast double* %2790 to <2 x double>*
store <2 x double> %2796, <2 x double>* %2798
%2799 = bitcast double* %2793 to <2 x double>*
store <2 x double> %2797, <2 x double>* %2799
%2800 = add nuw i64 %2764, 8
%2801 = add i64 %2765, 2
%2802 = icmp eq i64 %2801, %411
br i1 %2802, label %2803, label %2763
2803: ; preds = %2763, %2758
%2804 = phi i64 [ 0, %2758 ], [ %2800, %2763 ]
br i1 %412, label %2823, label %2805
2805: ; preds = %2803
%2806 = or i64 %2804, 1
%2807 = getelementptr inbounds double, double* %64, i64 %2806
%2808 = bitcast double* %2807 to <2 x double>*
%2809 = load <2 x double>, <2 x double>* %2808
%2810 = getelementptr inbounds double, double* %2807, i64 2
%2811 = bitcast double* %2810 to <2 x double>*
%2812 = load <2 x double>, <2 x double>* %2811
%2813 = getelementptr inbounds double, double* %51, i64 %2806
%2814 = bitcast double* %2813 to <2 x double>*
%2815 = load <2 x double>, <2 x double>* %2814
%2816 = getelementptr inbounds double, double* %2813, i64 2
%2817 = bitcast double* %2816 to <2 x double>*
%2818 = load <2 x double>, <2 x double>* %2817
%2819 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2760, <2 x double> %2809, <2 x double> %2815)
%2820 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %2762, <2 x double> %2812, <2 x double> %2818)
%2821 = bitcast double* %2813 to <2 x double>*
store <2 x double> %2819, <2 x double>* %2821
%2822 = bitcast double* %2816 to <2 x double>*
store <2 x double> %2820, <2 x double>* %2822
br label %2823
2823: ; preds = %2803, %2805
br i1 %413, label %2966, label %2824
2824: ; preds = %2756, %2823
%2825 = phi i64 [ 1, %2756 ], [ %408, %2823 ]
%2826 = xor i64 %2825, -1
br i1 %415, label %2827, label %2834
2827: ; preds = %2824
%2828 = getelementptr inbounds double, double* %64, i64 %2825
%2829 = load double, double* %2828
%2830 = getelementptr inbounds double, double* %51, i64 %2825
%2831 = load double, double* %2830
%2832 = call double @llvm.fmuladd.f64(double %2359, double %2829, double %2831)
store double %2832, double* %2830
%2833 = add nuw nsw i64 %2825, 1
br label %2834
2834: ; preds = %2827, %2824
%2835 = phi i64 [ %2825, %2824 ], [ %2833, %2827 ]
%2836 = icmp eq i64 %2826, %416
br i1 %2836, label %2966, label %2952
2837: ; preds = %2727, %2949
%2838 = phi i64 [ %2950, %2949 ], [ 1, %2727 ]
br i1 %131, label %2839, label %2853
2839: ; preds = %2837
br i1 %392, label %2840, label %2856
2840: ; preds = %2856, %2839
%2841 = phi double [ undef, %2839 ], [ %2876, %2856 ]
%2842 = phi i64 [ 1, %2839 ], [ %2877, %2856 ]
%2843 = phi double [ 0.000000e+00, %2839 ], [ %2876, %2856 ]
br i1 %394, label %2853, label %2844
2844: ; preds = %2840
%2845 = mul nsw i64 %2842, %138
%2846 = add nsw i64 %2845, %2521
%2847 = getelementptr inbounds double, double* %43, i64 %2846
%2848 = load double, double* %2847
%2849 = add nsw i64 %2845, %2838
%2850 = getelementptr inbounds double, double* %43, i64 %2849
%2851 = load double, double* %2850
%2852 = call double @llvm.fmuladd.f64(double %2848, double %2851, double %2843)
br label %2853
2853: ; preds = %2844, %2840, %2837
%2854 = phi double [ 0.000000e+00, %2837 ], [ %2841, %2840 ], [ %2852, %2844 ]
br i1 %68, label %2949, label %2855
2855: ; preds = %2853
br i1 %396, label %2902, label %2880
2856: ; preds = %2839, %2856
%2857 = phi i64 [ %2877, %2856 ], [ 1, %2839 ]
%2858 = phi double [ %2876, %2856 ], [ 0.000000e+00, %2839 ]
%2859 = phi i64 [ %2878, %2856 ], [ 0, %2839 ]
%2860 = mul nsw i64 %2857, %138
%2861 = add nsw i64 %2860, %2521
%2862 = getelementptr inbounds double, double* %43, i64 %2861
%2863 = load double, double* %2862
%2864 = add nsw i64 %2860, %2838
%2865 = getelementptr inbounds double, double* %43, i64 %2864
%2866 = load double, double* %2865
%2867 = call double @llvm.fmuladd.f64(double %2863, double %2866, double %2858)
%2868 = add nuw nsw i64 %2857, 1
%2869 = mul nsw i64 %2868, %138
%2870 = add nsw i64 %2869, %2521
%2871 = getelementptr inbounds double, double* %43, i64 %2870
%2872 = load double, double* %2871
%2873 = add nsw i64 %2869, %2838
%2874 = getelementptr inbounds double, double* %43, i64 %2873
%2875 = load double, double* %2874
%2876 = call double @llvm.fmuladd.f64(double %2872, double %2875, double %2867)
%2877 = add nuw nsw i64 %2857, 2
%2878 = add i64 %2859, 2
%2879 = icmp eq i64 %2878, %393
br i1 %2879, label %2840, label %2856
2880: ; preds = %2855, %2880
%2881 = phi i64 [ %2899, %2880 ], [ 1, %2855 ]
%2882 = phi double [ %2898, %2880 ], [ 0.000000e+00, %2855 ]
%2883 = phi i64 [ %2900, %2880 ], [ 0, %2855 ]
%2884 = mul nsw i64 %2881, %138
%2885 = add nsw i64 %2884, %2838
%2886 = getelementptr inbounds double, double* %44, i64 %2885
%2887 = load double, double* %2886
%2888 = getelementptr inbounds double, double* %50, i64 %2881
%2889 = load double, double* %2888
%2890 = call double @llvm.fmuladd.f64(double %2887, double %2889, double %2882)
%2891 = add nuw nsw i64 %2881, 1
%2892 = mul nsw i64 %2891, %138
%2893 = add nsw i64 %2892, %2838
%2894 = getelementptr inbounds double, double* %44, i64 %2893
%2895 = load double, double* %2894
%2896 = getelementptr inbounds double, double* %14, i64 %2881
%2897 = load double, double* %2896
%2898 = call double @llvm.fmuladd.f64(double %2895, double %2897, double %2890)
%2899 = add nuw nsw i64 %2881, 2
%2900 = add i64 %2883, 2
%2901 = icmp eq i64 %2900, %397
br i1 %2901, label %2902, label %2880
2902: ; preds = %2880, %2855
%2903 = phi double [ undef, %2855 ], [ %2898, %2880 ]
%2904 = phi i64 [ 1, %2855 ], [ %2899, %2880 ]
%2905 = phi double [ 0.000000e+00, %2855 ], [ %2898, %2880 ]
br i1 %398, label %2914, label %2906
2906: ; preds = %2902
%2907 = mul nsw i64 %2904, %138
%2908 = add nsw i64 %2907, %2838
%2909 = getelementptr inbounds double, double* %44, i64 %2908
%2910 = load double, double* %2909
%2911 = getelementptr inbounds double, double* %50, i64 %2904
%2912 = load double, double* %2911
%2913 = call double @llvm.fmuladd.f64(double %2910, double %2912, double %2905)
br label %2914
2914: ; preds = %2902, %2906
%2915 = phi double [ %2903, %2902 ], [ %2913, %2906 ]
%2916 = fmul double %2854, %2915
br i1 %68, label %2949, label %2917
2917: ; preds = %2914
br i1 %400, label %2939, label %2918
2918: ; preds = %2917, %2918
%2919 = phi i64 [ %2936, %2918 ], [ 1, %2917 ]
%2920 = phi i64 [ %2937, %2918 ], [ 0, %2917 ]
%2921 = mul nsw i64 %2919, %138
%2922 = add nsw i64 %2921, %2838
%2923 = getelementptr inbounds double, double* %44, i64 %2922
%2924 = load double, double* %2923
%2925 = getelementptr inbounds double, double* %64, i64 %2919
%2926 = load double, double* %2925
%2927 = call double @llvm.fmuladd.f64(double %2916, double %2924, double %2926)
store double %2927, double* %2925
%2928 = add nuw nsw i64 %2919, 1
%2929 = mul nsw i64 %2928, %138
%2930 = add nsw i64 %2929, %2838
%2931 = getelementptr inbounds double, double* %44, i64 %2930
%2932 = load double, double* %2931
%2933 = getelementptr inbounds double, double* %27, i64 %2919
%2934 = load double, double* %2933
%2935 = call double @llvm.fmuladd.f64(double %2916, double %2932, double %2934)
store double %2935, double* %2933
%2936 = add nuw nsw i64 %2919, 2
%2937 = add i64 %2920, 2
%2938 = icmp eq i64 %2937, %401
br i1 %2938, label %2939, label %2918
2939: ; preds = %2918, %2917
%2940 = phi i64 [ 1, %2917 ], [ %2936, %2918 ]
br i1 %402, label %2949, label %2941
2941: ; preds = %2939
%2942 = mul nsw i64 %2940, %138
%2943 = add nsw i64 %2942, %2838
%2944 = getelementptr inbounds double, double* %44, i64 %2943
%2945 = load double, double* %2944
%2946 = getelementptr inbounds double, double* %64, i64 %2940
%2947 = load double, double* %2946
%2948 = call double @llvm.fmuladd.f64(double %2916, double %2945, double %2947)
store double %2948, double* %2946
br label %2949
2949: ; preds = %2941, %2939, %2853, %2914
%2950 = add nuw nsw i64 %2838, 1
%2951 = icmp eq i64 %2950, %174
br i1 %2951, label %2755, label %2837
2952: ; preds = %2834, %2952
%2953 = phi i64 [ %2964, %2952 ], [ %2835, %2834 ]
%2954 = getelementptr inbounds double, double* %64, i64 %2953
%2955 = load double, double* %2954
%2956 = getelementptr inbounds double, double* %51, i64 %2953
%2957 = load double, double* %2956
%2958 = call double @llvm.fmuladd.f64(double %2359, double %2955, double %2957)
store double %2958, double* %2956
%2959 = getelementptr inbounds double, double* %27, i64 %2953
%2960 = load double, double* %2959
%2961 = getelementptr inbounds double, double* %15, i64 %2953
%2962 = load double, double* %2961
%2963 = call double @llvm.fmuladd.f64(double %2359, double %2960, double %2962)
store double %2963, double* %2961
%2964 = add nuw nsw i64 %2953, 2
%2965 = icmp eq i64 %2964, %175
br i1 %2965, label %2966, label %2952
2966: ; preds = %2834, %2952, %2823
%2967 = fcmp olt double %2221, %2246
br i1 %2967, label %2971, label %3089
2968: ; preds = %2755
%2969 = fcmp olt double %2221, %2246
br i1 %2969, label %2970, label %3089
2970: ; preds = %2968
store i32 %2516, i32* %31
br label %2972
2971: ; preds = %2966
store i32 %2516, i32* %31
br i1 %68, label %2972, label %2974
2972: ; preds = %3008, %2970, %2971
%2973 = phi double [ 0.000000e+00, %2971 ], [ 0.000000e+00, %2970 ], [ %3009, %3008 ]
br i1 %130, label %3091, label %3012
2974: ; preds = %2971, %3008
%2975 = phi i64 [ %3010, %3008 ], [ 1, %2971 ]
%2976 = phi double [ %3009, %3008 ], [ 0.000000e+00, %2971 ]
%2977 = phi i32 [ %2985, %3008 ], [ 0, %2971 ]
%2978 = trunc i64 %2975 to i32
%2979 = getelementptr inbounds double, double* %60, i64 %2975
%2980 = load double, double* %2979
%2981 = getelementptr inbounds double, double* %50, i64 %2975
store double %2980, double* %2981
%2982 = getelementptr inbounds double, double* %62, i64 %2975
%2983 = getelementptr inbounds double, double* %51, i64 %2975
%2984 = sext i32 %2977 to i64
%2985 = add i32 %2977, %2978
br label %2986
2986: ; preds = %2974, %2998
%2987 = phi i64 [ %2984, %2974 ], [ %2989, %2998 ]
%2988 = phi i64 [ 1, %2974 ], [ %3005, %2998 ]
%2989 = add nsw i64 %2987, 1
%2990 = icmp ult i64 %2988, %2975
br i1 %2990, label %2991, label %2998
2991: ; preds = %2986
%2992 = getelementptr inbounds double, double* %16, i64 %2987
%2993 = load double, double* %2992
%2994 = getelementptr inbounds double, double* %62, i64 %2988
%2995 = load double, double* %2994
%2996 = load double, double* %2983
%2997 = call double @llvm.fmuladd.f64(double %2993, double %2995, double %2996)
store double %2997, double* %2983
br label %2998
2998: ; preds = %2991, %2986
%2999 = getelementptr inbounds double, double* %16, i64 %2987
%3000 = load double, double* %2999
%3001 = load double, double* %2982
%3002 = getelementptr inbounds double, double* %51, i64 %2988
%3003 = load double, double* %3002
%3004 = call double @llvm.fmuladd.f64(double %3000, double %3001, double %3003)
store double %3004, double* %3002
%3005 = add nuw nsw i64 %2988, 1
%3006 = trunc i64 %2989 to i32
%3007 = icmp eq i32 %2985, %3006
br i1 %3007, label %3008, label %2986
3008: ; preds = %2998
%3009 = call double @llvm.fmuladd.f64(double %2980, double %2980, double %2976)
%3010 = add nuw nsw i64 %2975, 1
%3011 = icmp eq i64 %3010, %176
br i1 %3011, label %2972, label %2974
3012: ; preds = %2972, %3086
%3013 = phi i64 [ %3087, %3086 ], [ 1, %2972 ]
br i1 %68, label %3086, label %3014
3014: ; preds = %3012
br i1 %418, label %3037, label %3015
3015: ; preds = %3014, %3015
%3016 = phi i64 [ %3034, %3015 ], [ 1, %3014 ]
%3017 = phi double [ %3033, %3015 ], [ 0.000000e+00, %3014 ]
%3018 = phi i64 [ %3035, %3015 ], [ 0, %3014 ]
%3019 = mul nsw i64 %3016, %138
%3020 = add nsw i64 %3019, %3013
%3021 = getelementptr inbounds double, double* %44, i64 %3020
%3022 = load double, double* %3021
%3023 = getelementptr inbounds double, double* %62, i64 %3016
%3024 = load double, double* %3023
%3025 = call double @llvm.fmuladd.f64(double %3022, double %3024, double %3017)
%3026 = add nuw nsw i64 %3016, 1
%3027 = mul nsw i64 %3026, %138
%3028 = add nsw i64 %3027, %3013
%3029 = getelementptr inbounds double, double* %44, i64 %3028
%3030 = load double, double* %3029
%3031 = getelementptr inbounds double, double* %25, i64 %3016
%3032 = load double, double* %3031
%3033 = call double @llvm.fmuladd.f64(double %3030, double %3032, double %3025)
%3034 = add nuw nsw i64 %3016, 2
%3035 = add i64 %3018, 2
%3036 = icmp eq i64 %3035, %419
br i1 %3036, label %3037, label %3015
3037: ; preds = %3015, %3014
%3038 = phi double [ undef, %3014 ], [ %3033, %3015 ]
%3039 = phi i64 [ 1, %3014 ], [ %3034, %3015 ]
%3040 = phi double [ 0.000000e+00, %3014 ], [ %3033, %3015 ]
br i1 %420, label %3049, label %3041
3041: ; preds = %3037
%3042 = mul nsw i64 %3039, %138
%3043 = add nsw i64 %3042, %3013
%3044 = getelementptr inbounds double, double* %44, i64 %3043
%3045 = load double, double* %3044
%3046 = getelementptr inbounds double, double* %62, i64 %3039
%3047 = load double, double* %3046
%3048 = call double @llvm.fmuladd.f64(double %3045, double %3047, double %3040)
br label %3049
3049: ; preds = %3037, %3041
%3050 = phi double [ %3038, %3037 ], [ %3048, %3041 ]
%3051 = getelementptr inbounds double, double* %53, i64 %3013
%3052 = load double, double* %3051
%3053 = fmul double %3050, %3052
br i1 %68, label %3086, label %3054
3054: ; preds = %3049
br i1 %422, label %3076, label %3055
3055: ; preds = %3054, %3055
%3056 = phi i64 [ %3073, %3055 ], [ 1, %3054 ]
%3057 = phi i64 [ %3074, %3055 ], [ 0, %3054 ]
%3058 = mul nsw i64 %3056, %138
%3059 = add nsw i64 %3058, %3013
%3060 = getelementptr inbounds double, double* %44, i64 %3059
%3061 = load double, double* %3060
%3062 = getelementptr inbounds double, double* %51, i64 %3056
%3063 = load double, double* %3062
%3064 = call double @llvm.fmuladd.f64(double %3053, double %3061, double %3063)
store double %3064, double* %3062
%3065 = add nuw nsw i64 %3056, 1
%3066 = mul nsw i64 %3065, %138
%3067 = add nsw i64 %3066, %3013
%3068 = getelementptr inbounds double, double* %44, i64 %3067
%3069 = load double, double* %3068
%3070 = getelementptr inbounds double, double* %15, i64 %3056
%3071 = load double, double* %3070
%3072 = call double @llvm.fmuladd.f64(double %3053, double %3069, double %3071)
store double %3072, double* %3070
%3073 = add nuw nsw i64 %3056, 2
%3074 = add i64 %3057, 2
%3075 = icmp eq i64 %3074, %423
br i1 %3075, label %3076, label %3055
3076: ; preds = %3055, %3054
%3077 = phi i64 [ 1, %3054 ], [ %3073, %3055 ]
br i1 %424, label %3086, label %3078
3078: ; preds = %3076
%3079 = mul nsw i64 %3077, %138
%3080 = add nsw i64 %3079, %3013
%3081 = getelementptr inbounds double, double* %44, i64 %3080
%3082 = load double, double* %3081
%3083 = getelementptr inbounds double, double* %51, i64 %3077
%3084 = load double, double* %3083
%3085 = call double @llvm.fmuladd.f64(double %3053, double %3082, double %3084)
store double %3085, double* %3083
br label %3086
3086: ; preds = %3078, %3076, %3012, %3049
%3087 = add nuw nsw i64 %3013, 1
%3088 = icmp eq i64 %3087, %177
br i1 %3088, label %3089, label %3012
3089: ; preds = %3086, %2968, %2966
%3090 = phi double [ %2177, %2966 ], [ %2177, %2968 ], [ %2973, %3086 ]
br i1 %2364, label %3092, label %3569
3091: ; preds = %2972
br i1 %2364, label %3201, label %3569
3092: ; preds = %3089
br i1 %130, label %3201, label %3093
3093: ; preds = %3092
%3094 = load i32, i32* %31
%3095 = sext i32 %3094 to i64
%3096 = getelementptr inbounds double, double* %49, i64 %3095
br i1 %425, label %3187, label %3097
3097: ; preds = %3093
%3098 = getelementptr double, double* %13, i64 %3095
%3099 = icmp ugt double* %3098, %26
%3100 = icmp ult double* %3096, %191
%3101 = and i1 %3099, %3100
%3102 = or i1 %428, %3101
%3103 = or i1 %3102, %431
%3104 = icmp ugt double* %3098, %27
%3105 = icmp ult double* %3096, %192
%3106 = and i1 %3104, %3105
%3107 = or i1 %3103, %3106
%3108 = or i1 %3107, %434
br i1 %3108, label %3187, label %3109
3109: ; preds = %3097
br i1 %438, label %3161, label %3110
3110: ; preds = %3109
%3111 = load double, double* %3096
%3112 = insertelement <2 x double> poison, double %3111, i64 0
%3113 = shufflevector <2 x double> %3112, <2 x double> poison, <2 x i32> zeroinitializer
%3114 = insertelement <2 x double> poison, double %3111, i64 0
%3115 = shufflevector <2 x double> %3114, <2 x double> poison, <2 x i32> zeroinitializer
%3116 = load double, double* %3096
%3117 = insertelement <2 x double> poison, double %3116, i64 0
%3118 = shufflevector <2 x double> %3117, <2 x double> poison, <2 x i32> zeroinitializer
%3119 = insertelement <2 x double> poison, double %3116, i64 0
%3120 = shufflevector <2 x double> %3119, <2 x double> poison, <2 x i32> zeroinitializer
br label %3121
3121: ; preds = %3121, %3110
%3122 = phi i64 [ 0, %3110 ], [ %3158, %3121 ]
%3123 = phi i64 [ 0, %3110 ], [ %3159, %3121 ]
%3124 = or i64 %3122, 1
%3125 = getelementptr inbounds double, double* %49, i64 %3124
%3126 = bitcast double* %3125 to <2 x double>*
%3127 = load <2 x double>, <2 x double>* %3126
%3128 = getelementptr inbounds double, double* %3125, i64 2
%3129 = bitcast double* %3128 to <2 x double>*
%3130 = load <2 x double>, <2 x double>* %3129
%3131 = fsub <2 x double> %3127, %3113
%3132 = fsub <2 x double> %3130, %3115
%3133 = getelementptr inbounds double, double* %63, i64 %3124
%3134 = bitcast double* %3133 to <2 x double>*
store <2 x double> %3131, <2 x double>* %3134
%3135 = getelementptr inbounds double, double* %3133, i64 2
%3136 = bitcast double* %3135 to <2 x double>*
store <2 x double> %3132, <2 x double>* %3136
%3137 = getelementptr inbounds double, double* %64, i64 %3124
%3138 = bitcast double* %3137 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3138
%3139 = getelementptr inbounds double, double* %3137, i64 2
%3140 = bitcast double* %3139 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3140
%3141 = or i64 %3122, 5
%3142 = getelementptr inbounds double, double* %49, i64 %3141
%3143 = bitcast double* %3142 to <2 x double>*
%3144 = load <2 x double>, <2 x double>* %3143
%3145 = getelementptr inbounds double, double* %3142, i64 2
%3146 = bitcast double* %3145 to <2 x double>*
%3147 = load <2 x double>, <2 x double>* %3146
%3148 = fsub <2 x double> %3144, %3118
%3149 = fsub <2 x double> %3147, %3120
%3150 = getelementptr inbounds double, double* %63, i64 %3141
%3151 = bitcast double* %3150 to <2 x double>*
store <2 x double> %3148, <2 x double>* %3151
%3152 = getelementptr inbounds double, double* %3150, i64 2
%3153 = bitcast double* %3152 to <2 x double>*
store <2 x double> %3149, <2 x double>* %3153
%3154 = getelementptr inbounds double, double* %64, i64 %3141
%3155 = bitcast double* %3154 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3155
%3156 = getelementptr inbounds double, double* %3154, i64 2
%3157 = bitcast double* %3156 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3157
%3158 = add nuw i64 %3122, 8
%3159 = add i64 %3123, 2
%3160 = icmp eq i64 %3159, %439
br i1 %3160, label %3161, label %3121
3161: ; preds = %3121, %3109
%3162 = phi i64 [ 0, %3109 ], [ %3158, %3121 ]
br i1 %440, label %3186, label %3163
3163: ; preds = %3161
%3164 = or i64 %3162, 1
%3165 = getelementptr inbounds double, double* %49, i64 %3164
%3166 = bitcast double* %3165 to <2 x double>*
%3167 = load <2 x double>, <2 x double>* %3166
%3168 = getelementptr inbounds double, double* %3165, i64 2
%3169 = bitcast double* %3168 to <2 x double>*
%3170 = load <2 x double>, <2 x double>* %3169
%3171 = load double, double* %3096
%3172 = insertelement <2 x double> poison, double %3171, i64 0
%3173 = shufflevector <2 x double> %3172, <2 x double> poison, <2 x i32> zeroinitializer
%3174 = insertelement <2 x double> poison, double %3171, i64 0
%3175 = shufflevector <2 x double> %3174, <2 x double> poison, <2 x i32> zeroinitializer
%3176 = fsub <2 x double> %3167, %3173
%3177 = fsub <2 x double> %3170, %3175
%3178 = getelementptr inbounds double, double* %63, i64 %3164
%3179 = bitcast double* %3178 to <2 x double>*
store <2 x double> %3176, <2 x double>* %3179
%3180 = getelementptr inbounds double, double* %3178, i64 2
%3181 = bitcast double* %3180 to <2 x double>*
store <2 x double> %3177, <2 x double>* %3181
%3182 = getelementptr inbounds double, double* %64, i64 %3164
%3183 = bitcast double* %3182 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3183
%3184 = getelementptr inbounds double, double* %3182, i64 2
%3185 = bitcast double* %3184 to <2 x double>*
store <2 x double> zeroinitializer, <2 x double>* %3185
br label %3186
3186: ; preds = %3161, %3163
br i1 %441, label %3201, label %3187
3187: ; preds = %3097, %3093, %3186
%3188 = phi i64 [ 1, %3097 ], [ 1, %3093 ], [ %436, %3186 ]
%3189 = xor i64 %3188, -1
br i1 %443, label %3190, label %3198
3190: ; preds = %3187
%3191 = getelementptr inbounds double, double* %49, i64 %3188
%3192 = load double, double* %3191
%3193 = load double, double* %3096
%3194 = fsub double %3192, %3193
%3195 = getelementptr inbounds double, double* %63, i64 %3188
store double %3194, double* %3195
%3196 = getelementptr inbounds double, double* %64, i64 %3188
store double 0.000000e+00, double* %3196
%3197 = add nuw nsw i64 %3188, 1
br label %3198
3198: ; preds = %3190, %3187
%3199 = phi i64 [ %3188, %3187 ], [ %3197, %3190 ]
%3200 = icmp eq i64 %3189, %444
br i1 %3200, label %3201, label %3203
3201: ; preds = %3198, %3203, %3186, %3091, %3092
%3202 = phi double [ %3090, %3092 ], [ %2973, %3091 ], [ %3090, %3186 ], [ %3090, %3203 ], [ %3090, %3198 ]
br i1 %131, label %3220, label %3219
3203: ; preds = %3198, %3203
%3204 = phi i64 [ %3217, %3203 ], [ %3199, %3198 ]
%3205 = getelementptr inbounds double, double* %49, i64 %3204
%3206 = load double, double* %3205
%3207 = load double, double* %3096
%3208 = fsub double %3206, %3207
%3209 = getelementptr inbounds double, double* %63, i64 %3204
store double %3208, double* %3209
%3210 = getelementptr inbounds double, double* %64, i64 %3204
store double 0.000000e+00, double* %3210
%3211 = getelementptr inbounds double, double* %13, i64 %3204
%3212 = load double, double* %3211
%3213 = load double, double* %3096
%3214 = fsub double %3212, %3213
%3215 = getelementptr inbounds double, double* %26, i64 %3204
store double %3214, double* %3215
%3216 = getelementptr inbounds double, double* %27, i64 %3204
store double 0.000000e+00, double* %3216
%3217 = add nuw nsw i64 %3204, 2
%3218 = icmp eq i64 %3217, %178
br i1 %3218, label %3201, label %3203
3219: ; preds = %3389, %3201
br i1 %130, label %3393, label %3394
3220: ; preds = %3201, %3389
%3221 = phi i64 [ %3392, %3389 ], [ 0, %3201 ]
%3222 = phi i64 [ %3390, %3389 ], [ 1, %3201 ]
%3223 = mul i64 %3221, %138
%3224 = add i64 %187, %3223
%3225 = getelementptr double, double* %19, i64 %3224
%3226 = add i64 %188, %3223
%3227 = getelementptr double, double* %19, i64 %3226
br i1 %130, label %3389, label %3228
3228: ; preds = %3220
%3229 = mul nsw i64 %3222, %138
br i1 %446, label %3230, label %3338
3230: ; preds = %3338, %3228
%3231 = phi double [ undef, %3228 ], [ %3368, %3338 ]
%3232 = phi i64 [ 1, %3228 ], [ %3369, %3338 ]
%3233 = phi double [ 0.000000e+00, %3228 ], [ %3368, %3338 ]
br i1 %448, label %3247, label %3234
3234: ; preds = %3230, %3234
%3235 = phi i64 [ %3244, %3234 ], [ %3232, %3230 ]
%3236 = phi double [ %3243, %3234 ], [ %3233, %3230 ]
%3237 = phi i64 [ %3245, %3234 ], [ 0, %3230 ]
%3238 = add nsw i64 %3235, %3229
%3239 = getelementptr inbounds double, double* %43, i64 %3238
%3240 = load double, double* %3239
%3241 = getelementptr inbounds double, double* %63, i64 %3235
%3242 = load double, double* %3241
%3243 = call double @llvm.fmuladd.f64(double %3240, double %3242, double %3236)
%3244 = add nuw nsw i64 %3235, 1
%3245 = add i64 %3237, 1
%3246 = icmp eq i64 %3245, %445
br i1 %3246, label %3247, label %3234
3247: ; preds = %3234, %3230
%3248 = phi double [ %3231, %3230 ], [ %3243, %3234 ]
br i1 %130, label %3389, label %3249
3249: ; preds = %3247
%3250 = mul nsw i64 %3222, %138
br i1 %449, label %3324, label %3251
3251: ; preds = %3249
%3252 = icmp ugt double* %3227, %27
%3253 = icmp ult double* %3225, %185
%3254 = and i1 %3252, %3253
br i1 %3254, label %3324, label %3255
3255: ; preds = %3251
%3256 = insertelement <2 x double> poison, double %3248, i64 0
%3257 = shufflevector <2 x double> %3256, <2 x double> poison, <2 x i32> zeroinitializer
%3258 = insertelement <2 x double> poison, double %3248, i64 0
%3259 = shufflevector <2 x double> %3258, <2 x double> poison, <2 x i32> zeroinitializer
br i1 %453, label %3302, label %3260
3260: ; preds = %3255, %3260
%3261 = phi i64 [ %3299, %3260 ], [ 0, %3255 ]
%3262 = phi i64 [ %3300, %3260 ], [ 0, %3255 ]
%3263 = or i64 %3261, 1
%3264 = add nsw i64 %3263, %3250
%3265 = getelementptr inbounds double, double* %43, i64 %3264
%3266 = bitcast double* %3265 to <2 x double>*
%3267 = load <2 x double>, <2 x double>* %3266
%3268 = getelementptr inbounds double, double* %3265, i64 2
%3269 = bitcast double* %3268 to <2 x double>*
%3270 = load <2 x double>, <2 x double>* %3269
%3271 = getelementptr inbounds double, double* %64, i64 %3263
%3272 = bitcast double* %3271 to <2 x double>*
%3273 = load <2 x double>, <2 x double>* %3272
%3274 = getelementptr inbounds double, double* %3271, i64 2
%3275 = bitcast double* %3274 to <2 x double>*
%3276 = load <2 x double>, <2 x double>* %3275
%3277 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3257, <2 x double> %3267, <2 x double> %3273)
%3278 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3259, <2 x double> %3270, <2 x double> %3276)
%3279 = bitcast double* %3271 to <2 x double>*
store <2 x double> %3277, <2 x double>* %3279
%3280 = bitcast double* %3274 to <2 x double>*
store <2 x double> %3278, <2 x double>* %3280
%3281 = or i64 %3261, 5
%3282 = add nsw i64 %3281, %3250
%3283 = getelementptr inbounds double, double* %43, i64 %3282
%3284 = bitcast double* %3283 to <2 x double>*
%3285 = load <2 x double>, <2 x double>* %3284
%3286 = getelementptr inbounds double, double* %3283, i64 2
%3287 = bitcast double* %3286 to <2 x double>*
%3288 = load <2 x double>, <2 x double>* %3287
%3289 = getelementptr inbounds double, double* %64, i64 %3281
%3290 = bitcast double* %3289 to <2 x double>*
%3291 = load <2 x double>, <2 x double>* %3290
%3292 = getelementptr inbounds double, double* %3289, i64 2
%3293 = bitcast double* %3292 to <2 x double>*
%3294 = load <2 x double>, <2 x double>* %3293
%3295 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3257, <2 x double> %3285, <2 x double> %3291)
%3296 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3259, <2 x double> %3288, <2 x double> %3294)
%3297 = bitcast double* %3289 to <2 x double>*
store <2 x double> %3295, <2 x double>* %3297
%3298 = bitcast double* %3292 to <2 x double>*
store <2 x double> %3296, <2 x double>* %3298
%3299 = add nuw i64 %3261, 8
%3300 = add i64 %3262, 2
%3301 = icmp eq i64 %3300, %454
br i1 %3301, label %3302, label %3260
3302: ; preds = %3260, %3255
%3303 = phi i64 [ 0, %3255 ], [ %3299, %3260 ]
br i1 %455, label %3323, label %3304
3304: ; preds = %3302
%3305 = or i64 %3303, 1
%3306 = add nsw i64 %3305, %3250
%3307 = getelementptr inbounds double, double* %43, i64 %3306
%3308 = bitcast double* %3307 to <2 x double>*
%3309 = load <2 x double>, <2 x double>* %3308
%3310 = getelementptr inbounds double, double* %3307, i64 2
%3311 = bitcast double* %3310 to <2 x double>*
%3312 = load <2 x double>, <2 x double>* %3311
%3313 = getelementptr inbounds double, double* %64, i64 %3305
%3314 = bitcast double* %3313 to <2 x double>*
%3315 = load <2 x double>, <2 x double>* %3314
%3316 = getelementptr inbounds double, double* %3313, i64 2
%3317 = bitcast double* %3316 to <2 x double>*
%3318 = load <2 x double>, <2 x double>* %3317
%3319 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3257, <2 x double> %3309, <2 x double> %3315)
%3320 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %3259, <2 x double> %3312, <2 x double> %3318)
%3321 = bitcast double* %3313 to <2 x double>*
store <2 x double> %3319, <2 x double>* %3321
%3322 = bitcast double* %3316 to <2 x double>*
store <2 x double> %3320, <2 x double>* %3322
br label %3323
3323: ; preds = %3302, %3304
br i1 %456, label %3389, label %3324
3324: ; preds = %3251, %3249, %3323
%3325 = phi i64 [ 1, %3251 ], [ 1, %3249 ], [ %451, %3323 ]
%3326 = xor i64 %3325, -1
br i1 %458, label %3327, label %3335
3327: ; preds = %3324
%3328 = add nsw i64 %3325, %3250
%3329 = getelementptr inbounds double, double* %43, i64 %3328
%3330 = load double, double* %3329
%3331 = getelementptr inbounds double, double* %64, i64 %3325
%3332 = load double, double* %3331
%3333 = call double @llvm.fmuladd.f64(double %3248, double %3330, double %3332)
store double %3333, double* %3331
%3334 = add nuw nsw i64 %3325, 1
br label %3335
3335: ; preds = %3327, %3324
%3336 = phi i64 [ %3325, %3324 ], [ %3334, %3327 ]
%3337 = icmp eq i64 %3326, %459
br i1 %3337, label %3389, label %3372
3338: ; preds = %3228, %3338
%3339 = phi i64 [ %3369, %3338 ], [ 1, %3228 ]
%3340 = phi double [ %3368, %3338 ], [ 0.000000e+00, %3228 ]
%3341 = phi i64 [ %3370, %3338 ], [ 0, %3228 ]
%3342 = add nsw i64 %3339, %3229
%3343 = getelementptr inbounds double, double* %43, i64 %3342
%3344 = load double, double* %3343
%3345 = getelementptr inbounds double, double* %63, i64 %3339
%3346 = load double, double* %3345
%3347 = call double @llvm.fmuladd.f64(double %3344, double %3346, double %3340)
%3348 = add nuw nsw i64 %3339, 1
%3349 = add nsw i64 %3348, %3229
%3350 = getelementptr inbounds double, double* %43, i64 %3349
%3351 = load double, double* %3350
%3352 = getelementptr inbounds double, double* %26, i64 %3339
%3353 = load double, double* %3352
%3354 = call double @llvm.fmuladd.f64(double %3351, double %3353, double %3347)
%3355 = add nuw nsw i64 %3339, 2
%3356 = add nsw i64 %3355, %3229
%3357 = getelementptr inbounds double, double* %43, i64 %3356
%3358 = load double, double* %3357
%3359 = getelementptr inbounds double, double* %63, i64 %3355
%3360 = load double, double* %3359
%3361 = call double @llvm.fmuladd.f64(double %3358, double %3360, double %3354)
%3362 = add nuw nsw i64 %3339, 3
%3363 = add nsw i64 %3362, %3229
%3364 = getelementptr inbounds double, double* %43, i64 %3363
%3365 = load double, double* %3364
%3366 = getelementptr inbounds double, double* %63, i64 %3362
%3367 = load double, double* %3366
%3368 = call double @llvm.fmuladd.f64(double %3365, double %3367, double %3361)
%3369 = add nuw nsw i64 %3339, 4
%3370 = add nuw i64 %3341, 4
%3371 = icmp eq i64 %3370, %447
br i1 %3371, label %3230, label %3338
3372: ; preds = %3335, %3372
%3373 = phi i64 [ %3387, %3372 ], [ %3336, %3335 ]
%3374 = add nsw i64 %3373, %3250
%3375 = getelementptr inbounds double, double* %43, i64 %3374
%3376 = load double, double* %3375
%3377 = getelementptr inbounds double, double* %64, i64 %3373
%3378 = load double, double* %3377
%3379 = call double @llvm.fmuladd.f64(double %3248, double %3376, double %3378)
store double %3379, double* %3377
%3380 = add nuw nsw i64 %3373, 1
%3381 = add nsw i64 %3380, %3250
%3382 = getelementptr inbounds double, double* %43, i64 %3381
%3383 = load double, double* %3382
%3384 = getelementptr inbounds double, double* %27, i64 %3373
%3385 = load double, double* %3384
%3386 = call double @llvm.fmuladd.f64(double %3248, double %3383, double %3385)
store double %3386, double* %3384
%3387 = add nuw nsw i64 %3373, 2
%3388 = icmp eq i64 %3387, %180
br i1 %3388, label %3389, label %3372
3389: ; preds = %3335, %3372, %3323, %3220, %3247
%3390 = add nuw nsw i64 %3222, 1
%3391 = icmp eq i64 %3390, %179
%3392 = add i64 %3221, 1
br i1 %3391, label %3219, label %3220
3393: ; preds = %3431, %3219
br i1 %68, label %3533, label %3440
3394: ; preds = %3219, %3431
%3395 = phi i64 [ %3438, %3431 ], [ 1, %3219 ]
br i1 %68, label %3431, label %3396
3396: ; preds = %3394
br i1 %461, label %3419, label %3397
3397: ; preds = %3396, %3397
%3398 = phi i64 [ %3416, %3397 ], [ 1, %3396 ]
%3399 = phi double [ %3415, %3397 ], [ 0.000000e+00, %3396 ]
%3400 = phi i64 [ %3417, %3397 ], [ 0, %3396 ]
%3401 = mul nsw i64 %3398, %138
%3402 = add nsw i64 %3401, %3395
%3403 = getelementptr inbounds double, double* %44, i64 %3402
%3404 = load double, double* %3403
%3405 = getelementptr inbounds double, double* %50, i64 %3398
%3406 = load double, double* %3405
%3407 = call double @llvm.fmuladd.f64(double %3404, double %3406, double %3399)
%3408 = add nuw nsw i64 %3398, 1
%3409 = mul nsw i64 %3408, %138
%3410 = add nsw i64 %3409, %3395
%3411 = getelementptr inbounds double, double* %44, i64 %3410
%3412 = load double, double* %3411
%3413 = getelementptr inbounds double, double* %14, i64 %3398
%3414 = load double, double* %3413
%3415 = call double @llvm.fmuladd.f64(double %3412, double %3414, double %3407)
%3416 = add nuw nsw i64 %3398, 2
%3417 = add i64 %3400, 2
%3418 = icmp eq i64 %3417, %462
br i1 %3418, label %3419, label %3397
3419: ; preds = %3397, %3396
%3420 = phi double [ undef, %3396 ], [ %3415, %3397 ]
%3421 = phi i64 [ 1, %3396 ], [ %3416, %3397 ]
%3422 = phi double [ 0.000000e+00, %3396 ], [ %3415, %3397 ]
br i1 %463, label %3431, label %3423
3423: ; preds = %3419
%3424 = mul nsw i64 %3421, %138
%3425 = add nsw i64 %3424, %3395
%3426 = getelementptr inbounds double, double* %44, i64 %3425
%3427 = load double, double* %3426
%3428 = getelementptr inbounds double, double* %50, i64 %3421
%3429 = load double, double* %3428
%3430 = call double @llvm.fmuladd.f64(double %3427, double %3429, double %3422)
br label %3431
3431: ; preds = %3423, %3419, %3394
%3432 = phi double [ 0.000000e+00, %3394 ], [ %3420, %3419 ], [ %3430, %3423 ]
%3433 = getelementptr inbounds double, double* %64, i64 %3395
%3434 = load double, double* %3433
%3435 = add nsw i64 %3395, %138
%3436 = getelementptr inbounds double, double* %64, i64 %3435
store double %3434, double* %3436
%3437 = fmul double %3432, %3434
store double %3437, double* %3433
%3438 = add nuw nsw i64 %3395, 1
%3439 = icmp eq i64 %3438, %181
br i1 %3439, label %3393, label %3394
3440: ; preds = %3393, %3525
%3441 = phi i64 [ %3531, %3525 ], [ 1, %3393 ]
%3442 = phi double [ %3527, %3525 ], [ 0.000000e+00, %3393 ]
%3443 = phi double [ %3528, %3525 ], [ 0.000000e+00, %3393 ]
br i1 %130, label %3496, label %3444
3444: ; preds = %3440
%3445 = mul nsw i64 %3441, %140
%3446 = mul nsw i64 %3441, %138
br i1 %465, label %3479, label %3447
3447: ; preds = %3444, %3447
%3448 = phi i64 [ %3476, %3447 ], [ 1, %3444 ]
%3449 = phi double [ %3475, %3447 ], [ 0.000000e+00, %3444 ]
%3450 = phi i64 [ %3477, %3447 ], [ 0, %3444 ]
%3451 = add nsw i64 %3448, %3445
%3452 = getelementptr inbounds double, double* %57, i64 %3451
%3453 = load double, double* %3452
%3454 = getelementptr inbounds double, double* %63, i64 %3448
%3455 = load double, double* %3454
%3456 = call double @llvm.fmuladd.f64(double %3453, double %3455, double %3449)
%3457 = add nsw i64 %3448, %3446
%3458 = getelementptr inbounds double, double* %44, i64 %3457
%3459 = load double, double* %3458
%3460 = getelementptr inbounds double, double* %64, i64 %3448
%3461 = load double, double* %3460
%3462 = call double @llvm.fmuladd.f64(double %3459, double %3461, double %3456)
%3463 = add nuw nsw i64 %3448, 1
%3464 = add nsw i64 %3463, %3445
%3465 = getelementptr inbounds double, double* %57, i64 %3464
%3466 = load double, double* %3465
%3467 = getelementptr inbounds double, double* %26, i64 %3448
%3468 = load double, double* %3467
%3469 = call double @llvm.fmuladd.f64(double %3466, double %3468, double %3462)
%3470 = add nsw i64 %3463, %3446
%3471 = getelementptr inbounds double, double* %44, i64 %3470
%3472 = load double, double* %3471
%3473 = getelementptr inbounds double, double* %27, i64 %3448
%3474 = load double, double* %3473
%3475 = call double @llvm.fmuladd.f64(double %3472, double %3474, double %3469)
%3476 = add nuw nsw i64 %3448, 2
%3477 = add i64 %3450, 2
%3478 = icmp eq i64 %3477, %466
br i1 %3478, label %3479, label %3447
3479: ; preds = %3447, %3444
%3480 = phi double [ undef, %3444 ], [ %3475, %3447 ]
%3481 = phi i64 [ 1, %3444 ], [ %3476, %3447 ]
%3482 = phi double [ 0.000000e+00, %3444 ], [ %3475, %3447 ]
br i1 %467, label %3496, label %3483
3483: ; preds = %3479
%3484 = add nsw i64 %3481, %3445
%3485 = getelementptr inbounds double, double* %57, i64 %3484
%3486 = load double, double* %3485
%3487 = getelementptr inbounds double, double* %63, i64 %3481
%3488 = load double, double* %3487
%3489 = call double @llvm.fmuladd.f64(double %3486, double %3488, double %3482)
%3490 = add nsw i64 %3481, %3446
%3491 = getelementptr inbounds double, double* %44, i64 %3490
%3492 = load double, double* %3491
%3493 = getelementptr inbounds double, double* %64, i64 %3481
%3494 = load double, double* %3493
%3495 = call double @llvm.fmuladd.f64(double %3492, double %3494, double %3489)
br label %3496
3496: ; preds = %3483, %3479, %3440
%3497 = phi double [ 0.000000e+00, %3440 ], [ %3480, %3479 ], [ %3495, %3483 ]
%3498 = getelementptr inbounds double, double* %50, i64 %3441
%3499 = load double, double* %3498
%3500 = getelementptr inbounds double, double* %58, i64 %3441
%3501 = load double, double* %3500
%3502 = fcmp oeq double %3499, %3501
br i1 %3502, label %3503, label %3511
3503: ; preds = %3496
%3504 = getelementptr inbounds double, double* %51, i64 %3441
%3505 = load double, double* %3504
%3506 = fcmp ogt double %3505, 0.000000e+00
%3507 = select i1 %3506, double 0.000000e+00, double %3505
%3508 = call double @llvm.fmuladd.f64(double %3507, double %3507, double %3442)
%3509 = fcmp ogt double %3497, 0.000000e+00
%3510 = select i1 %3509, double 0.000000e+00, double %3497
br label %3525
3511: ; preds = %3496
%3512 = getelementptr inbounds double, double* %59, i64 %3441
%3513 = load double, double* %3512
%3514 = fcmp oeq double %3499, %3513
%3515 = getelementptr inbounds double, double* %51, i64 %3441
%3516 = load double, double* %3515
br i1 %3514, label %3517, label %3523
3517: ; preds = %3511
%3518 = fcmp olt double %3516, 0.000000e+00
%3519 = select i1 %3518, double 0.000000e+00, double %3516
%3520 = call double @llvm.fmuladd.f64(double %3519, double %3519, double %3442)
%3521 = fcmp olt double %3497, 0.000000e+00
%3522 = select i1 %3521, double 0.000000e+00, double %3497
br label %3525
3523: ; preds = %3511
%3524 = call double @llvm.fmuladd.f64(double %3516, double %3516, double %3442)
br label %3525
3525: ; preds = %3517, %3523, %3503
%3526 = phi double [ %3510, %3503 ], [ %3522, %3517 ], [ %3497, %3523 ]
%3527 = phi double [ %3508, %3503 ], [ %3520, %3517 ], [ %3524, %3523 ]
%3528 = call double @llvm.fmuladd.f64(double %3497, double %3497, double %3443)
%3529 = add nsw i64 %3441, %138
%3530 = getelementptr inbounds double, double* %63, i64 %3529
store double %3526, double* %3530
%3531 = add nuw nsw i64 %3441, 1
%3532 = icmp eq i64 %3531, %182
br i1 %3532, label %3533, label %3440
3533: ; preds = %3525, %3393
%3534 = phi double [ 0.000000e+00, %3393 ], [ %3528, %3525 ]
%3535 = phi double [ 0.000000e+00, %3393 ], [ %3527, %3525 ]
%3536 = add nsw i32 %2175, 1
%3537 = fmul double %3534, 1.000000e+01
%3538 = fcmp olt double %3535, %3537
%3539 = select i1 %3538, i32 0, i32 %3536
%3540 = icmp sgt i32 %3539, 2
br i1 %3540, label %3541, label %3569
3541: ; preds = %3533
%3542 = call i32 (i32, i32, ...) bitcast (i32 (...)* @imax to i32 (i32, i32, ...)*)(i32 %1, i32 %67)
%3543 = icmp slt i32 %3542, 1
br i1 %3543, label %3569, label %3544
3544: ; preds = %3541
%3545 = add nuw i32 %3542, 1
%3546 = zext i32 %3545 to i64
br label %3547
3547: ; preds = %3544, %3566
%3548 = phi i64 [ 1, %3544 ], [ %3567, %3566 ]
%3549 = icmp sgt i64 %3548, %143
br i1 %3549, label %3555, label %3550
3550: ; preds = %3547
%3551 = add nsw i64 %3548, %138
%3552 = getelementptr inbounds double, double* %63, i64 %3551
%3553 = load double, double* %3552
%3554 = getelementptr inbounds double, double* %51, i64 %3548
store double %3553, double* %3554
br label %3555
3555: ; preds = %3550, %3547
%3556 = icmp sgt i64 %3548, %138
br i1 %3556, label %3562, label %3557
3557: ; preds = %3555
%3558 = add nsw i64 %3548, %138
%3559 = getelementptr inbounds double, double* %64, i64 %3558
%3560 = load double, double* %3559
%3561 = getelementptr inbounds double, double* %53, i64 %3548
store double %3560, double* %3561
br label %3562
3562: ; preds = %3557, %3555
%3563 = icmp sgt i64 %3548, %144
br i1 %3563, label %3566, label %3564
3564: ; preds = %3562
%3565 = getelementptr inbounds double, double* %52, i64 %3548
store double 0.000000e+00, double* %3565
br label %3566
3566: ; preds = %3564, %3562
%3567 = add nuw nsw i64 %3548, 1
%3568 = icmp eq i64 %3567, %3546
br i1 %3568, label %3569, label %3547
3569: ; preds = %3566, %3091, %3541, %3533, %3089
%3570 = phi double [ %3202, %3533 ], [ %3090, %3089 ], [ %3202, %3541 ], [ %2973, %3091 ], [ %3202, %3566 ]
%3571 = phi i32 [ %3539, %3533 ], [ %2175, %3089 ], [ %3539, %3541 ], [ %2175, %3091 ], [ 0, %3566 ]
%3572 = icmp eq i32 %2176, 0
br i1 %3572, label %1390, label %3573
3573: ; preds = %3569
%3574 = call double @llvm.fmuladd.f64(double %2357, double 1.000000e-01, double %2246)
%3575 = fcmp ugt double %2221, %3574
br i1 %3575, label %3576, label %1390
3576: ; preds = %3573
%3577 = fmul double %2517, 2.000000e+00
%3578 = fmul double %3577, %3577
%3579 = fcmp ogt double %3578, %623
%3580 = select i1 %3579, double %3578, double %623
br label %3581
3581: ; preds = %730, %653, %649, %3576
%3582 = phi double [ %629, %649 ], [ %2221, %3576 ], [ %629, %653 ], [ %629, %730 ]
%3583 = phi double [ %630, %649 ], [ %2165, %3576 ], [ %630, %653 ], [ %630, %730 ]
%3584 = phi double [ %632, %649 ], [ %2360, %3576 ], [ %632, %653 ], [ %632, %730 ]
%3585 = phi double [ %633, %649 ], [ %2167, %3576 ], [ %633, %653 ], [ %633, %730 ]
%3586 = phi double [ %634, %649 ], [ %2168, %3576 ], [ %634, %653 ], [ %634, %730 ]
%3587 = phi double [ %635, %649 ], [ %2517, %3576 ], [ %635, %653 ], [ %635, %730 ]
%3588 = phi double [ %636, %649 ], [ %2170, %3576 ], [ %636, %653 ], [ %636, %730 ]
%3589 = phi double [ %637, %649 ], [ %2518, %3576 ], [ %637, %653 ], [ %637, %730 ]
%3590 = phi i32 [ %638, %649 ], [ %2172, %3576 ], [ %638, %653 ], [ %638, %730 ]
%3591 = phi i32 [ %639, %649 ], [ %2363, %3576 ], [ %639, %653 ], [ %639, %730 ]
%3592 = phi double [ %640, %649 ], [ %2519, %3576 ], [ %640, %653 ], [ %640, %730 ]
%3593 = phi i32 [ %641, %649 ], [ %3571, %3576 ], [ %641, %653 ], [ %641, %730 ]
%3594 = phi double [ %623, %649 ], [ %3580, %3576 ], [ %623, %653 ], [ %623, %730 ]
%3595 = phi i32 [ -1, %649 ], [ %2176, %3576 ], [ -1, %653 ], [ -1, %730 ]
%3596 = phi double [ %643, %649 ], [ %3570, %3576 ], [ %643, %653 ], [ %643, %730 ]
br i1 %130, label %3667, label %3597
3597: ; preds = %3581, %3639
%3598 = phi i64 [ %3645, %3639 ], [ 1, %3581 ]
%3599 = phi double [ %3644, %3639 ], [ %3594, %3581 ]
%3600 = phi i32 [ %3643, %3639 ], [ 0, %3581 ]
br i1 %68, label %3639, label %3601
3601: ; preds = %3597
br i1 %259, label %3626, label %3602
3602: ; preds = %3601, %3602
%3603 = phi i64 [ %3623, %3602 ], [ 1, %3601 ]
%3604 = phi double [ %3622, %3602 ], [ 0.000000e+00, %3601 ]
%3605 = phi i64 [ %3624, %3602 ], [ 0, %3601 ]
%3606 = mul nsw i64 %3603, %138
%3607 = add nsw i64 %3606, %3598
%3608 = getelementptr inbounds double, double* %44, i64 %3607
%3609 = load double, double* %3608
%3610 = getelementptr inbounds double, double* %50, i64 %3603
%3611 = load double, double* %3610
%3612 = fsub double %3609, %3611
%3613 = call double @llvm.fmuladd.f64(double %3612, double %3612, double %3604)
%3614 = add nuw nsw i64 %3603, 1
%3615 = mul nsw i64 %3614, %138
%3616 = add nsw i64 %3615, %3598
%3617 = getelementptr inbounds double, double* %44, i64 %3616
%3618 = load double, double* %3617
%3619 = getelementptr inbounds double, double* %14, i64 %3603
%3620 = load double, double* %3619
%3621 = fsub double %3618, %3620
%3622 = call double @llvm.fmuladd.f64(double %3621, double %3621, double %3613)
%3623 = add nuw nsw i64 %3603, 2
%3624 = add i64 %3605, 2
%3625 = icmp eq i64 %3624, %260
br i1 %3625, label %3626, label %3602
3626: ; preds = %3602, %3601
%3627 = phi double [ undef, %3601 ], [ %3622, %3602 ]
%3628 = phi i64 [ 1, %3601 ], [ %3623, %3602 ]
%3629 = phi double [ 0.000000e+00, %3601 ], [ %3622, %3602 ]
br i1 %261, label %3639, label %3630
3630: ; preds = %3626
%3631 = mul nsw i64 %3628, %138
%3632 = add nsw i64 %3631, %3598
%3633 = getelementptr inbounds double, double* %44, i64 %3632
%3634 = load double, double* %3633
%3635 = getelementptr inbounds double, double* %50, i64 %3628
%3636 = load double, double* %3635
%3637 = fsub double %3634, %3636
%3638 = call double @llvm.fmuladd.f64(double %3637, double %3637, double %3629)
br label %3639
3639: ; preds = %3630, %3626, %3597
%3640 = phi double [ 0.000000e+00, %3597 ], [ %3627, %3626 ], [ %3638, %3630 ]
%3641 = fcmp ogt double %3640, %3599
%3642 = trunc i64 %3598 to i32
%3643 = select i1 %3641, i32 %3642, i32 %3600
%3644 = select i1 %3641, double %3640, double %3599
%3645 = add nuw nsw i64 %3598, 1
%3646 = icmp eq i64 %3645, %149
br i1 %3646, label %3647, label %3597
3647: ; preds = %3639
%3648 = icmp sgt i32 %3643, 0
br i1 %3648, label %3649, label %3667
3649: ; preds = %3647
%3650 = call double @sqrt(double %3644)
%3651 = icmp eq i32 %3595, -1
br i1 %3651, label %3652, label %3659
3652: ; preds = %3649
%3653 = fmul double %3587, 1.000000e-01
%3654 = fmul double %3650, 5.000000e-01
%3655 = fcmp olt double %3654, %3653
%3656 = select i1 %3655, double %3654, double %3653
%3657 = fcmp ugt double %3656, %627
br i1 %3657, label %3659, label %3658
3658: ; preds = %3652
br label %3659
3659: ; preds = %3652, %3658, %3649
%3660 = phi double [ %606, %3658 ], [ %3656, %3652 ], [ %3587, %3649 ]
%3661 = fmul double %3650, 1.000000e-01
%3662 = fcmp olt double %3660, %3661
%3663 = select i1 %3662, double %3660, double %3661
%3664 = fcmp ogt double %606, %3663
%3665 = select i1 %3664, double %606, double %3663
%3666 = fmul double %3665, %3665
store double %3666, double* %30
br label %741
3667: ; preds = %3581, %3647
%3668 = phi i32 [ %3643, %3647 ], [ 0, %3581 ]
%3669 = icmp eq i32 %3595, -1
br i1 %3669, label %3676, label %3670
3670: ; preds = %3667
%3671 = fcmp ogt double %3592, 0.000000e+00
br i1 %3671, label %1390, label %3672
3672: ; preds = %3670
%3673 = fcmp ogt double %3587, %647
%3674 = select i1 %3673, double %3587, double %647
%3675 = fcmp ogt double %3674, %606
br i1 %3675, label %1390, label %3676
3676: ; preds = %735, %663, %3672, %3667
%3677 = phi double [ %3582, %3667 ], [ %3582, %3672 ], [ %629, %663 ], [ %629, %735 ]
%3678 = phi double [ %3583, %3667 ], [ %3583, %3672 ], [ %630, %663 ], [ %630, %735 ]
%3679 = phi i32 [ %3668, %3667 ], [ %3668, %3672 ], [ %631, %663 ], [ %631, %735 ]
%3680 = phi double [ %3584, %3667 ], [ %3584, %3672 ], [ %632, %663 ], [ %632, %735 ]
%3681 = phi double [ %3585, %3667 ], [ %3585, %3672 ], [ %633, %663 ], [ %633, %735 ]
%3682 = phi double [ %3586, %3667 ], [ %3586, %3672 ], [ %634, %663 ], [ %634, %735 ]
%3683 = phi double [ %3587, %3667 ], [ %3587, %3672 ], [ %635, %663 ], [ %635, %735 ]
%3684 = phi double [ %3588, %3667 ], [ %3588, %3672 ], [ %636, %663 ], [ %636, %735 ]
%3685 = phi double [ %3589, %3667 ], [ %3589, %3672 ], [ %637, %663 ], [ %637, %735 ]
%3686 = phi i32 [ %3590, %3667 ], [ %3590, %3672 ], [ %638, %663 ], [ %638, %735 ]
%3687 = phi i32 [ %3591, %3667 ], [ %3591, %3672 ], [ %639, %663 ], [ %639, %735 ]
%3688 = phi double [ %3592, %3667 ], [ %3592, %3672 ], [ %640, %663 ], [ %640, %735 ]
%3689 = phi i32 [ %3593, %3667 ], [ %3593, %3672 ], [ %641, %663 ], [ %641, %735 ]
%3690 = phi i32 [ -1, %3667 ], [ %3595, %3672 ], [ -1, %663 ], [ -1, %735 ]
%3691 = phi double [ %3596, %3667 ], [ %3596, %3672 ], [ %643, %663 ], [ %643, %735 ]
br i1 %626, label %3692, label %3726
3692: ; preds = %3676
%3693 = fdiv double %606, %8
%3694 = fcmp ugt double %3693, 1.600000e+01
br i1 %3694, label %3695, label %3702
3695: ; preds = %3692
%3696 = fcmp ugt double %3693, 2.500000e+02
br i1 %3696, label %3700, label %3697
3697: ; preds = %3695
%3698 = call double @sqrt(double %3693)
%3699 = fmul double %3698, %8
br label %3702
3700: ; preds = %3695
%3701 = fmul double %606, 1.000000e-01
br label %3702
3702: ; preds = %3692, %3697, %3700
%3703 = phi double [ %3699, %3697 ], [ %3701, %3700 ], [ %8, %3692 ]
%3704 = fcmp ogt double %621, %3703
%3705 = select i1 %3704, double %621, double %3703
br i1 %137, label %3706, label %3724
3706: ; preds = %3702
%3707 = load i32, i32* %29
%3708 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5, i64 0, i64 0), double %3703, i32 %3707)
%3709 = load i32, i32* %31
%3710 = sext i32 %3709 to i64
%3711 = getelementptr inbounds double, double* %49, i64 %3710
%3712 = load double, double* %3711
%3713 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @.str.6, i64 0, i64 0), double %3712)
br i1 %68, label %3724, label %3714
3714: ; preds = %3706, %3714
%3715 = phi i64 [ %3722, %3714 ], [ 1, %3706 ]
%3716 = getelementptr inbounds double, double* %48, i64 %3715
%3717 = load double, double* %3716
%3718 = getelementptr inbounds double, double* %50, i64 %3715
%3719 = load double, double* %3718
%3720 = fadd double %3717, %3719
%3721 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %3720)
%3722 = add nuw nsw i64 %3715, 1
%3723 = icmp eq i64 %3722, %183
br i1 %3723, label %3724, label %3714
3724: ; preds = %3714, %3706, %3702
%3725 = load i32, i32* %29
br label %604
3726: ; preds = %3676
%3727 = icmp eq i32 %3690, -1
br i1 %3727, label %2163, label %3732
3728: ; preds = %2367, %2217, %2161, %2024, %1384, %468
%3729 = phi i8* [ getelementptr inbounds ([64 x i8], [64 x i8]* @str.12, i64 0, i64 0), %468 ], [ getelementptr inbounds ([64 x i8], [64 x i8]* @str.12, i64 0, i64 0), %1384 ], [ getelementptr inbounds ([66 x i8], [66 x i8]* @str.11, i64 0, i64 0), %2024 ], [ getelementptr inbounds ([66 x i8], [66 x i8]* @str.11, i64 0, i64 0), %2161 ], [ getelementptr inbounds ([64 x i8], [64 x i8]* @str.12, i64 0, i64 0), %2217 ], [ getelementptr inbounds ([71 x i8], [71 x i8]* @str, i64 0, i64 0), %2367 ]
%3730 = phi double [ undef, %468 ], [ %743, %1384 ], [ %743, %2024 ], [ %743, %2161 ], [ %2164, %2217 ], [ %2221, %2367 ]
%3731 = call i32 @puts(i8* dereferenceable(1) %3729)
br label %3732
3732: ; preds = %2232, %3726, %3728, %2367, %2217, %2161, %2024, %1384, %468
%3733 = phi double [ undef, %468 ], [ %743, %1384 ], [ %743, %2024 ], [ %2164, %2217 ], [ %2221, %2367 ], [ %743, %2161 ], [ %3730, %3728 ], [ %2221, %2232 ], [ %3677, %3726 ]
%3734 = phi double [ %113, %468 ], [ %113, %1384 ], [ %113, %2024 ], [ %113, %2217 ], [ %113, %2367 ], [ %113, %2161 ], [ %113, %3728 ], [ %2221, %2232 ], [ %113, %3726 ]
%3735 = load i32, i32* %31
%3736 = sext i32 %3735 to i64
%3737 = getelementptr inbounds double, double* %49, i64 %3736
%3738 = load double, double* %3737
%3739 = fcmp ugt double %3738, %3734
%3740 = or i1 %3739, %68
%3741 = select i1 %3739, double %3733, double %3738
br i1 %3740, label %3785, label %3745
3742: ; preds = %2234
%3743 = fcmp ugt double %2239, %2221
br i1 %3743, label %3788, label %3744
3744: ; preds = %3742
br label %3788
3745: ; preds = %3732
%3746 = zext i32 %65 to i64
br label %3747
3747: ; preds = %3745, %3780
%3748 = phi i64 [ 1, %3745 ], [ %3781, %3780 ]
%3749 = getelementptr inbounds double, double* %48, i64 %3748
%3750 = load double, double* %3749
%3751 = getelementptr inbounds double, double* %50, i64 %3748
%3752 = load double, double* %3751
%3753 = fadd double %3750, %3752
%3754 = getelementptr inbounds double, double* %45, i64 %3748
store double %3753, double* %3754
%3755 = getelementptr inbounds double, double* %46, i64 %3748
%3756 = load double, double* %3755
%3757 = fcmp ogt double %3756, %3753
br i1 %3757, label %3758, label %3759
3758: ; preds = %3747
store double %3756, double* %3754
br label %3759
3759: ; preds = %3758, %3747
%3760 = phi double [ %3756, %3758 ], [ %3753, %3747 ]
%3761 = getelementptr inbounds double, double* %47, i64 %3748
%3762 = load double, double* %3761
%3763 = fcmp olt double %3762, %3760
br i1 %3763, label %3764, label %3765
3764: ; preds = %3759
store double %3762, double* %3754
br label %3765
3765: ; preds = %3764, %3759
%3766 = load double, double* %3751
%3767 = getelementptr inbounds double, double* %58, i64 %3748
%3768 = load double, double* %3767
%3769 = fcmp oeq double %3766, %3768
br i1 %3769, label %3770, label %3773
3770: ; preds = %3765
%3771 = load double, double* %3755
store double %3771, double* %3754
%3772 = load double, double* %3751
br label %3773
3773: ; preds = %3770, %3765
%3774 = phi double [ %3772, %3770 ], [ %3766, %3765 ]
%3775 = getelementptr inbounds double, double* %59, i64 %3748
%3776 = load double, double* %3775
%3777 = fcmp oeq double %3774, %3776
br i1 %3777, label %3778, label %3780
3778: ; preds = %3773
%3779 = load double, double* %3761
store double %3779, double* %3754
br label %3780
3780: ; preds = %3773, %3778
%3781 = add nuw nsw i64 %3748, 1
%3782 = icmp eq i64 %3781, %3746
br i1 %3782, label %3783, label %3747
3783: ; preds = %3780
%3784 = load double, double* %3737
br label %3785
3785: ; preds = %3732, %3783
%3786 = phi double [ %3741, %3732 ], [ %3784, %3783 ]
%3787 = icmp sgt i32 %9, 0
br i1 %3787, label %3788, label %3802
3788: ; preds = %3742, %3744, %3785
%3789 = phi double [ %3786, %3785 ], [ %2239, %3744 ], [ %2221, %3742 ]
%3790 = load i32, i32* %29
%3791 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.7, i64 0, i64 0), i32 %3790)
%3792 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @.str.6, i64 0, i64 0), double %3789)
br i1 %68, label %3802, label %3793
3793: ; preds = %3788
%3794 = zext i32 %65 to i64
br label %3795
3795: ; preds = %3793, %3795
%3796 = phi i64 [ 1, %3793 ], [ %3800, %3795 ]
%3797 = getelementptr inbounds double, double* %45, i64 %3796
%3798 = load double, double* %3797
%3799 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %3798)
%3800 = add nuw nsw i64 %3796, 1
%3801 = icmp eq i64 %3800, %3794
br i1 %3801, label %3802, label %3795
3802: ; preds = %3795, %3788, %3785
ret void
}