int qpassc(double *a, double *b, double *c, double *d, double *trigs, long inc1,
           long inc2, long inc3, long inc4, long lot, long n, long ifac,
           long la) {
  long i0, i1, i2, i3, i4, i5, i6, i7;
  long j0, j1, j2, j3, j4, j5, j6, j7;
  long ia, ib, ic;
  long ja, jb, jc;
  long i, j, k, l, m, ijk;
  long ibase, jbase;
  long iink, jink;
  long jump;
  long kstop;
  long kb, kc, kd, ke, kf;
  double a0, a1, a2, a3;
  double b0, b1, b2, b3;
  double c1, c2, c3, c4, c5;
  double s1, s2, s3, s4, s5;
  double w, x, y, z;
  m = n / ifac;
  iink = la * inc1;
  jink = la * inc2;
  jump = (ifac - 1) * iink;
  kstop = (n - ifac) / (2 * ifac);
  ibase = 0;
  jbase = 0;
  switch (ifac) {
  case 2: {
    i0 = j0 = 0;
    i1 = i0 + iink;
    j1 = j0 + inc2 * (m + m - la);
    if (la != m) {
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[j0 + j] = a[i0 + i] + a[i1 + i];
          c[j1 + j] = a[i0 + i] - a[i1 + i];
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
      j0 += jink;
      jink += jink;
      j1 -= jink;
      ibase += jump;
      jump += jump + iink;
      if (j0 != j1) {
        for (k = la; k <= kstop; k += la) {
          kb = k + k;
          c1 = trigs[kb];
          s1 = trigs[kb + 1];
          jbase = 0;
          for (l = 0; l < la; ++l) {
            i = ibase;
            j = jbase;
            for (ijk = 0; ijk < lot; ++ijk) {
              c[j0 + j] = a[i0 + i] + c1 * a[i1 + i] + s1 * b[i1 + i];
              c[j1 + j] = a[i0 + i] - c1 * a[i1 + i] - s1 * b[i1 + i];
              d[j0 + j] = c1 * b[i1 + i] - s1 * a[i1 + i] + b[i0 + i];
              d[j1 + j] = c1 * b[i1 + i] - s1 * a[i1 + i] - b[i0 + i];
              i += inc3;
              j += inc4;
            }
            ibase += inc1;
            jbase += inc2;
          }
          j0 += jink;
          j1 -= jink;
          ibase += jump;
        }
        if (j0 > j1)
          return 0;
      }
      jbase = 0;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[j0 + j] = a[i0 + i];
          d[j1 + j] = -a[i1 + i];
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    } else {
      z = 1.0 / n;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[j0 + j] = z * (a[i0 + i] + a[i1 + i]);
          c[j1 + j] = z * (a[i0 + i] - a[i1 + i]);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    }
    return 0;
  }
  case 3: {
    ia = 0;
    ib = ia + iink;
    ic = ib + iink;
    ja = 0;
    jb = ja + inc2 * (m + m - la);
    jc = jb;
    if (la != m) {
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[ja + j] = a[ia + i] + a[ib + i] + a[ic + i];
          c[jb + j] = a[ia + i] - 0.5 * (a[ib + i] + a[ic + i]);
          d[jb + j] = 0.866025403784437 * (a[ic + i] - a[ib + i]);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
      ja += jink;
      jink += jink;
      jb += jink;
      jc -= jink;
      ibase += jump;
      jump += jump + iink;
      if (ja != jc) {
        for (k = la; k <= kstop; k += la) {
          kb = k + k;
          kc = kb + kb;
          c1 = trigs[kb];
          s1 = trigs[kb + 1];
          c2 = trigs[kc];
          s2 = trigs[kc + 1];
          jbase = 0;
          for (l = 0; l < la; ++l) {
            i = ibase;
            j = jbase;
            for (ijk = 0; ijk < lot; ++ijk) {
              a1 = c1 * a[ib + i] + s1 * b[ib + i] + c2 * a[ic + i] +
                   s2 * b[ic + i];
              b1 = c1 * b[ib + i] - s1 * a[ib + i] + c2 * b[ic + i] -
                   s2 * a[ic + i];
              a2 = a[ia + i] - 0.5 * a1;
              b2 = b[ia + i] - 0.5 * b1;
              a3 = 0.866025403784437 * (c1 * a[ib + i] + s1 * b[ib + i] -
                                        c2 * a[ic + i] - s2 * b[ic + i]);
              b3 = 0.866025403784437 * (c1 * b[ib + i] - s1 * a[ib + i] -
                                        c2 * b[ic + i] + s2 * a[ic + i]);
              c[ja + j] = a[ia + i] + a1;
              d[ja + j] = b[ia + i] + b1;
              c[jb + j] = a2 + b3;
              d[jb + j] = b2 - a3;
              c[jc + j] = a2 - b3;
              d[jc + j] = -b2 - a3;
              i += inc3;
              j += inc4;
            }
            ibase += inc1;
            jbase += inc2;
          }
          ja += jink;
          jb += jink;
          jc -= jink;
          ibase += jump;
        }
        if (ja > jc)
          return 0;
      }
      jbase = 0;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[ja + j] = a[ia + i] + 0.5 * (a[ib + i] - a[ic + i]);
          d[ja + j] = -0.866025403784437 * (a[ib + i] + a[ic + i]);
          c[jb + j] = a[ia + i] - a[ib + i] + a[ic + i];
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    } else {
      z = 1.0 / n;
      y = 0.866025403784437 / n;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[ja + j] = z * (a[ia + i] + a[ib + i] + a[ic + i]);
          c[jb + j] = z * (a[ia + i] - 0.5 * (a[ib + i] + a[ic + i]));
          d[jb + j] = y * (a[ic + i] - a[ib + i]);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    }
    return 0;
  }
  case 4: {
    double a0p2, a1p3;
    i0 = 0;
    i1 = i0 + iink;
    i2 = i1 + iink;
    i3 = i2 + iink;
    j0 = 0;
    j1 = j0 + inc2 * (m + m - la);
    j2 = j1 + inc2 * (m + m);
    j3 = j1;
    if (la != m) {
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a0p2 = a[i0 + i] + a[i2 + i];
          a1p3 = a[i1 + i] + a[i3 + i];
          c[j0 + j] = a0p2 + a1p3;
          c[j2 + j] = a0p2 - a1p3;
          c[j1 + j] = a[i0 + i] - a[i2 + i];
          d[j1 + j] = a[i3 + i] - a[i1 + i];
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
      j0 += jink;
      jink += jink;
      j1 += jink;
      j2 -= jink;
      j3 -= jink;
      ibase += jump;
      jump += jump + iink;
      if (j1 != j2) {
        for (k = la; k <= kstop; k += la) {
          kb = k + k;
          kc = kb + kb;
          kd = kc + kb;
          c1 = trigs[kb];
          s1 = trigs[kb + 1];
          c2 = trigs[kc];
          s2 = trigs[kc + 1];
          c3 = trigs[kd];
          s3 = trigs[kd + 1];
          jbase = 0;
          for (l = 0; l < la; ++l) {
            i = ibase;
            j = jbase;
            for (ijk = 0; ijk < lot; ++ijk) {
              a0 = a[i0 + i] + c2 * a[i2 + i] + s2 * b[i2 + i];
              a2 = a[i0 + i] - c2 * a[i2 + i] - s2 * b[i2 + i];
              b0 = b[i0 + i] + c2 * b[i2 + i] - s2 * a[i2 + i];
              b2 = b[i0 + i] - c2 * b[i2 + i] + s2 * a[i2 + i];
              a1 = c1 * a[i1 + i] + s1 * b[i1 + i] + c3 * a[i3 + i] +
                   s3 * b[i3 + i];
              a3 = c1 * a[i1 + i] + s1 * b[i1 + i] - c3 * a[i3 + i] -
                   s3 * b[i3 + i];
              b1 = c1 * b[i1 + i] - s1 * a[i1 + i] + c3 * b[i3 + i] -
                   s3 * a[i3 + i];
              b3 = c1 * b[i1 + i] - s1 * a[i1 + i] - c3 * b[i3 + i] +
                   s3 * a[i3 + i];
              c[j0 + j] = a0 + a1;
              c[j2 + j] = a0 - a1;
              d[j0 + j] = b0 + b1;
              d[j2 + j] = b1 - b0;
              c[j1 + j] = a2 + b3;
              c[j3 + j] = a2 - b3;
              d[j1 + j] = b2 - a3;
              d[j3 + j] = -b2 - a3;
              i += inc3;
              j += inc4;
            }
            ibase += inc1;
            jbase += inc2;
          }
          j0 += jink;
          j1 += jink;
          j2 -= jink;
          j3 -= jink;
          ibase += jump;
        }
        if (j1 > j2)
          return 0;
      }
      jbase = 0;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          c[j0 + j] =
              a[i0 + i] + 0.707106781186547524401 * (a[i1 + i] - a[i3 + i]);
          c[j1 + j] =
              a[i0 + i] - 0.707106781186547524401 * (a[i1 + i] - a[i3 + i]);
          d[j0 + j] =
              -a[i2 + i] - 0.707106781186547524401 * (a[i1 + i] + a[i3 + i]);
          d[j1 + j] =
              a[i2 + i] - 0.707106781186547524401 * (a[i1 + i] + a[i3 + i]);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    } else {
      z = 1.0 / n;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a0p2 = a[i0 + i] + a[i2 + i];
          a1p3 = a[i1 + i] + a[i3 + i];
          c[j0 + j] = z * (a0p2 + a1p3);
          c[j2 + j] = z * (a0p2 - a1p3);
          c[j1 + j] = z * (a[i0 + i] - a[i2 + i]);
          d[j1 + j] = z * (a[i3 + i] - a[i1 + i]);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    }
    return 0;
  }
  case 5: {
    double a1p4, a2p3, b1p4, b2p3, a025, b025, asps, bsps, a0pq, b0pq;
    double a1m4, a2m3, b1m4, b2m3, aqrt, bqrt, asms, bsms, a0mq, b0mq;
    i0 = 0;
    i1 = i0 + iink;
    i2 = i1 + iink;
    i3 = i2 + iink;
    i4 = i3 + iink;
    j0 = 0;
    j1 = j0 + inc2 * (m + m - la);
    j2 = j1 + inc2 * (m + m);
    j3 = j2;
    j4 = j1;
    if (la != m) {
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a1p4 = a[i1 + i] + a[i4 + i];
          a1m4 = a[i1 + i] - a[i4 + i];
          a2p3 = a[i2 + i] + a[i3 + i];
          a2m3 = a[i2 + i] - a[i3 + i];
          a025 = a[i0 + i] - 0.25 * (a1p4 + a2p3);
          aqrt = 0.559016994374947 * (a1p4 - a2p3);
          c[j0 + j] = a[i0 + i] + a1p4 + a2p3;
          c[j1 + j] = a025 + aqrt;
          c[j2 + j] = a025 - aqrt;
          d[j1 + j] = -0.951056516295154 * a1m4 - 0.587785252292473 * a2m3;
          d[j2 + j] = -0.587785252292473 * a1m4 + 0.951056516295154 * a2m3;
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
      j0 += jink;
      jink += jink;
      j1 += jink;
      j2 += jink;
      j3 -= jink;
      j4 -= jink;
      ibase += jump;
      jump += jump + iink;
      if (j1 != j3) {
        for (k = la; k <= kstop; k += la) {
          kb = k + k;
          kc = kb + kb;
          kd = kc + kb;
          ke = kd + kb;
          c1 = trigs[kb];
          s1 = trigs[kb + 1];
          c2 = trigs[kc];
          s2 = trigs[kc + 1];
          c3 = trigs[kd];
          s3 = trigs[kd + 1];
          c4 = trigs[ke];
          s4 = trigs[ke + 1];
          jbase = 0;
          for (l = 0; l < la; ++l) {
            i = ibase;
            j = jbase;
            for (ijk = 0; ijk < lot; ++ijk) {
              a1p4 = c1 * a[i1 + i] + s1 * b[i1 + i] + c4 * a[i4 + i] +
                     s4 * b[i4 + i];
              a1m4 = c1 * a[i1 + i] + s1 * b[i1 + i] - c4 * a[i4 + i] -
                     s4 * b[i4 + i];
              a2p3 = c2 * a[i2 + i] + s2 * b[i2 + i] + c3 * a[i3 + i] +
                     s3 * b[i3 + i];
              a2m3 = c2 * a[i2 + i] + s2 * b[i2 + i] - c3 * a[i3 + i] -
                     s3 * b[i3 + i];
              b1p4 = c1 * b[i1 + i] - s1 * a[i1 + i] + c4 * b[i4 + i] -
                     s4 * a[i4 + i];
              b1m4 = c1 * b[i1 + i] - s1 * a[i1 + i] - c4 * b[i4 + i] +
                     s4 * a[i4 + i];
              b2p3 = c2 * b[i2 + i] - s2 * a[i2 + i] + c3 * b[i3 + i] -
                     s3 * a[i3 + i];
              b2m3 = c2 * b[i2 + i] - s2 * a[i2 + i] - c3 * b[i3 + i] +
                     s3 * a[i3 + i];
              a025 = a[i0 + i] - 0.25 * (a1p4 + a2p3);
              aqrt = 0.559016994374947 * (a1p4 - a2p3);
              b025 = b[i0 + i] - 0.25 * (b1p4 + b2p3);
              bqrt = 0.559016994374947 * (b1p4 - b2p3);
              a0pq = a025 + aqrt;
              a0mq = a025 - aqrt;
              b0pq = b025 + bqrt;
              b0mq = b025 - bqrt;
              asps = 0.951056516295154 * a1m4 + 0.587785252292473 * a2m3;
              asms = 0.587785252292473 * a1m4 - 0.951056516295154 * a2m3;
              bsps = 0.951056516295154 * b1m4 + 0.587785252292473 * b2m3;
              bsms = 0.587785252292473 * b1m4 - 0.951056516295154 * b2m3;
              c[j0 + j] = a[i0 + i] + a1p4 + a2p3;
              c[j1 + j] = a0pq + bsps;
              c[j2 + j] = a0mq + bsms;
              c[j3 + j] = a0mq - bsms;
              c[j4 + j] = a0pq - bsps;
              d[j0 + j] = b[i0 + i] + b1p4 + b2p3;
              d[j1 + j] = b0pq - asps;
              d[j2 + j] = b0mq - asms;
              d[j3 + j] = -b0mq - asms;
              d[j4 + j] = -b0pq - asps;
              i += inc3;
              j += inc4;
            }
            ibase += inc1;
            jbase += inc2;
          }
          j0 += jink;
          j1 += jink;
          j2 += jink;
          j3 -= jink;
          j4 -= jink;
          ibase += jump;
        }
        if (j1 > j3)
          return 0;
      }
      jbase = 0;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a1p4 = a[i1 + i] + a[i4 + i];
          a1m4 = a[i1 + i] - a[i4 + i];
          a2p3 = a[i2 + i] + a[i3 + i];
          a2m3 = a[i2 + i] - a[i3 + i];
          a025 = a[i0 + i] + 0.25 * (a1m4 - a2m3);
          aqrt = 0.559016994374947 * (a1m4 + a2m3);
          c[j0 + j] = a025 + aqrt;
          c[j1 + j] = a025 - aqrt;
          c[j2 + j] = a[i0 + i] - a1m4 + a2m3;
          d[j0 + j] = -0.587785252292473 * a1p4 - 0.951056516295154 * a2p3;
          d[j1 + j] = -0.951056516295154 * a1p4 + 0.587785252292473 * a2p3;
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    } else {
      z = 1.0 / n;
      y = 0.559016994374947 / n;
      x = 0.587785252292473 / n;
      w = 0.951056516295154 / n;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a1p4 = a[i1 + i] + a[i4 + i];
          a1m4 = a[i1 + i] - a[i4 + i];
          a2p3 = a[i2 + i] + a[i3 + i];
          a2m3 = a[i2 + i] - a[i3 + i];
          a025 = z * (a[i0 + i] - 0.25 * (a1p4 + a2p3));
          aqrt = y * (a1p4 - a2p3);
          c[j0 + j] = z * (a[i0 + i] + a1p4 + a2p3);
          c[j1 + j] = a025 + aqrt;
          c[j2 + j] = a025 - aqrt;
          d[j1 + j] = -w * a1m4 - x * a2m3;
          d[j2 + j] = w * a2m3 - x * a1m4;
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    }
    return 0;
  }
  case 6: {
    double ab1a, ab2a, ab3a, ab4a, ab5a;
    double ab1b, ab2b, ab3b, ab4b, ab5b;
    double a0p3, a1p4, a1p5, a2p4, a2p5;
    double a0m3, a1m4, a1m5, a2m4, a2m5;
    double b1p4, b2p5;
    double b1m4, b2m5;
    double ap05, bp05, ap60, bp60;
    double am05, bm05, am60, bm60;
    i0 = 0;
    i1 = i0 + iink;
    i2 = i1 + iink;
    i3 = i2 + iink;
    i4 = i3 + iink;
    i5 = i4 + iink;
    j0 = 0;
    j1 = j0 + inc2 * (m + m - la);
    j2 = j1 + inc2 * (m + m);
    j3 = j2 + inc2 * (m + m);
    j4 = j2;
    j5 = j1;
    if (la != m) {
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a0p3 = a[i0 + i] + a[i3 + i];
          a0m3 = a[i0 + i] - a[i3 + i];
          a1p4 = a[i1 + i] + a[i4 + i];
          a1m4 = a[i1 + i] - a[i4 + i];
          a2p5 = a[i2 + i] + a[i5 + i];
          a2m5 = a[i2 + i] - a[i5 + i];
          c[j0 + j] = a0p3 + a1p4 + a2p5;
          c[j3 + j] = a0m3 + a2m5 - a1m4;
          c[j1 + j] = a0m3 - 0.5 * (a2m5 - a1m4);
          c[j2 + j] = a0p3 - 0.5 * (a1p4 + a2p5);
          d[j1 + j] = 0.866025403784437 * (-a2m5 - a1m4);
          d[j2 + j] = 0.866025403784437 * (a2p5 - a1p4);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
      j0 += jink;
      jink += jink;
      j1 += jink;
      j2 += jink;
      j3 -= jink;
      j4 -= jink;
      j5 -= jink;
      ibase += jump;
      jump += jump + iink;
      if (j2 != j3) {
        for (k = la; k <= kstop; k += la) {
          kb = k + k;
          kc = kb + kb;
          kd = kc + kb;
          ke = kd + kb;
          kf = ke + kb;
          c1 = trigs[kb];
          s1 = trigs[kb + 1];
          c2 = trigs[kc];
          s2 = trigs[kc + 1];
          c3 = trigs[kd];
          s3 = trigs[kd + 1];
          c4 = trigs[ke];
          s4 = trigs[ke + 1];
          c5 = trigs[kf];
          s5 = trigs[kf + 1];
          jbase = 0;
          for (l = 0; l < la; ++l) {
            i = ibase;
            j = jbase;
            for (ijk = 0; ijk < lot; ++ijk) {
              ab1a = c1 * a[i1 + i] + s1 * b[i1 + i];
              ab1b = c1 * b[i1 + i] - s1 * a[i1 + i];
              ab2a = c2 * a[i2 + i] + s2 * b[i2 + i];
              ab2b = c2 * b[i2 + i] - s2 * a[i2 + i];
              ab3a = c3 * a[i3 + i] + s3 * b[i3 + i];
              ab3b = c3 * b[i3 + i] - s3 * a[i3 + i];
              ab4a = c4 * a[i4 + i] + s4 * b[i4 + i];
              ab4b = c4 * b[i4 + i] - s4 * a[i4 + i];
              ab5a = c5 * a[i5 + i] + s5 * b[i5 + i];
              ab5b = c5 * b[i5 + i] - s5 * a[i5 + i];
              a1p4 = ab1a + ab4a;
              a1m4 = ab1a - ab4a;
              a2p5 = ab2a + ab5a;
              a2m5 = ab2a - ab5a;
              b1p4 = ab1b + ab4b;
              b1m4 = ab1b - ab4b;
              b2p5 = ab2b + ab5b;
              b2m5 = ab2b - ab5b;
              ap05 = a[i0 + i] + ab3a - 0.5 * (a1p4 + a2p5);
              bp05 = b[i0 + i] + ab3b - 0.5 * (b1p4 + b2p5);
              am05 = a[i0 + i] - ab3a - 0.5 * (a2m5 - a1m4);
              bm05 = -b[i0 + i] + ab3b - 0.5 * (b1m4 - b2m5);
              ap60 = 0.866025403784437 * (a2p5 - a1p4);
              bp60 = 0.866025403784437 * (b2p5 - b1p4);
              am60 = 0.866025403784437 * (-a2m5 - a1m4);
              bm60 = 0.866025403784437 * (-b2m5 - b1m4);
              c[j0 + j] = a[i0 + i] + ab3a + a1p4 + a2p5;
              d[j0 + j] = b[i0 + i] + ab3b + b1p4 + b2p5;
              c[j1 + j] = am05 - bm60;
              d[j1 + j] = am60 - bm05;
              c[j2 + j] = ap05 - bp60;
              d[j2 + j] = ap60 + bp05;
              c[j3 + j] = a[i0 + i] - ab3a - a1m4 + a2m5;
              d[j3 + j] = -b[i0 + i] + ab3b + b1m4 - b2m5;
              c[j4 + j] = ap05 + bp60;
              d[j4 + j] = ap60 - bp05;
              c[j5 + j] = am05 + bm60;
              d[j5 + j] = am60 + bm05;
              i += inc3;
              j += inc4;
            }
            ibase += inc1;
            jbase += inc2;
          }
          j0 += jink;
          j1 += jink;
          j2 += jink;
          j3 -= jink;
          j4 -= jink;
          j5 -= jink;
          ibase += jump;
        }
        if (j2 > j3)
          return 0;
      }
      jbase = 0;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a1p5 = a[i1 + i] + a[i5 + i];
          a1m5 = a[i1 + i] - a[i5 + i];
          a2p4 = a[i2 + i] + a[i4 + i];
          a2m4 = a[i2 + i] - a[i4 + i];
          c[j0 + j] = a[i0 + i] + 0.5 * a2m4 + 0.866025403784437 * a1m5;
          d[j0 + j] = -a[i3 + i] - 0.5 * a1p5 - 0.866025403784437 * a2p4;
          c[j1 + j] = a[i0 + i] - a2m4;
          d[j1 + j] = a[i3 + i] - a1p5;
          c[j2 + j] = a[i0 + i] + 0.5 * a2m4 - 0.866025403784437 * a1m5;
          d[j2 + j] = -a[i3 + i] - 0.5 * a1p5 + 0.866025403784437 * a2p4;
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    } else {
      z = 1.0 / n;
      y = 0.866025403784437 / n;
      for (l = 0; l < la; ++l) {
        i = ibase;
        j = jbase;
        for (ijk = 0; ijk < lot; ++ijk) {
          a0p3 = a[i0 + i] + a[i3 + i];
          a0m3 = a[i0 + i] - a[i3 + i];
          a1p4 = a[i1 + i] + a[i4 + i];
          a1m4 = a[i1 + i] - a[i4 + i];
          a2p5 = a[i2 + i] + a[i5 + i];
          a2m5 = a[i2 + i] - a[i5 + i];
          c[j0 + j] = z * (a0p3 + a1p4 + a2p5);
          c[j3 + j] = z * (a0m3 + a2m5 - a1m4);
          c[j1 + j] = z * (a0m3 - 0.5 * (a2m5 - a1m4));
          c[j2 + j] = z * (a0p3 - 0.5 * (a1p4 + a2p5));
          d[j1 + j] = y * (-a2m5 - a1m4);
          d[j2 + j] = y * (a2p5 - a1p4);
          i += inc3;
          j += inc4;
        }
        ibase += inc1;
        jbase += inc2;
      }
    }
    return 0;
  }
  case 8: {
    double a0p4, a1p5, a2p6, a3p7;
    double a0m4, a1m5, a2m6, a3m7;
    if (la != m)
      return 3;
    i0 = 0;
    i1 = i0 + iink;
    i2 = i1 + iink;
    i3 = i2 + iink;
    i4 = i3 + iink;
    i5 = i4 + iink;
    i6 = i5 + iink;
    i7 = i6 + iink;
    j0 = 0;
    j1 = j0 + jink;
    j2 = j1 + jink;
    j3 = j2 + jink;
    j4 = j3 + jink;
    j5 = j4 + jink;
    j6 = j5 + jink;
    j7 = j6 + jink;
    z = 1.0 / n;
    y = 0.707106781186547524401 / n;
    for (l = 0; l < la; ++l) {
      i = ibase;
      j = jbase;
      for (ijk = 0; ijk < lot; ++ijk) {
        a0p4 = a[i0 + i] + a[i4 + i];
        a0m4 = a[i0 + i] - a[i4 + i];
        a1p5 = a[i1 + i] + a[i5 + i];
        a1m5 = a[i1 + i] - a[i5 + i];
        a2p6 = a[i2 + i] + a[i6 + i];
        a2m6 = a[i2 + i] - a[i6 + i];
        a3p7 = a[i3 + i] + a[i7 + i];
        a3m7 = a[i3 + i] - a[i7 + i];
        c[j0 + j] = z * (a0p4 + a1p5 + a2p6 + a3p7);
        c[j7 + j] = z * (a0p4 - a1p5 + a2p6 - a3p7);
        c[j3 + j] = z * (a0p4 - a2p6);
        c[j4 + j] = z * (a3p7 - a1p5);
        c[j1 + j] = z * a0m4 + y * (a1m5 - a3m7);
        c[j5 + j] = z * a0m4 - y * (a1m5 - a3m7);
        c[j2 + j] = -z * a2m6 - y * (a1m5 + a3m7);
        c[j6 + j] = z * a2m6 - y * (a1m5 + a3m7);
        i += inc3;
        j += inc4;
      }
      ibase += inc1;
      jbase += inc2;
    }
  }
  }
  return 0;
}


