void mul_mdmd_md_l0g(const int M, const int K, const int N,
                     const double *const A, const double *const B,
                     double *const C, const int Astride, const int Bstride,
                     const int Cstride) {
  const double *a, *b;
  double *c;
  const double *ap_0, *ap_1;
  const double *bp;
  double *cp;
  const int A_sbs_stride = Astride * 2;
  const int C_sbs_stride = Cstride * 2;
  const int k_marg_el = ((K >= 17) ? ((K - 1) & 15) : K);
  const int k_norm = K - k_marg_el;
  const int m_marg_el = M & 1;
  const int m_norm = M - m_marg_el;
  const int n_marg_el = N & 1;
  const int n_norm = N - n_marg_el;
  double *const c_endp = C + m_norm * Cstride;
  register double c0_0, c0_1, c1_0, c1_1;
  register double t0_0, t0_1, t1_0, t1_1;
  for (c = C, a = A; c != c_endp; c += C_sbs_stride, a += A_sbs_stride) {
    const double *const ap_endp = a + k_norm;
    double *const cp_endp = c + n_norm;
    const double *const apc_1 = a + Astride;
    for (b = B, cp = c; cp != cp_endp; b += 2, cp += 2) {
      register double _b0, _b1;
      register double _a0, _a1;
      double *_cp;
      ap_0 = a;
      ap_1 = apc_1;
      bp = b;
      _cp = cp;
      c0_0 = _cp[0];
      c0_1 = _cp[1];
      _cp += Cstride;
      c1_0 = _cp[0];
      c1_1 = _cp[1];
      if (K >= 17) {
        _b0 = bp[0];
        _b1 = bp[1];
        _a0 = ap_0[0];
        _a1 = ap_1[0];
        bp += Bstride;
        ap_0 += 1;
        ap_1 += 1;
        do {
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[0];
          _a1 = ap_1[0];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[1];
          _a1 = ap_1[1];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[2];
          _a1 = ap_1[2];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[3];
          _a1 = ap_1[3];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[4];
          _a1 = ap_1[4];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[5];
          _a1 = ap_1[5];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[6];
          _a1 = ap_1[6];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[7];
          _a1 = ap_1[7];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[8];
          _a1 = ap_1[8];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[9];
          _a1 = ap_1[9];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[10];
          _a1 = ap_1[10];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[11];
          _a1 = ap_1[11];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[12];
          _a1 = ap_1[12];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[13];
          _a1 = ap_1[13];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[14];
          _a1 = ap_1[14];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          t1_0 = _a1 * _b0;
          t1_1 = _a1 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          c1_0 += t1_0;
          c1_1 += t1_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[15];
          _a1 = ap_1[15];
          bp += Bstride;
          ap_0 += 16;
          ap_1 += 16;
        } while (ap_0 != ap_endp);
        t0_0 = _a0 * _b0;
        t0_1 = _a0 * _b1;
        t1_0 = _a1 * _b0;
        t1_1 = _a1 * _b1;
        c0_0 += t0_0;
        c0_1 += t0_1;
        c1_0 += t1_0;
        c1_1 += t1_1;
      }
      if (k_marg_el & 0x10) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[4];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[5];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[6];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[7];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[8];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[8];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[9];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[9];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[10];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[10];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[11];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[11];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[12];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[12];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[13];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[13];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[14];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[14];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[15];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[15];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        ap_0 += 16;
        ap_1 += 16;
      }
      if (k_marg_el & 0x8) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[4];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[5];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[6];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[7];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        ap_0 += 8;
        ap_1 += 8;
      }
      if (k_marg_el & 0x4) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        ap_0 += 4;
        ap_1 += 4;
      }
      if (k_marg_el & 0x2) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
        ap_0 += 2;
        ap_1 += 2;
      }
      if (k_marg_el & 0x1) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        c1_1 += _a1 * _b1;
      }
      _cp = cp;
      _cp[0] = c0_0;
      _cp[1] = c0_1;
      _cp += Cstride;
      _cp[0] = c1_0;
      _cp[1] = c1_1;
    }
  }
  for (c = C, a = A; c != c_endp; c += C_sbs_stride, a += A_sbs_stride) {
    const double *const ap_endp = a + k_norm;
    const double *const apc_1 = a + Astride;
    b = B + n_norm;
    cp = c + n_norm;
    if (n_marg_el & 0x1) {
      register double _b0;
      register double _a0, _a1;
      double *_cp;
      ap_0 = a;
      ap_1 = apc_1;
      bp = b;
      _cp = cp;
      c0_0 = _cp[0];
      _cp += Cstride;
      c1_0 = _cp[0];
      if (K >= 17) {
        _b0 = bp[0];
        _a0 = ap_0[0];
        _a1 = ap_1[0];
        bp += Bstride;
        ap_0 += 1;
        ap_1 += 1;
        do {
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[0];
          _a1 = ap_1[0];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[1];
          _a1 = ap_1[1];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[2];
          _a1 = ap_1[2];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[3];
          _a1 = ap_1[3];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[4];
          _a1 = ap_1[4];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[5];
          _a1 = ap_1[5];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[6];
          _a1 = ap_1[6];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[7];
          _a1 = ap_1[7];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[8];
          _a1 = ap_1[8];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[9];
          _a1 = ap_1[9];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[10];
          _a1 = ap_1[10];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[11];
          _a1 = ap_1[11];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[12];
          _a1 = ap_1[12];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[13];
          _a1 = ap_1[13];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[14];
          _a1 = ap_1[14];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t1_0 = _a1 * _b0;
          c0_0 += t0_0;
          c1_0 += t1_0;
          _b0 = bp[0];
          _a0 = ap_0[15];
          _a1 = ap_1[15];
          bp += Bstride;
          ap_0 += 16;
          ap_1 += 16;
        } while (ap_0 != ap_endp);
        t0_0 = _a0 * _b0;
        t1_0 = _a1 * _b0;
        c0_0 += t0_0;
        c1_0 += t1_0;
      }
      if (k_marg_el & 0x10) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[4];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[5];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[6];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[7];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[8];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[8];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[9];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[9];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[10];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[10];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[11];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[11];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[12];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[12];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[13];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[13];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[14];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[14];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[15];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[15];
        c1_0 += _a1 * _b0;
        ap_0 += 16;
        ap_1 += 16;
      }
      if (k_marg_el & 0x8) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[4];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[5];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[6];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[7];
        c1_0 += _a1 * _b0;
        ap_0 += 8;
        ap_1 += 8;
      }
      if (k_marg_el & 0x4) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[2];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[3];
        c1_0 += _a1 * _b0;
        ap_0 += 4;
        ap_1 += 4;
      }
      if (k_marg_el & 0x2) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[1];
        c1_0 += _a1 * _b0;
        ap_0 += 2;
        ap_1 += 2;
      }
      if (k_marg_el & 0x1) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _a1 = ap_1[0];
        c1_0 += _a1 * _b0;
      }
      _cp = cp;
      _cp[0] = c0_0;
      _cp += Cstride;
      _cp[0] = c1_0;
    }
  }
  if (m_marg_el & 0x1) {
    const double *const ap_endp = a + k_norm;
    double *const cp_endp = c + n_norm;
    for (b = B, cp = c; cp != cp_endp; b += 2, cp += 2) {
      register double _b0, _b1;
      register double _a0;
      double *_cp;
      ap_0 = a;
      bp = b;
      _cp = cp;
      c0_0 = _cp[0];
      c0_1 = _cp[1];
      if (K >= 17) {
        _b0 = bp[0];
        _b1 = bp[1];
        _a0 = ap_0[0];
        bp += Bstride;
        ap_0 += 1;
        do {
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[0];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[1];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[2];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[3];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[4];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[5];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[6];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[7];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[8];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[9];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[10];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[11];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[12];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[13];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[14];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          t0_1 = _a0 * _b1;
          c0_0 += t0_0;
          c0_1 += t0_1;
          _b0 = bp[0];
          _b1 = bp[1];
          _a0 = ap_0[15];
          bp += Bstride;
          ap_0 += 16;
        } while (ap_0 != ap_endp);
        t0_0 = _a0 * _b0;
        t0_1 = _a0 * _b1;
        c0_0 += t0_0;
        c0_1 += t0_1;
      }
      if (k_marg_el & 0x10) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[8];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[9];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[10];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[11];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[12];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[13];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[14];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[15];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        ap_0 += 16;
      }
      if (k_marg_el & 0x8) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        ap_0 += 8;
      }
      if (k_marg_el & 0x4) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        ap_0 += 4;
      }
      if (k_marg_el & 0x2) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
        ap_0 += 2;
      }
      if (k_marg_el & 0x1) {
        _b0 = bp[0];
        _b1 = bp[1];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        c0_1 += _a0 * _b1;
      }
      _cp = cp;
      _cp[0] = c0_0;
      _cp[1] = c0_1;
    }
    if (n_marg_el & 0x1) {
      register double _b0;
      register double _a0;
      double *_cp;
      ap_0 = a;
      bp = b;
      _cp = cp;
      c0_0 = _cp[0];
      if (K >= 17) {
        _b0 = bp[0];
        _a0 = ap_0[0];
        bp += Bstride;
        ap_0 += 1;
        do {
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[0];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[1];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[2];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[3];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[4];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[5];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[6];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[7];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[8];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[9];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[10];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[11];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[12];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[13];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[14];
          bp += Bstride;
          t0_0 = _a0 * _b0;
          c0_0 += t0_0;
          _b0 = bp[0];
          _a0 = ap_0[15];
          bp += Bstride;
          ap_0 += 16;
        } while (ap_0 != ap_endp);
        t0_0 = _a0 * _b0;
        c0_0 += t0_0;
      }
      if (k_marg_el & 0x10) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[8];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[9];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[10];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[11];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[12];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[13];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[14];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[15];
        c0_0 += _a0 * _b0;
        ap_0 += 16;
      }
      if (k_marg_el & 0x8) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[4];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[5];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[6];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[7];
        c0_0 += _a0 * _b0;
        ap_0 += 8;
      }
      if (k_marg_el & 0x4) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[2];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[3];
        c0_0 += _a0 * _b0;
        ap_0 += 4;
      }
      if (k_marg_el & 0x2) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[1];
        c0_0 += _a0 * _b0;
        ap_0 += 2;
      }
      if (k_marg_el & 0x1) {
        _b0 = bp[0];
        bp += Bstride;
        _a0 = ap_0[0];
        c0_0 += _a0 * _b0;
      }
      _cp = cp;
      _cp[0] = c0_0;
    }
  }
}