x86 assembly (clang, -O0):
<qpassc>:
push   %rbp
mov    %rsp,%rbp
sub    $0x398,%rsp
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    %r8,-0x30(%rbp)
mov    %r9,-0x38(%rbp)
mov    0x30(%rbp),%rax
mov    0x38(%rbp),%rcx
cqto
idiv   %rcx
mov    %rax,-0x110(%rbp)
mov    0x40(%rbp),%rax
mov    -0x38(%rbp),%rcx
imul   %rcx,%rax
mov    %rax,-0x130(%rbp)
mov    0x40(%rbp),%rax
mov    0x10(%rbp),%rcx
imul   %rcx,%rax
mov    %rax,-0x138(%rbp)
mov    0x38(%rbp),%rax
add    $0xffffffffffffffff,%rax
mov    -0x130(%rbp),%rcx
imul   %rcx,%rax
mov    %rax,-0x140(%rbp)
mov    0x30(%rbp),%rax
mov    0x38(%rbp),%rcx
sub    %rcx,%rax
add    %rcx,%rcx
cqto
idiv   %rcx
mov    %rax,-0x148(%rbp)
movq   $0x0,-0x120(%rbp)
movq   $0x0,-0x128(%rbp)
mov    0x38(%rbp),%rax
add    $0xfffffffffffffffe,%rax
mov    %rax,-0x418(%rbp)
sub    $0x6,%rax
ja     6e85 <qpassc+0x5d85>
mov    -0x418(%rbp),%rax
lea    0x5e86(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movq   $0x0,-0x80(%rbp)
movq   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x80(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
sub    0x40(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     1913 <qpassc+0x813>
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    1390 <qpassc+0x290>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    1355 <qpassc+0x255>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    128e <qpassc+0x18e>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    1256 <qpassc+0x156>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x88(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x140(%rbp),%rax
add    -0x130(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0x80(%rbp),%rax
cmp    -0x88(%rbp),%rax
je     17cf <qpassc+0x6cf>
mov    0x40(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0x148(%rbp),%rax
jg     17ad <qpassc+0x6ad>
mov    -0x100(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    175a <qpassc+0x65a>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    171f <qpassc+0x61f>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1b8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1b8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    14c1 <qpassc+0x3c1>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    1489 <qpassc+0x389>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x88(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x40(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    1419 <qpassc+0x319>
mov    -0x80(%rbp),%rax
cmp    -0x88(%rbp),%rax
jle    17ca <qpassc+0x6ca>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
jmp    17cf <qpassc+0x6cf>
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    190e <qpassc+0x80e>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    18d3 <qpassc+0x7d3>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    181d <qpassc+0x71d>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    17e5 <qpassc+0x6e5>
jmp    1a8f <qpassc+0x98f>
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x56e7(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    1a8a <qpassc+0x98a>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    1a4f <qpassc+0x94f>
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    1970 <qpassc+0x870>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    1938 <qpassc+0x838>
jmp    1a8f <qpassc+0x98f>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
movq   $0x0,-0xc0(%rbp)
mov    -0xc0(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0xc8(%rbp)
mov    -0xc8(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0xd0(%rbp)
movq   $0x0,-0xd8(%rbp)
mov    -0xd8(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
sub    0x40(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0xe0(%rbp)
mov    -0xe0(%rbp),%rax
mov    %rax,-0xe8(%rbp)
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     2649 <qpassc+0x1549>
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    1d08 <qpassc+0xc08>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    1ccd <qpassc+0xbcd>
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x53f6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
movsd  0x5399(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    1b68 <qpassc+0xa68>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    1b30 <qpassc+0xa30>
mov    -0x138(%rbp),%rax
add    -0xd8(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0x138(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
add    -0xe0(%rbp),%rax
mov    %rax,-0xe0(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xe8(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xe8(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x140(%rbp),%rax
add    -0x130(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0xd8(%rbp),%rax
cmp    -0xe8(%rbp),%rax
je     2456 <qpassc+0x1356>
mov    0x40(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0x148(%rbp),%rax
jg     2431 <qpassc+0x1331>
mov    -0x100(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    23c3 <qpassc+0x12c3>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    2388 <qpassc+0x1288>
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x180(%rbp),%xmm0
ff
movsd  0x4fdd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x1a0(%rbp),%xmm0
ff
movsd  0x4fa6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x4ec4(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x4dee(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x180(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x1a0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x188(%rbp),%xmm0
ff
addsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1a8(%rbp),%xmm0
ff
subsd  -0x190(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x188(%rbp),%xmm0
ff
subsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xe8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1a8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
subsd  -0x190(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xe8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    1e9d <qpassc+0xd9d>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    1e65 <qpassc+0xd65>
mov    -0x138(%rbp),%rax
add    -0xd8(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0x138(%rbp),%rax
add    -0xe0(%rbp),%rax
mov    %rax,-0xe0(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xe8(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xe8(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x40(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    1daf <qpassc+0xcaf>
mov    -0xd8(%rbp),%rax
cmp    -0xe8(%rbp),%rax
jle    2451 <qpassc+0x1351>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
jmp    2456 <qpassc+0x1356>
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    2644 <qpassc+0x1544>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    2609 <qpassc+0x1509>
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  0x4b26(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
movsd  0x4ac9(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    24a4 <qpassc+0x13a4>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    246c <qpassc+0x136c>
jmp    287d <qpassc+0x177d>
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x49b1(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x499f(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    2878 <qpassc+0x1778>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    283d <qpassc+0x173d>
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xd8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xc0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm1
movsd  0x488a(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x218(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0xd0(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0xc8(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0xe0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    26c0 <qpassc+0x15c0>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    2688 <qpassc+0x1588>
jmp    287d <qpassc+0x177d>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
movq   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x58(%rbp)
movq   $0x0,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
sub    0x40(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     36b6 <qpassc+0x25b6>
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    2b27 <qpassc+0x1a27>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    2aec <qpassc+0x19ec>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x228(%rbp),%xmm0
ff
addsd  -0x230(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x228(%rbp),%xmm0
ff
subsd  -0x230(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    2977 <qpassc+0x1877>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    293f <qpassc+0x183f>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x90(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x140(%rbp),%rax
add    -0x130(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0x88(%rbp),%rax
cmp    -0x90(%rbp),%rax
je     343f <qpassc+0x233f>
mov    0x40(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0x148(%rbp),%rax
jg     341a <qpassc+0x231a>
mov    -0x100(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    339a <qpassc+0x229a>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    335f <qpassc+0x225f>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x1c0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
addsd  -0x180(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x178(%rbp),%xmm0
ff
subsd  -0x180(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x198(%rbp),%xmm0
ff
addsd  -0x1a0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1a0(%rbp),%xmm0
ff
subsd  -0x198(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x188(%rbp),%xmm0
ff
addsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x188(%rbp),%xmm0
ff
subsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1a8(%rbp),%xmm0
ff
subsd  -0x190(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x1a8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
subsd  -0x190(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    2d14 <qpassc+0x1c14>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    2cdc <qpassc+0x1bdc>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x90(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x40(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    2be0 <qpassc+0x1ae0>
mov    -0x88(%rbp),%rax
cmp    -0x90(%rbp),%rax
jle    343a <qpassc+0x233a>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
jmp    343f <qpassc+0x233f>
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    36b1 <qpassc+0x25b1>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    3676 <qpassc+0x2576>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  0x3b1e(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  0x3b26(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x3aac(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x3a4c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    348d <qpassc+0x238d>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    3455 <qpassc+0x2355>
jmp    38f8 <qpassc+0x27f8>
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x3944(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    38f3 <qpassc+0x27f3>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    38b8 <qpassc+0x27b8>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x228(%rbp),%xmm1
ff
addsd  -0x230(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x228(%rbp),%xmm1
ff
subsd  -0x230(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    3713 <qpassc+0x2613>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    36db <qpassc+0x25db>
jmp    38f8 <qpassc+0x27f8>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
movq   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x60(%rbp)
movq   $0x0,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
sub    0x40(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     4ce4 <qpassc+0x3be4>
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    3cd1 <qpassc+0x2bd1>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    3c96 <qpassc+0x2b96>
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x238(%rbp),%xmm0
ff
addsd  -0x240(%rbp),%xmm0
ff
movsd  0x353c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x238(%rbp),%xmm1
ff
subsd  -0x240(%rbp),%xmm1
ff
movsd  0x350c(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x238(%rbp),%xmm0
ff
addsd  -0x240(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x258(%rbp),%xmm0
ff
addsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x258(%rbp),%xmm0
ff
subsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x288(%rbp),%xmm0
ff
movsd  0x3462(%rip),%xmm1
mulsd  -0x290(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x3453(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x288(%rbp),%xmm0
ff
movsd  0x3404(%rip),%xmm1
mulsd  -0x290(%rbp),%xmm1
ff
movsd  0x341c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    3a0f <qpassc+0x290f>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    39d7 <qpassc+0x28d7>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rax
add    -0x90(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa0(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x140(%rbp),%rax
add    -0x130(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0x88(%rbp),%rax
cmp    -0x98(%rbp),%rax
je     49d2 <qpassc+0x38d2>
mov    0x40(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0x148(%rbp),%rax
jg     49ad <qpassc+0x38ad>
mov    -0x100(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x160(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x168(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x168(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    4918 <qpassc+0x3818>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    48dd <qpassc+0x37dd>
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d0(%rbp),%xmm1
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1d0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1c8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x238(%rbp),%xmm0
ff
addsd  -0x240(%rbp),%xmm0
ff
movsd  0x2b5e(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x238(%rbp),%xmm1
ff
subsd  -0x240(%rbp),%xmm1
ff
movsd  0x2b2e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x248(%rbp),%xmm0
ff
addsd  -0x250(%rbp),%xmm0
ff
movsd  0x2afe(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x248(%rbp),%xmm1
ff
subsd  -0x250(%rbp),%xmm1
ff
movsd  0x2ace(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
addsd  -0x2a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
subsd  -0x2a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
addsd  -0x2b0(%rbp),%xmm0
ff
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
subsd  -0x2b0(%rbp),%xmm0
ff
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x288(%rbp),%xmm0
ff
movsd  0x2a4a(%rip),%xmm1
mulsd  -0x290(%rbp),%xmm1
ff
movsd  0x2a32(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x288(%rbp),%xmm0
ff
movsd  0x2a12(%rip),%xmm1
mulsd  -0x290(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x29f3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x298(%rbp),%xmm0
ff
movsd  0x29d3(%rip),%xmm1
mulsd  -0x2a0(%rbp),%xmm1
ff
movsd  0x29bb(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x298(%rbp),%xmm0
ff
movsd  0x299b(%rip),%xmm1
mulsd  -0x2a0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x297c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x238(%rbp),%xmm0
ff
addsd  -0x240(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x278(%rbp),%xmm0
ff
addsd  -0x270(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x2c8(%rbp),%xmm0
ff
addsd  -0x2c0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x2c8(%rbp),%xmm0
ff
subsd  -0x2c0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x278(%rbp),%xmm0
ff
subsd  -0x270(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xa0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x248(%rbp),%xmm0
ff
addsd  -0x250(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x280(%rbp),%xmm0
ff
subsd  -0x268(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x2d0(%rbp),%xmm0
ff
subsd  -0x2b8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x2d0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
subsd  -0x2b8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x280(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
subsd  -0x268(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xa0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    3f19 <qpassc+0x2e19>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    3ee1 <qpassc+0x2de1>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rax
add    -0x90(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa0(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x40(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    3d9f <qpassc+0x2c9f>
mov    -0x88(%rbp),%rax
cmp    -0x98(%rbp),%rax
jle    49cd <qpassc+0x38cd>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
jmp    49d2 <qpassc+0x38d2>
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    4cdf <qpassc+0x3bdf>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    4ca4 <qpassc+0x3ba4>
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movsd  -0x288(%rbp),%xmm0
ff
subsd  -0x290(%rbp),%xmm0
ff
movsd  0x2543(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x288(%rbp),%xmm1
ff
addsd  -0x290(%rbp),%xmm1
ff
movsd  0x24fb(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
addsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x258(%rbp),%xmm0
ff
subsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  -0x288(%rbp),%xmm0
ff
addsd  -0x290(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x238(%rbp),%xmm0
ff
movsd  0x2449(%rip),%xmm1
mulsd  -0x240(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x244a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x238(%rbp),%xmm0
ff
movsd  0x23fe(%rip),%xmm1
mulsd  -0x240(%rbp),%xmm1
ff
movsd  0x2406(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    4a20 <qpassc+0x3920>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    49e8 <qpassc+0x38e8>
jmp    509c <qpassc+0x3f9c>
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x2316(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x2334(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x2312(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x22f0(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    5097 <qpassc+0x3f97>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    505c <qpassc+0x3f5c>
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x238(%rbp),%xmm1
ff
addsd  -0x240(%rbp),%xmm1
ff
movsd  0x21b4(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x238(%rbp),%xmm1
ff
subsd  -0x240(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
addsd  -0x238(%rbp),%xmm1
ff
addsd  -0x240(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x258(%rbp),%xmm0
ff
addsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x258(%rbp),%xmm0
ff
subsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x208(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x288(%rbp),%xmm2
ff
movsd  -0x210(%rbp),%xmm1
ff
mulsd  -0x290(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x208(%rbp),%xmm0
ff
movsd  -0x290(%rbp),%xmm2
ff
movsd  -0x210(%rbp),%xmm1
ff
mulsd  -0x288(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    4d8f <qpassc+0x3c8f>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    4d57 <qpassc+0x3c57>
jmp    509c <qpassc+0x3f9c>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
movq   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x68(%rbp)
movq   $0x0,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
sub    0x40(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    0x10(%rbp),%rcx
mov    -0x110(%rbp),%rdx
add    -0x110(%rbp),%rdx
imul   %rdx,%rcx
add    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     64b6 <qpassc+0x53b6>
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    54e6 <qpassc+0x43e6>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    54ab <qpassc+0x43ab>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x328(%rbp),%xmm0
ff
addsd  -0x330(%rbp),%xmm0
ff
addsd  -0x348(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x350(%rbp),%xmm0
ff
addsd  -0x370(%rbp),%xmm0
ff
subsd  -0x358(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x350(%rbp),%xmm1
ff
movsd  -0x370(%rbp),%xmm0
ff
subsd  -0x358(%rbp),%xmm0
ff
movsd  0x1c83(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x328(%rbp),%xmm1
ff
movsd  -0x330(%rbp),%xmm0
ff
addsd  -0x348(%rbp),%xmm0
ff
movsd  0x1c44(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x370(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
subsd  -0x358(%rbp),%xmm1
ff
movsd  0x1bee(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x348(%rbp),%xmm1
ff
subsd  -0x330(%rbp),%xmm1
ff
movsd  0x1bbb(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    51e9 <qpassc+0x40e9>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    51b1 <qpassc+0x40b1>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rax
add    -0x90(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa0(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa8(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa8(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x140(%rbp),%rax
add    -0x130(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0x90(%rbp),%rax
cmp    -0x98(%rbp),%rax
je     6122 <qpassc+0x5022>
mov    0x40(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0x148(%rbp),%rax
jg     60fd <qpassc+0x4ffd>
mov    -0x100(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x160(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x168(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x170(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x150(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x158(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x160(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x168(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x168(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x170(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
mov    -0x30(%rbp),%rax
mov    -0x170(%rbp),%rcx
movsd  0x8(%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    6050 <qpassc+0x4f50>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    6015 <qpassc+0x4f15>
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1e8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x1c8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1f0(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x1c8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1f0(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x1d0(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1f8(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x1d0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x1f8(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm0
ff
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x200(%rbp),%xmm1
ff
mov    -0x18(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  -0x200(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x2d8(%rbp),%xmm0
ff
addsd  -0x2f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x2d8(%rbp),%xmm0
ff
subsd  -0x2f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm0
ff
addsd  -0x2f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm0
ff
subsd  -0x2f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x300(%rbp),%xmm0
ff
addsd  -0x318(%rbp),%xmm0
ff
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x300(%rbp),%xmm0
ff
subsd  -0x318(%rbp),%xmm0
ff
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0x308(%rbp),%xmm0
ff
addsd  -0x320(%rbp),%xmm0
ff
movsd  %xmm0,-0x380(%rbp)
ff
movsd  -0x308(%rbp),%xmm0
ff
subsd  -0x320(%rbp),%xmm0
ff
movsd  %xmm0,-0x390(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
addsd  -0x2e8(%rbp),%xmm1
ff
movsd  -0x330(%rbp),%xmm0
ff
addsd  -0x348(%rbp),%xmm0
ff
movsd  0x1444(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
addsd  -0x310(%rbp),%xmm1
ff
movsd  -0x378(%rbp),%xmm0
ff
addsd  -0x380(%rbp),%xmm0
ff
movsd  0x1400(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
subsd  -0x2e8(%rbp),%xmm1
ff
movsd  -0x370(%rbp),%xmm0
ff
subsd  -0x358(%rbp),%xmm0
ff
movsd  0x13bc(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  -0x310(%rbp),%xmm1
ff
movsd  -0x388(%rbp),%xmm0
ff
subsd  -0x390(%rbp),%xmm0
ff
movsd  0x1361(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x348(%rbp),%xmm1
ff
subsd  -0x330(%rbp),%xmm1
ff
movsd  0x1331(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x380(%rbp),%xmm1
ff
subsd  -0x378(%rbp),%xmm1
ff
movsd  0x130d(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
subsd  -0x358(%rbp),%xmm1
ff
movsd  0x12d2(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x390(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
subsd  -0x388(%rbp),%xmm1
ff
movsd  0x1297(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x2e8(%rbp),%xmm0
ff
addsd  -0x330(%rbp),%xmm0
ff
addsd  -0x348(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x310(%rbp),%xmm0
ff
addsd  -0x378(%rbp),%xmm0
ff
addsd  -0x380(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3b8(%rbp),%xmm0
ff
subsd  -0x3d0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3c8(%rbp),%xmm0
ff
subsd  -0x3c0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x398(%rbp),%xmm0
ff
subsd  -0x3b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3a8(%rbp),%xmm0
ff
addsd  -0x3a0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  -0x2e8(%rbp),%xmm0
ff
subsd  -0x358(%rbp),%xmm0
ff
addsd  -0x370(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
addsd  -0x310(%rbp),%xmm0
ff
addsd  -0x388(%rbp),%xmm0
ff
subsd  -0x390(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x398(%rbp),%xmm0
ff
addsd  -0x3b0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xa0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3a8(%rbp),%xmm0
ff
subsd  -0x3a0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xa0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3b8(%rbp),%xmm0
ff
addsd  -0x3d0(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0xa8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x3c8(%rbp),%xmm0
ff
addsd  -0x3c0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0xa8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    578c <qpassc+0x468c>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    5754 <qpassc+0x4654>
mov    -0x138(%rbp),%rax
add    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x138(%rbp),%rax
add    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x138(%rbp),%rax
add    -0x90(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0x98(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa0(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0x138(%rbp),%rcx
mov    -0xa8(%rbp),%rax
sub    %rcx,%rax
mov    %rax,-0xa8(%rbp)
mov    -0x140(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x40(%rbp),%rax
add    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    55cc <qpassc+0x44cc>
mov    -0x90(%rbp),%rax
cmp    -0x98(%rbp),%rax
jle    611d <qpassc+0x501d>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
jmp    6122 <qpassc+0x5022>
movq   $0x0,-0x128(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    64b1 <qpassc+0x53b1>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    6476 <qpassc+0x5376>
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x368(%rbp),%xmm1
ff
movsd  0xdc3(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x360(%rbp),%xmm0
ff
movsd  0xd93(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x338(%rbp),%xmm1
ff
movsd  0xd44(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x340(%rbp),%xmm0
ff
movsd  0xd34(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  -0x368(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
subsd  -0x338(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  -0x368(%rbp),%xmm1
ff
movsd  0xc96(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x360(%rbp),%xmm0
ff
movsd  0xc76(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x338(%rbp),%xmm1
ff
movsd  0xc14(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x340(%rbp),%xmm0
ff
movsd  0xbf4(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    6170 <qpassc+0x5070>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    6138 <qpassc+0x5038>
jmp    685f <qpassc+0x575f>
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0xb44(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0xb32(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    685a <qpassc+0x575a>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    681f <qpassc+0x571f>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x328(%rbp),%xmm1
ff
addsd  -0x330(%rbp),%xmm1
ff
addsd  -0x348(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x350(%rbp),%xmm1
ff
addsd  -0x370(%rbp),%xmm1
ff
subsd  -0x358(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x350(%rbp),%xmm2
ff
movsd  -0x370(%rbp),%xmm1
ff
subsd  -0x358(%rbp),%xmm1
ff
movsd  0x91f(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x328(%rbp),%xmm2
ff
movsd  -0x330(%rbp),%xmm1
ff
addsd  -0x348(%rbp),%xmm1
ff
movsd  0x8d4(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x370(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
subsd  -0x358(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x348(%rbp),%xmm1
ff
subsd  -0x330(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    652d <qpassc+0x542d>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    64f5 <qpassc+0x53f5>
jmp    685f <qpassc+0x575f>
movl   $0x0,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
mov    0x40(%rbp),%rax
cmp    -0x110(%rbp),%rax
je     6888 <qpassc+0x5788>
movl   $0x3,-0x4(%rbp)
jmp    6e8c <qpassc+0x5d8c>
movq   $0x0,-0x40(%rbp)
mov    -0x40(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x78(%rbp)
movq   $0x0,-0x80(%rbp)
mov    -0x80(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
add    -0x138(%rbp),%rax
mov    %rax,-0xb8(%rbp)
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x669(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
cvtsi2sdq 0x30(%rbp),%xmm1
movsd  0x647(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
cmp    0x40(%rbp),%rax
jge    6e80 <qpassc+0x5d80>
mov    -0x120(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movq   $0x0,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    0x28(%rbp),%rax
jge    6e45 <qpassc+0x5d45>
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x3d8(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x60(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x3e0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x48(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x68(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x70(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x3e8(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x50(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x70(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x78(%rbp),%rcx
add    -0xf0(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x3f0(%rbp)
ff
mov    -0x10(%rbp),%rax
mov    -0x58(%rbp),%rcx
add    -0xf0(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
mov    -0x78(%rbp),%rcx
add    -0xf0(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x410(%rbp)
ff
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3d8(%rbp),%xmm1
ff
addsd  -0x3e0(%rbp),%xmm1
ff
addsd  -0x3e8(%rbp),%xmm1
ff
addsd  -0x3f0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x80(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3d8(%rbp),%xmm1
ff
subsd  -0x3e0(%rbp),%xmm1
ff
addsd  -0x3e8(%rbp),%xmm1
ff
subsd  -0x3f0(%rbp),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xb8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3d8(%rbp),%xmm1
ff
subsd  -0x3e8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x98(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3f0(%rbp),%xmm1
ff
subsd  -0x3e0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xa0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3f8(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm1
ff
movsd  -0x400(%rbp),%xmm3
ff
subsd  -0x410(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x88(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x3f8(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm1
ff
movsd  -0x400(%rbp),%xmm3
ff
subsd  -0x410(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xa8(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x408(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm1
ff
movsd  -0x400(%rbp),%xmm3
ff
addsd  -0x410(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0x90(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x408(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm1
ff
movsd  -0x400(%rbp),%xmm3
ff
addsd  -0x410(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
mov    -0xb0(%rbp),%rcx
add    -0xf8(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
add    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    0x20(%rbp),%rax
add    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x118(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x118(%rbp)
jmp    6a08 <qpassc+0x5908>
mov    -0x38(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    0x10(%rbp),%rax
add    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x108(%rbp)
jmp    69d0 <qpassc+0x58d0>
jmp    6e85 <qpassc+0x5d85>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x398,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<qpassc>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x308,%rsp
mov    %r9,-0x68(%rsp)
mov    %r8,0x220(%rsp)
mov    %rcx,-0x18(%rsp)
mov    %rdx,%r14
mov    %rsi,0xe0(%rsp)
mov    %rdi,%r11
mov    0x368(%rsp),%rsi
mov    0x360(%rsp),%r8
mov    %r8,%rax
or     %rsi,%rax
shr    $0x20,%rax
je     115a <qpassc+0x5a>
mov    %r8,%rax
cqto
idiv   %rsi
mov    %rax,%r10
jmp    1164 <qpassc+0x64>
mov    %r8d,%eax
xor    %edx,%edx
div    %esi
mov    %eax,%r10d
mov    %r8,%rax
sub    %rsi,%rax
lea    (%rsi,%rsi,1),%rcx
mov    %rax,%rdx
or     %rcx,%rdx
shr    $0x20,%rdx
je     1181 <qpassc+0x81>
cqto
idiv   %rcx
jmp    1185 <qpassc+0x85>
xor    %edx,%edx
div    %ecx
xor    %edx,%edx
lea    -0x2(%rsi),%rbx
cmp    $0x6,%rbx
ja     3b71 <qpassc+0x2a71>
mov    0x370(%rsp),%r12
mov    0x340(%rsp),%rdx
mov    %r12,%rdi
imul   -0x68(%rsp),%rdi
add    $0xffffffffffffffff,%rsi
mov    0x350(%rsp),%rcx
mov    %rcx,0x28(%rsp)
mov    0x348(%rsp),%r13
mov    %r12,%rbp
mov    %rdx,%rcx
mov    %rdx,0x20(%rsp)
imul   %rdx,%rbp
mov    %rdi,%rcx
mov    %rdi,-0x70(%rsp)
imul   %rdi,%rsi
lea    0x4e97(%rip),%rcx
movslq (%rcx,%rbx,4),%rdi
add    %rcx,%rdi
xor    %edx,%edx
mov    %r11,-0x78(%rsp)
mov    %r14,-0x48(%rsp)
mov    %rax,0xd8(%rsp)
jmp    *%rdi
lea    (%r10,%r10,1),%rcx
sub    %r12,%rcx
imul   0x340(%rsp),%rcx
cmp    %r12,%r10
mov    %rcx,-0x10(%rsp)
jne    1fcd <qpassc+0xecd>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
cvtsi2sd %r8,%xmm1
movsd  0x4dc1(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    0x358(%rsp),%rdx
lea    (%rcx,%rdx,1),%rax
mov    %rax,0x70(%rsp)
mov    -0x70(%rsp),%rax
add    %rdx,%rax
mov    %rax,0xc0(%rsp)
mov    %r13,%rax
xor    $0x1,%rax
mov    0x350(%rsp),%rsi
mov    %rsi,%rcx
xor    $0x1,%rcx
or     %rax,%rcx
setne  0x40(%rsp)
and    $0xfffffffffffffffe,%rdx
mov    %rdx,%rax
imul   %r13,%rax
mov    %rax,0x120(%rsp)
mov    %rdx,0xb0(%rsp)
imul   %rsi,%rdx
mov    %rdx,0x110(%rsp)
movapd %xmm0,%xmm1
unpcklpd %xmm0,%xmm1
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,-0x60(%rsp)
mov    %rsi,%r15
shl    $0x4,%r15
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,(%rsp)
mov    %r13,%rdx
shl    $0x4,%rdx
shl    $0x3,%r13
shl    $0x3,%rsi
mov    %rsi,0x28(%rsp)
xor    %esi,%esi
xor    %r9d,%r9d
xor    %r8d,%r8d
mov    %r13,-0x30(%rsp)
jmp    1338 <qpassc+0x238>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
add    -0x68(%rsp),%r9
add    0x340(%rsp),%r8
add    $0x1,%rsi
add    -0x60(%rsp),%r14
add    (%rsp),%r11
cmp    0x370(%rsp),%rsi
je     3b6f <qpassc+0x2a6f>
cmpq   $0x0,0x358(%rsp)
jle    1310 <qpassc+0x210>
mov    0x358(%rsp),%rdi
cmp    $0x1,%rdi
sete   %al
or     0x40(%rsp),%al
je     13d0 <qpassc+0x2d0>
mov    %r9,%rcx
mov    %r8,%rbx
xor    %edi,%edi
mov    0x28(%rsp),%rbp
mov    -0x10(%rsp),%r12
mov    -0x70(%rsp),%rax
lea    (%rax,%rcx,1),%r10
mov    -0x48(%rsp),%rax
lea    (%rax,%rbx,8),%rax
mov    0x358(%rsp),%rbx
sub    %rdi,%rbx
mov    -0x78(%rsp),%rdi
nopl   0x0(%rax)
movsd  (%rdi,%rcx,8),%xmm2
addsd  (%rdi,%r10,8),%xmm2
mulsd  %xmm0,%xmm2
movsd  %xmm2,(%rax)
movsd  (%rdi,%rcx,8),%xmm2
subsd  (%rdi,%r10,8),%xmm2
mulsd  %xmm0,%xmm2
movsd  %xmm2,(%rax,%r12,8)
add    %r13,%rdi
add    %rbp,%rax
add    $0xffffffffffffffff,%rbx
jne    1390 <qpassc+0x290>
jmp    1310 <qpassc+0x210>
nopl   0x0(%rax)
lea    (%r8,%rdi,1),%rax
mov    -0x10(%rsp),%rcx
lea    (%rcx,%r8,1),%r12
mov    0x70(%rsp),%rcx
lea    (%rcx,%r8,1),%rbp
lea    (%r9,%rdi,1),%rcx
mov    %rcx,0x50(%rsp)
mov    0xc0(%rsp),%rcx
lea    (%rcx,%r9,1),%r10
mov    -0x48(%rsp),%rcx
lea    (%rcx,%r8,8),%rbx
lea    (%rcx,%rax,8),%rax
lea    (%rcx,%r12,8),%rdi
mov    -0x78(%rsp),%r13
lea    (%rcx,%rbp,8),%r12
lea    0x0(%r13,%r9,8),%rcx
mov    0x50(%rsp),%rbp
lea    0x0(,%rbp,8),%rbp
add    %r13,%rbp
lea    0x0(,%r10,8),%r10
add    %r13,%r10
cmp    %r12,%rbx
setb   0x50(%rsp)
cmp    %rax,%rdi
setb   0x30(%rsp)
cmp    %rbp,%rbx
setb   -0x40(%rsp)
cmp    %rax,%rcx
setb   -0x38(%rsp)
cmp    %r10,%rbx
mov    -0x70(%rsp),%rbx
lea    (%rbx,%r9,1),%rbx
lea    0x0(%r13,%rbx,8),%rbx
setb   %r13b
cmp    %rax,%rbx
setb   0x90(%rsp)
cmp    %rbp,%rdi
setb   %al
cmp    %r12,%rcx
setb   0x60(%rsp)
cmp    %r10,%rdi
setb   %bpl
cmp    %r12,%rbx
setb   %r10b
mov    0x30(%rsp),%cl
test   %cl,0x50(%rsp)
jne    157e <qpassc+0x47e>
mov    -0x38(%rsp),%cl
and    %cl,-0x40(%rsp)
jne    157e <qpassc+0x47e>
and    0x90(%rsp),%r13b
mov    -0x30(%rsp),%r13
jne    1358 <qpassc+0x258>
and    0x60(%rsp),%al
jne    1358 <qpassc+0x258>
mov    %r9,%rcx
mov    %r8,%rbx
mov    $0x0,%edi
and    %r10b,%bpl
mov    0x28(%rsp),%rbp
mov    -0x10(%rsp),%r12
jne    136a <qpassc+0x26a>
mov    0x120(%rsp),%rax
lea    (%r9,%rax,1),%rcx
mov    0x110(%rsp),%rax
lea    (%r8,%rax,1),%r10
mov    %r11,%rbx
mov    %r14,%rdi
mov    0xb0(%rsp),%rax
mov    -0x70(%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movupd (%rbx),%xmm2
movupd (%rbx,%rbp,8),%xmm3
addpd  %xmm2,%xmm3
mulpd  %xmm1,%xmm3
movupd %xmm3,(%rdi)
movupd (%rbx),%xmm2
movupd (%rbx,%rbp,8),%xmm3
subpd  %xmm3,%xmm2
mulpd  %xmm1,%xmm2
movupd %xmm2,(%rdi,%r12,8)
add    %r15,%rdi
add    %rdx,%rbx
add    $0xfffffffffffffffe,%rax
jne    1520 <qpassc+0x420>
mov    0xb0(%rsp),%rax
mov    %rax,%rdi
cmp    0x358(%rsp),%rax
mov    0x28(%rsp),%rbp
mov    %r10,%rbx
je     1310 <qpassc+0x210>
jmp    136a <qpassc+0x26a>
mov    %r9,%rcx
mov    %r8,%rbx
xor    %edi,%edi
mov    0x28(%rsp),%rbp
mov    -0x30(%rsp),%r13
jmp    1365 <qpassc+0x265>
lea    (%r10,%r10,1),%rax
mov    %rax,%rbx
sub    %r12,%rbx
imul   0x340(%rsp),%rbx
cmp    %r12,%r10
jne    2394 <qpassc+0x1294>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
cvtsi2sd %r8,%xmm2
movsd  0x4a34(%rip),%xmm0
divsd  %xmm2,%xmm0
movsd  0x4a40(%rip),%xmm1
divsd  %xmm2,%xmm1
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
mov    -0x70(%rsp),%rcx
mov    %rcx,%rax
shl    $0x4,%rax
mov    -0x18(%rsp),%rdx
lea    (%rdx,%rbx,8),%r10
shlq   $0x3,0x20(%rsp)
mov    0x350(%rsp),%rsi
shl    $0x3,%rsi
lea    (%r14,%rbx,8),%rdx
xor    %r9d,%r9d
movsd  0x49f4(%rip),%xmm2
mov    0x358(%rsp),%r8
jmp    1650 <qpassc+0x550>
cs nopw 0x0(%rax,%rax,1)
add    $0x1,%r9
add    -0x68(%rsp),%r11
mov    0x20(%rsp),%rdi
add    %rdi,%r10
add    %rdi,%rdx
add    %rdi,%r14
cmp    %r12,%r9
je     3b6f <qpassc+0x2a6f>
test   %r8,%r8
jle    1630 <qpassc+0x530>
mov    %r8,%rdi
xor    %ebp,%ebp
mov    %r11,%rbx
nopl   (%rax)
movsd  (%rbx),%xmm3
addsd  (%rbx,%rcx,8),%xmm3
addsd  (%rbx,%rax,1),%xmm3
mulsd  %xmm0,%xmm3
movsd  %xmm3,(%r14,%rbp,1)
movsd  (%rbx,%rcx,8),%xmm3
addsd  (%rbx,%rax,1),%xmm3
mulsd  %xmm2,%xmm3
addsd  (%rbx),%xmm3
mulsd  %xmm0,%xmm3
movsd  %xmm3,(%rdx,%rbp,1)
movsd  (%rbx,%rax,1),%xmm3
subsd  (%rbx,%rcx,8),%xmm3
mulsd  %xmm1,%xmm3
movsd  %xmm3,(%r10,%rbp,1)
add    %r13,%rbx
add    %rsi,%rbp
add    $0xffffffffffffffff,%rdi
jne    1660 <qpassc+0x560>
jmp    1630 <qpassc+0x530>
lea    (%r10,%r10,1),%rcx
mov    %rcx,%r9
sub    %r12,%r9
mov    0x340(%rsp),%rax
imul   %rax,%r9
mov    %rcx,%rbx
imul   %rax,%rbx
add    %r9,%rbx
cmp    %r12,%r10
jne    24c9 <qpassc+0x13c9>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
mov    %r11,%r12
cvtsi2sd %r8,%xmm1
movsd  0x4901(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x70(%rsp),%rdi
mov    %rdi,%rax
shl    $0x4,%rax
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
lea    0x0(,%rdi,8),%rcx
lea    (%rcx,%rcx,2),%rdx
lea    (%r14,%rbx,8),%r10
shlq   $0x3,0x20(%rsp)
mov    0x350(%rsp),%r11
shl    $0x3,%r11
mov    -0x18(%rsp),%rcx
lea    (%rcx,%r9,8),%r15
lea    (%r14,%r9,8),%rcx
xor    %r8d,%r8d
mov    0x358(%rsp),%r9
jmp    1788 <qpassc+0x688>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x1,%r8
add    -0x68(%rsp),%r12
mov    0x20(%rsp),%rsi
add    %rsi,%r10
add    %rsi,%r15
add    %rsi,%rcx
add    %rsi,%r14
cmp    0x370(%rsp),%r8
je     3b6f <qpassc+0x2a6f>
test   %r9,%r9
jle    1760 <qpassc+0x660>
mov    %r9,%rbx
xor    %ebp,%ebp
mov    %r12,%rsi
cs nopw 0x0(%rax,%rax,1)
nop
movsd  (%rsi),%xmm1
addsd  (%rsi,%rax,1),%xmm1
movsd  (%rsi,%rdi,8),%xmm2
addsd  (%rsi,%rdx,1),%xmm2
movapd %xmm1,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm0,%xmm3
movsd  %xmm3,(%r14,%rbp,1)
subsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%r10,%rbp,1)
movsd  (%rsi),%xmm1
subsd  (%rsi,%rax,1),%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%rcx,%rbp,1)
movsd  (%rsi,%rdx,1),%xmm1
subsd  (%rsi,%rdi,8),%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%r15,%rbp,1)
add    %r13,%rsi
add    %r11,%rbp
add    $0xffffffffffffffff,%rbx
jne    17a0 <qpassc+0x6a0>
jmp    1760 <qpassc+0x660>
lea    (%r10,%r10,1),%rcx
mov    %rcx,%rdi
sub    %r12,%rdi
mov    0x340(%rsp),%rax
imul   %rax,%rdi
mov    %rcx,%r9
imul   %rax,%r9
add    %rdi,%r9
cmp    %r12,%r10
jne    2635 <qpassc+0x1535>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
cvtsi2sd %r8,%xmm5
movsd  0x47b1(%rip),%xmm12
divsd  %xmm5,%xmm12
movsd  0x47db(%rip),%xmm9
divsd  %xmm5,%xmm9
movsd  0x47e5(%rip),%xmm10
divsd  %xmm5,%xmm10
movapd 0x47f7(%rip),%xmm11
xorpd  %xmm10,%xmm11
movsd  0x47ba(%rip),%xmm4
divsd  %xmm5,%xmm4
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
mov    -0x70(%rsp),%rax
mov    %rax,%r10
shl    $0x5,%r10
mov    %rax,%r11
shl    $0x4,%r11
lea    0x0(,%rax,8),%rax
mov    %r14,%rcx
lea    (%rax,%rax,2),%r14
mov    -0x18(%rsp),%rax
lea    (%rax,%rdi,8),%rsi
shlq   $0x3,0x20(%rsp)
mov    0x350(%rsp),%r15
shl    $0x3,%r15
lea    (%rcx,%rdi,8),%rdi
lea    (%rax,%r9,8),%rbp
lea    (%rcx,%r9,8),%rbx
xor    %r8d,%r8d
movsd  0x4747(%rip),%xmm8
mov    -0x70(%rsp),%r12
jmp    192a <qpassc+0x82a>
add    $0x1,%r8
mov    -0x78(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x78(%rsp)
mov    0x20(%rsp),%rax
add    %rax,%rsi
add    %rax,%rdi
add    %rax,%rbp
add    %rax,%rbx
add    %rax,%r9
mov    %r9,-0x48(%rsp)
cmp    0x370(%rsp),%r8
je     3b6f <qpassc+0x2a6f>
cmpq   $0x0,0x358(%rsp)
mov    -0x48(%rsp),%r9
jle    18f0 <qpassc+0x7f0>
mov    0x358(%rsp),%rax
xor    %ecx,%ecx
mov    -0x78(%rsp),%rdx
nopl   0x0(%rax)
movsd  (%rdx,%r12,8),%xmm3
movsd  (%rdx,%r10,1),%xmm7
movapd %xmm3,%xmm5
addsd  %xmm7,%xmm5
subsd  %xmm7,%xmm3
movsd  (%rdx,%r11,1),%xmm7
movsd  (%rdx,%r14,1),%xmm1
movapd %xmm7,%xmm2
addsd  %xmm1,%xmm2
subsd  %xmm1,%xmm7
movsd  (%rdx),%xmm1
movapd %xmm5,%xmm6
addsd  %xmm2,%xmm6
mulsd  %xmm8,%xmm6
addsd  %xmm1,%xmm6
mulsd  %xmm12,%xmm6
movapd %xmm5,%xmm0
subsd  %xmm2,%xmm0
mulsd  %xmm9,%xmm0
addsd  %xmm1,%xmm5
addsd  %xmm2,%xmm5
mulsd  %xmm12,%xmm5
movsd  %xmm5,(%r9,%rcx,1)
movapd %xmm0,%xmm1
addsd  %xmm6,%xmm1
movsd  %xmm1,(%rdi,%rcx,1)
subsd  %xmm0,%xmm6
movsd  %xmm6,(%rbx,%rcx,1)
movapd %xmm4,%xmm0
mulsd  %xmm7,%xmm0
movapd %xmm11,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rsi,%rcx,1)
mulsd  %xmm4,%xmm3
mulsd  %xmm10,%xmm7
addsd  %xmm3,%xmm7
movsd  %xmm7,0x0(%rbp,%rcx,1)
add    %r13,%rdx
add    %r15,%rcx
add    $0xffffffffffffffff,%rax
jne    1950 <qpassc+0x850>
jmp    18f0 <qpassc+0x7f0>
mov    $0x3,%edx
cmp    %r12,%r10
jne    3b71 <qpassc+0x2a71>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
cvtsi2sd %r8,%xmm1
movsd  0x45c4(%rip),%xmm11
divsd  %xmm1,%xmm11
movsd  0x45be(%rip),%xmm8
divsd  %xmm1,%xmm8
movapd 0x4618(%rip),%xmm9
movapd %xmm11,%xmm10
xorpd  %xmm9,%xmm10
xorpd  %xmm8,%xmm9
mov    -0x70(%rsp),%rcx
mov    %rcx,%rax
shl    $0x5,%rax
mov    %rax,0x40(%rsp)
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
mov    %r13,-0x30(%rsp)
lea    0x0(,%rcx,8),%rax
lea    (%rax,%rax,4),%rdx
mov    %rdx,0x50(%rsp)
mov    %rcx,%rdx
shl    $0x4,%rdx
mov    %rdx,0x30(%rsp)
lea    (%rdx,%rdx,2),%rdx
mov    %rdx,-0x40(%rsp)
lea    (%rax,%rax,2),%rax
mov    %rax,-0x38(%rsp)
imul   $0x38,%rcx,%rax
mov    %rax,0x90(%rsp)
mov    %r12,%rsi
mov    0x340(%rsp),%rax
imul   %rax,%rsi
imul   $0x38,%rsi,%rcx
mov    %rcx,0x70(%rsp)
shl    $0x3,%rax
mov    %rax,0x20(%rsp)
shlq   $0x3,0x28(%rsp)
lea    0x0(,%rsi,8),%rax
lea    (%rax,%rax,2),%rcx
mov    %rcx,0xc0(%rsp)
mov    %rsi,%rcx
shl    $0x5,%rcx
mov    %rcx,0xb0(%rsp)
lea    (%rax,%rax,4),%rax
mov    %rax,0x120(%rsp)
mov    %rsi,0x60(%rsp)
shl    $0x4,%rsi
mov    %rsi,0x110(%rsp)
lea    (%rsi,%rsi,2),%rax
mov    %rax,(%rsp)
xor    %ecx,%ecx
mov    0x40(%rsp),%rdi
mov    0x30(%rsp),%rbx
mov    -0x40(%rsp),%rdx
mov    -0x38(%rsp),%rbp
mov    0x90(%rsp),%rsi
jmp    1b95 <qpassc+0xa95>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    -0x10(%rsp),%rcx
add    $0x1,%rcx
mov    -0x78(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x78(%rsp)
mov    -0x48(%rsp),%rax
add    0x20(%rsp),%rax
mov    %rax,-0x48(%rsp)
cmp    0x370(%rsp),%rcx
je     3b6f <qpassc+0x2a6f>
mov    %rcx,-0x10(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    0x50(%rsp),%rcx
mov    0x60(%rsp),%r15
mov    0x70(%rsp),%r13
mov    0xc0(%rsp),%r9
mov    0xb0(%rsp),%r10
mov    0x120(%rsp),%r11
mov    0x110(%rsp),%r14
jle    1b60 <qpassc+0xa60>
mov    0x358(%rsp),%rax
mov    -0x48(%rsp),%r12
mov    -0x78(%rsp),%r8
cs nopw 0x0(%rax,%rax,1)
mov    %rax,-0x60(%rsp)
movsd  (%r8),%xmm1
movsd  (%r8,%rdi,1),%xmm2
movapd %xmm1,%xmm5
addsd  %xmm2,%xmm5
subsd  %xmm2,%xmm1
mov    %r14,%rax
mov    %r11,%r14
mov    %r10,%r11
mov    %r9,%r10
mov    %r13,%r9
mov    %r15,%r13
mov    -0x70(%rsp),%r15
movsd  (%r8,%r15,8),%xmm12
mov    %r13,%r15
mov    %r9,%r13
mov    %r10,%r9
mov    %r11,%r10
mov    %r14,%r11
mov    %rax,%r14
movsd  (%r8,%rcx,1),%xmm4
movapd %xmm12,%xmm6
addsd  %xmm4,%xmm6
subsd  %xmm4,%xmm12
movsd  (%r8,%rbx,1),%xmm4
movsd  (%r8,%rdx,1),%xmm7
movapd %xmm4,%xmm3
addsd  %xmm7,%xmm3
subsd  %xmm7,%xmm4
movsd  (%r8,%rbp,1),%xmm2
movsd  (%r8,%rsi,1),%xmm0
movapd %xmm2,%xmm7
addsd  %xmm0,%xmm7
subsd  %xmm0,%xmm2
movapd %xmm5,%xmm0
addsd  %xmm6,%xmm0
addsd  %xmm3,%xmm0
addsd  %xmm7,%xmm0
mulsd  %xmm11,%xmm0
movsd  %xmm0,(%r12)
movapd %xmm5,%xmm0
subsd  %xmm6,%xmm0
addsd  %xmm3,%xmm0
subsd  %xmm7,%xmm0
mulsd  %xmm11,%xmm0
movsd  %xmm0,(%r12,%r13,1)
subsd  %xmm3,%xmm5
mulsd  %xmm11,%xmm5
movsd  %xmm5,(%r12,%r9,1)
subsd  %xmm6,%xmm7
mulsd  %xmm11,%xmm7
movsd  %xmm7,(%r12,%r10,1)
movapd %xmm12,%xmm0
subsd  %xmm2,%xmm0
mulsd  %xmm8,%xmm0
mulsd  %xmm11,%xmm1
movapd %xmm1,%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,(%r12,%r15,8)
subsd  %xmm0,%xmm1
movsd  %xmm1,(%r12,%r11,1)
addsd  %xmm12,%xmm2
mulsd  %xmm9,%xmm2
movapd %xmm10,%xmm0
mulsd  %xmm4,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,(%r12,%rax,1)
mulsd  %xmm11,%xmm4
addsd  %xmm2,%xmm4
mov    (%rsp),%rax
movsd  %xmm4,(%r12,%rax,1)
mov    -0x60(%rsp),%rax
add    -0x30(%rsp),%r8
add    0x28(%rsp),%r12
add    $0xffffffffffffffff,%rax
jne    1bf0 <qpassc+0xaf0>
jmp    1b60 <qpassc+0xa60>
lea    (%r10,%r10,1),%rcx
mov    %rcx,%rdi
sub    %r12,%rdi
mov    0x340(%rsp),%rax
imul   %rax,%rdi
mov    %rcx,%rbx
imul   %rax,%rbx
lea    (%rdi,%rbx,1),%r9
add    %r9,%rbx
cmp    %r12,%r10
jne    286d <qpassc+0x176d>
mov    $0x0,%edx
test   %r12,%r12
jle    3b71 <qpassc+0x2a71>
cvtsi2sd %r8,%xmm2
movsd  0x426c(%rip),%xmm0
divsd  %xmm2,%xmm0
movsd  0x4277(%rip),%xmm10
divsd  %xmm2,%xmm10
mov    -0x70(%rsp),%rcx
lea    0x0(,%rcx,8),%rax
lea    (%rax,%rax,2),%rdx
mov    %rdx,-0x10(%rsp)
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
mov    %r13,-0x30(%rsp)
mov    %r9,%rsi
mov    %rcx,%rdx
shl    $0x5,%rdx
mov    %rdx,0x40(%rsp)
shl    $0x4,%rcx
mov    %rcx,0x50(%rsp)
lea    (%rax,%rax,4),%rax
mov    %rax,0x30(%rsp)
lea    (%r14,%rbx,8),%rax
mov    %rax,-0x40(%rsp)
shlq   $0x3,0x20(%rsp)
shlq   $0x3,0x28(%rsp)
mov    -0x18(%rsp),%rax
lea    (%rax,%rdi,8),%rcx
mov    %rcx,-0x38(%rsp)
lea    (%r14,%rdi,8),%rcx
mov    %rcx,0x90(%rsp)
lea    (%rax,%r9,8),%rax
mov    %rax,0x60(%rsp)
lea    (%r14,%r9,8),%rax
mov    %rax,0x70(%rsp)
xor    %eax,%eax
mov    %rax,-0x60(%rsp)
movsd  0x41d3(%rip),%xmm9
movapd 0x422a(%rip),%xmm8
xor    %ecx,%ecx
mov    -0x30(%rsp),%r10
mov    -0x48(%rsp),%r11
mov    -0x70(%rsp),%r8
mov    -0x10(%rsp),%r9
mov    0x40(%rsp),%r14
mov    0x50(%rsp),%r15
mov    0x30(%rsp),%r12
mov    -0x38(%rsp),%rbx
mov    0x60(%rsp),%rdx
mov    0x70(%rsp),%r13
jmp    1eb4 <qpassc+0xdb4>
nopl   0x0(%rax)
mov    (%rsp),%rcx
add    $0x1,%rcx
mov    -0x78(%rsp),%rsi
add    -0x68(%rsp),%rsi
mov    %rsi,-0x78(%rsp)
mov    -0x60(%rsp),%rax
add    0x20(%rsp),%rax
mov    %rax,-0x60(%rsp)
cmp    0x370(%rsp),%rcx
je     3b6f <qpassc+0x2a6f>
mov    %rcx,(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    -0x40(%rsp),%rcx
mov    0x90(%rsp),%rax
jle    1e80 <qpassc+0xd80>
mov    0x358(%rsp),%rsi
mov    -0x60(%rsp),%rdi
mov    -0x78(%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  0x0(%rbp),%xmm6
movsd  0x0(%rbp,%r9,1),%xmm3
movapd %xmm6,%xmm2
addsd  %xmm3,%xmm2
subsd  %xmm3,%xmm6
movsd  0x0(%rbp,%r8,8),%xmm5
movsd  0x0(%rbp,%r14,1),%xmm3
movapd %xmm5,%xmm4
addsd  %xmm3,%xmm4
subsd  %xmm3,%xmm5
movsd  0x0(%rbp,%r15,1),%xmm7
movsd  0x0(%rbp,%r12,1),%xmm1
movapd %xmm7,%xmm3
addsd  %xmm1,%xmm3
subsd  %xmm1,%xmm7
movapd %xmm4,%xmm1
addsd  %xmm3,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm2,%xmm1
addsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm0,%xmm2
movsd  %xmm2,(%r11,%rdi,1)
movapd %xmm7,%xmm2
subsd  %xmm5,%xmm2
mulsd  %xmm9,%xmm2
addsd  %xmm6,%xmm2
addsd  %xmm7,%xmm6
subsd  %xmm5,%xmm6
mulsd  %xmm0,%xmm6
movsd  %xmm6,(%rcx,%rdi,1)
mulsd  %xmm0,%xmm2
movsd  %xmm2,(%rax,%rdi,1)
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rdi,1)
xorpd  %xmm8,%xmm7
subsd  %xmm5,%xmm7
mulsd  %xmm10,%xmm7
movsd  %xmm7,(%rbx,%rdi,1)
subsd  %xmm4,%xmm3
mulsd  %xmm10,%xmm3
movsd  %xmm3,(%rdx,%rdi,1)
add    %r10,%rbp
add    0x28(%rsp),%rdi
add    $0xffffffffffffffff,%rsi
jne    1ef0 <qpassc+0xdf0>
jmp    1e80 <qpassc+0xd80>
mov    %rsi,0x18(%rsp)
mov    %rbp,-0x20(%rsp)
test   %r12,%r12
jle    2b75 <qpassc+0x1a75>
mov    0x358(%rsp),%rdi
lea    (%rcx,%rdi,1),%rax
mov    %rax,0x120(%rsp)
mov    -0x70(%rsp),%r15
lea    (%r15,%rdi,1),%rax
mov    %rax,0x110(%rsp)
mov    %r13,%rax
xor    $0x1,%rax
mov    0x350(%rsp),%rsi
mov    %rsi,%rcx
xor    $0x1,%rcx
or     %rax,%rcx
setne  (%rsp)
and    $0xfffffffffffffffe,%rdi
mov    %rdi,%rax
imul   %r13,%rax
mov    %rax,0x140(%rsp)
mov    %rdi,0x190(%rsp)
imul   %rsi,%rdi
mov    %rdi,0x210(%rsp)
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,-0x30(%rsp)
mov    %rsi,%rax
shl    $0x4,%rax
mov    %rax,0x200(%rsp)
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rdx
mov    %r13,%rax
shl    $0x4,%rax
mov    %rax,0x1f0(%rsp)
lea    0x0(,%r13,8),%r8
lea    0x0(,%rsi,8),%rbp
xor    %r12d,%r12d
mov    %r11,%rbx
mov    %r14,%r9
xor    %eax,%eax
mov    %rax,-0x60(%rsp)
xor    %r10d,%r10d
mov    %rdx,0xb0(%rsp)
jmp    20f1 <qpassc+0xff1>
cs nopw 0x0(%rax,%rax,1)
mov    -0x60(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x60(%rsp)
add    0x340(%rsp),%r10
add    $0x1,%r12
add    -0x30(%rsp),%r9
add    %rdx,%rbx
cmp    0x370(%rsp),%r12
je     2b81 <qpassc+0x1a81>
cmpq   $0x0,0x358(%rsp)
jle    20c0 <qpassc+0xfc0>
mov    0x358(%rsp),%rsi
cmp    $0x1,%rsi
sete   %al
or     (%rsp),%al
je     2180 <qpassc+0x1080>
mov    -0x60(%rsp),%rsi
mov    %r10,%rcx
xor    %edi,%edi
mov    -0x10(%rsp),%r14
lea    (%r15,%rsi,1),%r11
mov    -0x48(%rsp),%rax
lea    (%rax,%rcx,8),%rax
mov    0x358(%rsp),%rcx
sub    %rdi,%rcx
mov    -0x78(%rsp),%rdi
nopl   0x0(%rax)
movsd  (%rdi,%rsi,8),%xmm0
addsd  (%rdi,%r11,8),%xmm0
movsd  %xmm0,(%rax)
movsd  (%rdi,%rsi,8),%xmm0
subsd  (%rdi,%r11,8),%xmm0
movsd  %xmm0,(%rax,%r14,8)
add    %r8,%rdi
add    %rbp,%rax
add    $0xffffffffffffffff,%rcx
jne    2140 <qpassc+0x1040>
jmp    20c0 <qpassc+0xfc0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
lea    (%r10,%rsi,1),%rax
mov    -0x10(%rsp),%rcx
add    %r10,%rcx
mov    -0x78(%rsp),%r13
mov    0x120(%rsp),%rdx
lea    (%rdx,%r10,1),%rdx
mov    -0x60(%rsp),%r11
lea    (%r11,%rsi,1),%r14
mov    0x110(%rsp),%rsi
lea    (%rsi,%r11,1),%rsi
mov    %rsi,0x40(%rsp)
mov    -0x48(%rsp),%r15
lea    (%r15,%r10,8),%rdi
lea    (%r15,%rax,8),%rsi
lea    (%r15,%rcx,8),%rcx
lea    (%r15,%rdx,8),%rax
mov    %rax,0x90(%rsp)
mov    -0x70(%rsp),%r15
lea    0x0(%r13,%r11,8),%rax
mov    %rax,-0x40(%rsp)
lea    0x0(%r13,%r14,8),%rdx
mov    %rdx,-0x38(%rsp)
mov    0x40(%rsp),%rdx
lea    0x0(,%rdx,8),%r14
add    %r13,%r14
mov    %r14,0x30(%rsp)
mov    0x90(%rsp),%rdx
cmp    %rdx,%rdi
setb   0x40(%rsp)
cmp    %rsi,%rcx
setb   0x50(%rsp)
mov    -0x38(%rsp),%r14
cmp    %r14,%rdi
setb   0x60(%rsp)
cmp    %rsi,%rax
setb   0x70(%rsp)
mov    0x30(%rsp),%rax
cmp    %rax,%rdi
lea    (%r15,%r11,1),%rdi
lea    0x0(%r13,%rdi,8),%rdi
setb   %r13b
cmp    %rsi,%rdi
setb   0xc0(%rsp)
cmp    %r14,%rcx
setb   %sil
cmp    %rdx,-0x40(%rsp)
setb   %r14b
cmp    %rax,%rcx
setb   %al
cmp    %rdx,%rdi
setb   %r11b
mov    0x50(%rsp),%cl
test   %cl,0x40(%rsp)
jne    2370 <qpassc+0x1270>
mov    0x70(%rsp),%cl
and    %cl,0x60(%rsp)
jne    2370 <qpassc+0x1270>
and    0xc0(%rsp),%r13b
mov    0x348(%rsp),%r13
mov    0xb0(%rsp),%rdx
jne    2110 <qpassc+0x1010>
and    %r14b,%sil
jne    2110 <qpassc+0x1010>
mov    -0x60(%rsp),%rsi
mov    %r10,%rcx
mov    $0x0,%edi
and    %r11b,%al
mov    -0x10(%rsp),%r14
jne    211f <qpassc+0x101f>
mov    -0x60(%rsp),%rax
mov    0x140(%rsp),%rcx
lea    (%rax,%rcx,1),%rsi
mov    0x210(%rsp),%rax
add    %r10,%rax
mov    %rax,0x40(%rsp)
mov    %rbx,%r11
mov    %rbx,%rax
mov    %r9,%rcx
mov    0x190(%rsp),%rdi
mov    0x200(%rsp),%rdx
mov    0x1f0(%rsp),%rbx
nopl   0x0(%rax)
movupd (%rax),%xmm0
movupd (%rax,%r15,8),%xmm1
addpd  %xmm0,%xmm1
movupd %xmm1,(%rcx)
movupd (%rax),%xmm0
movupd (%rax,%r15,8),%xmm1
subpd  %xmm1,%xmm0
movupd %xmm0,(%rcx,%r14,8)
add    %rdx,%rcx
add    %rbx,%rax
add    $0xfffffffffffffffe,%rdi
jne    2310 <qpassc+0x1210>
mov    0x190(%rsp),%rax
mov    %rax,%rdi
cmp    0x358(%rsp),%rax
mov    0xb0(%rsp),%rdx
mov    %r11,%rbx
mov    0x40(%rsp),%rcx
je     20c0 <qpassc+0xfc0>
jmp    211f <qpassc+0x101f>
mov    -0x60(%rsp),%rsi
mov    %r10,%rcx
xor    %edi,%edi
mov    0x348(%rsp),%r13
mov    -0x10(%rsp),%r14
mov    0xb0(%rsp),%rdx
jmp    211f <qpassc+0x101f>
mov    %rax,-0x40(%rsp)
mov    %rsi,0x18(%rsp)
mov    %rbp,-0x20(%rsp)
test   %r12,%r12
mov    %rbx,0x30(%rsp)
jle    32bc <qpassc+0x21bc>
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,-0x60(%rsp)
lea    0x0(,%r13,8),%r14
mov    -0x70(%rsp),%rdx
shl    $0x4,%rdx
mov    -0x18(%rsp),%rax
lea    (%rax,%rbx,8),%rsi
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%r9
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%r15
mov    -0x48(%rsp),%rdi
lea    (%rdi,%rbx,8),%rbx
xor    %r10d,%r10d
movsd  0x3bff(%rip),%xmm0
movsd  0x3bff(%rip),%xmm1
mov    -0x78(%rsp),%r11
xor    %eax,%eax
mov    %rax,(%rsp)
mov    -0x70(%rsp),%r8
jmp    2458 <qpassc+0x1358>
nopl   0x0(%rax,%rax,1)
mov    (%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,(%rsp)
add    $0x1,%r10
add    -0x60(%rsp),%r11
add    %r9,%rsi
add    %r9,%rbx
add    %r9,%rdi
cmp    %r12,%r10
je     32c2 <qpassc+0x21c2>
cmpq   $0x0,0x358(%rsp)
jle    2430 <qpassc+0x1330>
mov    0x358(%rsp),%rax
xor    %ecx,%ecx
mov    %r11,%rbp
movsd  0x0(%rbp),%xmm2
addsd  0x0(%rbp,%r8,8),%xmm2
addsd  0x0(%rbp,%rdx,1),%xmm2
movsd  %xmm2,(%rdi,%rcx,1)
movsd  0x0(%rbp,%r8,8),%xmm2
addsd  0x0(%rbp,%rdx,1),%xmm2
mulsd  %xmm0,%xmm2
addsd  0x0(%rbp),%xmm2
movsd  %xmm2,(%rbx,%rcx,1)
movsd  0x0(%rbp,%rdx,1),%xmm2
subsd  0x0(%rbp,%r8,8),%xmm2
mulsd  %xmm1,%xmm2
movsd  %xmm2,(%rsi,%rcx,1)
add    %r14,%rbp
add    %r15,%rcx
add    $0xffffffffffffffff,%rax
jne    2470 <qpassc+0x1370>
jmp    2430 <qpassc+0x1330>
mov    %rcx,(%rsp)
mov    %rsi,0x18(%rsp)
mov    %rbp,-0x20(%rsp)
test   %r12,%r12
mov    %rbx,0x100(%rsp)
mov    %r9,-0x30(%rsp)
jle    342f <qpassc+0x232f>
mov    -0x70(%rsp),%rcx
mov    %rcx,%rdx
shl    $0x4,%rdx
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,-0x60(%rsp)
lea    0x0(,%r13,8),%r15
lea    0x0(,%rcx,8),%rax
lea    (%rax,%rax,2),%rbp
lea    (%r14,%rbx,8),%rbx
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%r11
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%r13
mov    -0x18(%rsp),%rax
lea    (%rax,%r9,8),%rsi
lea    (%r14,%r9,8),%rax
mov    %r14,%rdi
xor    %r14d,%r14d
mov    -0x78(%rsp),%r9
xor    %r8d,%r8d
mov    -0x70(%rsp),%r10
jmp    25a3 <qpassc+0x14a3>
cs nopw 0x0(%rax,%rax,1)
nop
mov    0x140(%rsp),%r8
add    -0x68(%rsp),%r8
add    $0x1,%r14
add    -0x60(%rsp),%r9
add    %r11,%rbx
add    %r11,%rsi
add    %r11,%rax
add    %r11,%rdi
mov    0x370(%rsp),%r12
cmp    %r12,%r14
je     3432 <qpassc+0x2332>
mov    %r8,0x140(%rsp)
cmpq   $0x0,0x358(%rsp)
jle    2570 <qpassc+0x1470>
mov    0x358(%rsp),%rcx
xor    %r8d,%r8d
mov    %r9,%r12
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  (%r12),%xmm0
addsd  (%r12,%rdx,1),%xmm0
movsd  (%r12,%r10,8),%xmm1
addsd  (%r12,%rbp,1),%xmm1
movapd %xmm0,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,(%rdi,%r8,1)
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rbx,%r8,1)
movsd  (%r12),%xmm0
subsd  (%r12,%rdx,1),%xmm0
movsd  %xmm0,(%rax,%r8,1)
movsd  (%r12,%rbp,1),%xmm0
subsd  (%r12,%r10,8),%xmm0
movsd  %xmm0,(%rsi,%r8,1)
add    %r15,%r12
add    %r13,%r8
add    $0xffffffffffffffff,%rcx
jne    25d0 <qpassc+0x14d0>
jmp    2570 <qpassc+0x1470>
mov    %rcx,0x30(%rsp)
mov    %rsi,0x18(%rsp)
mov    %rbp,-0x20(%rsp)
test   %r12,%r12
mov    %r9,0xe8(%rsp)
mov    %rdi,0x50(%rsp)
jle    35f5 <qpassc+0x24f5>
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,(%rsp)
lea    0x0(,%r13,8),%rax
mov    %rax,0x40(%rsp)
mov    -0x70(%rsp),%rax
mov    %rax,%r15
shl    $0x5,%r15
mov    %rax,%r13
shl    $0x4,%r13
lea    0x0(,%rax,8),%rax
lea    (%rax,%rax,2),%r11
mov    -0x18(%rsp),%rsi
lea    (%rsi,%rdi,8),%rax
mov    0x340(%rsp),%rcx
lea    0x0(,%rcx,8),%rcx
mov    %rcx,-0x10(%rsp)
mov    0x350(%rsp),%rcx
lea    0x0(,%rcx,8),%r14
mov    -0x48(%rsp),%rbp
lea    0x0(,%rdi,8),%rcx
add    %rbp,%rcx
lea    (%rsi,%r9,8),%rsi
lea    0x0(,%r9,8),%rdi
add    %rbp,%rdi
xor    %edx,%edx
movsd  0x3941(%rip),%xmm8
movsd  0x3940(%rip),%xmm9
movsd  0x3940(%rip),%xmm2
movsd  0x393f(%rip),%xmm10
movsd  0x393e(%rip),%xmm11
mov    -0x78(%rsp),%rbx
mov    %rbx,-0x60(%rsp)
xor    %ebx,%ebx
mov    %rbx,0x88(%rsp)
mov    -0x70(%rsp),%r12
jmp    277e <qpassc+0x167e>
nopl   (%rax)
mov    0x88(%rsp),%rbx
add    -0x68(%rsp),%rbx
mov    %rbx,0x88(%rsp)
mov    -0x30(%rsp),%rdx
add    $0x1,%rdx
mov    -0x60(%rsp),%rbx
add    (%rsp),%rbx
mov    %rbx,-0x60(%rsp)
mov    -0x10(%rsp),%rbx
add    %rbx,%rax
add    %rbx,%rcx
add    %rbx,%rsi
add    %rbx,%rdi
add    %rbx,%rbp
cmp    0x370(%rsp),%rdx
je     35ff <qpassc+0x24ff>
mov    %rdx,-0x30(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    0x40(%rsp),%rdx
jle    2730 <qpassc+0x1630>
mov    0x358(%rsp),%r9
xor    %r10d,%r10d
mov    -0x60(%rsp),%r8
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  (%r8,%r12,8),%xmm3
movsd  (%r8,%r15,1),%xmm6
movapd %xmm3,%xmm5
addsd  %xmm6,%xmm5
subsd  %xmm6,%xmm3
movsd  (%r8,%r13,1),%xmm1
movsd  (%r8,%r11,1),%xmm0
movapd %xmm1,%xmm6
addsd  %xmm0,%xmm6
subsd  %xmm0,%xmm1
movsd  (%r8),%xmm0
movapd %xmm5,%xmm7
addsd  %xmm6,%xmm7
mulsd  %xmm8,%xmm7
addsd  %xmm0,%xmm7
movapd %xmm5,%xmm4
subsd  %xmm6,%xmm4
mulsd  %xmm9,%xmm4
addsd  %xmm0,%xmm5
addsd  %xmm6,%xmm5
movsd  %xmm5,0x0(%rbp,%r10,1)
movapd %xmm7,%xmm0
addsd  %xmm4,%xmm0
movsd  %xmm0,(%rcx,%r10,1)
subsd  %xmm4,%xmm7
movsd  %xmm7,(%rdi,%r10,1)
movapd %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm3,%xmm4
mulsd  %xmm10,%xmm4
addsd  %xmm0,%xmm4
movsd  %xmm4,(%rax,%r10,1)
mulsd  %xmm11,%xmm1
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
movsd  %xmm3,(%rsi,%r10,1)
add    %rdx,%r8
add    %r14,%r10
add    $0xffffffffffffffff,%r9
jne    27b0 <qpassc+0x16b0>
jmp    2730 <qpassc+0x1630>
mov    %rdi,0x140(%rsp)
mov    %rcx,0x1f0(%rsp)
mov    %r10,0x200(%rsp)
mov    %rsi,0x18(%rsp)
mov    %rbp,-0x20(%rsp)
test   %r12,%r12
mov    %rbx,0x160(%rsp)
mov    %r9,0x210(%rsp)
jle    385a <qpassc+0x275a>
mov    -0x70(%rsp),%rdi
lea    0x0(,%rdi,8),%rcx
lea    (%rcx,%rcx,2),%rax
mov    %rax,0x40(%rsp)
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x50(%rsp)
lea    0x0(,%r13,8),%rax
mov    %rax,0x30(%rsp)
mov    %rdi,%rax
shl    $0x5,%rax
mov    %rax,-0x40(%rsp)
shl    $0x4,%rdi
mov    %rdi,-0x38(%rsp)
lea    (%rcx,%rcx,4),%rax
mov    %rax,0x90(%rsp)
lea    (%r14,%rbx,8),%rax
mov    %rax,0x70(%rsp)
mov    0x340(%rsp),%rdx
lea    0x0(,%rdx,8),%rax
mov    %rax,0x60(%rsp)
mov    0x350(%rsp),%rdx
lea    0x0(,%rdx,8),%rax
mov    %rax,0xc0(%rsp)
mov    -0x18(%rsp),%r8
mov    0x140(%rsp),%rbx
lea    (%r8,%rbx,8),%rax
mov    %rax,0xb0(%rsp)
lea    (%r14,%rbx,8),%rax
mov    %rax,0x120(%rsp)
lea    (%r8,%r9,8),%rax
mov    %rax,0x110(%rsp)
lea    (%r14,%r9,8),%rax
mov    %rax,0x190(%rsp)
xor    %eax,%eax
mov    %rax,-0x30(%rsp)
movsd  0x368f(%rip),%xmm9
movapd 0x36e6(%rip),%xmm8
movsd  0x3686(%rip),%xmm2
mov    -0x78(%rsp),%rax
mov    %rax,(%rsp)
xor    %ecx,%ecx
xor    %r11d,%r11d
mov    0x358(%rsp),%r10
mov    0x40(%rsp),%rdi
mov    -0x40(%rsp),%rsi
mov    -0x38(%rsp),%rbp
mov    0x90(%rsp),%rdx
mov    0x70(%rsp),%rbx
jmp    2a18 <qpassc+0x1918>
cs nopw 0x0(%rax,%rax,1)
mov    0xa8(%rsp),%r11
add    -0x68(%rsp),%r11
mov    -0x10(%rsp),%rcx
add    $0x1,%rcx
mov    (%rsp),%rax
add    0x50(%rsp),%rax
mov    %rax,(%rsp)
mov    -0x30(%rsp),%rax
add    0x60(%rsp),%rax
mov    %rax,-0x30(%rsp)
cmp    0x370(%rsp),%rcx
mov    0x358(%rsp),%r10
je     385d <qpassc+0x275d>
mov    %rcx,-0x10(%rsp)
mov    %r11,0xa8(%rsp)
test   %r10,%r10
mov    -0x70(%rsp),%rax
mov    0x30(%rsp),%rcx
mov    0xc0(%rsp),%r12
mov    0xb0(%rsp),%r13
mov    0x120(%rsp),%r8
mov    0x110(%rsp),%r9
mov    0x190(%rsp),%r14
jle    29d0 <qpassc+0x18d0>
mov    0x358(%rsp),%r15
mov    -0x30(%rsp),%r10
mov    (%rsp),%r11
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %r15,-0x60(%rsp)
movsd  (%r11),%xmm3
movsd  (%r11,%rdi,1),%xmm1
movapd %xmm3,%xmm7
addsd  %xmm1,%xmm7
subsd  %xmm1,%xmm3
movsd  (%r11,%rax,8),%xmm5
movsd  (%r11,%rsi,1),%xmm1
movapd %xmm5,%xmm4
addsd  %xmm1,%xmm4
subsd  %xmm1,%xmm5
movsd  (%r11,%rbp,1),%xmm6
movsd  (%r11,%rdx,1),%xmm0
movapd %xmm6,%xmm1
addsd  %xmm0,%xmm1
subsd  %xmm0,%xmm6
movapd %xmm4,%xmm0
addsd  %xmm1,%xmm0
mulsd  %xmm9,%xmm0
addsd  %xmm7,%xmm0
addsd  %xmm4,%xmm7
addsd  %xmm1,%xmm7
mov    %r14,%r15
mov    %r9,%r14
mov    %r8,%r9
mov    %r13,%r8
mov    %r12,%r13
mov    -0x48(%rsp),%r12
movsd  %xmm7,(%r12,%r10,1)
mov    %r13,%r12
mov    %r8,%r13
mov    %r9,%r8
mov    %r14,%r9
mov    %r15,%r14
mov    -0x60(%rsp),%r15
movapd %xmm6,%xmm7
subsd  %xmm5,%xmm7
mulsd  %xmm9,%xmm7
addsd  %xmm3,%xmm7
addsd  %xmm6,%xmm3
subsd  %xmm5,%xmm3
movsd  %xmm3,(%rbx,%r10,1)
movsd  %xmm7,(%r8,%r10,1)
movsd  %xmm0,(%r14,%r10,1)
xorpd  %xmm8,%xmm6
subsd  %xmm5,%xmm6
mulsd  %xmm2,%xmm6
movsd  %xmm6,0x0(%r13,%r10,1)
subsd  %xmm4,%xmm1
mulsd  %xmm2,%xmm1
movsd  %xmm1,(%r9,%r10,1)
add    %rcx,%r11
add    %r12,%r10
add    $0xffffffffffffffff,%r15
jne    2a80 <qpassc+0x1980>
jmp    29d0 <qpassc+0x18d0>
xor    %eax,%eax
mov    %rax,-0x60(%rsp)
mov    -0x70(%rsp),%r15
mov    -0x20(%rsp),%rbx
lea    (%rbx,%rbx,1),%rax
mov    -0x10(%rsp),%rdi
mov    %rax,0x90(%rsp)
sub    %rax,%rdi
mov    0x18(%rsp),%rax
add    %rax,-0x60(%rsp)
cmp    %rdi,%rbx
jne    2bc2 <qpassc+0x1ac2>
mov    %rbx,0x30(%rsp)
mov    0x370(%rsp),%rcx
mov    -0x48(%rsp),%r8
mov    -0x78(%rsp),%r15
jmp    2c03 <qpassc+0x1b03>
mov    0x370(%rsp),%rcx
cmp    %rcx,0xd8(%rsp)
jge    3b85 <qpassc+0x2a85>
mov    -0x78(%rsp),%r15
mov    %rbx,%rax
xor    %edx,%edx
mov    %rdi,%rbx
mov    %rax,%rsi
mov    %rax,0x30(%rsp)
cmp    %rdi,%rax
mov    0x348(%rsp),%r13
mov    -0x48(%rsp),%r8
jg     3b71 <qpassc+0x2a71>
test   %rcx,%rcx
jle    3b6f <qpassc+0x2a6f>
mov    0x358(%rsp),%rdx
mov    0x30(%rsp),%r11
lea    (%r11,%rdx,1),%rax
mov    %rax,0xc0(%rsp)
lea    -0x2(%rdx),%rax
mov    %rax,0x180(%rsp)
mov    %rax,%rdi
shr    %rdi
add    $0x1,%rdi
mov    0x350(%rsp),%r9
mov    %r9,%rax
xor    $0x1,%rax
mov    %r13,%rcx
xor    $0x1,%rcx
or     %rax,%rcx
setne  -0x40(%rsp)
mov    %rdx,%rax
and    $0xfffffffffffffffe,%rax
mov    %rax,%rcx
imul   %r13,%rcx
mov    %rcx,0x88(%rsp)
mov    %rax,0x260(%rsp)
imul   %r9,%rax
mov    %rax,0x178(%rsp)
mov    %rdi,%rax
mov    %rdi,0x108(%rsp)
and    $0xfffffffffffffffe,%rdi
mov    %rdi,0x170(%rsp)
mov    %rdx,%rax
neg    %rax
mov    %rax,0x90(%rsp)
mov    %r13,%rax
shl    $0x5,%rax
mov    %rax,0x100(%rsp)
mov    %r13,%r14
shl    $0x4,%r14
lea    (%rbx,%r9,2),%rax
mov    -0x18(%rsp),%r10
lea    (%r10,%rax,8),%rax
mov    %rax,0xa8(%rsp)
mov    %r9,%rax
shl    $0x5,%rax
mov    %rax,0xf8(%rsp)
lea    (%r11,%r9,2),%rax
lea    (%r8,%rax,8),%rax
mov    %rax,0x188(%rsp)
mov    %r9,%rdi
shl    $0x4,%rdi
movapd 0x336f(%rip),%xmm0
movapd 0x3367(%rip),%xmm1
lea    (%rbx,%rdx,1),%rax
mov    %rax,0xb0(%rsp)
mov    -0x70(%rsp),%rcx
mov    -0x60(%rsp),%rsi
lea    (%rsi,%rcx,1),%rax
lea    (%rsi,%rdx,1),%rbp
mov    %rbp,0x120(%rsp)
add    %rcx,%rbp
mov    %rbp,0x110(%rsp)
mov    %rax,0x70(%rsp)
lea    (%rax,%r13,2),%rax
mov    %rax,0xf0(%rsp)
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x40(%rsp)
lea    0x0(,%rsi,8),%rax
mov    %rax,0x18(%rsp)
mov    %r14,0x60(%rsp)
lea    (%r14,%rsi,8),%rax
mov    %rax,0xe8(%rsp)
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x50(%rsp)
lea    (%r8,%r11,8),%rax
mov    %rax,0x168(%rsp)
lea    (%r10,%rbx,8),%rax
mov    %rax,0x138(%rsp)
lea    0x0(,%rcx,8),%rax
mov    %rax,0x140(%rsp)
lea    0x0(%r13,%rcx,1),%rax
mov    %rax,0x210(%rsp)
lea    0x0(,%r11,8),%rax
mov    %rax,0x200(%rsp)
lea    0x0(,%rbx,8),%rax
mov    %rax,0x1f0(%rsp)
mov    %rbx,-0x20(%rsp)
lea    (%rbx,%r9,1),%rax
mov    %rax,0x280(%rsp)
lea    (%r11,%r9,1),%rax
mov    %rax,0x270(%rsp)
xor    %r11d,%r11d
mov    %r15,-0x10(%rsp)
xor    %eax,%eax
mov    %rax,(%rsp)
xor    %eax,%eax
mov    %rax,-0x30(%rsp)
jmp    2e7a <qpassc+0x1d7a>
nopl   0x0(%rax)
mov    -0x60(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x60(%rsp)
mov    -0x30(%rsp),%rax
add    0x340(%rsp),%rax
mov    %rax,-0x30(%rsp)
mov    (%rsp),%rcx
add    $0x1,%rcx
mov    -0x10(%rsp),%rax
add    0x40(%rsp),%rax
mov    %rax,-0x10(%rsp)
add    0x50(%rsp),%r11
mov    %rcx,%rax
mov    %rcx,(%rsp)
cmp    0x370(%rsp),%rcx
mov    0x358(%rsp),%rdx
je     3b6f <qpassc+0x2a6f>
test   %rdx,%rdx
jle    2e20 <qpassc+0x1d20>
mov    0x358(%rsp),%rdx
cmp    $0x1,%rdx
sete   %al
or     -0x40(%rsp),%al
je     2eb0 <qpassc+0x1db0>
mov    -0x60(%rsp),%rsi
mov    -0x30(%rsp),%r8
xor    %eax,%eax
mov    -0x78(%rsp),%rbx
jmp    316c <qpassc+0x206c>
nopw   0x0(%rax,%rax,1)
mov    0x30(%rsp),%rax
mov    -0x30(%rsp),%rcx
lea    (%rax,%rcx,1),%r8
mov    0xc0(%rsp),%rax
lea    (%rax,%rcx,1),%r9
mov    -0x20(%rsp),%rax
lea    (%rax,%rcx,1),%r10
mov    0xb0(%rsp),%rax
lea    (%rax,%rcx,1),%r14
mov    (%rsp),%rbx
imul   -0x68(%rsp),%rbx
mov    0x70(%rsp),%rax
lea    (%rax,%rbx,1),%r12
mov    0x110(%rsp),%rax
lea    (%rax,%rbx,1),%r15
add    0x120(%rsp),%rbx
mov    -0x48(%rsp),%rax
lea    (%rax,%r8,8),%rsi
lea    (%rax,%r9,8),%rbp
mov    -0x18(%rsp),%rax
lea    (%rax,%r10,8),%rcx
lea    (%rax,%r14,8),%rax
mov    -0x78(%rsp),%rdx
lea    (%rdx,%r12,8),%r9
lea    (%rdx,%r15,8),%r10
lea    (%rdx,%rbx,8),%rbx
cmp    %rax,%rsi
setb   -0x38(%rsp)
cmp    %rbp,%rcx
setb   %r8b
cmp    %r10,%rsi
setb   %r12b
cmp    %rbp,%r9
setb   %r13b
cmp    %rbx,%rsi
mov    -0x60(%rsp),%rsi
lea    (%rdx,%rsi,8),%r14
setb   %r15b
cmp    %rbp,%r14
setb   %bpl
cmp    %r10,%rcx
setb   %sil
cmp    %rax,%r9
setb   %r9b
cmp    %rbx,%rcx
setb   %r10b
cmp    %rax,%r14
setb   %cl
test   %r8b,-0x38(%rsp)
jne    3153 <qpassc+0x2053>
and    %r13b,%r12b
jne    3153 <qpassc+0x2053>
and    %bpl,%r15b
jne    3153 <qpassc+0x2053>
and    %r9b,%sil
mov    -0x78(%rsp),%rbx
mov    0x358(%rsp),%rdx
mov    0x350(%rsp),%r9
mov    0x348(%rsp),%r14
mov    -0x70(%rsp),%rbp
jne    318b <qpassc+0x208b>
mov    -0x60(%rsp),%rsi
mov    -0x30(%rsp),%r8
mov    $0x0,%eax
and    %cl,%r10b
mov    0x188(%rsp),%r10
jne    3181 <qpassc+0x2081>
cmpq   $0x2,0x180(%rsp)
mov    %r11,0x190(%rsp)
jae    3002 <qpassc+0x1f02>
xor    %eax,%eax
jmp    30a8 <qpassc+0x1fa8>
mov    0x170(%rsp),%rsi
mov    %r11,%rcx
mov    -0x10(%rsp),%rbp
xor    %eax,%eax
mov    0x100(%rsp),%r8
mov    0xa8(%rsp),%rdx
mov    0xf8(%rsp),%rbx
mov    0x70(%rsp),%r9
mov    0xf0(%rsp),%r15
mov    0x18(%rsp),%r14
mov    0xe8(%rsp),%r12
mov    0x168(%rsp),%r13
mov    0x138(%rsp),%r11
cs nopw 0x0(%rax,%rax,1)
movups 0x0(%rbp,%r14,1),%xmm2
movups %xmm2,0x0(%r13,%rcx,1)
movupd 0x0(%rbp,%r9,8),%xmm2
xorpd  %xmm1,%xmm2
movupd %xmm2,(%r11,%rcx,1)
movups 0x0(%rbp,%r12,1),%xmm2
movups %xmm2,(%r10,%rcx,1)
movupd 0x0(%rbp,%r15,8),%xmm2
xorpd  %xmm1,%xmm2
movupd %xmm2,(%rdx,%rcx,1)
add    $0x4,%rax
add    %r8,%rbp
add    %rbx,%rcx
add    $0xfffffffffffffffe,%rsi
jne    3060 <qpassc+0x1f60>
testb  $0x1,0x108(%rsp)
01
je     3109 <qpassc+0x2009>
mov    %rax,%rcx
imul   0x348(%rsp),%rcx
add    -0x60(%rsp),%rcx
imul   0x350(%rsp),%rax
add    -0x30(%rsp),%rax
mov    -0x78(%rsp),%rdx
movups (%rdx,%rcx,8),%xmm2
mov    0x30(%rsp),%rsi
add    %rax,%rsi
mov    -0x48(%rsp),%rbp
movups %xmm2,0x0(%rbp,%rsi,8)
add    -0x70(%rsp),%rcx
movupd (%rdx,%rcx,8),%xmm2
xorpd  %xmm1,%xmm2
add    -0x20(%rsp),%rax
mov    -0x18(%rsp),%rcx
movupd %xmm2,(%rcx,%rax,8)
mov    0x358(%rsp),%rax
cmp    %rax,0x260(%rsp)
mov    0x190(%rsp),%r11
je     2e20 <qpassc+0x1d20>
mov    -0x60(%rsp),%rax
mov    0x88(%rsp),%rcx
lea    (%rax,%rcx,1),%rsi
mov    0x178(%rsp),%rax
mov    -0x30(%rsp),%rcx
lea    (%rcx,%rax,1),%r8
mov    0x260(%rsp),%rax
jmp    315f <qpassc+0x205f>
mov    -0x60(%rsp),%rsi
mov    -0x30(%rsp),%r8
xor    %eax,%eax
mov    -0x78(%rsp),%rbx
mov    0x358(%rsp),%rdx
mov    0x350(%rsp),%r9
mov    0x348(%rsp),%r14
mov    -0x70(%rsp),%rbp
test   $0x1,%dl
jne    31a0 <qpassc+0x20a0>
mov    %rax,%rcx
jmp    31e3 <qpassc+0x20e3>
mov    -0x60(%rsp),%rsi
mov    -0x30(%rsp),%r8
xor    %eax,%eax
test   $0x1,%dl
je     3186 <qpassc+0x2086>
nopl   0x0(%rax)
movsd  (%rbx,%rsi,8),%xmm2
mov    0x30(%rsp),%rcx
add    %r8,%rcx
mov    -0x48(%rsp),%rdx
movsd  %xmm2,(%rdx,%rcx,8)
lea    (%rsi,%rbp,1),%rcx
movsd  (%rbx,%rcx,8),%xmm2
xorpd  %xmm1,%xmm2
mov    -0x20(%rsp),%rcx
add    %r8,%rcx
mov    -0x18(%rsp),%rdx
movlpd %xmm2,(%rdx,%rcx,8)
add    %r14,%rsi
add    %r9,%r8
mov    %rax,%rcx
or     $0x1,%rcx
mov    0x60(%rsp),%rdx
not    %rax
cmp    0x90(%rsp),%rax
je     2e20 <qpassc+0x1d20>
lea    0x0(,%rsi,8),%rax
mov    0x140(%rsp),%rbp
lea    0x0(%rbp,%rsi,8),%rbp
mov    0x210(%rsp),%rbx
lea    (%rbx,%rsi,1),%r9
add    0x348(%rsp),%rsi
mov    0x200(%rsp),%rbx
lea    (%rbx,%r8,8),%r10
mov    0x1f0(%rsp),%rbx
lea    (%rbx,%r8,8),%r12
mov    0x280(%rsp),%rbx
lea    (%rbx,%r8,1),%r13
add    0x270(%rsp),%r8
mov    0x358(%rsp),%rbx
sub    %rcx,%rbx
mov    -0x18(%rsp),%rcx
mov    -0x48(%rsp),%r14
mov    -0x78(%rsp),%r15
nopl   0x0(%rax,%rax,1)
movsd  (%r15,%rax,1),%xmm2
movsd  %xmm2,(%r14,%r10,1)
movsd  (%r15,%rbp,1),%xmm2
xorpd  %xmm0,%xmm2
movlpd %xmm2,(%rcx,%r12,1)
movsd  (%r15,%rsi,8),%xmm2
movsd  %xmm2,(%r14,%r8,8)
movsd  (%r15,%r9,8),%xmm2
xorpd  %xmm0,%xmm2
movlpd %xmm2,(%rcx,%r13,8)
add    %rdx,%r15
add    %rdi,%r14
add    %rdi,%rcx
add    $0xfffffffffffffffe,%rbx
jne    3270 <qpassc+0x2170>
jmp    2e20 <qpassc+0x1d20>
xor    %eax,%eax
mov    %rax,(%rsp)
mov    -0x20(%rsp),%rdi
lea    (%rdi,%rdi,1),%rax
mov    0x30(%rsp),%rbp
lea    0x0(,%rdi,2),%r8
add    %rbp,%r8
mov    %rax,0xc0(%rsp)
sub    %rax,%rbp
mov    0x18(%rsp),%rsi
add    %rsi,(%rsp)
cmp    %rbp,%rdi
jne    3300 <qpassc+0x2200>
mov    -0x48(%rsp),%rbp
mov    -0x78(%rsp),%r15
jmp    332b <qpassc+0x222b>
cmp    %r12,0xd8(%rsp)
mov    -0x78(%rsp),%r15
jge    3e06 <qpassc+0x2d06>
xor    %edx,%edx
cmp    %rbp,%rdi
mov    0x348(%rsp),%r13
mov    -0x48(%rsp),%rbp
jg     3b71 <qpassc+0x2a71>
test   %r12,%r12
jle    3b6f <qpassc+0x2a6f>
mov    %r12,%r10
mov    -0x70(%rsp),%rcx
mov    (%rsp),%rsi
lea    (%rsi,%rcx,1),%rax
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%r13
shl    $0x4,%rcx
lea    (%rcx,%rsi,8),%rcx
shl    $0x3,%rsi
mov    -0x18(%rsp),%rdx
lea    (%rdx,%rdi,8),%r9
shlq   $0x3,0x20(%rsp)
mov    %rbp,%rdx
mov    0x350(%rsp),%r14
shl    $0x3,%r14
lea    0x0(,%rdi,8),%r12
add    %rbp,%r12
lea    0x0(,%r8,8),%rdi
add    %rbp,%rdi
xor    %r8d,%r8d
movsd  0x2c87(%rip),%xmm0
movsd  0x2c87(%rip),%xmm1
mov    0x358(%rsp),%r11
jmp    33d0 <qpassc+0x22d0>
nopl   0x0(%rax,%rax,1)
add    $0x1,%r8
add    -0x68(%rsp),%r15
mov    0x20(%rsp),%rdx
add    %rdx,%r9
add    %rdx,%r12
add    %rdx,%rdi
cmp    %r10,%r8
je     3b6f <qpassc+0x2a6f>
test   %r11,%r11
jle    33b0 <qpassc+0x22b0>
mov    %r11,%rbx
xor    %ebp,%ebp
mov    %r15,%rdx
nopl   (%rax)
movsd  (%rdx,%rax,8),%xmm2
subsd  (%rdx,%rcx,1),%xmm2
mulsd  %xmm0,%xmm2
addsd  (%rdx,%rsi,1),%xmm2
movsd  %xmm2,(%r12,%rbp,1)
movsd  (%rdx,%rax,8),%xmm2
addsd  (%rdx,%rcx,1),%xmm2
mulsd  %xmm1,%xmm2
movsd  %xmm2,(%r9,%rbp,1)
movsd  (%rdx,%rsi,1),%xmm2
subsd  (%rdx,%rax,8),%xmm2
addsd  (%rdx,%rcx,1),%xmm2
movsd  %xmm2,(%rdi,%rbp,1)
add    %r13,%rdx
add    %r14,%rbp
add    $0xffffffffffffffff,%rbx
jne    33e0 <qpassc+0x22e0>
jmp    33b0 <qpassc+0x22b0>
xor    %r8d,%r8d
mov    -0x70(%rsp),%rax
lea    (%rax,%rax,2),%r10
mov    -0x20(%rsp),%rbx
lea    (%rbx,%rbx,1),%rax
mov    -0x30(%rsp),%rcx
lea    (%rcx,%rbx,2),%rbp
mov    0x100(%rsp),%rdi
mov    %rax,0x160(%rsp)
sub    %rax,%rdi
mov    0x18(%rsp),%rdx
add    %rdx,%r8
cmp    %rdi,%rbp
jne    3481 <qpassc+0x2381>
mov    -0x78(%rsp),%r15
mov    0x348(%rsp),%rcx
mov    -0x48(%rsp),%r9
jmp    34bc <qpassc+0x23bc>
cmp    %r12,0xd8(%rsp)
mov    -0x78(%rsp),%r15
mov    %r10,0x1a8(%rsp)
jge    41c5 <qpassc+0x30c5>
xor    %edx,%edx
cmp    %rdi,%rbp
mov    0x348(%rsp),%rcx
mov    -0x48(%rsp),%r9
mov    0x1a8(%rsp),%r10
jg     3b71 <qpassc+0x2a71>
test   %r12,%r12
jle    3b6f <qpassc+0x2a6f>
mov    -0x70(%rsp),%rsi
lea    (%r8,%rsi,1),%rax
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%rcx
mov    %rcx,-0x30(%rsp)
lea    0x0(,%r8,8),%rcx
lea    (%rcx,%r10,8),%rdx
shl    $0x4,%rsi
lea    (%rsi,%r8,8),%rsi
mov    -0x18(%rsp),%rdi
lea    (%rdi,%rbx,8),%r8
shlq   $0x3,0x20(%rsp)
shlq   $0x3,0x28(%rsp)
lea    (%r9,%rbx,8),%r10
lea    (%rdi,%rbp,8),%r11
lea    (%r9,%rbp,8),%r14
xor    %r9d,%r9d
movsd  0x2aeb(%rip),%xmm0
movsd  0x2b43(%rip),%xmm1
mov    0x28(%rsp),%r13
mov    -0x30(%rsp),%r12
jmp    3568 <qpassc+0x2468>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
add    $0x1,%r9
add    -0x68(%rsp),%r15
mov    0x20(%rsp),%rdi
add    %rdi,%r8
add    %rdi,%r10
add    %rdi,%r11
add    %rdi,%r14
cmp    0x370(%rsp),%r9
je     3b6f <qpassc+0x2a6f>
cmpq   $0x0,0x358(%rsp)
jle    3540 <qpassc+0x2440>
mov    0x358(%rsp),%rbp
xor    %ebx,%ebx
mov    %r15,%rdi
movsd  (%rdi,%rax,8),%xmm2
subsd  (%rdi,%rdx,1),%xmm2
mulsd  %xmm0,%xmm2
addsd  (%rdi,%rcx,1),%xmm2
movsd  %xmm2,(%r10,%rbx,1)
movsd  (%rdi,%rax,8),%xmm2
subsd  (%rdi,%rdx,1),%xmm2
mulsd  %xmm1,%xmm2
addsd  (%rdi,%rcx,1),%xmm2
movsd  %xmm2,(%r14,%rbx,1)
movsd  (%rdi,%rax,8),%xmm2
addsd  (%rdi,%rdx,1),%xmm2
mulsd  %xmm1,%xmm2
subsd  (%rdi,%rsi,1),%xmm2
movsd  %xmm2,(%r8,%rbx,1)
movsd  (%rdi,%rax,8),%xmm2
addsd  (%rdi,%rdx,1),%xmm2
mulsd  %xmm1,%xmm2
addsd  (%rdi,%rsi,1),%xmm2
movsd  %xmm2,(%r11,%rbx,1)
add    %r12,%rdi
add    %r13,%rbx
add    $0xffffffffffffffff,%rbp
jne    3580 <qpassc+0x2480>
jmp    3540 <qpassc+0x2440>
xor    %eax,%eax
mov    %rax,0x88(%rsp)
mov    -0x70(%rsp),%rdx
lea    (%rdx,%rdx,2),%r14
mov    -0x20(%rsp),%r12
lea    (%r12,%r12,1),%rax
mov    0x50(%rsp),%rcx
lea    (%rcx,%r12,2),%rdi
mov    0xe8(%rsp),%rbx
lea    (%rbx,%r12,2),%r11
mov    %rax,0x1a8(%rsp)
sub    %rax,%rbx
mov    0x18(%rsp),%r15
mov    0x88(%rsp),%r13
add    %r15,%r13
mov    0x370(%rsp),%rsi
cmp    %rbx,%rdi
jne    365d <qpassc+0x255d>
mov    0x348(%rsp),%rax
mov    -0x48(%rsp),%rbx
jmp    3698 <qpassc+0x2598>
cmp    %rsi,0xd8(%rsp)
mov    -0x78(%rsp),%rax
mov    %r14,0x298(%rsp)
jge    48da <qpassc+0x37da>
xor    %edx,%edx
cmp    %rbx,%rdi
mov    0x348(%rsp),%rax
mov    -0x48(%rsp),%rbx
mov    0x298(%rsp),%r14
jg     3b71 <qpassc+0x2a71>
test   %rsi,%rsi
jle    3b6f <qpassc+0x2a6f>
mov    -0x70(%rsp),%rdx
mov    %rdi,%rsi
lea    (%rdx,%r13,1),%r8
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%rax
mov    %rax,-0x30(%rsp)
mov    %rdx,%rax
shl    $0x5,%rax
lea    0x0(,%r13,8),%rcx
lea    (%rax,%r13,8),%r9
shl    $0x4,%rdx
lea    (%rdx,%r13,8),%r10
mov    %rbx,%rdi
lea    (%rcx,%r14,8),%r14
mov    -0x18(%rsp),%rax
lea    (%rax,%r12,8),%r15
shlq   $0x3,0x20(%rsp)
shlq   $0x3,0x28(%rsp)
lea    (%rbx,%r12,8),%r12
lea    (%rax,%rsi,8),%rax
lea    (%rbx,%rsi,8),%rdx
lea    (%rbx,%r11,8),%rsi
xor    %ebp,%ebp
movsd  0x2952(%rip),%xmm8
movsd  0x2921(%rip),%xmm9
movsd  0x2929(%rip),%xmm2
movsd  0x2918(%rip),%xmm10
movsd  0x2927(%rip),%xmm11
mov    0x28(%rsp),%r13
mov    -0x30(%rsp),%r11
jmp    377a <qpassc+0x267a>
nopl   (%rax)
mov    -0x60(%rsp),%rbp
add    $0x1,%rbp
mov    -0x78(%rsp),%rdi
add    -0x68(%rsp),%rdi
mov    %rdi,-0x78(%rsp)
mov    0x20(%rsp),%rdi
add    %rdi,%r15
add    %rdi,%r12
add    %rdi,%rax
add    %rdi,%rdx
add    %rdi,%rsi
cmp    0x370(%rsp),%rbp
je     3b6f <qpassc+0x2a6f>
mov    %rbp,-0x60(%rsp)
cmpq   $0x0,0x358(%rsp)
jle    3740 <qpassc+0x2640>
mov    0x358(%rsp),%rdi
xor    %ebp,%ebp
mov    -0x78(%rsp),%rbx
nopl   0x0(%rax)
movsd  (%rbx,%r8,8),%xmm4
movsd  (%rbx,%r9,1),%xmm6
movapd %xmm4,%xmm5
addsd  %xmm6,%xmm5
subsd  %xmm6,%xmm4
movsd  (%rbx,%r10,1),%xmm6
movsd  (%rbx,%r14,1),%xmm1
movapd %xmm6,%xmm0
addsd  %xmm1,%xmm0
subsd  %xmm1,%xmm6
movapd %xmm4,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm8,%xmm3
addsd  (%rbx,%rcx,1),%xmm3
movapd %xmm4,%xmm7
addsd  %xmm6,%xmm7
mulsd  %xmm9,%xmm7
movapd %xmm3,%xmm1
addsd  %xmm7,%xmm1
movsd  %xmm1,(%r12,%rbp,1)
subsd  %xmm7,%xmm3
movsd  %xmm3,(%rdx,%rbp,1)
movsd  (%rbx,%rcx,1),%xmm1
subsd  %xmm4,%xmm1
addsd  %xmm6,%xmm1
movsd  %xmm1,(%rsi,%rbp,1)
movapd %xmm0,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm5,%xmm3
mulsd  %xmm10,%xmm3
addsd  %xmm1,%xmm3
movsd  %xmm3,(%r15,%rbp,1)
mulsd  %xmm11,%xmm0
mulsd  %xmm2,%xmm5
addsd  %xmm0,%xmm5
movsd  %xmm5,(%rax,%rbp,1)
add    %r11,%rbx
add    %r13,%rbp
add    $0xffffffffffffffff,%rdi
jne    37a0 <qpassc+0x26a0>
jmp    3740 <qpassc+0x2640>
xor    %r11d,%r11d
mov    -0x70(%rsp),%rcx
lea    (%rcx,%rcx,2),%r9
lea    (%rcx,%rcx,4),%r8
mov    -0x20(%rsp),%r14
lea    (%r14,%r14,1),%rax
mov    0x140(%rsp),%rdx
lea    (%rdx,%r14,2),%rbx
mov    0x210(%rsp),%rdx
lea    (%rdx,%r14,2),%r15
mov    0x160(%rsp),%rsi
mov    %rax,0x2a0(%rsp)
sub    %rax,%rsi
mov    0x18(%rsp),%rdx
add    %rdx,%r11
cmp    %rsi,%r15
jne    38c2 <qpassc+0x27c2>
mov    0x370(%rsp),%rbp
mov    0x348(%rsp),%rax
mov    -0x48(%rsp),%rdi
jmp    3918 <qpassc+0x2818>
mov    0x370(%rsp),%rdi
cmp    %rdi,0xd8(%rsp)
mov    -0x78(%rsp),%r10
mov    %r9,0x2b0(%rsp)
mov    %r8,0x2a8(%rsp)
jge    51f5 <qpassc+0x40f5>
xor    %edx,%edx
cmp    %rsi,%r15
mov    %rdi,%rbp
mov    0x348(%rsp),%rax
mov    -0x48(%rsp),%rdi
mov    0x2b0(%rsp),%r9
mov    0x2a8(%rsp),%r8
jg     3b71 <qpassc+0x2a71>
test   %rbp,%rbp
jle    3b6f <qpassc+0x2a6f>
mov    -0x70(%rsp),%rdx
lea    (%r11,%rdx,1),%rcx
mov    %rcx,-0x10(%rsp)
shlq   $0x3,-0x68(%rsp)
shl    $0x3,%rax
mov    %rax,-0x30(%rsp)
lea    0x0(,%r11,8),%rcx
lea    (%rcx,%r8,8),%rax
mov    %rax,0x40(%rsp)
mov    %rdx,%rax
shl    $0x4,%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x50(%rsp)
shl    $0x5,%rdx
lea    (%rdx,%r11,8),%rax
mov    %rax,0x30(%rsp)
lea    (%rcx,%r9,8),%rbp
mov    %rdi,%rax
mov    -0x18(%rsp),%rdi
lea    (%rdi,%r14,8),%rdx
mov    %rdx,-0x40(%rsp)
shlq   $0x3,0x20(%rsp)
shlq   $0x3,0x28(%rsp)
lea    (%rax,%r14,8),%rdx
mov    %rdx,-0x38(%rsp)
lea    (%rdi,%rbx,8),%rdx
mov    %rdx,0x90(%rsp)
lea    (%rax,%rbx,8),%rdx
mov    %rdx,0x60(%rsp)
lea    (%rdi,%r15,8),%rdx
mov    %rdx,0x70(%rsp)
lea    (%rax,%r15,8),%rax
mov    %rax,0xc0(%rsp)
xor    %eax,%eax
mov    %rax,-0x60(%rsp)
movsd  0x2650(%rip),%xmm8
movsd  0x263f(%rip),%xmm10
movsd  0x262e(%rip),%xmm9
movsd  0x263d(%rip),%xmm11
xor    %edx,%edx
mov    -0x10(%rsp),%r10
mov    0x40(%rsp),%r11
mov    0x50(%rsp),%r14
mov    0x30(%rsp),%r13
mov    -0x38(%rsp),%rsi
mov    0x90(%rsp),%rdi
mov    0x60(%rsp),%rbx
mov    0x70(%rsp),%r8
mov    0xc0(%rsp),%r9
jmp    3a64 <qpassc+0x2964>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%rsp),%rdx
add    $0x1,%rdx
mov    -0x78(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x78(%rsp)
mov    -0x60(%rsp),%rax
add    0x20(%rsp),%rax
mov    %rax,-0x60(%rsp)
cmp    0x370(%rsp),%rdx
je     3b6f <qpassc+0x2a6f>
mov    %rdx,(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    -0x40(%rsp),%rdx
jle    3a30 <qpassc+0x2930>
mov    0x358(%rsp),%rax
mov    -0x60(%rsp),%r15
mov    -0x78(%rsp),%r12
nopw   0x0(%rax,%rax,1)
movsd  (%r12,%r10,8),%xmm6
movsd  (%r12,%r11,1),%xmm5
movapd %xmm6,%xmm3
addsd  %xmm5,%xmm3
subsd  %xmm5,%xmm6
movsd  (%r12,%r14,1),%xmm2
movsd  (%r12,%r13,1),%xmm0
movapd %xmm2,%xmm5
subsd  %xmm0,%xmm2
movapd %xmm2,%xmm7
mulsd  %xmm8,%xmm7
movsd  (%r12,%rcx,1),%xmm1
addsd  %xmm7,%xmm1
movapd %xmm6,%xmm4
mulsd  %xmm10,%xmm4
addsd  %xmm1,%xmm4
movsd  %xmm4,(%rsi,%r15,1)
movapd %xmm3,%xmm1
mulsd  %xmm9,%xmm1
movapd %xmm1,%xmm4
subsd  (%r12,%rbp,1),%xmm4
addsd  %xmm0,%xmm5
movapd %xmm5,%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm4,%xmm0
movsd  %xmm0,(%rdx,%r15,1)
movsd  (%r12,%rcx,1),%xmm0
subsd  %xmm2,%xmm0
movsd  %xmm0,(%rbx,%r15,1)
movsd  (%r12,%rbp,1),%xmm0
subsd  %xmm3,%xmm0
movsd  %xmm0,(%rdi,%r15,1)
addsd  (%r12,%rcx,1),%xmm7
mulsd  %xmm11,%xmm6
addsd  %xmm7,%xmm6
movsd  %xmm6,(%r9,%r15,1)
subsd  (%r12,%rbp,1),%xmm1
mulsd  %xmm10,%xmm5
addsd  %xmm1,%xmm5
movsd  %xmm5,(%r8,%r15,1)
add    -0x30(%rsp),%r12
add    0x28(%rsp),%r15
add    $0xffffffffffffffff,%rax
jne    3a90 <qpassc+0x2990>
jmp    3a30 <qpassc+0x2930>
xor    %edx,%edx
mov    %edx,%eax
add    $0x308,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
lea    (%rax,%r15,2),%rax
mov    %rax,0x60(%rsp)
mov    -0x68(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,-0x30(%rsp)
lea    0x0(,%r13,8),%rbp
mov    -0x18(%rsp),%r8
lea    (%r8,%rbx,8),%r11
mov    %rbx,%rsi
shl    $0x4,%rsi
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,(%rsp)
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%rdx
mov    -0x48(%rsp),%rax
lea    (%rax,%rbx,8),%r14
lea    (%r8,%rdi,8),%r12
mov    %rsi,0x70(%rsp)
neg    %rsi
mov    %rsi,0xc0(%rsp)
lea    (%rax,%rdi,8),%r13
movapd 0x246b(%rip),%xmm0
mov    %rcx,%rsi
mov    -0x78(%rsp),%r15
jmp    3c82 <qpassc+0x2b82>
nop
mov    0x60(%rsp),%rax
add    %rax,-0x60(%rsp)
mov    -0x20(%rsp),%rbx
mov    0x90(%rsp),%rax
add    %rax,%rbx
mov    -0x10(%rsp),%rdi
sub    %rax,%rdi
mov    0x370(%rsp),%rcx
mov    -0x38(%rsp),%rsi
add    %rcx,%rsi
mov    0x40(%rsp),%r11
mov    0x70(%rsp),%rax
add    %rax,%r11
mov    0x50(%rsp),%r14
add    %rax,%r14
mov    0x30(%rsp),%r12
mov    0xc0(%rsp),%rax
add    %rax,%r12
mov    -0x40(%rsp),%r13
add    %rax,%r13
cmp    0xd8(%rsp),%rsi
mov    -0x78(%rsp),%r15
jg     2bdd <qpassc+0x1add>
mov    %rdi,-0x10(%rsp)
mov    %rbx,-0x20(%rsp)
test   %rcx,%rcx
mov    %r11,0x40(%rsp)
mov    %r14,0x50(%rsp)
mov    %r12,0x30(%rsp)
mov    %r13,-0x40(%rsp)
mov    %rsi,-0x38(%rsp)
jle    3c10 <qpassc+0x2b10>
mov    %rsi,%rax
shl    $0x4,%rax
mov    0x220(%rsp),%rcx
movsd  (%rcx,%rax,1),%xmm1
movsd  0x8(%rcx,%rax,1),%xmm2
movapd %xmm1,%xmm3
xorpd  %xmm0,%xmm3
movapd %xmm2,%xmm4
xorpd  %xmm0,%xmm4
mov    -0x70(%rsp),%rax
mov    -0x60(%rsp),%rsi
add    %rsi,%rax
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%r8
lea    (%r15,%rax,8),%r9
lea    (%r15,%rsi,8),%r10
lea    (%rcx,%rsi,8),%r15
xor    %ecx,%ecx
xor    %edi,%edi
jmp    3d46 <qpassc+0x2c46>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    -0x60(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,-0x60(%rsp)
add    $0x1,%rdi
add    -0x30(%rsp),%rcx
mov    (%rsp),%rax
add    %rax,%r11
add    %rax,%r14
add    %rax,%r12
add    %rax,%r13
cmp    0x370(%rsp),%rdi
je     3c10 <qpassc+0x2b10>
cmpq   $0x0,0x358(%rsp)
jle    3d10 <qpassc+0x2c10>
mov    0x358(%rsp),%rsi
xor    %eax,%eax
mov    %rcx,%rbx
xchg   %ax,%ax
movsd  (%r9,%rbx,1),%xmm5
mulsd  %xmm1,%xmm5
addsd  (%r10,%rbx,1),%xmm5
movsd  (%r8,%rbx,1),%xmm6
mulsd  %xmm2,%xmm6
addsd  %xmm5,%xmm6
movsd  %xmm6,(%r14,%rax,1)
movsd  (%r9,%rbx,1),%xmm5
mulsd  %xmm3,%xmm5
addsd  (%r10,%rbx,1),%xmm5
movsd  (%r8,%rbx,1),%xmm6
mulsd  %xmm4,%xmm6
addsd  %xmm5,%xmm6
movsd  %xmm6,0x0(%r13,%rax,1)
movsd  (%r9,%rbx,1),%xmm5
mulsd  %xmm4,%xmm5
movsd  (%r8,%rbx,1),%xmm6
mulsd  %xmm1,%xmm6
addsd  %xmm5,%xmm6
addsd  (%r15,%rbx,1),%xmm6
movsd  %xmm6,(%r11,%rax,1)
movsd  (%r9,%rbx,1),%xmm5
mulsd  %xmm4,%xmm5
movsd  (%r8,%rbx,1),%xmm6
mulsd  %xmm1,%xmm6
addsd  %xmm5,%xmm6
subsd  (%r15,%rbx,1),%xmm6
movsd  %xmm6,(%r12,%rax,1)
add    %rbp,%rbx
add    %rdx,%rax
add    $0xffffffffffffffff,%rsi
jne    3d60 <qpassc+0x2c60>
jmp    3d10 <qpassc+0x2c10>
mov    -0x70(%rsp),%rcx
lea    (%rcx,%rcx,1),%rax
lea    (%rcx,%rcx,2),%rcx
add    %rcx,%rsi
mov    -0x68(%rsp),%rcx
lea    0x0(,%rcx,8),%rcx
mov    %rcx,0x40(%rsp)
lea    0x0(,%r13,8),%rbx
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%rcx
mov    %rcx,0x120(%rsp)
lea    (%r15,%rax,8),%rax
mov    %rax,0x110(%rsp)
mov    %r12,%rdx
mov    0x340(%rsp),%rcx
imul   %rcx,%rdx
lea    0x0(,%rdx,8),%rax
mov    %rax,0x60(%rsp)
shl    $0x4,%rdx
mov    %rdx,0xb0(%rsp)
lea    0x0(,%rcx,8),%rax
mov    %rax,0x50(%rsp)
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%rdx
mov    -0x40(%rsp),%r13
lea    (%r12,%r13,1),%rax
imul   %rcx,%rax
shl    $0x3,%rax
mov    %rax,0x70(%rsp)
lea    (%r12,%r12,2),%rax
sub    %rax,%r13
imul   %rcx,%r13
shl    $0x3,%r13
movsd  0x214e(%rip),%xmm6
movsd  0x214e(%rip),%xmm5
movapd 0x219d(%rip),%xmm12
mov    %r12,%rcx
mov    %rsi,0x18(%rsp)
jmp    3f49 <qpassc+0x2e49>
nopl   (%rax)
mov    0x18(%rsp),%rsi
add    %rsi,(%rsp)
mov    -0x20(%rsp),%rdi
mov    0xc0(%rsp),%rax
add    %rax,%rdi
mov    -0x38(%rsp),%r8
add    %rax,%r8
mov    0x30(%rsp),%rbp
sub    %rax,%rbp
mov    0x370(%rsp),%r12
mov    0x90(%rsp),%rcx
add    %r12,%rcx
mov    0xb0(%rsp),%rax
add    %rax,0x60(%rsp)
add    %rax,0x70(%rsp)
mov    -0x40(%rsp),%r13
sub    %rax,%r13
cmp    0xd8(%rsp),%rcx
mov    -0x78(%rsp),%r15
jg     3313 <qpassc+0x2213>
mov    %r8,-0x38(%rsp)
mov    %rbp,0x30(%rsp)
mov    %rdi,-0x20(%rsp)
test   %r12,%r12
mov    %r13,-0x40(%rsp)
mov    %rcx,0x90(%rsp)
jle    3ee0 <qpassc+0x2de0>
mov    %rcx,%rax
shl    $0x4,%rax
shl    $0x5,%rcx
mov    0x220(%rsp),%rsi
movsd  (%rsi,%rax,1),%xmm14
movsd  0x8(%rsi,%rax,1),%xmm13
movsd  (%rsi,%rcx,1),%xmm11
movsd  0x8(%rsi,%rcx,1),%xmm10
movapd %xmm13,%xmm3
movapd 0x20c8(%rip),%xmm0
xorpd  %xmm0,%xmm3
movapd %xmm3,-0x60(%rsp)
movapd %xmm10,%xmm8
xorpd  %xmm0,%xmm8
movapd %xmm11,%xmm9
xorpd  %xmm0,%xmm9
mov    -0x70(%rsp),%rax
mov    (%rsp),%rsi
lea    (%rax,%rsi,1),%rax
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%r8
lea    (%r15,%rax,8),%r9
mov    0x120(%rsp),%rax
lea    (%rax,%rsi,8),%r10
mov    0x110(%rsp),%rax
lea    (%rax,%rsi,8),%r11
lea    (%r15,%rsi,8),%r14
lea    (%rcx,%rsi,8),%r15
mov    0x70(%rsp),%rcx
mov    0x60(%rsp),%r12
xor    %eax,%eax
mov    %rax,-0x30(%rsp)
xor    %esi,%esi
jmp    4061 <qpassc+0x2f61>
nopl   0x0(%rax,%rax,1)
mov    (%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,(%rsp)
mov    -0x10(%rsp),%rsi
add    $0x1,%rsi
mov    -0x30(%rsp),%rax
add    0x40(%rsp),%rax
mov    %rax,-0x30(%rsp)
mov    0x50(%rsp),%rax
add    %rax,%r12
add    %rax,%rcx
add    %rax,%r13
cmp    0x370(%rsp),%rsi
je     3ee0 <qpassc+0x2de0>
mov    %rsi,-0x10(%rsp)
cmpq   $0x0,0x358(%rsp)
jle    4020 <qpassc+0x2f20>
mov    0x358(%rsp),%rsi
mov    -0x48(%rsp),%rax
mov    -0x18(%rsp),%rdi
mov    -0x30(%rsp),%rbp
nopl   0x0(%rax,%rax,1)
movsd  (%r9,%rbp,1),%xmm7
movsd  (%r8,%rbp,1),%xmm0
movapd %xmm13,%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm14,%xmm1
mulsd  %xmm7,%xmm1
addsd  %xmm2,%xmm1
movsd  (%r11,%rbp,1),%xmm2
movapd %xmm11,%xmm15
mulsd  %xmm2,%xmm15
addsd  %xmm1,%xmm15
movsd  (%r10,%rbp,1),%xmm4
movapd %xmm10,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm15,%xmm3
mulsd  -0x60(%rsp),%xmm7
mulsd  %xmm14,%xmm0
addsd  %xmm7,%xmm0
movapd %xmm5,%xmm15
movapd %xmm11,%xmm5
mulsd  %xmm4,%xmm5
addsd  %xmm0,%xmm5
movapd %xmm8,%xmm7
mulsd  %xmm2,%xmm7
addsd  %xmm5,%xmm7
movapd %xmm9,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm1,%xmm5
movapd %xmm8,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm5,%xmm1
movsd  (%r14,%rbp,1),%xmm5
mulsd  %xmm9,%xmm4
addsd  %xmm0,%xmm4
movapd %xmm3,%xmm0
mulsd  %xmm6,%xmm0
addsd  %xmm5,%xmm0
mulsd  %xmm10,%xmm2
addsd  %xmm4,%xmm2
movapd %xmm7,%xmm4
mulsd  %xmm6,%xmm4
addsd  (%r15,%rbp,1),%xmm4
addsd  %xmm5,%xmm3
movapd %xmm15,%xmm5
movsd  %xmm3,(%rax,%r12,1)
mulsd  %xmm15,%xmm1
mulsd  %xmm15,%xmm2
addsd  (%r15,%rbp,1),%xmm7
movsd  %xmm7,(%rdi,%r12,1)
movapd %xmm0,%xmm3
addsd  %xmm2,%xmm3
movsd  %xmm3,(%rax,%rcx,1)
movapd %xmm4,%xmm3
subsd  %xmm1,%xmm3
movsd  %xmm3,(%rdi,%rcx,1)
subsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%r13,1)
xorpd  %xmm12,%xmm4
subsd  %xmm1,%xmm4
movsd  %xmm4,(%rdi,%r13,1)
add    %rbx,%rbp
add    %rdx,%rdi
add    %rdx,%rax
add    $0xffffffffffffffff,%rsi
jne    4090 <qpassc+0x2f90>
jmp    4020 <qpassc+0x2f20>
mov    -0x70(%rsp),%rcx
lea    (%rcx,%rcx,1),%rax
lea    (%rdx,%rcx,4),%rcx
mov    %rcx,0x158(%rsp)
mov    0xe0(%rsp),%rdx
lea    (%rdx,%rax,8),%rcx
mov    %rcx,0x1c8(%rsp)
mov    -0x68(%rsp),%rcx
lea    0x0(,%rcx,8),%rcx
mov    %rcx,0x108(%rsp)
mov    0x348(%rsp),%rcx
lea    0x0(,%rcx,8),%rcx
mov    %rcx,0x88(%rsp)
lea    (%r15,%rax,8),%rax
mov    %rax,0x1c0(%rsp)
lea    (%rdx,%r10,8),%rax
mov    %rax,0x1b8(%rsp)
lea    (%r15,%r10,8),%rax
mov    %rax,0x1b0(%rsp)
mov    -0x18(%rsp),%rsi
lea    (%rsi,%rbx,8),%rax
mov    %rax,0x138(%rsp)
mov    %rbx,%rcx
shl    $0x4,%rcx
mov    0x340(%rsp),%r9
lea    0x0(,%r9,8),%rax
mov    %rax,0x178(%rsp)
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x170(%rsp)
mov    -0x48(%rsp),%rdx
lea    (%rdx,%rbx,8),%r11
mov    %rcx,0x150(%rsp)
neg    %rcx
mov    %rcx,0x1d0(%rsp)
lea    (%r12,%r12,2),%rax
mov    (%rsp),%rcx
sub    %rax,%rcx
imul   %r9,%rcx
lea    (%rsi,%rcx,8),%r14
lea    (%rdx,%rcx,8),%r10
lea    (%rsi,%rdi,8),%rax
mov    %rax,0x1e8(%rsp)
lea    (%rdx,%rdi,8),%rax
mov    %rax,0x1e0(%rsp)
lea    (%rsi,%rbp,8),%rax
mov    %rax,0x1d8(%rsp)
lea    (%rdx,%rbp,8),%r13
mov    %r12,%rdx
jmp    43a5 <qpassc+0x32a5>
nopw   0x0(%rax,%rax,1)
mov    0x140(%rsp),%r8
add    0x158(%rsp),%r8
mov    -0x20(%rsp),%rbx
mov    0x160(%rsp),%rax
add    %rax,%rbx
mov    0xa8(%rsp),%rbp
add    %rax,%rbp
mov    0x100(%rsp),%rdi
sub    %rax,%rdi
mov    0x370(%rsp),%r12
mov    0x168(%rsp),%rdx
add    %r12,%rdx
mov    0x150(%rsp),%rax
add    %rax,0x138(%rsp)
mov    0xf8(%rsp),%r11
add    %rax,%r11
mov    0x1d0(%rsp),%rcx
add    %rcx,0x1e8(%rsp)
add    %rcx,0x1e0(%rsp)
add    %rax,0x1d8(%rsp)
mov    0xe8(%rsp),%r13
add    %rax,%r13
mov    0xf0(%rsp),%r14
add    %rcx,%r14
mov    0x18(%rsp),%r10
add    %rcx,%r10
cmp    0xd8(%rsp),%rdx
mov    -0x78(%rsp),%r15
jg     349c <qpassc+0x239c>
mov    %rbp,0xa8(%rsp)
mov    %rdi,0x100(%rsp)
mov    %rbx,-0x20(%rsp)
test   %r12,%r12
mov    %r8,0x140(%rsp)
mov    %r11,0xf8(%rsp)
mov    %r14,0xf0(%rsp)
mov    %r10,0x18(%rsp)
mov    %r13,0xe8(%rsp)
mov    %rdx,0x168(%rsp)
jle    42f0 <qpassc+0x31f0>
mov    %rdx,%rax
shl    $0x4,%rax
mov    %rdx,%rcx
shl    $0x5,%rcx
lea    (%rdx,%rdx,2),%rdx
shl    $0x4,%rdx
mov    0x220(%rsp),%rsi
movsd  (%rsi,%rax,1),%xmm15
movsd  0x8(%rsi,%rax,1),%xmm9
movsd  (%rsi,%rcx,1),%xmm3
movsd  0x8(%rsi,%rcx,1),%xmm10
movsd  (%rsi,%rdx,1),%xmm8
movsd  0x8(%rsi,%rdx,1),%xmm12
movapd %xmm3,%xmm14
movapd 0x1c2f(%rip),%xmm0
xorpd  %xmm0,%xmm14
movapd %xmm10,%xmm13
xorpd  %xmm0,%xmm13
movapd %xmm8,%xmm1
xorpd  %xmm0,%xmm1
movapd %xmm1,0x70(%rsp)
movapd %xmm12,%xmm1
xorpd  %xmm0,%xmm1
movapd %xmm1,0xc0(%rsp)
movapd %xmm9,%xmm1
xorpd  %xmm0,%xmm1
movapd %xmm1,0xb0(%rsp)
mov    0x1c8(%rsp),%rax
lea    (%rax,%r8,8),%rax
mov    %rax,0x200(%rsp)
mov    0x1c0(%rsp),%rax
lea    (%rax,%r8,8),%rax
mov    %rax,0x1f0(%rsp)
mov    -0x70(%rsp),%rax
lea    (%rax,%r8,1),%rax
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%rdx
mov    %rdx,0x280(%rsp)
lea    (%r15,%rax,8),%rax
mov    %rax,0x270(%rsp)
mov    0x1b8(%rsp),%rax
lea    (%rax,%r8,8),%rax
mov    %rax,0x260(%rsp)
mov    0x1b0(%rsp),%rax
lea    (%rax,%r8,8),%rax
mov    %rax,0x188(%rsp)
lea    (%r15,%r8,8),%rax
mov    %rax,-0x38(%rsp)
lea    (%rcx,%r8,8),%rax
mov    %rax,0x180(%rsp)
mov    %r10,%rbx
mov    0x1d8(%rsp),%rdx
mov    0x1e0(%rsp),%rsi
mov    0x1e8(%rsp),%rdi
mov    %r11,%r8
mov    0x138(%rsp),%rbp
xor    %eax,%eax
mov    %rax,0x190(%rsp)
xor    %ecx,%ecx
movapd %xmm9,0x90(%rsp)
movapd %xmm14,0x60(%rsp)
movapd %xmm3,-0x60(%rsp)
movapd %xmm10,0x120(%rsp)
movapd %xmm13,0x110(%rsp)
jmp    4610 <qpassc+0x3510>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x140(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,0x140(%rsp)
mov    0x210(%rsp),%rcx
add    $0x1,%rcx
mov    0x190(%rsp),%rax
add    0x108(%rsp),%rax
mov    %rax,0x190(%rsp)
mov    0x178(%rsp),%rax
mov    -0x40(%rsp),%r10
add    %rax,%r10
add    %rax,%rbp
mov    -0x10(%rsp),%rdi
add    %rax,%rdi
add    %rax,%rsi
mov    (%rsp),%rdx
add    %rax,%rdx
mov    0x40(%rsp),%r8
add    %rax,%r8
mov    0x30(%rsp),%r9
add    %rax,%r9
mov    0x50(%rsp),%rbx
add    %rax,%rbx
cmp    0x370(%rsp),%rcx
mov    %r9,%r14
mov    %r8,%r13
mov    %rbp,%r8
mov    %r10,%rbp
je     42f0 <qpassc+0x31f0>
mov    %rbp,-0x40(%rsp)
mov    %r14,0x30(%rsp)
mov    %rbx,0x50(%rsp)
mov    %r13,0x40(%rsp)
mov    %rdi,-0x10(%rsp)
mov    %rdx,(%rsp)
mov    %rcx,0x210(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    0x88(%rsp),%r9
mov    0x170(%rsp),%rdx
mov    0x200(%rsp),%r10
mov    0x1f0(%rsp),%r14
mov    0x280(%rsp),%r13
mov    0x270(%rsp),%r15
mov    0x260(%rsp),%r11
mov    0x188(%rsp),%r12
mov    -0x38(%rsp),%rdi
mov    %r8,%rbp
mov    0x180(%rsp),%r8
jle    4580 <qpassc+0x3480>
mov    0x358(%rsp),%rbx
xor    %ecx,%ecx
mov    0x190(%rsp),%rax
cs nopw 0x0(%rax,%rax,1)
mov    %rbx,-0x30(%rsp)
movsd  (%rdi,%rax,1),%xmm1
movsd  (%r14,%rax,1),%xmm0
movapd %xmm3,%xmm5
mulsd  %xmm0,%xmm5
addsd  %xmm1,%xmm5
movsd  (%r10,%rax,1),%xmm7
movapd %xmm10,%xmm3
mulsd  %xmm7,%xmm3
addsd  %xmm5,%xmm3
movapd %xmm14,%xmm4
mulsd  %xmm0,%xmm4
addsd  %xmm1,%xmm4
movapd %xmm13,%xmm5
mulsd  %xmm7,%xmm5
addsd  %xmm4,%xmm5
movsd  (%r8,%rax,1),%xmm4
movapd -0x60(%rsp),%xmm6
mulsd  %xmm7,%xmm6
addsd  %xmm4,%xmm6
movapd %xmm13,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm6,%xmm2
mulsd  %xmm14,%xmm7
addsd  %xmm4,%xmm7
mulsd  %xmm10,%xmm0
addsd  %xmm7,%xmm0
movsd  (%r15,%rax,1),%xmm4
movapd %xmm12,%xmm14
movsd  0x0(%r13,%rax,1),%xmm12
movapd %xmm9,%xmm6
mulsd  %xmm12,%xmm6
movapd %xmm15,%xmm7
mulsd  %xmm4,%xmm7
addsd  %xmm6,%xmm7
movsd  (%r12,%rax,1),%xmm9
movapd %xmm8,%xmm6
mulsd  %xmm9,%xmm6
addsd  %xmm7,%xmm6
movsd  (%r11,%rax,1),%xmm13
movapd %xmm8,%xmm11
movapd %xmm14,%xmm10
mulsd  %xmm13,%xmm10
addsd  %xmm6,%xmm10
movapd 0x70(%rsp),%xmm8
movapd %xmm8,%xmm6
mulsd  %xmm9,%xmm6
addsd  %xmm7,%xmm6
movapd 0xc0(%rsp),%xmm1
movapd %xmm1,%xmm7
mulsd  %xmm13,%xmm7
addsd  %xmm6,%xmm7
mulsd  0xb0(%rsp),%xmm4
mulsd  %xmm15,%xmm12
addsd  %xmm4,%xmm12
movapd %xmm11,%xmm4
mulsd  %xmm13,%xmm4
addsd  %xmm12,%xmm4
mulsd  %xmm9,%xmm1
addsd  %xmm4,%xmm1
mulsd  %xmm8,%xmm13
addsd  %xmm12,%xmm13
movapd %xmm14,%xmm12
movapd 0x60(%rsp),%xmm14
mulsd  %xmm12,%xmm9
addsd  %xmm13,%xmm9
movapd 0x110(%rsp),%xmm13
movapd %xmm3,%xmm4
addsd  %xmm10,%xmm4
movsd  %xmm4,0x0(%rbp,%rcx,1)
subsd  %xmm10,%xmm3
movapd 0x120(%rsp),%xmm10
movapd %xmm11,%xmm8
movsd  %xmm3,(%rsi,%rcx,1)
movapd %xmm2,%xmm3
addsd  %xmm1,%xmm3
mov    -0x40(%rsp),%rdi
movsd  %xmm3,(%rdi,%rcx,1)
subsd  %xmm2,%xmm1
mov    %r8,%rbx
mov    %r12,%r8
mov    %r11,%r12
mov    -0x10(%rsp),%rdi
movsd  %xmm1,(%rdi,%rcx,1)
movapd -0x60(%rsp),%xmm3
movapd %xmm5,%xmm1
addsd  %xmm9,%xmm1
mov    0x40(%rsp),%rdi
movsd  %xmm1,(%rdi,%rcx,1)
subsd  %xmm9,%xmm5
movapd 0x90(%rsp),%xmm9
mov    0x50(%rsp),%rdi
movsd  %xmm5,(%rdi,%rcx,1)
movapd %xmm0,%xmm1
subsd  %xmm7,%xmm1
mov    (%rsp),%r11
movsd  %xmm1,(%r11,%rcx,1)
movapd 0x17d0(%rip),%xmm1
xorpd  %xmm1,%xmm0
subsd  %xmm7,%xmm0
mov    0x30(%rsp),%rdi
movsd  %xmm0,(%rdi,%rcx,1)
mov    -0x38(%rsp),%rdi
mov    %r12,%r11
mov    %r8,%r12
mov    %rbx,%r8
mov    -0x30(%rsp),%rbx
add    %r9,%rax
add    %rdx,%rcx
add    $0xffffffffffffffff,%rbx
jne    46b0 <qpassc+0x35b0>
jmp    4580 <qpassc+0x3480>
lea    (%rdx,%rdx,1),%r8
lea    0x0(,%rdx,4),%r9
lea    (%rdx,%rdx,4),%rdx
add    %rdx,%r15
mov    -0x68(%rsp),%rdx
lea    0x0(,%rdx,8),%rdx
mov    %rdx,0xa8(%rsp)
mov    0x348(%rsp),%rdx
lea    0x0(,%rdx,8),%rdx
mov    %rdx,0xf8(%rsp)
mov    0xe0(%rsp),%rdx
mov    %rax,%rcx
lea    (%rdx,%r9,8),%rax
mov    %rax,0x248(%rsp)
lea    (%rcx,%r9,8),%rax
mov    %rax,0x240(%rsp)
lea    (%rdx,%r8,8),%rax
mov    %rax,0x238(%rsp)
lea    (%rcx,%r8,8),%rax
mov    %rax,0x230(%rsp)
lea    (%rdx,%r14,8),%rax
mov    %rax,0x228(%rsp)
lea    (%rcx,%r14,8),%rax
mov    %rax,0x2a0(%rsp)
mov    -0x18(%rsp),%r10
lea    (%r10,%r12,8),%r9
mov    %r12,%rdx
shl    $0x4,%rdx
mov    0x340(%rsp),%r8
lea    0x0(,%r8,8),%rax
mov    %rax,0xf0(%rsp)
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x180(%rsp)
mov    %rdx,0x258(%rsp)
neg    %rdx
mov    %rdx,0x250(%rsp)
lea    (%rsi,%rsi,2),%rax
mov    0x30(%rsp),%rdx
sub    %rax,%rdx
imul   %r8,%rdx
lea    (%r10,%rdx,8),%r14
mov    -0x48(%rsp),%rax
lea    (%rax,%rdx,8),%rbp
movapd 0x168b(%rip),%xmm2
lea    (%rax,%r12,8),%r8
lea    (%r10,%rdi,8),%rdx
mov    %rdx,0x1d0(%rsp)
lea    (%rax,%rdi,8),%rdx
mov    %rdx,0x1c8(%rsp)
lea    (%r10,%r11,8),%rdx
mov    %rdx,0x1c0(%rsp)
lea    (%rax,%r11,8),%rdx
mov    %rdx,0x1b8(%rsp)
lea    (%r10,%rbx,8),%rdx
mov    %rdx,0x1b0(%rsp)
mov    %r8,%r10
lea    (%rax,%rbx,8),%r8
mov    %rcx,%rax
mov    %rsi,%rcx
mov    %r15,0x18(%rsp)
jmp    4b0e <qpassc+0x3a0e>
nopl   0x0(%rax)
mov    0x18(%rsp),%r15
add    %r15,%r13
mov    -0x20(%rsp),%r12
mov    0x1a8(%rsp),%rax
add    %rax,%r12
mov    0x138(%rsp),%rdi
add    %rax,%rdi
mov    0x168(%rsp),%r11
add    %rax,%r11
mov    0xe8(%rsp),%rbx
sub    %rax,%rbx
mov    0x370(%rsp),%rsi
mov    0x150(%rsp),%rcx
add    %rsi,%rcx
mov    0x1e8(%rsp),%r9
mov    0x258(%rsp),%rax
add    %rax,%r9
mov    0x160(%rsp),%r10
add    %rax,%r10
add    %rax,0x1d0(%rsp)
add    %rax,0x1c8(%rsp)
add    %rax,0x1c0(%rsp)
add    %rax,0x1b8(%rsp)
mov    0x250(%rsp),%rax
add    %rax,0x1b0(%rsp)
mov    0x158(%rsp),%r8
add    %rax,%r8
mov    0x1e0(%rsp),%r14
add    %rax,%r14
mov    0x1d8(%rsp),%rbp
add    %rax,%rbp
cmp    0xd8(%rsp),%rcx
mov    -0x78(%rsp),%rax
jg     3678 <qpassc+0x2578>
mov    %rdi,0x138(%rsp)
mov    %r11,0x168(%rsp)
mov    %rbx,0xe8(%rsp)
mov    %r12,-0x20(%rsp)
test   %rsi,%rsi
mov    %r9,0x1e8(%rsp)
mov    %r14,0x1e0(%rsp)
mov    %rbp,0x1d8(%rsp)
mov    %r10,0x160(%rsp)
mov    %r8,0x158(%rsp)
mov    %rcx,0x150(%rsp)
jle    4a40 <qpassc+0x3940>
mov    %rax,%r15
mov    %rcx,%rax
shl    $0x4,%rax
mov    %rcx,%rbx
shl    $0x5,%rbx
lea    (%rcx,%rcx,2),%rdx
shl    $0x4,%rdx
mov    %rcx,%rsi
shl    $0x6,%rsi
mov    0x220(%rsp),%rdi
movsd  (%rdi,%rax,1),%xmm11
movsd  0x8(%rdi,%rax,1),%xmm1
movsd  (%rdi,%rbx,1),%xmm5
movsd  0x8(%rdi,%rbx,1),%xmm4
movsd  (%rdi,%rdx,1),%xmm6
movsd  0x8(%rdi,%rdx,1),%xmm13
movsd  (%rdi,%rsi,1),%xmm7
movsd  0x8(%rdi,%rsi,1),%xmm8
movapd %xmm7,%xmm12
xorpd  %xmm2,%xmm12
movapd %xmm8,%xmm14
xorpd  %xmm2,%xmm14
movapd %xmm6,%xmm0
xorpd  %xmm2,%xmm0
movapd %xmm0,0x120(%rsp)
movapd %xmm13,%xmm0
xorpd  %xmm2,%xmm0
movapd %xmm0,0x110(%rsp)
movapd %xmm1,%xmm0
xorpd  %xmm2,%xmm0
movapd %xmm0,0x190(%rsp)
movapd %xmm4,%xmm0
xorpd  %xmm2,%xmm0
movapd %xmm0,0x140(%rsp)
mov    -0x70(%rsp),%rax
lea    (%rax,%r13,1),%rax
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%rdx
mov    %rdx,0x210(%rsp)
lea    (%r15,%rax,8),%rax
mov    %rax,0x170(%rsp)
mov    0x248(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x200(%rsp)
mov    0x240(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x1f0(%rsp)
mov    0x238(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x280(%rsp)
mov    0x230(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x270(%rsp)
mov    0x228(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x260(%rsp)
mov    0x2a0(%rsp),%rax
lea    (%rax,%r13,8),%rax
mov    %rax,0x188(%rsp)
lea    (%r15,%r13,8),%rax
mov    %rax,0x100(%rsp)
lea    (%rcx,%r13,8),%r15
mov    %rbp,%r12
mov    %r14,-0x40(%rsp)
mov    %r8,%rdi
mov    0x1b0(%rsp),%r11
mov    0x1b8(%rsp),%r14
mov    0x1c0(%rsp),%r8
mov    0x1c8(%rsp),%rbx
mov    0x1d0(%rsp),%rax
mov    %r10,%rcx
mov    %r9,%rdx
xor    %esi,%esi
mov    %rsi,0x108(%rsp)
xor    %esi,%esi
movsd  %xmm11,0x70(%rsp)
movapd %xmm1,0xc0(%rsp)
movsd  %xmm5,-0x60(%rsp)
movapd %xmm4,0xb0(%rsp)
movapd %xmm6,-0x30(%rsp)
movapd %xmm13,(%rsp)
movapd %xmm7,-0x10(%rsp)
movapd %xmm8,0x40(%rsp)
movapd %xmm12,0x50(%rsp)
movapd %xmm14,0x30(%rsp)
jmp    4deb <qpassc+0x3ceb>
cs nopw 0x0(%rax,%rax,1)
nop
mov    0x88(%rsp),%r13
add    -0x68(%rsp),%r13
mov    0x178(%rsp),%rsi
add    $0x1,%rsi
mov    0x108(%rsp),%rax
add    0xa8(%rsp),%rax
mov    %rax,0x108(%rsp)
mov    0xf0(%rsp),%rdx
add    %rdx,%rbp
add    %rdx,%rcx
add    %rdx,%rdi
add    %rdx,%rbx
mov    -0x38(%rsp),%r8
add    %rdx,%r8
add    %rdx,%r9
mov    0x60(%rsp),%r11
add    %rdx,%r11
mov    0x90(%rsp),%rax
add    %rdx,%rax
add    %rdx,%r14
mov    %r14,-0x40(%rsp)
add    %rdx,%r12
cmp    0x370(%rsp),%rsi
mov    %rax,%rdx
mov    %r9,%r14
mov    %rdi,%rax
mov    %rdx,%rdi
mov    %rbp,%rdx
je     4a40 <qpassc+0x3940>
mov    %r11,0x60(%rsp)
mov    %rdi,0x90(%rsp)
mov    %r8,-0x38(%rsp)
mov    %rsi,0x178(%rsp)
mov    %r13,0x88(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    0xf8(%rsp),%r13
mov    %rax,%rdi
mov    %rdx,%rbp
mov    0x170(%rsp),%r10
mov    %r14,%r9
mov    -0x40(%rsp),%r14
mov    0x100(%rsp),%r8
jle    4d60 <qpassc+0x3c60>
mov    0x358(%rsp),%rsi
xor    %edx,%edx
mov    0x108(%rsp),%r11
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  (%r10,%r11,1),%xmm9
mov    0x210(%rsp),%rax
movsd  (%rax,%r11,1),%xmm3
movapd %xmm1,%xmm0
mulsd  %xmm3,%xmm0
movapd %xmm11,%xmm2
mulsd  %xmm9,%xmm2
addsd  %xmm0,%xmm2
mov    0x1f0(%rsp),%rax
movsd  (%rax,%r11,1),%xmm15
movapd %xmm7,%xmm0
mulsd  %xmm15,%xmm0
addsd  %xmm2,%xmm0
mov    0x200(%rsp),%rax
movsd  (%rax,%r11,1),%xmm1
movapd 0x40(%rsp),%xmm8
mulsd  %xmm1,%xmm8
addsd  %xmm0,%xmm8
movapd %xmm12,%xmm0
mulsd  %xmm15,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm14,%xmm7
mulsd  %xmm1,%xmm7
addsd  %xmm0,%xmm7
mov    0x270(%rsp),%rax
movsd  (%rax,%r11,1),%xmm12
mov    0x280(%rsp),%rax
movsd  (%rax,%r11,1),%xmm0
movapd 0xb0(%rsp),%xmm4
mulsd  %xmm0,%xmm4
movsd  -0x60(%rsp),%xmm5
mulsd  %xmm12,%xmm5
addsd  %xmm4,%xmm5
mov    0x188(%rsp),%rax
movsd  (%rax,%r11,1),%xmm14
movapd %xmm6,%xmm4
mulsd  %xmm14,%xmm4
addsd  %xmm5,%xmm4
mov    0x260(%rsp),%rax
movsd  (%rax,%r11,1),%xmm6
movapd (%rsp),%xmm13
mulsd  %xmm6,%xmm13
addsd  %xmm4,%xmm13
movapd 0x120(%rsp),%xmm10
movapd %xmm10,%xmm2
mulsd  %xmm14,%xmm2
addsd  %xmm5,%xmm2
movapd 0x110(%rsp),%xmm5
movapd %xmm5,%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm2,%xmm4
mulsd  0x190(%rsp),%xmm9
mulsd  %xmm11,%xmm3
addsd  %xmm9,%xmm3
movapd -0x10(%rsp),%xmm2
mulsd  %xmm1,%xmm2
addsd  %xmm3,%xmm2
movapd 0x30(%rsp),%xmm11
mulsd  %xmm15,%xmm11
addsd  %xmm2,%xmm11
mulsd  0x50(%rsp),%xmm1
addsd  %xmm3,%xmm1
mulsd  0x40(%rsp),%xmm15
addsd  %xmm1,%xmm15
mulsd  0x140(%rsp),%xmm12
mulsd  -0x60(%rsp),%xmm0
addsd  %xmm12,%xmm0
movapd -0x30(%rsp),%xmm1
mulsd  %xmm6,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm5,%xmm9
mulsd  %xmm14,%xmm9
addsd  %xmm1,%xmm9
mulsd  %xmm10,%xmm6
addsd  %xmm0,%xmm6
mulsd  (%rsp),%xmm14
addsd  %xmm6,%xmm14
movsd  (%r8,%r11,1),%xmm1
movsd  %xmm1,-0x40(%rsp)
movapd %xmm8,%xmm12
addsd  %xmm13,%xmm12
movsd  0x1006(%rip),%xmm5
mulsd  %xmm5,%xmm12
addsd  %xmm1,%xmm12
movapd %xmm8,%xmm0
subsd  %xmm13,%xmm0
movsd  0xff2(%rip),%xmm2
mulsd  %xmm2,%xmm0
movapd %xmm11,%xmm3
addsd  %xmm9,%xmm3
mulsd  %xmm5,%xmm3
addsd  (%r15,%r11,1),%xmm3
movapd %xmm11,%xmm1
subsd  %xmm9,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm12,%xmm2
addsd  %xmm0,%xmm2
subsd  %xmm0,%xmm12
movapd %xmm3,%xmm0
addsd  %xmm1,%xmm0
subsd  %xmm1,%xmm3
movapd %xmm4,%xmm6
mulsd  0xfc6(%rip),%xmm6
movapd %xmm7,%xmm1
movsd  0xfb2(%rip),%xmm5
mulsd  %xmm5,%xmm1
addsd  %xmm6,%xmm1
movapd %xmm14,%xmm6
mulsd  0xfa5(%rip),%xmm6
movapd %xmm15,%xmm10
mulsd  %xmm5,%xmm10
addsd  %xmm6,%xmm10
movsd  0xf7e(%rip),%xmm6
mulsd  %xmm6,%xmm14
mulsd  0xf80(%rip),%xmm15
addsd  %xmm14,%xmm15
movapd 0x30(%rsp),%xmm14
addsd  -0x40(%rsp),%xmm8
addsd  %xmm13,%xmm8
movsd  %xmm8,(%rcx,%rdx,1)
movapd %xmm10,%xmm5
addsd  %xmm2,%xmm5
movsd  %xmm5,(%rbx,%rdx,1)
movapd %xmm15,%xmm5
addsd  %xmm12,%xmm5
movsd  %xmm5,(%r9,%rdx,1)
movsd  0xf3c(%rip),%xmm5
subsd  %xmm15,%xmm12
mov    0x90(%rsp),%rax
movsd  %xmm12,(%rax,%rdx,1)
movapd 0x50(%rsp),%xmm12
subsd  %xmm10,%xmm2
movsd  %xmm2,(%r12,%rdx,1)
mulsd  %xmm6,%xmm4
movapd -0x30(%rsp),%xmm6
mulsd  %xmm5,%xmm7
addsd  (%r15,%r11,1),%xmm11
addsd  %xmm4,%xmm7
addsd  %xmm9,%xmm11
movsd  %xmm11,0x0(%rbp,%rdx,1)
movsd  0x70(%rsp),%xmm11
movapd %xmm0,%xmm2
subsd  %xmm1,%xmm2
movsd  %xmm2,(%rdi,%rdx,1)
movapd %xmm3,%xmm2
subsd  %xmm7,%xmm2
mov    %r13,%rax
mov    %r14,%r13
mov    %r12,%r14
mov    %r9,%r12
mov    -0x38(%rsp),%r9
movsd  %xmm2,(%r9,%rdx,1)
mov    %r12,%r9
mov    %r14,%r12
mov    %r13,%r14
mov    %rax,%r13
movapd 0xec4(%rip),%xmm2
xorpd  %xmm2,%xmm3
subsd  %xmm7,%xmm3
movapd -0x10(%rsp),%xmm7
mov    0x60(%rsp),%rax
movsd  %xmm3,(%rax,%rdx,1)
xorpd  %xmm2,%xmm0
subsd  %xmm1,%xmm0
movapd 0xc0(%rsp),%xmm1
movsd  %xmm0,(%r14,%rdx,1)
add    %r13,%r11
add    0x180(%rsp),%rdx
add    $0xffffffffffffffff,%rsi
jne    4e60 <qpassc+0x3d60>
jmp    4d60 <qpassc+0x3c60>
lea    (%rcx,%rcx,1),%rax
lea    0x0(,%rcx,4),%rcx
lea    (%rdx,%r9,2),%rdx
mov    %rdx,0x298(%rsp)
mov    -0x68(%rsp),%rdx
lea    0x0(,%rdx,8),%rdx
mov    %rdx,0x138(%rsp)
mov    0x348(%rsp),%rdx
lea    0x0(,%rdx,8),%rdx
mov    %rdx,0x1e8(%rsp)
mov    0xe0(%rsp),%rbp
lea    0x0(%rbp,%rax,8),%rdx
mov    %rdx,0x2f0(%rsp)
lea    (%r10,%rax,8),%rax
mov    %rax,0x2e8(%rsp)
lea    0x0(%rbp,%r9,8),%rax
mov    %rax,0x2e0(%rsp)
lea    (%r10,%r9,8),%rax
mov    %rax,0x2d8(%rsp)
lea    0x0(%rbp,%rcx,8),%rax
mov    %rax,0x2d0(%rsp)
lea    (%r10,%rcx,8),%rax
mov    %rax,0x2c8(%rsp)
mov    %r14,%rax
shl    $0x4,%rax
mov    %rax,0x300(%rsp)
neg    %rax
mov    %rax,0x2f8(%rsp)
mov    0x200(%rsp),%rax
shl    $0x2,%rax
mov    %rbx,0x158(%rsp)
lea    (%rdi,%rdi,2),%r12
sub    %r12,%rax
mov    0x340(%rsp),%rbx
imul   %rbx,%rax
mov    -0x18(%rsp),%rcx
lea    (%rcx,%rax,8),%r13
mov    -0x48(%rsp),%rdx
lea    (%rdx,%rax,8),%r9
mov    0x1f0(%rsp),%rax
sub    %r12,%rax
imul   %rbx,%rax
lea    (%rcx,%rax,8),%rbx
mov    %rbx,0x150(%rsp)
lea    (%rdx,%rax,8),%r12
lea    0x0(,%r8,8),%rax
add    %rbp,%rax
mov    %rax,0x2c0(%rsp)
lea    (%r10,%r8,8),%rax
mov    %rax,0x2b8(%rsp)
mov    0x158(%rsp),%rbx
lea    (%rcx,%r14,8),%rax
mov    %rax,0x1a8(%rsp)
mov    0x340(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x1e0(%rsp)
mov    0x150(%rsp),%r8
mov    0x350(%rsp),%rax
lea    0x0(,%rax,8),%rax
mov    %rax,0x1d8(%rsp)
lea    (%rdx,%r14,8),%rax
mov    %rax,0x258(%rsp)
lea    (%rcx,%rbx,8),%rax
mov    %rax,0x250(%rsp)
lea    (%rdx,%rbx,8),%rax
mov    %rax,0x248(%rsp)
lea    (%rcx,%r15,8),%rax
mov    %rax,0x240(%rsp)
lea    (%rdx,%r15,8),%rax
mov    %rax,0x238(%rsp)
lea    (%rcx,%rsi,8),%rax
mov    %rax,0x230(%rsp)
lea    (%rdx,%rsi,8),%rax
mov    %rax,0x228(%rsp)
mov    %rdi,%rcx
jmp    54a3 <qpassc+0x43a3>
cs nopw 0x0(%rax,%rax,1)
add    0x298(%rsp),%r11
mov    -0x20(%rsp),%r14
mov    0x2a0(%rsp),%rax
add    %rax,%r14
mov    0x158(%rsp),%rbx
add    %rax,%rbx
mov    0x1d0(%rsp),%r15
add    %rax,%r15
mov    0x160(%rsp),%rsi
sub    %rax,%rsi
mov    0x1b0(%rsp),%rcx
add    %rdi,%rcx
mov    0x300(%rsp),%rax
add    %rax,0x1a8(%rsp)
add    %rax,0x258(%rsp)
add    %rax,0x250(%rsp)
add    %rax,0x248(%rsp)
add    %rax,0x240(%rsp)
add    %rax,0x238(%rsp)
mov    0x2f8(%rsp),%rax
add    %rax,0x230(%rsp)
add    %rax,0x228(%rsp)
mov    0x1c8(%rsp),%r13
add    %rax,%r13
mov    0x1c0(%rsp),%r9
add    %rax,%r9
mov    0x150(%rsp),%r8
add    %rax,%r8
mov    0x1b8(%rsp),%r12
add    %rax,%r12
cmp    0xd8(%rsp),%rcx
mov    -0x78(%rsp),%r10
jg     38ed <qpassc+0x27ed>
mov    %rbx,0x158(%rsp)
mov    %r15,0x1d0(%rsp)
mov    %rsi,0x160(%rsp)
mov    %r14,-0x20(%rsp)
test   %rdi,%rdi
mov    %r13,0x1c8(%rsp)
mov    %r9,0x1c0(%rsp)
mov    %r8,0x150(%rsp)
mov    %r12,0x1b8(%rsp)
mov    %rcx,0x1b0(%rsp)
jle    53d0 <qpassc+0x42d0>
mov    %rcx,%rax
shl    $0x4,%rax
mov    %rcx,%rbx
shl    $0x5,%rbx
lea    (%rcx,%rcx,2),%rdx
shl    $0x4,%rdx
mov    %rcx,%rsi
shl    $0x6,%rsi
lea    (%rcx,%rcx,4),%rdi
shl    $0x4,%rdi
mov    0x220(%rsp),%rbp
movsd  0x0(%rbp,%rax,1),%xmm5
movsd  0x8(%rbp,%rax,1),%xmm0
movsd  0x0(%rbp,%rbx,1),%xmm6
movsd  0x8(%rbp,%rbx,1),%xmm10
movsd  0x0(%rbp,%rdx,1),%xmm12
movsd  0x8(%rbp,%rdx,1),%xmm9
movsd  0x0(%rbp,%rsi,1),%xmm11
movsd  0x8(%rbp,%rsi,1),%xmm13
movsd  0x0(%rbp,%rdi,1),%xmm15
movsd  0x8(%rbp,%rdi,1),%xmm1
movapd %xmm0,%xmm8
movapd 0xb03(%rip),%xmm3
xorpd  %xmm3,%xmm8
movapd %xmm10,%xmm7
xorpd  %xmm3,%xmm7
movapd %xmm9,%xmm2
xorpd  %xmm3,%xmm2
movapd %xmm2,0x280(%rsp)
movapd %xmm13,%xmm2
xorpd  %xmm3,%xmm2
movapd %xmm2,0x270(%rsp)
movapd %xmm1,0x210(%rsp)
xorpd  %xmm3,%xmm1
movapd %xmm1,0x260(%rsp)
mov    -0x70(%rsp),%rax
lea    (%rax,%r11,1),%rax
mov    0xe0(%rsp),%rcx
lea    (%rcx,%rax,8),%rdx
mov    %rdx,0x188(%rsp)
lea    (%r10,%rax,8),%rax
mov    %rax,0x180(%rsp)
mov    0x2f0(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x108(%rsp)
mov    0x2e8(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x88(%rsp)
mov    0x2e0(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x178(%rsp)
mov    0x2d8(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x170(%rsp)
mov    0x2d0(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x100(%rsp)
mov    0x2c8(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x18(%rsp)
mov    0x2c0(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0xe8(%rsp)
mov    0x2b8(%rsp),%rax
lea    (%rax,%r11,8),%rax
mov    %rax,0x168(%rsp)
lea    (%r10,%r11,8),%r14
lea    (%rcx,%r11,8),%r10
mov    %r12,0x30(%rsp)
mov    %r8,-0x38(%rsp)
mov    %r9,-0x40(%rsp)
mov    0x228(%rsp),%r8
mov    0x230(%rsp),%r9
mov    0x238(%rsp),%r12
mov    0x240(%rsp),%rax
mov    0x248(%rsp),%rsi
mov    0x250(%rsp),%r15
mov    0x258(%rsp),%rbx
mov    0x1a8(%rsp),%rbp
xor    %ecx,%ecx
mov    %rcx,0xf8(%rsp)
xor    %edx,%edx
movsd  %xmm5,0x90(%rsp)
movapd %xmm0,0x60(%rsp)
movsd  %xmm6,0x70(%rsp)
movapd %xmm10,0xc0(%rsp)
movsd  %xmm12,0xb0(%rsp)
movapd %xmm9,0x120(%rsp)
movsd  %xmm11,0x110(%rsp)
movapd %xmm13,0x190(%rsp)
movsd  %xmm15,0x140(%rsp)
movapd %xmm8,0x200(%rsp)
movapd %xmm7,0x1f0(%rsp)
jmp    581b <qpassc+0x471b>
nopw   0x0(%rax,%rax,1)
mov    0xa8(%rsp),%rax
add    -0x68(%rsp),%rax
mov    %rax,0xa8(%rsp)
mov    0xf0(%rsp),%rdx
add    $0x1,%rdx
mov    0xf8(%rsp),%rcx
add    0x138(%rsp),%rcx
mov    %rcx,0xf8(%rsp)
mov    0x1e0(%rsp),%rcx
add    %rcx,%rsi
add    %rcx,%r8
mov    %r8,0xf0(%rsp)
add    %rcx,%r15
mov    %r15,-0x60(%rsp)
mov    0x40(%rsp),%r13
add    %rcx,%r13
mov    -0x10(%rsp),%rax
add    %rcx,%rax
mov    (%rsp),%r12
add    %rcx,%r12
add    %rcx,%rdi
mov    -0x30(%rsp),%r11
add    %rcx,%r11
mov    0x50(%rsp),%rbx
add    %rcx,%rbx
add    %rcx,-0x40(%rsp)
add    %rcx,-0x38(%rsp)
add    %rcx,0x30(%rsp)
mov    0x370(%rsp),%rbp
mov    %rdi,%rcx
mov    %rbp,%rdi
cmp    %rbp,%rdx
mov    %rsi,%rbp
mov    %r11,%r8
mov    %rcx,%r9
mov    %r13,%rsi
mov    %rbx,%r13
mov    -0x60(%rsp),%r15
mov    0xf0(%rsp),%rbx
mov    0xa8(%rsp),%r11
je     53d0 <qpassc+0x42d0>
mov    %r13,0x50(%rsp)
mov    %rsi,0x40(%rsp)
mov    %rax,-0x10(%rsp)
mov    %r12,(%rsp)
mov    %r8,-0x30(%rsp)
mov    %rdx,0xf0(%rsp)
mov    %r11,0xa8(%rsp)
cmpq   $0x0,0x358(%rsp)
mov    0x1e8(%rsp),%rcx
mov    0x1d8(%rsp),%rax
mov    %r9,%rdi
mov    %rbx,%r8
mov    %rbp,%rsi
mov    0x18(%rsp),%r13
mov    0xe8(%rsp),%r11
mov    0x168(%rsp),%r9
jle    5750 <qpassc+0x4650>
mov    0x358(%rsp),%rbp
xor    %r12d,%r12d
mov    0xf8(%rsp),%rdx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x180(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm0
mov    0x188(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm3
movapd 0x60(%rsp),%xmm1
mulsd  %xmm3,%xmm1
movapd %xmm5,%xmm2
mulsd  %xmm0,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm8,%xmm0
mulsd  %xmm5,%xmm3
addsd  %xmm0,%xmm3
mov    0x88(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm0
mov    0x108(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm8
movapd %xmm10,%xmm1
mulsd  %xmm8,%xmm1
movapd %xmm6,%xmm5
mulsd  %xmm0,%xmm5
addsd  %xmm1,%xmm5
mulsd  %xmm7,%xmm0
mulsd  %xmm6,%xmm8
addsd  %xmm0,%xmm8
mov    0x170(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm0
mov    0x178(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm14
movapd %xmm9,%xmm1
mulsd  %xmm14,%xmm1
movapd %xmm12,%xmm4
mulsd  %xmm0,%xmm4
addsd  %xmm1,%xmm4
mulsd  0x280(%rsp),%xmm0
mulsd  %xmm12,%xmm14
addsd  %xmm0,%xmm14
movsd  0x0(%r13,%rdx,1),%xmm1
mov    0x100(%rsp),%rbx
movsd  (%rbx,%rdx,1),%xmm9
movapd %xmm13,%xmm6
mulsd  %xmm9,%xmm6
movapd %xmm11,%xmm7
mulsd  %xmm1,%xmm7
addsd  %xmm6,%xmm7
mulsd  0x270(%rsp),%xmm1
mulsd  %xmm11,%xmm9
addsd  %xmm1,%xmm9
movsd  (%r9,%rdx,1),%xmm10
movsd  (%r11,%rdx,1),%xmm6
movapd 0x210(%rsp),%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm15,%xmm1
mulsd  %xmm10,%xmm1
addsd  %xmm0,%xmm1
mulsd  0x260(%rsp),%xmm10
mulsd  %xmm15,%xmm6
addsd  %xmm10,%xmm6
movapd %xmm2,%xmm12
addsd  %xmm7,%xmm12
subsd  %xmm7,%xmm2
movsd  %xmm2,-0x60(%rsp)
movapd %xmm5,%xmm13
addsd  %xmm1,%xmm13
subsd  %xmm1,%xmm5
movapd %xmm3,%xmm10
addsd  %xmm9,%xmm10
subsd  %xmm9,%xmm3
movapd %xmm8,%xmm15
addsd  %xmm6,%xmm15
subsd  %xmm6,%xmm8
movsd  (%r14,%rdx,1),%xmm11
movapd %xmm4,%xmm7
movapd %xmm4,%xmm2
addsd  %xmm11,%xmm7
movapd %xmm12,%xmm6
addsd  %xmm13,%xmm6
mulsd  0x5d0(%rip),%xmm6
addsd  %xmm7,%xmm6
movsd  (%r10,%rdx,1),%xmm9
movapd %xmm14,%xmm4
addsd  %xmm9,%xmm4
movapd %xmm15,%xmm1
subsd  %xmm10,%xmm1
addsd  %xmm12,%xmm7
addsd  %xmm13,%xmm7
movsd  %xmm7,(%r8,%r12,1)
movsd  (%r10,%rdx,1),%xmm0
addsd  %xmm14,%xmm0
addsd  %xmm10,%xmm0
addsd  %xmm15,%xmm10
mulsd  0x584(%rip),%xmm10
addsd  %xmm4,%xmm10
subsd  %xmm2,%xmm11
movapd %xmm5,%xmm4
movsd  -0x60(%rsp),%xmm7
subsd  %xmm7,%xmm4
mulsd  0x564(%rip),%xmm4
addsd  %xmm11,%xmm4
movapd %xmm14,%xmm11
subsd  %xmm9,%xmm11
movapd %xmm3,%xmm9
subsd  %xmm8,%xmm9
mulsd  0x542(%rip),%xmm9
addsd  %xmm11,%xmm9
subsd  %xmm12,%xmm13
movapd 0x58f(%rip),%xmm12
mulsd  0x52e(%rip),%xmm13
mulsd  0x526(%rip),%xmm1
movapd %xmm5,%xmm11
xorpd  %xmm12,%xmm11
subsd  %xmm7,%xmm11
mulsd  0x50e(%rip),%xmm11
addsd  %xmm15,%xmm0
movsd  0x500(%rip),%xmm15
movapd %xmm8,%xmm7
xorpd  %xmm12,%xmm7
subsd  %xmm3,%xmm7
mulsd  %xmm15,%xmm7
movsd  0x140(%rsp),%xmm15
movsd  %xmm0,(%rsi,%r12,1)
movapd %xmm4,%xmm0
subsd  %xmm7,%xmm0
mov    0x40(%rsp),%rbx
movsd  %xmm0,(%rbx,%r12,1)
movapd %xmm11,%xmm0
subsd  %xmm9,%xmm0
movsd  %xmm0,(%r15,%r12,1)
movapd %xmm6,%xmm0
subsd  %xmm1,%xmm0
mov    (%rsp),%rbx
movsd  %xmm0,(%rbx,%r12,1)
movapd %xmm10,%xmm0
addsd  %xmm13,%xmm0
mov    -0x10(%rsp),%rbx
movsd  %xmm0,(%rbx,%r12,1)
movsd  (%r14,%rdx,1),%xmm0
subsd  %xmm2,%xmm0
subsd  -0x60(%rsp),%xmm0
addsd  %xmm5,%xmm0
movsd  0x90(%rsp),%xmm5
mov    %r15,%rbx
mov    -0x30(%rsp),%r15
movsd  %xmm0,(%r15,%r12,1)
mov    %rbx,%r15
subsd  (%r10,%rdx,1),%xmm14
addsd  %xmm3,%xmm14
subsd  %xmm8,%xmm14
movapd 0x200(%rsp),%xmm8
movsd  %xmm14,(%rdi,%r12,1)
addsd  %xmm6,%xmm1
movsd  0x70(%rsp),%xmm6
mov    %rax,%rbx
mov    %rcx,%rax
mov    -0x40(%rsp),%rcx
movsd  %xmm1,(%rcx,%r12,1)
subsd  %xmm10,%xmm13
mov    0x50(%rsp),%rcx
movsd  %xmm13,(%rcx,%r12,1)
movapd 0x190(%rsp),%xmm13
addsd  %xmm4,%xmm7
mov    0x30(%rsp),%rcx
movsd  %xmm7,(%rcx,%r12,1)
movapd 0xc0(%rsp),%xmm10
addsd  %xmm9,%xmm11
movapd 0x1f0(%rsp),%xmm7
movapd 0x120(%rsp),%xmm9
movsd  0xb0(%rsp),%xmm12
mov    -0x38(%rsp),%rcx
movsd  %xmm11,(%rcx,%r12,1)
mov    %rax,%rcx
mov    %rbx,%rax
movsd  0x110(%rsp),%xmm11
add    %rcx,%rdx
add    %rbx,%r12
add    $0xffffffffffffffff,%rbp
jne    58a0 <qpassc+0x47a0>
jmp    5750 <qpassc+0x4650>

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

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