x86 assembly (clang, -O0):
<mul_mdmd_md_l0g>:
push   %rbp
mov    %rsp,%rbp
sub    $0x108,%rsp
mov    0x20(%rbp),%eax
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%eax
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    %rcx,-0x18(%rbp)
mov    %r8,-0x20(%rbp)
mov    %r9,-0x28(%rbp)
mov    0x10(%rbp),%eax
shl    $0x1,%eax
mov    %eax,-0x64(%rbp)
mov    0x20(%rbp),%eax
shl    $0x1,%eax
mov    %eax,-0x68(%rbp)
cmpl   $0x11,-0x8(%rbp)
jl     1159 <mul_mdmd_md_l0g+0x59>
mov    -0x8(%rbp),%eax
sub    $0x1,%eax
and    $0xf,%eax
mov    %eax,-0x184(%rbp)
jmp    1162 <mul_mdmd_md_l0g+0x62>
mov    -0x8(%rbp),%eax
mov    %eax,-0x184(%rbp)
mov    -0x184(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x8(%rbp),%eax
sub    -0x6c(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x4(%rbp),%eax
and    $0x1,%eax
mov    %eax,-0x74(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x74(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0xc(%rbp),%eax
and    $0x1,%eax
mov    %eax,-0x7c(%rbp)
mov    -0xc(%rbp),%eax
sub    -0x7c(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x28(%rbp),%rax
mov    -0x78(%rbp),%ecx
imul   0x20(%rbp),%ecx
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x28(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x40(%rbp),%rax
cmp    -0x88(%rbp),%rax
je     451c <mul_mdmd_md_l0g+0x341c>
mov    -0x30(%rbp),%rax
movslq -0x70(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0xd0(%rbp)
mov    -0x40(%rbp),%rax
movslq -0x80(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0xd8(%rbp)
mov    -0x30(%rbp),%rax
movslq 0x10(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0xe0(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x40(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
cmp    -0xd8(%rbp),%rax
je     44e8 <mul_mdmd_md_l0g+0x33e8>
mov    -0x30(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0xe0(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x108(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    0x20(%rbp),%ecx
mov    -0x108(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x108(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
cmpl   $0x11,-0x8(%rbp)
jl     25aa <mul_mdmd_md_l0g+0x14aa>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x50(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x50(%rbp)
mov    -0x48(%rbp),%rax
cmp    -0xd0(%rbp),%rax
jne    133f <mul_mdmd_md_l0g+0x23f>
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x6c(%rbp),%eax
and    $0x10,%eax
cmp    $0x0,%eax
je     3553 <mul_mdmd_md_l0g+0x2453>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x8,%eax
cmp    $0x0,%eax
je     3d38 <mul_mdmd_md_l0g+0x2c38>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     413d <mul_mdmd_md_l0g+0x303d>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
movsd  -0x100(%rbp),%xmm0
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x2,%eax
cmp    $0x0,%eax
je     4352 <mul_mdmd_md_l0g+0x3252>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     4457 <mul_mdmd_md_l0g+0x3357>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x60(%rbp),%rax
mov    %rax,-0x108(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%ecx
mov    -0x108(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x108(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x38(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x38(%rbp)
mov    -0x60(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x60(%rbp)
jmp    1227 <mul_mdmd_md_l0g+0x127>
jmp    44ed <mul_mdmd_md_l0g+0x33ed>
mov    -0x68(%rbp),%ecx
mov    -0x40(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x40(%rbp)
mov    -0x64(%rbp),%ecx
mov    -0x30(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
jmp    11c4 <mul_mdmd_md_l0g+0xc4>
mov    -0x28(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x40(%rbp),%rax
cmp    -0x88(%rbp),%rax
je     64d5 <mul_mdmd_md_l0g+0x53d5>
mov    -0x30(%rbp),%rax
movslq -0x70(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x110(%rbp)
mov    -0x30(%rbp),%rax
movslq 0x10(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x118(%rbp)
mov    -0x20(%rbp),%rax
movslq -0x80(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x40(%rbp),%rax
movslq -0x80(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x60(%rbp)
mov    -0x7c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     64a1 <mul_mdmd_md_l0g+0x53a1>
mov    -0x30(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x118(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    0x20(%rbp),%ecx
mov    -0x138(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
cmpl   $0x11,-0x8(%rbp)
jl     5167 <mul_mdmd_md_l0g+0x4067>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x50(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
mov    -0x50(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x50(%rbp)
mov    -0x48(%rbp),%rax
cmp    -0x110(%rbp),%rax
jne    466c <mul_mdmd_md_l0g+0x356c>
movsd  -0x128(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x6c(%rbp),%eax
and    $0x10,%eax
cmp    $0x0,%eax
je     5b00 <mul_mdmd_md_l0g+0x4a00>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x8,%eax
cmp    $0x0,%eax
je     5fdd <mul_mdmd_md_l0g+0x4edd>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     625e <mul_mdmd_md_l0g+0x515e>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x2,%eax
cmp    $0x0,%eax
je     63b1 <mul_mdmd_md_l0g+0x52b1>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x50(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     6455 <mul_mdmd_md_l0g+0x5355>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x60(%rbp),%rax
mov    %rax,-0x138(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x138(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%ecx
mov    -0x138(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x138(%rbp)
movsd  -0xa0(%rbp),%xmm0
ff
mov    -0x138(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    64a6 <mul_mdmd_md_l0g+0x53a6>
mov    -0x68(%rbp),%ecx
mov    -0x40(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x40(%rbp)
mov    -0x64(%rbp),%ecx
mov    -0x30(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x30(%rbp)
jmp    452c <mul_mdmd_md_l0g+0x342c>
mov    -0x74(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     9700 <mul_mdmd_md_l0g+0x8600>
mov    -0x30(%rbp),%rax
movslq -0x70(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x140(%rbp)
mov    -0x40(%rbp),%rax
movslq -0x80(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x148(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x40(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
cmp    -0x148(%rbp),%rax
je     83cd <mul_mdmd_md_l0g+0x72cd>
mov    -0x30(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x168(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x168(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
cmpl   $0x11,-0x8(%rbp)
jl     70bd <mul_mdmd_md_l0g+0x5fbd>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x48(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
cmp    -0x140(%rbp),%rax
jne    65cf <mul_mdmd_md_l0g+0x54cf>
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x6c(%rbp),%eax
and    $0x10,%eax
cmp    $0x0,%eax
je     7a49 <mul_mdmd_md_l0g+0x6949>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x8,%eax
cmp    $0x0,%eax
je     7f1b <mul_mdmd_md_l0g+0x6e1b>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     8191 <mul_mdmd_md_l0g+0x7091>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
movsd  -0x160(%rbp),%xmm0
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x2,%eax
cmp    $0x0,%eax
je     82d9 <mul_mdmd_md_l0g+0x71d9>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     837e <mul_mdmd_md_l0g+0x727e>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x60(%rbp),%rax
mov    %rax,-0x168(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x168(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x168(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x38(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x38(%rbp)
mov    -0x60(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x60(%rbp)
jmp    6520 <mul_mdmd_md_l0g+0x5420>
mov    -0x7c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     96fb <mul_mdmd_md_l0g+0x85fb>
mov    -0x30(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    -0x180(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
cmpl   $0x11,-0x8(%rbp)
jl     8b03 <mul_mdmd_md_l0g+0x7a03>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x48(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
cmp    -0x140(%rbp),%rax
jne    8455 <mul_mdmd_md_l0g+0x7355>
movsd  -0x178(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x6c(%rbp),%eax
and    $0x10,%eax
cmp    $0x0,%eax
je     90ff <mul_mdmd_md_l0g+0x7fff>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x60(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x68(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x70(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x78(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x80,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x8,%eax
cmp    $0x0,%eax
je     9409 <mul_mdmd_md_l0g+0x8309>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x38(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x40,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     959b <mul_mdmd_md_l0g+0x849b>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x20,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x2,%eax
cmp    $0x0,%eax
je     9671 <mul_mdmd_md_l0g+0x8571>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x48(%rbp),%rax
add    $0x10,%rax
mov    %rax,-0x48(%rbp)
mov    -0x6c(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     96dd <mul_mdmd_md_l0g+0x85dd>
mov    -0x58(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    0x18(%rbp),%ecx
mov    -0x58(%rbp),%rax
movslq %ecx,%rcx
shl    $0x3,%rcx
add    %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x60(%rbp),%rax
mov    %rax,-0x180(%rbp)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x180(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    9700 <mul_mdmd_md_l0g+0x8600>
add    $0x108,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<mul_mdmd_md_l0g>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x20,%rsp
mov    0x68(%rsp),%ebx
lea    -0x1(%rsi),%r10d
and    $0xf,%r10d
cmp    $0x11,%esi
cmovl  %esi,%r10d
mov    0x60(%rsp),%r15d
mov    %esi,%eax
sub    %r10d,%eax
mov    %edi,%ebp
and    $0xfffffffe,%ebp
mov    %edx,-0x60(%rsp)
and    $0xfffffffe,%edx
imul   %ebx,%ebp
cltq
mov    %rax,-0x38(%rsp)
mov    %edx,-0x5c(%rsp)
movslq %edx,%rax
mov    %rax,-0x58(%rsp)
test   %ebp,%ebp
mov    %rcx,-0x80(%rsp)
je     23a9 <mul_mdmd_md_l0g+0x12a9>
mov    %edi,-0x64(%rsp)
mov    0x58(%rsp),%eax
mov    %ebp,-0x14(%rsp)
movslq %ebp,%rdx
lea    (%r9,%rdx,8),%rdx
mov    %rdx,-0x28(%rsp)
movslq %eax,%rdx
add    %eax,%eax
movslq %ebx,%rdi
add    %ebx,%ebx
movslq %r15d,%rbp
movslq %ebx,%rbx
mov    %rbx,-0x8(%rsp)
cltq
mov    %r8,-0x70(%rsp)
lea    (%r8,%rbp,8),%rbx
mov    %rbx,0x10(%rsp)
mov    %rdi,%rbx
mov    %rbp,%rdi
shl    $0x7,%rdi
mov    %rdi,(%rsp)
mov    %rdx,-0x30(%rsp)
lea    (%rcx,%rdx,8),%r15
add    $0x8,%r15
shl    $0x3,%rax
mov    %rax,-0x10(%rsp)
movslq %esi,%r11
shl    $0x3,%r11
movslq %r10d,%rax
shl    $0x3,%rax
sub    %rax,%r11
add    $0xfffffffffffffff8,%r11
lea    0x0(,%rbp,8),%r12
mov    %r9,-0x78(%rsp)
mov    %r9,-0x20(%rsp)
mov    %rsi,-0x48(%rsp)
mov    %rbx,-0x50(%rsp)
jmp    1219 <mul_mdmd_md_l0g+0x119>
xchg   %ax,%ax
mov    -0x8(%rsp),%rax
mov    -0x20(%rsp),%rdx
lea    (%rdx,%rax,8),%rdx
mov    -0x10(%rsp),%rax
add    %rax,%rcx
add    %rax,%r15
mov    %rdx,-0x20(%rsp)
cmp    -0x28(%rsp),%rdx
je     1bf5 <mul_mdmd_md_l0g+0xaf5>
cmpl   $0x0,-0x5c(%rsp)
je     11f0 <mul_mdmd_md_l0g+0xf0>
mov    -0x38(%rsp),%rax
lea    (%rcx,%rax,8),%rax
mov    %rax,0x18(%rsp)
mov    -0x58(%rsp),%rax
mov    -0x20(%rsp),%rdi
lea    (%rdi,%rax,8),%rax
mov    %rax,-0x40(%rsp)
mov    -0x30(%rsp),%rax
lea    (%rcx,%rax,8),%rax
mov    %rax,0x8(%rsp)
mov    0x10(%rsp),%r9
mov    -0x70(%rsp),%r14
jmp    128a <mul_mdmd_md_l0g+0x18a>
nopl   0x0(%rax,%rax,1)
mov    -0x48(%rsp),%rsi
mov    -0x50(%rsp),%rbx
movupd %xmm1,(%rdi)
movupd %xmm0,(%rdi,%rbx,8)
add    $0x10,%r14
add    $0x10,%rdi
add    $0x10,%r9
cmp    -0x40(%rsp),%rdi
je     11f0 <mul_mdmd_md_l0g+0xf0>
movupd (%rdi),%xmm1
movupd (%rdi,%rbx,8),%xmm0
cmp    $0x11,%esi
jl     1610 <mul_mdmd_md_l0g+0x510>
movupd (%r14),%xmm4
movsd  (%rcx),%xmm3
mov    0x8(%rsp),%rax
movsd  (%rax),%xmm2
xor    %r13d,%r13d
mov    %r9,%rsi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %rsi,%r8
unpcklpd %xmm3,%xmm3
mulpd  %xmm4,%xmm3
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm2
movupd (%rsi),%xmm10
addpd  %xmm1,%xmm3
movsd  0x8(%rcx,%r13,1),%xmm1
movsd  0x10(%rcx,%r13,1),%xmm6
movsd  0x18(%rcx,%r13,1),%xmm11
addpd  %xmm0,%xmm2
movsd  0x20(%rcx,%r13,1),%xmm8
movsd  (%r15,%r13,1),%xmm0
movsd  0x8(%r15,%r13,1),%xmm7
unpcklpd %xmm1,%xmm1
movsd  0x10(%r15,%r13,1),%xmm12
movsd  0x18(%r15,%r13,1),%xmm9
unpcklpd %xmm0,%xmm0
mulpd  %xmm10,%xmm1
add    %r12,%rsi
movupd (%r8,%r12,1),%xmm4
unpcklpd %xmm6,%xmm6
mulpd  %xmm10,%xmm0
mulpd  %xmm4,%xmm6
unpcklpd %xmm7,%xmm7
movupd (%r12,%rsi,1),%xmm5
mulpd  %xmm4,%xmm7
add    %r12,%rsi
unpcklpd %xmm11,%xmm11
unpcklpd %xmm12,%xmm12
mulpd  %xmm5,%xmm11
movupd (%r12,%rsi,1),%xmm4
add    %r12,%rsi
unpcklpd %xmm8,%xmm8
mulpd  %xmm5,%xmm12
mulpd  %xmm4,%xmm8
unpcklpd %xmm9,%xmm9
mulpd  %xmm4,%xmm9
addpd  %xmm3,%xmm1
movupd (%r12,%rsi,1),%xmm4
add    %r12,%rsi
movsd  0x28(%rcx,%r13,1),%xmm3
addpd  %xmm2,%xmm0
unpcklpd %xmm3,%xmm3
movsd  0x20(%r15,%r13,1),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm3
mulpd  %xmm4,%xmm2
movupd (%r12,%rsi,1),%xmm4
add    %r12,%rsi
addpd  %xmm1,%xmm6
movsd  0x30(%rcx,%r13,1),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm4,%xmm1
addpd  %xmm0,%xmm7
movsd  0x28(%r15,%r13,1),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm4,%xmm0
addpd  %xmm6,%xmm11
movupd (%r12,%rsi,1),%xmm4
add    %r12,%rsi
movsd  0x38(%rcx,%r13,1),%xmm6
addpd  %xmm7,%xmm12
unpcklpd %xmm6,%xmm6
mulpd  %xmm4,%xmm6
movsd  0x30(%r15,%r13,1),%xmm7
addpd  %xmm11,%xmm8
unpcklpd %xmm7,%xmm7
mulpd  %xmm4,%xmm7
movupd (%r12,%rsi,1),%xmm10
addpd  %xmm12,%xmm9
add    %r12,%rsi
movsd  0x40(%rcx,%r13,1),%xmm4
unpcklpd %xmm4,%xmm4
addpd  %xmm8,%xmm3
mulpd  %xmm10,%xmm4
movsd  0x38(%r15,%r13,1),%xmm5
unpcklpd %xmm5,%xmm5
addpd  %xmm9,%xmm2
mulpd  %xmm10,%xmm5
movupd (%r12,%rsi,1),%xmm8
add    %r12,%rsi
addpd  %xmm3,%xmm1
movsd  0x48(%rcx,%r13,1),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm8,%xmm3
addpd  %xmm2,%xmm0
movsd  0x40(%r15,%r13,1),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm8,%xmm2
addpd  %xmm1,%xmm6
movupd (%r12,%rsi,1),%xmm8
add    %r12,%rsi
movsd  0x50(%rcx,%r13,1),%xmm1
addpd  %xmm0,%xmm7
unpcklpd %xmm1,%xmm1
mulpd  %xmm8,%xmm1
movsd  0x48(%r15,%r13,1),%xmm0
addpd  %xmm6,%xmm4
unpcklpd %xmm0,%xmm0
mulpd  %xmm8,%xmm0
movupd (%r12,%rsi,1),%xmm8
addpd  %xmm7,%xmm5
add    %r12,%rsi
movsd  0x58(%rcx,%r13,1),%xmm6
unpcklpd %xmm6,%xmm6
addpd  %xmm4,%xmm3
mulpd  %xmm8,%xmm6
movsd  0x50(%r15,%r13,1),%xmm4
unpcklpd %xmm4,%xmm4
addpd  %xmm5,%xmm2
mulpd  %xmm8,%xmm4
movupd (%r12,%rsi,1),%xmm5
add    %r12,%rsi
addpd  %xmm3,%xmm1
movsd  0x60(%rcx,%r13,1),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm5,%xmm3
addpd  %xmm2,%xmm0
movsd  0x58(%r15,%r13,1),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm5,%xmm2
addpd  %xmm1,%xmm6
movupd (%r12,%rsi,1),%xmm5
add    %r12,%rsi
movsd  0x68(%rcx,%r13,1),%xmm1
addpd  %xmm0,%xmm4
unpcklpd %xmm1,%xmm1
mulpd  %xmm5,%xmm1
movsd  0x60(%r15,%r13,1),%xmm0
addpd  %xmm6,%xmm3
unpcklpd %xmm0,%xmm0
mulpd  %xmm5,%xmm0
movupd (%r12,%rsi,1),%xmm5
addpd  %xmm4,%xmm2
add    %r12,%rsi
movsd  0x70(%rcx,%r13,1),%xmm4
unpcklpd %xmm4,%xmm4
addpd  %xmm3,%xmm1
mulpd  %xmm5,%xmm4
movsd  0x68(%r15,%r13,1),%xmm6
unpcklpd %xmm6,%xmm6
addpd  %xmm2,%xmm0
mulpd  %xmm5,%xmm6
movupd (%r12,%rsi,1),%xmm2
add    %r12,%rsi
addpd  %xmm1,%xmm4
movsd  0x78(%rcx,%r13,1),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm0,%xmm6
movsd  0x70(%r15,%r13,1),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm4,%xmm1
movupd (%r12,%rsi,1),%xmm4
add    %r12,%rsi
movsd  0x80(%rcx,%r13,1),%xmm3
addpd  %xmm6,%xmm0
movsd  0x78(%r15,%r13,1),%xmm2
sub    $0xffffffffffffff80,%r13
add    %r12,%rsi
cmp    %r13,%r11
jne    12c0 <mul_mdmd_md_l0g+0x1c0>
add    (%rsp),%r8
unpcklpd %xmm3,%xmm3
mulpd  %xmm4,%xmm3
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm2
addpd  %xmm3,%xmm1
addpd  %xmm2,%xmm0
add    %r15,%r13
mov    0x18(%rsp),%rsi
test   $0x10,%r10b
jne    1625 <mul_mdmd_md_l0g+0x525>
jmp    18f4 <mul_mdmd_md_l0g+0x7f4>
nopl   0x0(%rax,%rax,1)
mov    %r14,%r8
mov    0x8(%rsp),%r13
mov    %rcx,%rsi
test   $0x10,%r10b
je     18f4 <mul_mdmd_md_l0g+0x7f4>
movupd (%r8),%xmm8
lea    (%r8,%rbp,8),%rbx
movsd  (%rsi),%xmm7
movsd  0x8(%rsi),%xmm5
movsd  0x10(%rsi),%xmm3
movsd  0x18(%rsi),%xmm9
unpcklpd %xmm7,%xmm7
mulpd  %xmm8,%xmm7
addpd  %xmm1,%xmm7
movsd  0x0(%r13),%xmm2
movsd  0x8(%r13),%xmm6
movsd  0x10(%r13),%xmm4
movsd  0x18(%r13),%xmm1
unpcklpd %xmm2,%xmm2
mulpd  %xmm8,%xmm2
addpd  %xmm0,%xmm2
movupd (%r8,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
unpcklpd %xmm5,%xmm5
mulpd  %xmm0,%xmm5
addpd  %xmm7,%xmm5
unpcklpd %xmm6,%xmm6
mulpd  %xmm0,%xmm6
addpd  %xmm2,%xmm6
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm5,%xmm3
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm6,%xmm4
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
unpcklpd %xmm9,%xmm9
mulpd  %xmm0,%xmm9
addpd  %xmm3,%xmm9
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm4,%xmm1
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x20(%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm9,%xmm2
movsd  0x20(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x28(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movsd  0x28(%r13),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x30(%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movsd  0x30(%r13),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x38(%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movsd  0x38(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x40(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movsd  0x40(%r13),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x48(%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movsd  0x48(%r13),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x50(%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movsd  0x50(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x58(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movsd  0x58(%r13),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x60(%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movsd  0x60(%r13),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x68(%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movsd  0x68(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x70(%rsi),%xmm4
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm2,%xmm4
movsd  0x70(%r13),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movupd (%rax,%rbp,8),%xmm3
lea    (%rbx,%rbp,8),%r8
movsd  0x78(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm3,%xmm1
addpd  %xmm4,%xmm1
movsd  0x78(%r13),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm3,%xmm0
addpd  %xmm2,%xmm0
sub    $0xffffffffffffff80,%rsi
sub    $0xffffffffffffff80,%r13
test   $0x8,%r10b
jne    1920 <mul_mdmd_md_l0g+0x820>
test   $0x4,%r10b
jne    1a99 <mul_mdmd_md_l0g+0x999>
test   $0x2,%r10b
jne    1b5f <mul_mdmd_md_l0g+0xa5f>
test   $0x1,%r10b
je     1260 <mul_mdmd_md_l0g+0x160>
jmp    1bc9 <mul_mdmd_md_l0g+0xac9>
nopl   (%rax)
movupd (%r8),%xmm8
lea    (%r8,%rbp,8),%rbx
movsd  (%rsi),%xmm7
movsd  0x8(%rsi),%xmm5
movsd  0x10(%rsi),%xmm3
movsd  0x18(%rsi),%xmm9
unpcklpd %xmm7,%xmm7
mulpd  %xmm8,%xmm7
addpd  %xmm1,%xmm7
movsd  0x0(%r13),%xmm2
movsd  0x8(%r13),%xmm6
movsd  0x10(%r13),%xmm4
movsd  0x18(%r13),%xmm1
unpcklpd %xmm2,%xmm2
mulpd  %xmm8,%xmm2
addpd  %xmm0,%xmm2
movupd (%r8,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
unpcklpd %xmm5,%xmm5
mulpd  %xmm0,%xmm5
addpd  %xmm7,%xmm5
unpcklpd %xmm6,%xmm6
mulpd  %xmm0,%xmm6
addpd  %xmm2,%xmm6
movupd (%rbx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm5,%xmm3
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm6,%xmm4
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rdx
unpcklpd %xmm9,%xmm9
mulpd  %xmm0,%xmm9
addpd  %xmm3,%xmm9
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm4,%xmm1
movupd (%rbx,%rbp,8),%xmm0
lea    (%rdx,%rbp,8),%rax
movsd  0x20(%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm9,%xmm2
movsd  0x20(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movupd (%rdx,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rbx
movsd  0x28(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movsd  0x28(%r13),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm3,%xmm2
movupd (%rax,%rbp,8),%xmm0
lea    (%rbx,%rbp,8),%rax
movsd  0x30(%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm0,%xmm3
addpd  %xmm1,%xmm3
movsd  0x30(%r13),%xmm4
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm2,%xmm4
movupd (%rbx,%rbp,8),%xmm2
lea    (%rax,%rbp,8),%r8
movsd  0x38(%rsi),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm3,%xmm1
movsd  0x38(%r13),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm4,%xmm0
add    $0x40,%rsi
add    $0x40,%r13
test   $0x4,%r10b
je     1904 <mul_mdmd_md_l0g+0x804>
movupd (%r8),%xmm8
lea    (%r8,%rbp,8),%rbx
movsd  (%rsi),%xmm7
movsd  0x8(%rsi),%xmm4
movsd  0x10(%rsi),%xmm2
unpcklpd %xmm7,%xmm7
mulpd  %xmm8,%xmm7
addpd  %xmm1,%xmm7
movsd  0x18(%rsi),%xmm1
movsd  0x0(%r13),%xmm6
movsd  0x8(%r13),%xmm5
movsd  0x10(%r13),%xmm3
unpcklpd %xmm6,%xmm6
mulpd  %xmm8,%xmm6
addpd  %xmm0,%xmm6
movsd  0x18(%r13),%xmm0
movupd (%r8,%rbp,8),%xmm8
lea    (%rbx,%rbp,8),%rax
unpcklpd %xmm4,%xmm4
mulpd  %xmm8,%xmm4
addpd  %xmm7,%xmm4
unpcklpd %xmm5,%xmm5
mulpd  %xmm8,%xmm5
addpd  %xmm6,%xmm5
movupd (%rbx,%rbp,8),%xmm6
lea    (%rax,%rbp,8),%rdx
unpcklpd %xmm2,%xmm2
mulpd  %xmm6,%xmm2
addpd  %xmm4,%xmm2
unpcklpd %xmm3,%xmm3
mulpd  %xmm6,%xmm3
addpd  %xmm5,%xmm3
movupd (%rax,%rbp,8),%xmm4
lea    (%rdx,%rbp,8),%r8
unpcklpd %xmm1,%xmm1
mulpd  %xmm4,%xmm1
addpd  %xmm2,%xmm1
unpcklpd %xmm0,%xmm0
mulpd  %xmm4,%xmm0
addpd  %xmm3,%xmm0
add    $0x20,%rsi
add    $0x20,%r13
test   $0x2,%r10b
je     190e <mul_mdmd_md_l0g+0x80e>
movupd (%r8),%xmm2
lea    (%r8,%rbp,8),%rax
movsd  (%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm1,%xmm3
movsd  0x8(%rsi),%xmm1
movsd  0x0(%r13),%xmm4
unpcklpd %xmm4,%xmm4
mulpd  %xmm2,%xmm4
addpd  %xmm0,%xmm4
movsd  0x8(%r13),%xmm0
movupd (%r8,%rbp,8),%xmm2
lea    (%rax,%rbp,8),%r8
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm3,%xmm1
unpcklpd %xmm0,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm4,%xmm0
add    $0x10,%rsi
add    $0x10,%r13
test   $0x1,%r10b
je     1260 <mul_mdmd_md_l0g+0x160>
movupd (%r8),%xmm2
movsd  (%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm3,%xmm1
movsd  0x0(%r13),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm3,%xmm0
jmp    1260 <mul_mdmd_md_l0g+0x160>
cmpl   $0x0,-0x14(%rsp)
je     2396 <mul_mdmd_md_l0g+0x1296>
mov    -0x70(%rsp),%rax
mov    -0x58(%rsp),%rcx
lea    (%rax,%rcx,8),%r9
lea    0x0(,%rcx,8),%rax
lea    (%rax,%rbp,8),%r14
mov    -0x80(%rsp),%r15
mov    -0x30(%rsp),%rax
lea    (%r15,%rax,8),%rdi
add    $0x8,%rdi
mov    -0x78(%rsp),%r13
jmp    1c7b <mul_mdmd_md_l0g+0xb7b>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    -0x78(%rsp),%r13
mov    %r8,%r15
mov    -0x50(%rsp),%rbx
mov    -0x40(%rsp),%rax
movlpd %xmm0,(%rax)
movhpd %xmm0,(%rax,%rbx,8)
mov    -0x8(%rsp),%rax
lea    0x0(%r13,%rax,8),%r13
mov    -0x10(%rsp),%rax
add    %rax,%r15
add    %rax,%rdi
cmp    -0x28(%rsp),%r13
je     237b <mul_mdmd_md_l0g+0x127b>
testb  $0x1,-0x60(%rsp)
je     1c5b <mul_mdmd_md_l0g+0xb5b>
mov    -0x30(%rsp),%rax
lea    (%r15,%rax,8),%rcx
mov    -0x58(%rsp),%rax
lea    0x0(,%rax,8),%rax
add    %r13,%rax
movsd  (%rax),%xmm0
movhpd (%rax,%rbx,8),%xmm0
cmpl   $0x11,-0x48(%rsp)
mov    %r13,-0x78(%rsp)
mov    %rax,-0x40(%rsp)
jl     1f30 <mul_mdmd_md_l0g+0xe30>
mov    %r15,%r8
mov    -0x38(%rsp),%rax
lea    (%r15,%rax,8),%r15
mov    %r9,%r13
movsd  (%r9),%xmm1
movsd  (%r8),%xmm2
movhpd (%rcx),%xmm2
xor    %ecx,%ecx
mov    -0x70(%rsp),%rsi
mov    (%rsp),%r9
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
lea    (%rsi,%r14,1),%rbx
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm0,%xmm1
movsd  (%rsi,%r14,1),%xmm3
unpcklpd %xmm3,%xmm3
movsd  0x8(%r8,%rcx,1),%xmm4
movsd  0x10(%r8,%rcx,1),%xmm5
movsd  0x18(%r8,%rcx,1),%xmm2
movsd  0x20(%r8,%rcx,1),%xmm0
movhpd (%rdi,%rcx,1),%xmm4
mulpd  %xmm3,%xmm4
addpd  %xmm1,%xmm4
movsd  (%r12,%rbx,1),%xmm1
add    %r12,%rbx
unpcklpd %xmm1,%xmm1
movhpd 0x8(%rdi,%rcx,1),%xmm5
mulpd  %xmm1,%xmm5
addpd  %xmm4,%xmm5
movsd  (%r12,%rbx,1),%xmm1
add    %r12,%rbx
movhpd 0x10(%rdi,%rcx,1),%xmm2
unpcklpd %xmm1,%xmm1
mulpd  %xmm1,%xmm2
addpd  %xmm5,%xmm2
movsd  (%r12,%rbx,1),%xmm1
add    %r12,%rbx
unpcklpd %xmm1,%xmm1
movhpd 0x18(%rdi,%rcx,1),%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
movsd  (%r12,%rbx,1),%xmm1
add    %r12,%rbx
unpcklpd %xmm1,%xmm1
movsd  0x28(%r8,%rcx,1),%xmm2
movhpd 0x20(%rdi,%rcx,1),%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
lea    (%rbx,%r12,1),%rax
movupd 0x30(%r8,%rcx,1),%xmm1
movsd  (%r12,%rbx,1),%xmm3
movhpd (%r12,%rax,1),%xmm3
add    %r12,%rax
mulpd  %xmm3,%xmm1
movupd 0x28(%rdi,%rcx,1),%xmm4
movupd 0x38(%rdi,%rcx,1),%xmm5
movupd 0x48(%rdi,%rcx,1),%xmm0
mulpd  %xmm3,%xmm4
movapd %xmm1,%xmm3
unpcklpd %xmm4,%xmm3
addpd  %xmm2,%xmm3
movhlps %xmm1,%xmm4
addpd  %xmm3,%xmm4
lea    (%rax,%r12,1),%rdx
movupd 0x40(%r8,%rcx,1),%xmm1
movsd  (%r12,%rax,1),%xmm2
movhpd (%r12,%rdx,1),%xmm2
add    %r12,%rdx
mulpd  %xmm2,%xmm1
mulpd  %xmm5,%xmm2
movapd %xmm1,%xmm3
unpcklpd %xmm2,%xmm3
addpd  %xmm4,%xmm3
movhlps %xmm1,%xmm2
addpd  %xmm3,%xmm2
lea    (%rdx,%r12,1),%rbx
movupd 0x50(%r8,%rcx,1),%xmm1
movsd  (%r12,%rdx,1),%xmm3
movhpd (%r12,%rbx,1),%xmm3
add    %r12,%rbx
mulpd  %xmm3,%xmm1
mulpd  %xmm0,%xmm3
movapd %xmm1,%xmm0
unpcklpd %xmm3,%xmm0
addpd  %xmm2,%xmm0
movhlps %xmm1,%xmm3
addpd  %xmm0,%xmm3
movsd  (%r12,%rbx,1),%xmm0
add    %r12,%rbx
unpcklpd %xmm0,%xmm0
movsd  0x60(%r8,%rcx,1),%xmm1
movhpd 0x58(%rdi,%rcx,1),%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm3,%xmm1
movsd  (%r12,%rbx,1),%xmm0
add    %r12,%rbx
unpcklpd %xmm0,%xmm0
movsd  0x68(%r8,%rcx,1),%xmm2
movhpd 0x60(%rdi,%rcx,1),%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movsd  (%r12,%rbx,1),%xmm0
add    %r12,%rbx
unpcklpd %xmm0,%xmm0
movsd  0x70(%r8,%rcx,1),%xmm1
movhpd 0x68(%rdi,%rcx,1),%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movsd  (%r12,%rbx,1),%xmm2
add    %r12,%rbx
unpcklpd %xmm2,%xmm2
movsd  0x78(%r8,%rcx,1),%xmm0
movhpd 0x70(%rdi,%rcx,1),%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm1,%xmm0
movsd  0x80(%r8,%rcx,1),%xmm2
movhpd 0x78(%rdi,%rcx,1),%xmm2
movsd  (%r12,%rbx,1),%xmm1
add    %r9,%rsi
sub    $0xffffffffffffff80,%rcx
cmp    %rcx,%r11
jne    1cf0 <mul_mdmd_md_l0g+0xbf0>
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm1,%xmm0
add    %r14,%rsi
add    %rdi,%rcx
mov    %r13,%r9
test   $0x10,%r10b
jne    1f40 <mul_mdmd_md_l0g+0xe40>
jmp    2145 <mul_mdmd_md_l0g+0x1045>
cs nopw 0x0(%rax,%rax,1)
nop
mov    %r9,%rsi
mov    %r15,%r8
test   $0x10,%r10b
je     2145 <mul_mdmd_md_l0g+0x1045>
lea    (%rsi,%rbp,8),%rax
movsd  (%r15),%xmm2
movsd  0x8(%r15),%xmm3
movsd  0x10(%r15),%xmm4
movhpd (%rcx),%xmm2
movsd  0x18(%r15),%xmm1
movsd  (%rsi),%xmm5
unpcklpd %xmm5,%xmm5
mulpd  %xmm2,%xmm5
addpd  %xmm0,%xmm5
lea    (%rax,%rbp,8),%rdx
movhpd 0x8(%rcx),%xmm3
movsd  (%rsi,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm3,%xmm0
addpd  %xmm5,%xmm0
lea    (%rdx,%rbp,8),%rsi
movhpd 0x10(%rcx),%xmm4
movsd  (%rax,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm2
addpd  %xmm0,%xmm2
lea    (%rsi,%rbp,8),%rax
movhpd 0x18(%rcx),%xmm1
movsd  (%rdx,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
lea    (%rax,%rbp,8),%rdx
movsd  0x20(%r15),%xmm1
movhpd 0x20(%rcx),%xmm1
movsd  (%rsi,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
lea    (%rdx,%rbp,8),%rsi
movsd  0x28(%r15),%xmm0
movhpd 0x28(%rcx),%xmm0
movsd  (%rax,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rsi,%rbp,8),%rax
movsd  0x30(%r15),%xmm0
movhpd 0x30(%rcx),%xmm0
movsd  (%rdx,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rax,%rbp,8),%rdx
movsd  0x38(%r15),%xmm0
movhpd 0x38(%rcx),%xmm0
movsd  (%rsi,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rdx,%rbp,8),%rsi
movsd  0x40(%r15),%xmm0
movhpd 0x40(%rcx),%xmm0
movsd  (%rax,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rsi,%rbp,8),%rax
movsd  0x48(%r15),%xmm0
movhpd 0x48(%rcx),%xmm0
movsd  (%rdx,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rax,%rbp,8),%rdx
movsd  0x50(%r15),%xmm0
movhpd 0x50(%rcx),%xmm0
movsd  (%rsi,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rdx,%rbp,8),%rsi
movsd  0x58(%r15),%xmm0
movhpd 0x58(%rcx),%xmm0
movsd  (%rax,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rsi,%rbp,8),%rax
movsd  0x60(%r15),%xmm0
movhpd 0x60(%rcx),%xmm0
movsd  (%rdx,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rax,%rbp,8),%rdx
movsd  0x68(%r15),%xmm0
movhpd 0x68(%rcx),%xmm0
movsd  (%rsi,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rdx,%rbp,8),%rsi
movsd  0x70(%r15),%xmm0
movhpd 0x70(%rcx),%xmm0
movsd  (%rax,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rsi,%rbp,8),%rsi
movsd  0x78(%r15),%xmm1
movhpd 0x78(%rcx),%xmm1
movsd  (%rdx,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
sub    $0xffffffffffffff80,%r15
sub    $0xffffffffffffff80,%rcx
test   $0x8,%r10b
jne    2170 <mul_mdmd_md_l0g+0x1070>
test   $0x4,%r10b
jne    227f <mul_mdmd_md_l0g+0x117f>
test   $0x2,%r10b
jne    230e <mul_mdmd_md_l0g+0x120e>
test   $0x1,%r10b
je     1c40 <mul_mdmd_md_l0g+0xb40>
jmp    235d <mul_mdmd_md_l0g+0x125d>
xchg   %ax,%ax
lea    (%rsi,%rbp,8),%rax
movsd  (%r15),%xmm2
movsd  0x8(%r15),%xmm3
movsd  0x10(%r15),%xmm4
movhpd (%rcx),%xmm2
movsd  0x18(%r15),%xmm1
movsd  (%rsi),%xmm5
unpcklpd %xmm5,%xmm5
mulpd  %xmm2,%xmm5
addpd  %xmm0,%xmm5
lea    (%rax,%rbp,8),%rdx
movhpd 0x8(%rcx),%xmm3
movsd  (%rsi,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm3,%xmm0
addpd  %xmm5,%xmm0
lea    (%rdx,%rbp,8),%rsi
movhpd 0x10(%rcx),%xmm4
movsd  (%rax,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm2
addpd  %xmm0,%xmm2
lea    (%rsi,%rbp,8),%rax
movhpd 0x18(%rcx),%xmm1
movsd  (%rdx,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
lea    (%rax,%rbp,8),%rdx
movsd  0x20(%r15),%xmm1
movhpd 0x20(%rcx),%xmm1
movsd  (%rsi,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
lea    (%rdx,%rbp,8),%rbx
movsd  0x28(%r15),%xmm0
movhpd 0x28(%rcx),%xmm0
movsd  (%rax,%rbp,8),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
lea    (%rbx,%rbp,8),%rax
movsd  0x30(%r15),%xmm0
movhpd 0x30(%rcx),%xmm0
movsd  (%rdx,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
lea    (%rax,%rbp,8),%rsi
movsd  0x38(%r15),%xmm1
movhpd 0x38(%rcx),%xmm1
movsd  (%rbx,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
add    $0x40,%r15
add    $0x40,%rcx
test   $0x4,%r10b
je     2155 <mul_mdmd_md_l0g+0x1055>
lea    (%rsi,%rbp,8),%rax
movsd  (%r15),%xmm2
movsd  0x8(%r15),%xmm3
movsd  0x10(%r15),%xmm4
movhpd (%rcx),%xmm2
movsd  0x18(%r15),%xmm1
movsd  (%rsi),%xmm5
unpcklpd %xmm5,%xmm5
mulpd  %xmm2,%xmm5
addpd  %xmm0,%xmm5
lea    (%rax,%rbp,8),%rdx
movhpd 0x8(%rcx),%xmm3
movsd  (%rsi,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm3,%xmm0
addpd  %xmm5,%xmm0
lea    (%rdx,%rbp,8),%rsi
movhpd 0x10(%rcx),%xmm4
movsd  (%rax,%rbp,8),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm4,%xmm2
addpd  %xmm0,%xmm2
lea    (%rsi,%rbp,8),%rsi
movhpd 0x18(%rcx),%xmm1
movsd  (%rdx,%rbp,8),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
add    $0x20,%r15
add    $0x20,%rcx
test   $0x2,%r10b
je     215f <mul_mdmd_md_l0g+0x105f>
lea    (%rsi,%rbp,8),%rax
movsd  (%r15),%xmm1
movsd  0x8(%r15),%xmm2
movhpd (%rcx),%xmm1
movsd  (%rsi),%xmm3
unpcklpd %xmm3,%xmm3
mulpd  %xmm1,%xmm3
addpd  %xmm0,%xmm3
movsd  (%rsi,%rbp,8),%xmm0
lea    (%rax,%rbp,8),%rsi
movhpd 0x8(%rcx),%xmm2
unpcklpd %xmm0,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm3,%xmm0
add    $0x10,%r15
add    $0x10,%rcx
test   $0x1,%r10b
je     1c40 <mul_mdmd_md_l0g+0xb40>
movsd  (%r15),%xmm1
movhpd (%rcx),%xmm1
movsd  (%rsi),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm2,%xmm0
jmp    1c40 <mul_mdmd_md_l0g+0xb40>
mov    %r15,-0x80(%rsp)
mov    -0x28(%rsp),%r9
mov    0x60(%rsp),%r15d
mov    -0x70(%rsp),%r8
mov    -0x48(%rsp),%rsi
jmp    23a5 <mul_mdmd_md_l0g+0x12a5>
mov    -0x78(%rsp),%r9
mov    0x60(%rsp),%r15d
mov    -0x70(%rsp),%r8
mov    -0x64(%rsp),%edi
test   $0x1,%dil
je     2cca <mul_mdmd_md_l0g+0x1bca>
mov    -0x80(%rsp),%rcx
mov    -0x38(%rsp),%rax
lea    (%rcx,%rax,8),%rbx
cmpl   $0x0,-0x5c(%rsp)
je     29d0 <mul_mdmd_md_l0g+0x18d0>
mov    -0x58(%rsp),%rax
lea    (%r9,%rax,8),%r13
movslq %r15d,%rax
lea    0x8(%rcx),%r12
lea    (%r8,%rax,8),%r14
mov    %rax,%r11
shl    $0x7,%r11
lea    0x0(,%rax,8),%rdi
jmp    241a <mul_mdmd_md_l0g+0x131a>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movupd %xmm0,(%r9)
add    $0x10,%r8
add    $0x10,%r9
add    $0x10,%r14
cmp    %r13,%r9
je     29cd <mul_mdmd_md_l0g+0x18cd>
movupd (%r9),%xmm0
cmp    $0x11,%esi
jl     2600 <mul_mdmd_md_l0g+0x1500>
movupd (%r8),%xmm2
mov    -0x80(%rsp),%rcx
movsd  (%rcx),%xmm1
mov    %r14,%rcx
mov    %r12,%rdx
nopl   0x0(%rax)
mov    %rcx,%rbp
unpcklpd %xmm1,%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm0,%xmm1
movupd (%rcx),%xmm3
movsd  (%rdx),%xmm4
movsd  0x8(%rdx),%xmm5
movsd  0x10(%rdx),%xmm2
movsd  0x18(%rdx),%xmm0
unpcklpd %xmm4,%xmm4
mulpd  %xmm3,%xmm4
addpd  %xmm1,%xmm4
add    %rdi,%rcx
movupd 0x0(%rbp,%rdi,1),%xmm1
unpcklpd %xmm5,%xmm5
mulpd  %xmm1,%xmm5
addpd  %xmm4,%xmm5
movupd (%rdi,%rcx,1),%xmm1
add    %rdi,%rcx
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm5,%xmm2
movupd (%rdi,%rcx,1),%xmm1
add    %rdi,%rcx
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
movupd (%rdi,%rcx,1),%xmm1
add    %rdi,%rcx
movsd  0x20(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x28(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x30(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x38(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x40(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x48(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x50(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x58(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x60(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd (%rdi,%rcx,1),%xmm0
add    %rdi,%rcx
movsd  0x68(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rdi,%rcx,1),%xmm2
add    %rdi,%rcx
movsd  0x70(%rdx),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm1,%xmm0
movupd (%rdi,%rcx,1),%xmm2
add    %rdi,%rcx
movsd  0x78(%rdx),%xmm1
sub    $0xffffffffffffff80,%rdx
add    %rdi,%rcx
cmp    %rbx,%rdx
jne    2440 <mul_mdmd_md_l0g+0x1340>
add    %r11,%rbp
unpcklpd %xmm1,%xmm1
mulpd  %xmm1,%xmm2
addpd  %xmm2,%xmm0
mov    %rbx,%rdx
test   $0x10,%r10b
jne    2612 <mul_mdmd_md_l0g+0x1512>
jmp    27cb <mul_mdmd_md_l0g+0x16cb>
nopl   0x0(%rax)
mov    %r8,%rbp
mov    -0x80(%rsp),%rdx
test   $0x10,%r10b
je     27cb <mul_mdmd_md_l0g+0x16cb>
movupd 0x0(%rbp),%xmm2
lea    0x0(,%rax,8),%rcx
add    %rbp,%rcx
movsd  (%rdx),%xmm3
movsd  0x8(%rdx),%xmm4
movsd  0x10(%rdx),%xmm5
movsd  0x18(%rdx),%xmm1
unpcklpd %xmm3,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm0,%xmm3
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm3,%xmm4
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
unpcklpd %xmm5,%xmm5
mulpd  %xmm0,%xmm5
addpd  %xmm4,%xmm5
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm5,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x20(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x28(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x30(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x38(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x40(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x48(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x50(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x58(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x60(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x68(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x70(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm1
lea    (%rcx,%rax,8),%rbp
movsd  0x78(%rdx),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
sub    $0xffffffffffffff80,%rdx
test   $0x8,%r10b
jne    2800 <mul_mdmd_md_l0g+0x1700>
test   $0x4,%r10b
jne    28eb <mul_mdmd_md_l0g+0x17eb>
test   $0x2,%r10b
jne    296a <mul_mdmd_md_l0g+0x186a>
test   $0x1,%r10b
je     2400 <mul_mdmd_md_l0g+0x1300>
jmp    29b3 <mul_mdmd_md_l0g+0x18b3>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movupd 0x0(%rbp),%xmm2
lea    0x0(,%rax,8),%rcx
add    %rbp,%rcx
movsd  (%rdx),%xmm3
movsd  0x8(%rdx),%xmm4
movsd  0x10(%rdx),%xmm5
movsd  0x18(%rdx),%xmm1
unpcklpd %xmm3,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm0,%xmm3
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm4,%xmm4
mulpd  %xmm0,%xmm4
addpd  %xmm3,%xmm4
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
unpcklpd %xmm5,%xmm5
mulpd  %xmm0,%xmm5
addpd  %xmm4,%xmm5
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm5,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x20(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm0
lea    (%rcx,%rax,8),%rbp
movsd  0x28(%rdx),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
addpd  %xmm2,%xmm1
movupd (%rcx,%rax,8),%xmm0
lea    0x0(%rbp,%rax,8),%rcx
movsd  0x30(%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd 0x0(%rbp,%rax,8),%xmm1
lea    (%rcx,%rax,8),%rbp
movsd  0x38(%rdx),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
add    $0x40,%rdx
test   $0x4,%r10b
je     27db <mul_mdmd_md_l0g+0x16db>
movupd 0x0(%rbp),%xmm1
lea    0x0(,%rax,8),%rcx
add    %rbp,%rcx
movsd  (%rdx),%xmm2
movsd  0x8(%rdx),%xmm3
movsd  0x10(%rdx),%xmm4
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
movsd  0x18(%rdx),%xmm0
movupd 0x0(%rbp,%rax,8),%xmm1
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm3,%xmm3
mulpd  %xmm1,%xmm3
addpd  %xmm2,%xmm3
movupd (%rcx,%rax,8),%xmm1
lea    0x0(%rbp,%rax,8),%rcx
unpcklpd %xmm4,%xmm4
mulpd  %xmm1,%xmm4
addpd  %xmm3,%xmm4
movupd 0x0(%rbp,%rax,8),%xmm1
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm4,%xmm0
add    $0x20,%rdx
test   $0x2,%r10b
je     27e5 <mul_mdmd_md_l0g+0x16e5>
movupd 0x0(%rbp),%xmm1
lea    0x0(,%rax,8),%rcx
add    %rbp,%rcx
movsd  (%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm0,%xmm2
movsd  0x8(%rdx),%xmm0
movupd 0x0(%rbp,%rax,8),%xmm1
lea    (%rcx,%rax,8),%rbp
unpcklpd %xmm0,%xmm0
mulpd  %xmm1,%xmm0
addpd  %xmm2,%xmm0
add    $0x10,%rdx
test   $0x1,%r10b
je     2400 <mul_mdmd_md_l0g+0x1300>
movupd 0x0(%rbp),%xmm1
movsd  (%rdx),%xmm2
unpcklpd %xmm2,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm2,%xmm0
jmp    2400 <mul_mdmd_md_l0g+0x1300>
mov    %r13,%r9
testb  $0x1,-0x60(%rsp)
je     2cca <mul_mdmd_md_l0g+0x1bca>
movsd  (%r9),%xmm0
cmp    $0x11,%esi
jl     2b62 <mul_mdmd_md_l0g+0x1a62>
movsd  (%r8),%xmm1
mov    -0x80(%rsp),%rbp
movsd  0x0(%rbp),%xmm2
movslq %r15d,%rcx
lea    (%r8,%rcx,8),%rsi
add    $0x8,%rbp
mov    %rcx,%rdx
shl    $0x7,%rdx
shl    $0x3,%rcx
xchg   %ax,%ax
mov    %rsi,%r8
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  (%rsi),%xmm0
mulsd  0x0(%rbp),%xmm0
addsd  %xmm1,%xmm0
lea    (%rsi,%rcx,1),%rax
movsd  (%rsi,%rcx,1),%xmm1
mulsd  0x8(%rbp),%xmm1
lea    (%rax,%rcx,1),%rsi
movsd  (%rcx,%rax,1),%xmm2
movhpd (%rcx,%rsi,1),%xmm2
addsd  %xmm0,%xmm1
add    %rcx,%rsi
movupd 0x10(%rbp),%xmm3
mulpd  %xmm2,%xmm3
movupd 0x20(%rbp),%xmm2
movupd 0x30(%rbp),%xmm4
movupd 0x40(%rbp),%xmm0
addsd  %xmm3,%xmm1
unpckhpd %xmm3,%xmm3
addsd  %xmm1,%xmm3
lea    (%rsi,%rcx,1),%rax
movsd  (%rcx,%rsi,1),%xmm1
movhpd (%rcx,%rax,1),%xmm1
add    %rcx,%rax
mulpd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
unpckhpd %xmm1,%xmm1
addsd  %xmm3,%xmm1
lea    (%rax,%rcx,1),%rsi
movsd  (%rcx,%rax,1),%xmm2
movhpd (%rcx,%rsi,1),%xmm2
add    %rcx,%rsi
mulpd  %xmm4,%xmm2
addsd  %xmm2,%xmm1
unpckhpd %xmm2,%xmm2
addsd  %xmm1,%xmm2
lea    (%rsi,%rcx,1),%rax
movsd  (%rcx,%rsi,1),%xmm1
movhpd (%rcx,%rax,1),%xmm1
add    %rcx,%rax
mulpd  %xmm0,%xmm1
addsd  %xmm1,%xmm2
unpckhpd %xmm1,%xmm1
addsd  %xmm2,%xmm1
lea    (%rax,%rcx,1),%rdi
movupd 0x50(%rbp),%xmm0
movsd  (%rcx,%rax,1),%xmm2
movhpd (%rcx,%rdi,1),%xmm2
add    %rcx,%rdi
mulpd  %xmm0,%xmm2
addsd  %xmm2,%xmm1
unpckhpd %xmm2,%xmm2
addsd  %xmm1,%xmm2
lea    (%rdi,%rcx,1),%rsi
movupd 0x60(%rbp),%xmm0
movsd  (%rcx,%rdi,1),%xmm1
movhpd (%rcx,%rsi,1),%xmm1
add    %rcx,%rsi
mulpd  %xmm0,%xmm1
addsd  %xmm1,%xmm2
unpckhpd %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  (%rcx,%rsi,1),%xmm0
mulsd  0x70(%rbp),%xmm0
add    %rcx,%rsi
addsd  %xmm1,%xmm0
movsd  (%rcx,%rsi,1),%xmm1
add    %rcx,%rsi
movsd  0x78(%rbp),%xmm2
sub    $0xffffffffffffff80,%rbp
add    %rcx,%rsi
cmp    %rbx,%rbp
jne    2a10 <mul_mdmd_md_l0g+0x1910>
add    %rdx,%r8
mulsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
test   $0x10,%r10b
jne    2b71 <mul_mdmd_md_l0g+0x1a71>
jmp    2c98 <mul_mdmd_md_l0g+0x1b98>
mov    -0x80(%rsp),%rbx
test   $0x10,%r10b
je     2c98 <mul_mdmd_md_l0g+0x1b98>
movslq %r15d,%rcx
lea    (%r8,%rcx,8),%rax
movsd  (%rbx),%xmm1
movsd  0x8(%rbx),%xmm2
mulsd  (%r8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rax,%rcx,8),%rdx
mulsd  (%r8,%rcx,8),%xmm2
addsd  %xmm1,%xmm2
movsd  0x10(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
lea    (%rdx,%rcx,8),%rax
addsd  %xmm2,%xmm0
lea    (%rax,%rcx,8),%rsi
movsd  0x18(%rbx),%xmm1
mulsd  (%rdx,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rsi,%rcx,8),%rdx
movsd  0x20(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
addsd  %xmm1,%xmm0
lea    (%rdx,%rcx,8),%rax
movsd  0x28(%rbx),%xmm1
mulsd  (%rsi,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rbx),%xmm0
mulsd  (%rdx,%rcx,8),%xmm0
lea    (%rax,%rcx,8),%rdx
addsd  %xmm1,%xmm0
lea    (%rdx,%rcx,8),%rsi
movsd  0x38(%rbx),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rsi,%rcx,8),%rax
movsd  0x40(%rbx),%xmm0
mulsd  (%rdx,%rcx,8),%xmm0
addsd  %xmm1,%xmm0
lea    (%rax,%rcx,8),%rdx
movsd  0x48(%rbx),%xmm1
mulsd  (%rsi,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
movsd  0x50(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
lea    (%rdx,%rcx,8),%rax
addsd  %xmm1,%xmm0
lea    (%rax,%rcx,8),%rsi
movsd  0x58(%rbx),%xmm1
mulsd  (%rdx,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rsi,%rcx,8),%rdx
movsd  0x60(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
addsd  %xmm1,%xmm0
lea    (%rdx,%rcx,8),%rax
movsd  0x68(%rbx),%xmm1
mulsd  (%rsi,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
movsd  0x70(%rbx),%xmm2
mulsd  (%rdx,%rcx,8),%xmm2
lea    (%rax,%rcx,8),%rdx
addsd  %xmm1,%xmm2
lea    (%rdx,%rcx,8),%r8
movsd  0x78(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
addsd  %xmm2,%xmm0
sub    $0xffffffffffffff80,%rbx
test   $0x8,%r10b
jne    2cd9 <mul_mdmd_md_l0g+0x1bd9>
test   $0x4,%r10b
jne    2d7a <mul_mdmd_md_l0g+0x1c7a>
test   $0x2,%r10b
jne    2dd3 <mul_mdmd_md_l0g+0x1cd3>
test   $0x1,%r10b
je     2cc5 <mul_mdmd_md_l0g+0x1bc5>
movsd  (%rbx),%xmm1
mulsd  (%r8),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,(%r9)
add    $0x20,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
movslq %r15d,%rcx
lea    (%r8,%rcx,8),%rax
movsd  (%rbx),%xmm1
movsd  0x8(%rbx),%xmm2
mulsd  (%r8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rax,%rcx,8),%rdx
mulsd  (%r8,%rcx,8),%xmm2
addsd  %xmm1,%xmm2
movsd  0x10(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
lea    (%rdx,%rcx,8),%rax
addsd  %xmm2,%xmm0
lea    (%rax,%rcx,8),%rsi
movsd  0x18(%rbx),%xmm1
mulsd  (%rdx,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rsi,%rcx,8),%rdx
movsd  0x20(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
addsd  %xmm1,%xmm0
lea    (%rdx,%rcx,8),%rax
movsd  0x28(%rbx),%xmm1
mulsd  (%rsi,%rcx,8),%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rbx),%xmm2
mulsd  (%rdx,%rcx,8),%xmm2
lea    (%rax,%rcx,8),%rdx
addsd  %xmm1,%xmm2
lea    (%rdx,%rcx,8),%r8
movsd  0x38(%rbx),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
addsd  %xmm2,%xmm0
add    $0x40,%rbx
test   $0x4,%r10b
je     2ca8 <mul_mdmd_md_l0g+0x1ba8>
movslq %r15d,%rax
lea    (%r8,%rax,8),%rcx
movsd  (%rbx),%xmm1
movsd  0x8(%rbx),%xmm2
mulsd  (%r8),%xmm1
addsd  %xmm0,%xmm1
lea    (%rcx,%rax,8),%rdx
mulsd  (%r8,%rax,8),%xmm2
addsd  %xmm1,%xmm2
movsd  0x10(%rbx),%xmm1
mulsd  (%rcx,%rax,8),%xmm1
lea    (%rdx,%rax,8),%rcx
addsd  %xmm2,%xmm1
lea    (%rcx,%rax,8),%r8
movsd  0x18(%rbx),%xmm0
mulsd  (%rdx,%rax,8),%xmm0
addsd  %xmm1,%xmm0
add    $0x20,%rbx
test   $0x2,%r10b
je     2cb2 <mul_mdmd_md_l0g+0x1bb2>
movslq %r15d,%rax
movsd  (%rbx),%xmm1
mulsd  (%r8),%xmm1
addsd  %xmm0,%xmm1
movsd  0x8(%rbx),%xmm0
mulsd  (%r8,%rax,8),%xmm0
lea    (%r8,%rax,8),%rcx
lea    (%rcx,%rax,8),%r8
addsd  %xmm1,%xmm0
add    $0x10,%rbx
test   $0x1,%r10b
jne    2cb8 <mul_mdmd_md_l0g+0x1bb8>
jmp    2cc5 <mul_mdmd_md_l0g+0x1bc5>

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

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