void rotMatrixCCOVsubrtn(double *rotationMatrix, double *Spx, double *SIGMA,
                         double *MM, double *U, double *V, double *SpxTSpx,
                         double *invmat, double *doubleVars) {
  unsigned int i, j, threei;
  SpxTSpx[0] = Spx[0] * Spx[0] + Spx[1] * Spx[1] + Spx[2] * Spx[2];
  SpxTSpx[1] = Spx[3] * Spx[3] + Spx[4] * Spx[4] + Spx[5] * Spx[5];
  SpxTSpx[2] = Spx[6] * Spx[6] + Spx[7] * Spx[7] + Spx[8] * Spx[8];
  SpxTSpx[3] = Spx[0] * Spx[3] + Spx[1] * Spx[4] + Spx[5] * Spx[2];
  SpxTSpx[4] = Spx[3] * Spx[6] + Spx[4] * Spx[7] + Spx[5] * Spx[8];
  SpxTSpx[5] = Spx[0] * Spx[6] + Spx[1] * Spx[7] + Spx[2] * Spx[8];
  doubleVars[0] = SpxTSpx[2] + SpxTSpx[1] + SpxTSpx[0];
  doubleVars[1] = SpxTSpx[5] * SpxTSpx[5] + SpxTSpx[4] * SpxTSpx[4] -
                  SpxTSpx[2] * SpxTSpx[1] - SpxTSpx[2] * SpxTSpx[0] +
                  SpxTSpx[3] * SpxTSpx[3] - SpxTSpx[1] * SpxTSpx[0];
  doubleVars[2] = -2 * SpxTSpx[5] * SpxTSpx[3] * SpxTSpx[4] +
                  SpxTSpx[5] * SpxTSpx[5] * SpxTSpx[1] +
                  SpxTSpx[4] * SpxTSpx[4] * SpxTSpx[0] +
                  SpxTSpx[2] * SpxTSpx[3] * SpxTSpx[3] -
                  SpxTSpx[2] * SpxTSpx[1] * SpxTSpx[0];
  doubleVars[3] = doubleVars[0] * doubleVars[0] + 3 * doubleVars[1];
  if (doubleVars[3] < 1.0e-30) {
    rotMatrixCCOVsubrtnII(rotationMatrix, Spx, SIGMA, MM, U, V, SpxTSpx, invmat,
                          doubleVars);
    return;
  } else {
    doubleVars[3] = sqrt(doubleVars[3]);
    if (1.0e4 * doubleVars[3] < doubleVars[0]) {
      rotMatrixCCOVsubrtnII(rotationMatrix, Spx, SIGMA, MM, U, V, SpxTSpx,
                            invmat, doubleVars);
      return;
    } else {
      doubleVars[4] = (doubleVars[0] - doubleVars[3]) / 3.0;
      doubleVars[5] = (doubleVars[0] + doubleVars[3]) / 3.0;
      doubleVars[6] = doubleVars[4] * doubleVars[4] * doubleVars[4] -
                      doubleVars[4] * doubleVars[4] * doubleVars[0] -
                      doubleVars[4] * doubleVars[1] + doubleVars[2];
      doubleVars[7] = doubleVars[5] * doubleVars[5] * doubleVars[5] -
                      doubleVars[5] * doubleVars[5] * doubleVars[0] -
                      doubleVars[5] * doubleVars[1] + doubleVars[2];
      if ((doubleVars[6] + doubleVars[7]) > 0.0) {
        SIGMA[2] = doubleVars[2] / doubleVars[1];
        for (i = 0; i < 50; i++) {
          doubleVars[6] = SIGMA[2];
          SIGMA[2] = (doubleVars[0] * SIGMA[2] * SIGMA[2] -
                      2.0 * SIGMA[2] * SIGMA[2] * SIGMA[2] + doubleVars[2]) /
                     (2.0 * doubleVars[0] * SIGMA[2] -
                      3.0 * SIGMA[2] * SIGMA[2] + doubleVars[1]);
          if (fabs(SIGMA[2] - doubleVars[6]) < SIGMA[2] * 1.0e-16) {
            break;
          }
        }
        doubleVars[3] = 2.0 * doubleVars[0] * SIGMA[2] -
                        3.0 * SIGMA[2] * SIGMA[2] +
                        doubleVars[0] * doubleVars[0] + 4.0 * doubleVars[1];
        if (doubleVars[3] > 0.0) {
          doubleVars[3] = sqrt(doubleVars[3]);
          SIGMA[1] = (doubleVars[0] - SIGMA[2] - doubleVars[3]) / 2.0;
          SIGMA[0] = (doubleVars[0] - SIGMA[2] + doubleVars[3]) / 2.0;
        } else {
          SIGMA[1] = (doubleVars[0] - SIGMA[2]) / 2.0;
          SIGMA[0] = SIGMA[1];
        }
        if (1.0e3 * doubleVars[3] < SIGMA[0]) {
          rotMatrixCCOVsubrtnII(rotationMatrix, Spx, SIGMA, MM, U, V, SpxTSpx,
                                invmat, doubleVars);
          return;
        }
        SIGMA[0] = (doubleVars[0] * SIGMA[0] * SIGMA[0] -
                    2.0 * SIGMA[0] * SIGMA[0] * SIGMA[0] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[0] - 3.0 * SIGMA[0] * SIGMA[0] +
                    doubleVars[1]);
        SIGMA[0] = (doubleVars[0] * SIGMA[0] * SIGMA[0] -
                    2.0 * SIGMA[0] * SIGMA[0] * SIGMA[0] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[0] - 3.0 * SIGMA[0] * SIGMA[0] +
                    doubleVars[1]);
        SIGMA[1] = (doubleVars[0] * SIGMA[1] * SIGMA[1] -
                    2.0 * SIGMA[1] * SIGMA[1] * SIGMA[1] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[1] - 3.0 * SIGMA[1] * SIGMA[1] +
                    doubleVars[1]);
        SIGMA[1] = (doubleVars[0] * SIGMA[1] * SIGMA[1] -
                    2.0 * SIGMA[1] * SIGMA[1] * SIGMA[1] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[1] - 3.0 * SIGMA[1] * SIGMA[1] +
                    doubleVars[1]);
        for (i = 2; i > 0; i--) {
          threei = 3 * i;
          invmat[0] = SpxTSpx[2] * SpxTSpx[1] - SpxTSpx[1] * SIGMA[i] -
                      SIGMA[i] * SpxTSpx[2] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[4] * SpxTSpx[4];
          invmat[1] = SpxTSpx[4] * SpxTSpx[5] - SpxTSpx[3] * SpxTSpx[2] +
                      SpxTSpx[3] * SIGMA[i];
          invmat[2] = SpxTSpx[3] * SpxTSpx[4] - SpxTSpx[5] * SpxTSpx[1] +
                      SpxTSpx[5] * SIGMA[i];
          invmat[3] = SpxTSpx[2] * SpxTSpx[0] - SpxTSpx[0] * SIGMA[i] -
                      SIGMA[i] * SpxTSpx[2] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[5] * SpxTSpx[5];
          invmat[4] = -SpxTSpx[4] * SpxTSpx[0] + SpxTSpx[4] * SIGMA[i] +
                      SpxTSpx[3] * SpxTSpx[5];
          invmat[5] = SpxTSpx[1] * SpxTSpx[0] - SpxTSpx[0] * SIGMA[i] -
                      SpxTSpx[1] * SIGMA[i] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[3] * SpxTSpx[3];
          doubleVars[0] = invmat[0] * invmat[0] + invmat[1] * invmat[1] +
                          invmat[2] * invmat[2];
          doubleVars[1] = invmat[1] * invmat[1] + invmat[3] * invmat[3] +
                          invmat[4] * invmat[4];
          doubleVars[2] = invmat[2] * invmat[2] + invmat[4] * invmat[4] +
                          invmat[5] * invmat[5];
          if (doubleVars[0] > doubleVars[1]) {
            if (doubleVars[0] > doubleVars[2]) {
              V[threei] = invmat[0];
              V[threei + 1] = invmat[1];
              V[threei + 2] = invmat[2];
            } else {
              V[threei] = invmat[2];
              V[threei + 1] = invmat[4];
              V[threei + 2] = invmat[5];
            }
          } else {
            if (doubleVars[1] > doubleVars[2]) {
              V[threei] = invmat[1];
              V[threei + 1] = invmat[3];
              V[threei + 2] = invmat[4];
            } else {
              V[threei] = invmat[2];
              V[threei + 1] = invmat[4];
              V[threei + 2] = invmat[5];
            }
          }
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          for (j = 0; j < 3; j++) {
            doubleVars[0] =
                fabs(V[threei]) + fabs(V[threei + 1]) + fabs(V[threei + 2]);
            V[threei] = V[threei] / doubleVars[0];
            V[threei + 1] = V[threei + 1] / doubleVars[0];
            V[threei + 2] = V[threei + 2] / doubleVars[0];
            MM[0] = V[threei];
            MM[1] = V[threei + 1];
            MM[2] = V[threei + 2];
            V[threei] =
                invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
            V[threei + 1] =
                invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
            V[threei + 2] =
                invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
            MM[0] = V[threei];
            MM[1] = V[threei + 1];
            MM[2] = V[threei + 2];
            V[threei] =
                invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
            V[threei + 1] =
                invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
            V[threei + 2] =
                invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          }
          doubleVars[0] =
              sqrt(V[threei] * V[threei] + V[threei + 1] * V[threei + 1] +
                   V[threei + 2] * V[threei + 2]);
          V[threei] = V[threei] / doubleVars[0];
          V[threei + 1] = V[threei + 1] / doubleVars[0];
          V[threei + 2] = V[threei + 2] / doubleVars[0];
        }
        doubleVars[0] = V[3] * V[6] + V[4] * V[7] + V[5] * V[8];
        V[3] = V[3] - doubleVars[0] * V[6];
        V[4] = V[4] - doubleVars[0] * V[7];
        V[5] = V[5] - doubleVars[0] * V[8];
        doubleVars[0] = sqrt(V[3] * V[3] + V[4] * V[4] + V[5] * V[5]);
        V[3] = V[3] / doubleVars[0];
        V[4] = V[4] / doubleVars[0];
        V[5] = V[5] / doubleVars[0];
        V[0] = V[4] * V[8] - V[5] * V[7];
        V[1] = V[5] * V[6] - V[3] * V[8];
        V[2] = V[3] * V[7] - V[4] * V[6];
        doubleVars[0] = sqrt(V[0] * V[0] + V[1] * V[1] + V[2] * V[2]);
        V[0] = V[0] / doubleVars[0];
        V[1] = V[1] / doubleVars[0];
        V[2] = V[2] / doubleVars[0];
        U[0] = Spx[0] * V[0] + Spx[3] * V[1] + Spx[6] * V[2];
        U[1] = Spx[1] * V[0] + Spx[4] * V[1] + Spx[7] * V[2];
        U[2] = Spx[2] * V[0] + Spx[5] * V[1] + Spx[8] * V[2];
        doubleVars[0] = sqrt(U[0] * U[0] + U[1] * U[1] + U[2] * U[2]);
        U[0] = U[0] / doubleVars[0];
        U[1] = U[1] / doubleVars[0];
        U[2] = U[2] / doubleVars[0];
        U[3] = Spx[0] * V[3] + Spx[3] * V[4] + Spx[6] * V[5];
        U[4] = Spx[1] * V[3] + Spx[4] * V[4] + Spx[7] * V[5];
        U[5] = Spx[2] * V[3] + Spx[5] * V[4] + Spx[8] * V[5];
        doubleVars[0] = U[0] * U[3] + U[1] * U[4] + U[2] * U[5];
        U[3] = U[3] - doubleVars[0] * U[0];
        U[4] = U[4] - doubleVars[0] * U[1];
        U[5] = U[5] - doubleVars[0] * U[2];
        doubleVars[0] = sqrt(U[3] * U[3] + U[4] * U[4] + U[5] * U[5]);
        U[3] = U[3] / doubleVars[0];
        U[4] = U[4] / doubleVars[0];
        U[5] = U[5] / doubleVars[0];
        U[6] = U[1] * U[5] - U[2] * U[4];
        U[7] = U[2] * U[3] - U[0] * U[5];
        U[8] = U[0] * U[4] - U[1] * U[3];
        doubleVars[0] = sqrt(U[6] * U[6] + U[7] * U[7] + U[8] * U[8]);
        U[6] = U[6] / doubleVars[0];
        U[7] = U[7] / doubleVars[0];
        U[8] = U[8] / doubleVars[0];
      } else {
        SIGMA[0] = doubleVars[0] -
                   (doubleVars[4] + 0.6666666666666667 * doubleVars[6] *
                                        doubleVars[3] /
                                        (doubleVars[6] - doubleVars[7]));
        for (i = 0; i < 50; i++) {
          doubleVars[6] = SIGMA[0];
          SIGMA[0] = (doubleVars[0] * SIGMA[0] * SIGMA[0] -
                      2.0 * SIGMA[0] * SIGMA[0] * SIGMA[0] + doubleVars[2]) /
                     (2.0 * doubleVars[0] * SIGMA[0] -
                      3.0 * SIGMA[0] * SIGMA[0] + doubleVars[1]);
          if (fabs(SIGMA[0] - doubleVars[6]) < SIGMA[0] * 1.0e-16) {
            break;
          }
        }
        doubleVars[3] = 2.0 * doubleVars[0] * SIGMA[0] -
                        3.0 * SIGMA[0] * SIGMA[0] +
                        doubleVars[0] * doubleVars[0] + 4.0 * doubleVars[1];
        if (doubleVars[3] > 0.0) {
          doubleVars[3] = sqrt(doubleVars[3]);
          SIGMA[1] = (doubleVars[0] - SIGMA[0] + doubleVars[3]) / 2.0;
          SIGMA[2] = (doubleVars[0] - SIGMA[0] - doubleVars[3]) / 2.0;
        } else {
          SIGMA[1] = (doubleVars[0] - SIGMA[0]) / 2.0;
          SIGMA[2] = SIGMA[1];
        }
        if (1.0e3 * doubleVars[3] < SIGMA[0]) {
          rotMatrixCCOVsubrtnII(rotationMatrix, Spx, SIGMA, MM, U, V, SpxTSpx,
                                invmat, doubleVars);
          return;
        }
        SIGMA[1] = (doubleVars[0] * SIGMA[1] * SIGMA[1] -
                    2.0 * SIGMA[1] * SIGMA[1] * SIGMA[1] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[1] - 3.0 * SIGMA[1] * SIGMA[1] +
                    doubleVars[1]);
        SIGMA[1] = (doubleVars[0] * SIGMA[1] * SIGMA[1] -
                    2.0 * SIGMA[1] * SIGMA[1] * SIGMA[1] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[1] - 3.0 * SIGMA[1] * SIGMA[1] +
                    doubleVars[1]);
        SIGMA[2] = (doubleVars[0] * SIGMA[2] * SIGMA[2] -
                    2.0 * SIGMA[2] * SIGMA[2] * SIGMA[2] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[2] - 3.0 * SIGMA[2] * SIGMA[2] +
                    doubleVars[1]);
        SIGMA[2] = (doubleVars[0] * SIGMA[2] * SIGMA[2] -
                    2.0 * SIGMA[2] * SIGMA[2] * SIGMA[2] + doubleVars[2]) /
                   (2.0 * doubleVars[0] * SIGMA[2] - 3.0 * SIGMA[2] * SIGMA[2] +
                    doubleVars[1]);
        for (i = 0; i < 2; i++) {
          threei = 3 * i;
          invmat[0] = SpxTSpx[2] * SpxTSpx[1] - SpxTSpx[1] * SIGMA[i] -
                      SIGMA[i] * SpxTSpx[2] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[4] * SpxTSpx[4];
          invmat[1] = SpxTSpx[4] * SpxTSpx[5] - SpxTSpx[3] * SpxTSpx[2] +
                      SpxTSpx[3] * SIGMA[i];
          invmat[2] = SpxTSpx[3] * SpxTSpx[4] - SpxTSpx[5] * SpxTSpx[1] +
                      SpxTSpx[5] * SIGMA[i];
          invmat[3] = SpxTSpx[2] * SpxTSpx[0] - SpxTSpx[0] * SIGMA[i] -
                      SIGMA[i] * SpxTSpx[2] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[5] * SpxTSpx[5];
          invmat[4] = -SpxTSpx[4] * SpxTSpx[0] + SpxTSpx[4] * SIGMA[i] +
                      SpxTSpx[3] * SpxTSpx[5];
          invmat[5] = SpxTSpx[1] * SpxTSpx[0] - SpxTSpx[0] * SIGMA[i] -
                      SpxTSpx[1] * SIGMA[i] + SIGMA[i] * SIGMA[i] -
                      SpxTSpx[3] * SpxTSpx[3];
          doubleVars[0] = invmat[0] * invmat[0] + invmat[1] * invmat[1] +
                          invmat[2] * invmat[2];
          doubleVars[1] = invmat[1] * invmat[1] + invmat[3] * invmat[3] +
                          invmat[4] * invmat[4];
          doubleVars[2] = invmat[2] * invmat[2] + invmat[4] * invmat[4] +
                          invmat[5] * invmat[5];
          if (doubleVars[0] > doubleVars[1]) {
            if (doubleVars[0] > doubleVars[2]) {
              V[threei] = invmat[0];
              V[threei + 1] = invmat[1];
              V[threei + 2] = invmat[2];
            } else {
              V[threei] = invmat[2];
              V[threei + 1] = invmat[4];
              V[threei + 2] = invmat[5];
            }
          } else {
            if (doubleVars[1] > doubleVars[2]) {
              V[threei] = invmat[1];
              V[threei + 1] = invmat[3];
              V[threei + 2] = invmat[4];
            } else {
              V[threei] = invmat[2];
              V[threei + 1] = invmat[4];
              V[threei + 2] = invmat[5];
            }
          }
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          MM[0] = V[threei];
          MM[1] = V[threei + 1];
          MM[2] = V[threei + 2];
          V[threei] = invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
          V[threei + 1] =
              invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
          V[threei + 2] =
              invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          for (j = 0; j < 3; j++) {
            doubleVars[0] =
                fabs(V[threei]) + fabs(V[threei + 1]) + fabs(V[threei + 2]);
            V[threei] = V[threei] / doubleVars[0];
            V[threei + 1] = V[threei + 1] / doubleVars[0];
            V[threei + 2] = V[threei + 2] / doubleVars[0];
            MM[0] = V[threei];
            MM[1] = V[threei + 1];
            MM[2] = V[threei + 2];
            V[threei] =
                invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
            V[threei + 1] =
                invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
            V[threei + 2] =
                invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
            MM[0] = V[threei];
            MM[1] = V[threei + 1];
            MM[2] = V[threei + 2];
            V[threei] =
                invmat[0] * MM[0] + invmat[1] * MM[1] + invmat[2] * MM[2];
            V[threei + 1] =
                invmat[1] * MM[0] + invmat[3] * MM[1] + invmat[4] * MM[2];
            V[threei + 2] =
                invmat[2] * MM[0] + invmat[4] * MM[1] + invmat[5] * MM[2];
          }
          doubleVars[0] =
              sqrt(V[threei] * V[threei] + V[threei + 1] * V[threei + 1] +
                   V[threei + 2] * V[threei + 2]);
          V[threei] = V[threei] / doubleVars[0];
          V[threei + 1] = V[threei + 1] / doubleVars[0];
          V[threei + 2] = V[threei + 2] / doubleVars[0];
        }
        doubleVars[0] = V[0] * V[3] + V[1] * V[4] + V[2] * V[5];
        V[3] = V[3] - doubleVars[0] * V[0];
        V[4] = V[4] - doubleVars[0] * V[1];
        V[5] = V[5] - doubleVars[0] * V[2];
        doubleVars[0] = sqrt(V[3] * V[3] + V[4] * V[4] + V[5] * V[5]);
        V[3] = V[3] / doubleVars[0];
        V[4] = V[4] / doubleVars[0];
        V[5] = V[5] / doubleVars[0];
        V[6] = V[1] * V[5] - V[2] * V[4];
        V[7] = V[2] * V[3] - V[0] * V[5];
        V[8] = V[0] * V[4] - V[1] * V[3];
        doubleVars[0] = sqrt(V[6] * V[6] + V[7] * V[7] + V[8] * V[8]);
        V[6] = V[6] / doubleVars[0];
        V[7] = V[7] / doubleVars[0];
        V[8] = V[8] / doubleVars[0];
        U[0] = Spx[0] * V[0] + Spx[3] * V[1] + Spx[6] * V[2];
        U[1] = Spx[1] * V[0] + Spx[4] * V[1] + Spx[7] * V[2];
        U[2] = Spx[2] * V[0] + Spx[5] * V[1] + Spx[8] * V[2];
        doubleVars[0] = sqrt(U[0] * U[0] + U[1] * U[1] + U[2] * U[2]);
        U[0] = U[0] / doubleVars[0];
        U[1] = U[1] / doubleVars[0];
        U[2] = U[2] / doubleVars[0];
        U[3] = Spx[0] * V[3] + Spx[3] * V[4] + Spx[6] * V[5];
        U[4] = Spx[1] * V[3] + Spx[4] * V[4] + Spx[7] * V[5];
        U[5] = Spx[2] * V[3] + Spx[5] * V[4] + Spx[8] * V[5];
        doubleVars[0] = U[0] * U[3] + U[1] * U[4] + U[2] * U[5];
        U[3] = U[3] - doubleVars[0] * U[0];
        U[4] = U[4] - doubleVars[0] * U[1];
        U[5] = U[5] - doubleVars[0] * U[2];
        doubleVars[0] = sqrt(U[3] * U[3] + U[4] * U[4] + U[5] * U[5]);
        U[3] = U[3] / doubleVars[0];
        U[4] = U[4] / doubleVars[0];
        U[5] = U[5] / doubleVars[0];
        U[6] = U[1] * U[5] - U[2] * U[4];
        U[7] = U[2] * U[3] - U[0] * U[5];
        U[8] = U[0] * U[4] - U[1] * U[3];
        doubleVars[0] = sqrt(U[6] * U[6] + U[7] * U[7] + U[8] * U[8]);
        U[6] = U[6] / doubleVars[0];
        U[7] = U[7] / doubleVars[0];
        U[8] = U[8] / doubleVars[0];
      }
      j = 0;
      if ((Spx[0] * V[0] + Spx[3] * V[1] + Spx[6] * V[2]) * U[0] +
              (Spx[1] * V[0] + Spx[4] * V[1] + Spx[7] * V[2]) * U[1] +
              (Spx[2] * V[0] + Spx[5] * V[1] + Spx[8] * V[2]) * U[2] <
          0.0) {
        j++;
        U[0] = -U[0];
        U[1] = -U[1];
        U[2] = -U[2];
      }
      if ((Spx[0] * V[3] + Spx[3] * V[4] + Spx[6] * V[5]) * U[3] +
              (Spx[1] * V[3] + Spx[4] * V[4] + Spx[7] * V[5]) * U[4] +
              (Spx[2] * V[3] + Spx[5] * V[4] + Spx[8] * V[5]) * U[5] <
          0.0) {
        j++;
        U[3] = -U[3];
        U[4] = -U[4];
        U[5] = -U[5];
      }
      if ((Spx[0] * V[6] + Spx[3] * V[7] + Spx[6] * V[8]) * U[6] +
              (Spx[1] * V[6] + Spx[4] * V[7] + Spx[7] * V[8]) * U[7] +
              (Spx[2] * V[6] + Spx[5] * V[7] + Spx[8] * V[8]) * U[8] <
          0.0) {
        j++;
        U[6] = -U[6];
        U[7] = -U[7];
        U[8] = -U[8];
      }
      if (j == 0) {
        rotationMatrix[0] = U[0] * V[0] + U[3] * V[3] + U[6] * V[6];
        rotationMatrix[1] = U[1] * V[0] + U[4] * V[3] + U[7] * V[6];
        rotationMatrix[2] = U[2] * V[0] + U[5] * V[3] + U[8] * V[6];
        rotationMatrix[3] = U[0] * V[1] + U[3] * V[4] + U[6] * V[7];
        rotationMatrix[4] = U[1] * V[1] + U[4] * V[4] + U[7] * V[7];
        rotationMatrix[5] = U[2] * V[1] + U[5] * V[4] + U[8] * V[7];
        rotationMatrix[6] = U[0] * V[2] + U[3] * V[5] + U[6] * V[8];
        rotationMatrix[7] = U[1] * V[2] + U[4] * V[5] + U[7] * V[8];
        rotationMatrix[8] = U[2] * V[2] + U[5] * V[5] + U[8] * V[8];
      } else if (j == 2) {
        rotationMatrix[0] = U[0] * V[0] + U[3] * V[3] + U[6] * V[6];
        rotationMatrix[1] = U[1] * V[0] + U[4] * V[3] + U[7] * V[6];
        rotationMatrix[2] = U[2] * V[0] + U[5] * V[3] + U[8] * V[6];
        rotationMatrix[3] = U[0] * V[1] + U[3] * V[4] + U[6] * V[7];
        rotationMatrix[4] = U[1] * V[1] + U[4] * V[4] + U[7] * V[7];
        rotationMatrix[5] = U[2] * V[1] + U[5] * V[4] + U[8] * V[7];
        rotationMatrix[6] = U[0] * V[2] + U[3] * V[5] + U[6] * V[8];
        rotationMatrix[7] = U[1] * V[2] + U[4] * V[5] + U[7] * V[8];
        rotationMatrix[8] = U[2] * V[2] + U[5] * V[5] + U[8] * V[8];
      } else {
        rotationMatrix[0] = U[0] * V[0] + U[3] * V[3] - U[6] * V[6];
        rotationMatrix[1] = U[1] * V[0] + U[4] * V[3] - U[7] * V[6];
        rotationMatrix[2] = U[2] * V[0] + U[5] * V[3] - U[8] * V[6];
        rotationMatrix[3] = U[0] * V[1] + U[3] * V[4] - U[6] * V[7];
        rotationMatrix[4] = U[1] * V[1] + U[4] * V[4] - U[7] * V[7];
        rotationMatrix[5] = U[2] * V[1] + U[5] * V[4] - U[8] * V[7];
        rotationMatrix[6] = U[0] * V[2] + U[3] * V[5] - U[6] * V[8];
        rotationMatrix[7] = U[1] * V[2] + U[4] * V[5] - U[7] * V[8];
        rotationMatrix[8] = U[2] * V[2] + U[5] * V[5] - U[8] * V[8];
      }
    }
  }
  return;
}


x86 assembly (clang, -O0):
<rotMatrixCCOVsubrtn>:
push   %rbp
mov    %rsp,%rbp
sub    $0x60,%rsp
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
addsd  0x8(%rax),%xmm0
mov    0x10(%rbp),%rax
addsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x10(%rbp),%rax
movsd  0x5be1(%rip),%xmm1
mulsd  0x28(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x20(%rbp),%rax
movsd  0x5afc(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  0x5ad2(%rip),%xmm0
ucomisd 0x18(%rax),%xmm0
jbe    1577 <rotMatrixCCOVsubrtn+0x457>
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%r8
mov    -0x30(%rbp),%r9
mov    0x10(%rbp),%r11
mov    0x18(%rbp),%r10
mov    0x20(%rbp),%rax
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
mov    $0x0,%al
call   1040 <rotMatrixCCOVsubrtnII@plt>
jmp    6331 <rotMatrixCCOVsubrtn+0x5211>
mov    0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  0x5a7e(%rip),%xmm1
mulsd  0x18(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    15ef <rotMatrixCCOVsubrtn+0x4cf>
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%r8
mov    -0x30(%rbp),%r9
mov    0x10(%rbp),%r11
mov    0x18(%rbp),%r10
mov    0x20(%rbp),%rax
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
mov    $0x0,%al
call   1040 <rotMatrixCCOVsubrtnII@plt>
jmp    6331 <rotMatrixCCOVsubrtn+0x5211>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
subsd  0x18(%rax),%xmm0
movsd  0x5a00(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
addsd  0x18(%rax),%xmm0
movsd  0x59da(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x20(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    0x20(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
mulsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x20(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    0x20(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
mulsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    0x20(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
mulsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x20(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    0x20(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    0x20(%rbp),%rax
addsd  0x38(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    364e <rotMatrixCCOVsubrtn+0x252e>
mov    0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x32,-0x34(%rbp)
jae    18e3 <rotMatrixCCOVsubrtn+0x7c3>
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x5844(%rip),%xmm1
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x57f9(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x57b8(%rip),%xmm2
mulsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x20(%rbp),%rax
subsd  0x30(%rax),%xmm1
movaps 0x57a4(%rip),%xmm0
pand   %xmm0,%xmm1
mov    -0x18(%rbp),%rax
movsd  0x576c(%rip),%xmm0
mulsd  0x10(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    18d0 <rotMatrixCCOVsubrtn+0x7b0>
jmp    18e3 <rotMatrixCCOVsubrtn+0x7c3>
jmp    18d5 <rotMatrixCCOVsubrtn+0x7b5>
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    17aa <rotMatrixCCOVsubrtn+0x68a>
mov    0x20(%rbp),%rax
movsd  0x5741(%rip),%xmm0
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x5700(%rip),%xmm1
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0x56da(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    19fe <rotMatrixCCOVsubrtn+0x8de>
mov    0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
subsd  0x18(%rax),%xmm0
movsd  0x5672(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
addsd  0x18(%rax),%xmm0
movsd  0x5643(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
jmp    1a35 <rotMatrixCCOVsubrtn+0x915>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  0x5619(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
movsd  0x55ff(%rip),%xmm1
mulsd  0x18(%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    1a96 <rotMatrixCCOVsubrtn+0x976>
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%r8
mov    -0x30(%rbp),%r9
mov    0x10(%rbp),%r11
mov    0x18(%rbp),%r10
mov    0x20(%rbp),%rax
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
mov    $0x0,%al
call   1040 <rotMatrixCCOVsubrtnII@plt>
jmp    6331 <rotMatrixCCOVsubrtn+0x5211>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x5576(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x552e(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x54ee(%rip),%xmm2
mulsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x54b2(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x546a(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x542a(%rip),%xmm2
mulsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x53ec(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x53a1(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x5360(%rip),%xmm2
mulsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x531f(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x52d4(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x5293(%rip),%xmm2
mulsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movl   $0x2,-0x34(%rbp)
cmpl   $0x0,-0x34(%rbp)
jbe    2d6d <rotMatrixCCOVsubrtn+0x1c4d>
imul   $0x3,-0x34(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x8(%rax),%xmm0
jbe    2334 <rotMatrixCCOVsubrtn+0x1214>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x10(%rax),%xmm0
jbe    22e6 <rotMatrixCCOVsubrtn+0x11c6>
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    232f <rotMatrixCCOVsubrtn+0x120f>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    23e8 <rotMatrixCCOVsubrtn+0x12c8>
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x10(%rax),%xmm0
jbe    239a <rotMatrixCCOVsubrtn+0x127a>
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    23e3 <rotMatrixCCOVsubrtn+0x12c3>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    23e8 <rotMatrixCCOVsubrtn+0x12c8>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x0,-0x38(%rbp)
cmpl   $0x3,-0x38(%rbp)
jae    2c72 <rotMatrixCCOVsubrtn+0x1b52>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x4734(%rip),%xmm1
pand   %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x4718(%rip),%xmm2
pand   %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x46f8(%rip),%xmm2
pand   %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
jmp    28ff <rotMatrixCCOVsubrtn+0x17df>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x34(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x34(%rbp)
jmp    1dbf <rotMatrixCCOVsubrtn+0xc9f>
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x40(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x30(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x28(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
jmp    5548 <rotMatrixCCOVsubrtn+0x4428>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  0x39b5(%rip),%xmm2
mulsd  0x30(%rax),%xmm2
mov    0x20(%rbp),%rax
mulsd  0x18(%rax),%xmm2
mov    0x20(%rbp),%rax
movsd  0x30(%rax),%xmm3
mov    0x20(%rbp),%rax
subsd  0x38(%rax),%xmm3
divsd  %xmm3,%xmm2
addsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x32,-0x34(%rbp)
jae    37d3 <rotMatrixCCOVsubrtn+0x26b3>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x394b(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x3903(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x38c3(%rip),%xmm2
mulsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    0x20(%rbp),%rax
subsd  0x30(%rax),%xmm1
movaps 0x38b3(%rip),%xmm0
pand   %xmm0,%xmm1
mov    -0x18(%rbp),%rax
movsd  0x387b(%rip),%xmm0
mulsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    37c0 <rotMatrixCCOVsubrtn+0x26a0>
jmp    37d3 <rotMatrixCCOVsubrtn+0x26b3>
jmp    37c5 <rotMatrixCCOVsubrtn+0x26a5>
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    36a6 <rotMatrixCCOVsubrtn+0x2586>
mov    0x20(%rbp),%rax
movsd  0x3851(%rip),%xmm0
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x3811(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0x37ed(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    38ea <rotMatrixCCOVsubrtn+0x27ca>
mov    0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
addsd  0x18(%rax),%xmm0
movsd  0x3786(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
subsd  0x18(%rax),%xmm0
movsd  0x3758(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
jmp    3921 <rotMatrixCCOVsubrtn+0x2801>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
movsd  0x372e(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x20(%rbp),%rax
movsd  0x3713(%rip),%xmm1
mulsd  0x18(%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    3982 <rotMatrixCCOVsubrtn+0x2862>
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%r8
mov    -0x30(%rbp),%r9
mov    0x10(%rbp),%r11
mov    0x18(%rbp),%r10
mov    0x20(%rbp),%rax
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
mov    $0x0,%al
call   1040 <rotMatrixCCOVsubrtnII@plt>
jmp    6331 <rotMatrixCCOVsubrtn+0x5211>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x3688(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x363d(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x35fc(%rip),%xmm2
mulsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x35bb(%rip),%xmm1
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x3570(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x352f(%rip),%xmm2
mulsd  0x8(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x34ee(%rip),%xmm1
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x34a3(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x3462(%rip),%xmm2
mulsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x3421(%rip),%xmm1
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
addsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
movsd  0x33d6(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm3
mov    -0x18(%rbp),%rax
movsd  0x3395(%rip),%xmm2
mulsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
mulsd  0x10(%rax),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    0x20(%rbp),%rax
addsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x2,-0x34(%rbp)
jae    4c6b <rotMatrixCCOVsubrtn+0x3b4b>
imul   $0x3,-0x34(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
mulsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x8(%rax),%xmm0
jbe    4232 <rotMatrixCCOVsubrtn+0x3112>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x10(%rax),%xmm0
jbe    41e4 <rotMatrixCCOVsubrtn+0x30c4>
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    422d <rotMatrixCCOVsubrtn+0x310d>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    42e6 <rotMatrixCCOVsubrtn+0x31c6>
mov    0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x20(%rbp),%rax
ucomisd 0x10(%rax),%xmm0
jbe    4298 <rotMatrixCCOVsubrtn+0x3178>
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    42e1 <rotMatrixCCOVsubrtn+0x31c1>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
jmp    42e6 <rotMatrixCCOVsubrtn+0x31c6>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x0,-0x38(%rbp)
cmpl   $0x3,-0x38(%rbp)
jae    4b70 <rotMatrixCCOVsubrtn+0x3a50>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x2836(%rip),%xmm1
pand   %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x281a(%rip),%xmm2
pand   %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x27fa(%rip),%xmm2
pand   %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
jmp    47fd <rotMatrixCCOVsubrtn+0x36dd>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x1,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
add    $0x2,%ecx
mov    %ecx,%ecx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    3cbd <rotMatrixCCOVsubrtn+0x2b9d>
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x28(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x28(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    0x20(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movl   $0x0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm4
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm3
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    56d6 <rotMatrixCCOVsubrtn+0x45b6>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm4
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm3
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    5863 <rotMatrixCCOVsubrtn+0x4743>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm4
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mov    -0x28(%rbp),%rax
mulsd  0x38(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm3
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    -0x30(%rbp),%rax
mulsd  0x38(%rax),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    59f0 <rotMatrixCCOVsubrtn+0x48d0>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
cmpl   $0x0,-0x38(%rbp)
jne    5cbf <rotMatrixCCOVsubrtn+0x4b9f>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x40(%rax)
jmp    6322 <rotMatrixCCOVsubrtn+0x5202>
cmpl   $0x2,-0x38(%rbp)
jne    5f8e <rotMatrixCCOVsubrtn+0x4e6e>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x40(%rax)
jmp    631d <rotMatrixCCOVsubrtn+0x51fd>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x20(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x28(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x28(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    -0x28(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x28(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x40(%rax)
jmp    6322 <rotMatrixCCOVsubrtn+0x5202>
jmp    6327 <rotMatrixCCOVsubrtn+0x5207>
jmp    632c <rotMatrixCCOVsubrtn+0x520c>
jmp    6331 <rotMatrixCCOVsubrtn+0x5211>
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<rotMatrixCCOVsubrtn>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %r9,%r13
mov    %rcx,%rbx
mov    0xc0(%rsp),%r15
mov    0xb8(%rsp),%r12
mov    0xb0(%rsp),%r10
movsd  (%rsi),%xmm1
movsd  0x8(%rsi),%xmm0
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  0x10(%rsi),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%r10)
movsd  0x18(%rsi),%xmm1
movsd  0x20(%rsi),%xmm2
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  0x28(%rsi),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r10)
movsd  0x30(%rsi),%xmm3
movsd  0x38(%rsi),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm3,%xmm3
addsd  %xmm1,%xmm3
movsd  0x40(%rsi),%xmm1
mulsd  %xmm1,%xmm1
addsd  %xmm3,%xmm1
movsd  %xmm1,0x10(%r10)
movsd  0x8(%rsi),%xmm3
mulsd  0x20(%rsi),%xmm3
movsd  (%rsi),%xmm4
mulsd  0x18(%rsi),%xmm4
addsd  %xmm3,%xmm4
movsd  0x28(%rsi),%xmm3
mulsd  0x10(%rsi),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x18(%r10)
movsd  0x20(%rsi),%xmm3
mulsd  0x38(%rsi),%xmm3
movsd  0x18(%rsi),%xmm4
mulsd  0x30(%rsi),%xmm4
addsd  %xmm3,%xmm4
movsd  0x28(%rsi),%xmm3
mulsd  0x40(%rsi),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x20(%r10)
movsd  0x8(%rsi),%xmm3
mulsd  0x38(%rsi),%xmm3
movsd  (%rsi),%xmm4
mulsd  0x30(%rsi),%xmm4
addsd  %xmm3,%xmm4
movsd  0x10(%rsi),%xmm3
mulsd  0x40(%rsi),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x28(%r10)
addsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%r15)
movsd  0x28(%r10),%xmm0
movsd  0x20(%r10),%xmm2
mulsd  %xmm2,%xmm2
mulsd  %xmm0,%xmm0
addsd  %xmm2,%xmm0
movsd  0x10(%r10),%xmm2
movsd  (%r10),%xmm3
movsd  0x8(%r10),%xmm4
movapd %xmm2,%xmm5
mulsd  %xmm4,%xmm5
subsd  %xmm5,%xmm0
mulsd  %xmm3,%xmm2
subsd  %xmm2,%xmm0
movsd  0x18(%r10),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm0,%xmm2
mulsd  %xmm3,%xmm4
subsd  %xmm4,%xmm2
movsd  %xmm2,0x8(%r15)
movsd  0x28(%r10),%xmm3
movsd  0x2d45(%rip),%xmm4
mulsd  %xmm3,%xmm4
movsd  0x18(%r10),%xmm5
mulsd  %xmm5,%xmm4
movsd  0x20(%r10),%xmm6
mulsd  %xmm3,%xmm3
movsd  (%r10),%xmm0
movsd  0x8(%r10),%xmm7
mulsd  %xmm7,%xmm3
mulsd  %xmm6,%xmm4
addsd  %xmm3,%xmm4
mulsd  %xmm6,%xmm6
mulsd  %xmm0,%xmm6
addsd  %xmm4,%xmm6
movsd  0x10(%r10),%xmm3
movapd %xmm5,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm5,%xmm4
addsd  %xmm6,%xmm4
xorpd  0x2d4c(%rip),%xmm3
mulsd  %xmm7,%xmm3
mulsd  0x2ce8(%rip),%xmm2
unpcklpd %xmm2,%xmm4
unpcklpd %xmm1,%xmm3
unpcklpd %xmm1,%xmm0
mulpd  %xmm3,%xmm0
addpd  %xmm4,%xmm0
movupd %xmm0,0x10(%r15)
unpckhpd %xmm0,%xmm0
movsd  0x2cca(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1358 <rotMatrixCCOVsubrtn+0x238>
sub    $0x8,%rsp
mov    %rbx,%rcx
jmp    2165 <rotMatrixCCOVsubrtn+0x1045>
mov    %rsi,0x8(%rsp)
mov    %rdi,0x18(%rsp)
mov    %r8,0x10(%rsp)
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
mov    %rdx,0x20(%rsp)
jb     137c <rotMatrixCCOVsubrtn+0x25c>
sqrtsd %xmm0,%xmm0
jmp    138e <rotMatrixCCOVsubrtn+0x26e>
call   1030 <sqrt@plt>
mov    0x20(%rsp),%rdx
mov    0xb0(%rsp),%r10
movsd  %xmm0,0x18(%r15)
movsd  0x2c7c(%rip),%xmm2
mulsd  %xmm0,%xmm2
movsd  (%r15),%xmm1
ucomisd %xmm2,%xmm1
ja     214f <rotMatrixCCOVsubrtn+0x102f>
unpcklpd %xmm0,%xmm2
unpcklpd %xmm1,%xmm3
addpd  %xmm2,%xmm3
movapd %xmm1,%xmm2
subsd  %xmm0,%xmm2
shufpd $0x2,%xmm3,%xmm2
divpd  0x2ca0(%rip),%xmm2
movupd %xmm2,0x20(%r15)
movsd  0x8(%r15),%xmm8
movsd  0x10(%r15),%xmm3
movapd %xmm2,%xmm6
mulpd  %xmm2,%xmm6
movapd %xmm1,%xmm5
unpcklpd %xmm1,%xmm5
mulpd  %xmm6,%xmm5
mulpd  %xmm2,%xmm6
subpd  %xmm5,%xmm6
movapd %xmm8,%xmm5
unpcklpd %xmm8,%xmm5
mulpd  %xmm2,%xmm5
subpd  %xmm5,%xmm6
movapd %xmm3,%xmm5
unpcklpd %xmm3,%xmm5
addpd  %xmm6,%xmm5
movupd %xmm5,0x30(%r15)
movapd %xmm5,%xmm6
unpckhpd %xmm5,%xmm6
movapd %xmm5,%xmm7
addsd  %xmm6,%xmm7
xorpd  %xmm4,%xmm4
ucomisd %xmm4,%xmm7
jbe    1570 <rotMatrixCCOVsubrtn+0x450>
divsd  %xmm8,%xmm3
movsd  %xmm3,0x10(%rdx)
mov    $0x31,%eax
movsd  0x2ba8(%rip),%xmm8
movapd 0x2c20(%rip),%xmm0
movapd 0x2c28(%rip),%xmm1
movapd 0x2c30(%rip),%xmm2
movsd  0x2bb0(%rip),%xmm4
nopl   0x0(%rax,%rax,1)
movsd  %xmm3,0x30(%r15)
movsd  0x10(%rdx),%xmm3
movapd %xmm3,%xmm5
mulsd  %xmm8,%xmm5
movapd %xmm1,%xmm6
unpcklpd %xmm5,%xmm6
movsd  (%r15),%xmm5
unpcklpd %xmm5,%xmm5
movapd %xmm0,%xmm7
unpcklpd %xmm3,%xmm7
mulpd  %xmm5,%xmm7
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm6
mulpd  %xmm3,%xmm6
mulpd  %xmm7,%xmm3
addpd  %xmm6,%xmm3
movupd 0x8(%r15),%xmm5
addpd  %xmm3,%xmm5
movapd %xmm5,%xmm3
unpckhpd %xmm5,%xmm3
divsd  %xmm5,%xmm3
movsd  %xmm3,0x10(%rdx)
movapd %xmm3,%xmm5
subsd  0x30(%r15),%xmm5
andpd  %xmm2,%xmm5
movapd %xmm3,%xmm6
mulsd  %xmm4,%xmm6
sub    $0x1,%eax
setb   %cl
ucomisd %xmm5,%xmm6
ja     150a <rotMatrixCCOVsubrtn+0x3ea>
test   %cl,%cl
je     1480 <rotMatrixCCOVsubrtn+0x360>
movsd  (%r15),%xmm2
movsd  0x8(%r15),%xmm0
movapd %xmm2,%xmm1
addsd  %xmm2,%xmm1
movsd  0x2b0b(%rip),%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm1
addsd  %xmm4,%xmm1
movapd %xmm2,%xmm3
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
mulsd  0x2aef(%rip),%xmm0
addsd  %xmm3,%xmm0
movsd  %xmm0,0x18(%r15)
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    16ba <rotMatrixCCOVsubrtn+0x59a>
jb     16f4 <rotMatrixCCOVsubrtn+0x5d4>
sqrtsd %xmm0,%xmm0
jmp    170f <rotMatrixCCOVsubrtn+0x5ef>
movsd  0x2aa8(%rip),%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm3,%xmm0
subsd  %xmm6,%xmm5
divsd  %xmm5,%xmm0
addsd  %xmm0,%xmm2
subsd  %xmm2,%xmm1
movsd  %xmm1,(%rdx)
mov    $0x31,%eax
movsd  0x2a5e(%rip),%xmm8
movapd 0x2ad6(%rip),%xmm0
movapd 0x2ade(%rip),%xmm2
movapd 0x2ae6(%rip),%xmm3
movsd  0x2a66(%rip),%xmm4
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  %xmm1,0x30(%r15)
movsd  (%rdx),%xmm1
movapd %xmm1,%xmm5
mulsd  %xmm8,%xmm5
movapd %xmm2,%xmm6
unpcklpd %xmm5,%xmm6
movsd  (%r15),%xmm5
unpcklpd %xmm5,%xmm5
movapd %xmm0,%xmm7
unpcklpd %xmm1,%xmm7
mulpd  %xmm5,%xmm7
unpcklpd %xmm1,%xmm1
mulpd  %xmm1,%xmm6
mulpd  %xmm1,%xmm6
mulpd  %xmm7,%xmm1
addpd  %xmm6,%xmm1
movupd 0x8(%r15),%xmm5
addpd  %xmm1,%xmm5
movapd %xmm5,%xmm1
unpckhpd %xmm5,%xmm1
divsd  %xmm5,%xmm1
movsd  %xmm1,(%rdx)
movapd %xmm1,%xmm5
subsd  0x30(%r15),%xmm5
andpd  %xmm3,%xmm5
movapd %xmm1,%xmm6
mulsd  %xmm4,%xmm6
sub    $0x1,%eax
setb   %cl
ucomisd %xmm5,%xmm6
ja     1658 <rotMatrixCCOVsubrtn+0x538>
test   %cl,%cl
je     15d0 <rotMatrixCCOVsubrtn+0x4b0>
movsd  (%r15),%xmm3
movsd  0x8(%r15),%xmm0
movapd %xmm3,%xmm2
addsd  %xmm3,%xmm2
movsd  0x29bd(%rip),%xmm4
mulsd  %xmm1,%xmm4
mulsd  %xmm1,%xmm4
mulsd  %xmm1,%xmm2
addsd  %xmm4,%xmm2
movapd %xmm3,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  0x29a1(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%r15)
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    16d6 <rotMatrixCCOVsubrtn+0x5b6>
jb     20e0 <rotMatrixCCOVsubrtn+0xfc0>
sqrtsd %xmm0,%xmm0
jmp    20fb <rotMatrixCCOVsubrtn+0xfdb>
movsd  0x10(%rdx),%xmm1
subsd  %xmm1,%xmm2
mulsd  0x2975(%rip),%xmm2
movsd  %xmm2,0x8(%rdx)
movapd %xmm2,%xmm4
jmp    174b <rotMatrixCCOVsubrtn+0x62b>
movsd  (%rdx),%xmm1
subsd  %xmm1,%xmm3
mulsd  0x295a(%rip),%xmm3
movsd  %xmm3,0x8(%rdx)
movapd %xmm3,%xmm0
jmp    2136 <rotMatrixCCOVsubrtn+0x1016>
call   1030 <sqrt@plt>
movsd  0x28fe(%rip),%xmm8
mov    0x20(%rsp),%rdx
mov    0xb0(%rsp),%r10
movsd  %xmm0,0x18(%r15)
movsd  (%r15),%xmm2
movsd  0x10(%rdx),%xmm1
subsd  %xmm1,%xmm2
subsd  %xmm0,%xmm2
movsd  0x2911(%rip),%xmm0
mulsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rdx)
movsd  (%r15),%xmm4
subsd  %xmm1,%xmm4
addsd  0x18(%r15),%xmm4
mulsd  %xmm0,%xmm4
movsd  %xmm4,(%rdx)
movsd  0x18(%r15),%xmm0
mulsd  0x28eb(%rip),%xmm0
ucomisd %xmm0,%xmm4
ja     214f <rotMatrixCCOVsubrtn+0x102f>
movsd  (%r15),%xmm5
movapd %xmm4,%xmm3
mulsd  %xmm5,%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm8,%xmm0
mulsd  %xmm4,%xmm0
mulsd  %xmm4,%xmm0
mulsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
addsd  0x10(%r15),%xmm3
addsd  %xmm5,%xmm5
movsd  0x2891(%rip),%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm0,%xmm6
mulsd  %xmm4,%xmm6
mulsd  %xmm4,%xmm5
addsd  %xmm6,%xmm5
addsd  0x8(%r15),%xmm5
divsd  %xmm5,%xmm3
movsd  %xmm3,(%rdx)
movsd  (%r15),%xmm4
movapd %xmm4,%xmm5
mulsd  %xmm3,%xmm5
movapd %xmm3,%xmm6
mulsd  %xmm8,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm3,%xmm5
addsd  %xmm6,%xmm5
addsd  0x10(%r15),%xmm5
addsd  %xmm4,%xmm4
movapd %xmm3,%xmm6
mulsd  %xmm0,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm3,%xmm4
addsd  %xmm6,%xmm4
addsd  0x8(%r15),%xmm4
divsd  %xmm4,%xmm5
movsd  %xmm5,(%rdx)
movsd  (%r15),%xmm4
movapd %xmm4,%xmm3
mulsd  %xmm2,%xmm3
movapd %xmm2,%xmm5
mulsd  %xmm8,%xmm5
mulsd  %xmm2,%xmm5
mulsd  %xmm2,%xmm5
mulsd  %xmm2,%xmm3
addsd  %xmm5,%xmm3
addsd  0x10(%r15),%xmm3
addsd  %xmm4,%xmm4
movapd %xmm2,%xmm5
mulsd  %xmm0,%xmm5
mulsd  %xmm2,%xmm5
mulsd  %xmm2,%xmm4
addsd  %xmm5,%xmm4
addsd  0x8(%r15),%xmm4
divsd  %xmm4,%xmm3
movsd  %xmm3,0x8(%rdx)
movsd  (%r15),%xmm2
movapd %xmm2,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm4
addsd  %xmm8,%xmm4
addsd  0x10(%r15),%xmm4
addsd  %xmm2,%xmm2
mulsd  %xmm3,%xmm0
mulsd  %xmm3,%xmm0
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
addsd  0x8(%r15),%xmm2
divsd  %xmm2,%xmm4
movsd  %xmm4,0x8(%rdx)
lea    0x8(%r12),%r8
lea    0x10(%r12),%rbp
lea    0x18(%r12),%rax
mov    %rax,0x50(%rsp)
lea    0x20(%r12),%r11
lea    0x28(%r12),%r9
mov    $0x2,%edi
movapd 0x27c1(%rip),%xmm7
xorpd  %xmm8,%xmm8
mov    %r8,0x30(%rsp)
mov    %r11,0x48(%rsp)
mov    %r9,0x40(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  0x8(%r10),%xmm0
movsd  0x10(%r10),%xmm2
movapd %xmm1,%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm2,%xmm0
subsd  %xmm3,%xmm0
mulsd  %xmm1,%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  0x20(%r10),%xmm0
mulsd  %xmm0,%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,(%r12)
movsd  0x18(%r10),%xmm2
movsd  0x20(%r10),%xmm0
movsd  0x10(%r10),%xmm3
mulsd  %xmm2,%xmm3
mulsd  0x28(%r10),%xmm0
subsd  %xmm3,%xmm0
mulsd  (%rdx,%rdi,8),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r12)
movsd  0x18(%r10),%xmm3
movsd  0x28(%r10),%xmm0
movsd  0x8(%r10),%xmm4
mulsd  %xmm0,%xmm4
mulsd  0x20(%r10),%xmm3
mulsd  (%rdx,%rdi,8),%xmm0
subsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r12)
movsd  (%r10),%xmm3
movsd  0x10(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm4,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm5,%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm5,%xmm5
addsd  %xmm3,%xmm5
movsd  0x28(%r10),%xmm3
mulsd  %xmm3,%xmm3
subsd  %xmm3,%xmm5
movsd  %xmm5,0x18(%r12)
movsd  0x18(%r10),%xmm3
movsd  0x20(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
mulsd  %xmm4,%xmm5
mulsd  (%r10),%xmm4
subsd  %xmm4,%xmm5
mulsd  0x28(%r10),%xmm3
addsd  %xmm5,%xmm3
movsd  %xmm3,0x20(%r12)
movsd  (%r10),%xmm3
movsd  0x8(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm4,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm5,%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm5,%xmm5
addsd  %xmm3,%xmm5
movsd  0x18(%r10),%xmm3
mulsd  %xmm3,%xmm3
subsd  %xmm3,%xmm5
movsd  %xmm5,0x28(%r12)
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%r15)
movsd  0x8(%r12),%xmm2
movsd  0x18(%r12),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
movsd  0x20(%r12),%xmm1
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,0x8(%r15)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm2
mulsd  %xmm2,%xmm2
mulsd  %xmm3,%xmm3
addsd  %xmm2,%xmm3
movsd  0x28(%r12),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm3,%xmm2
movsd  %xmm2,0x10(%r15)
ucomisd %xmm1,%xmm0
jbe    1b00 <rotMatrixCCOVsubrtn+0x9e0>
ucomisd %xmm2,%xmm0
mov    %rbp,%rax
cmova  %r12,%rax
mov    %r11,%rcx
cmova  %r8,%rcx
mov    %r9,%rsi
cmova  %rbp,%rsi
jmp    1b1b <rotMatrixCCOVsubrtn+0x9fb>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
ucomisd %xmm2,%xmm1
mov    %rbp,%rax
cmova  %r8,%rax
mov    %r11,%rcx
cmova  0x50(%rsp),%rcx
mov    %r9,%rsi
cmova  %r11,%rsi
lea    (%rdi,%rdi,2),%r14
movsd  (%rax),%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
movsd  (%rcx),%xmm0
movsd  %xmm0,0x8(%r13,%r14,8)
movsd  (%rsi),%xmm0
movsd  %xmm0,0x10(%r13,%r14,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%r14,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm0
addsd  %xmm0,%xmm3
movsd  %xmm3,0x10(%r13,%r14,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%r14,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm4
mulsd  0x8(%rbx),%xmm4
mulsd  (%rbx),%xmm3
movsd  0x28(%r12),%xmm0
mulsd  0x10(%rbx),%xmm0
addsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r13,%r14,8)
mov    $0x3,%eax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
andpd  %xmm7,%xmm1
andpd  %xmm7,%xmm2
addsd  %xmm1,%xmm2
andpd  %xmm7,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,(%r15)
movsd  0x0(%r13,%r14,8),%xmm1
movsd  0x8(%r13,%r14,8),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
divsd  (%r15),%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r13,%r14,8),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x10(%r13,%r14,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%r14,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%r14,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%r14,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm4
mulsd  0x8(%rbx),%xmm4
mulsd  (%rbx),%xmm3
movsd  0x28(%r12),%xmm0
mulsd  0x10(%rbx),%xmm0
addsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r13,%r14,8)
add    $0xffffffff,%eax
jne    1de0 <rotMatrixCCOVsubrtn+0xcc0>
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm8,%xmm0
jb     1fb0 <rotMatrixCCOVsubrtn+0xe90>
sqrtsd %xmm0,%xmm0
jmp    1fe8 <rotMatrixCCOVsubrtn+0xec8>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %rdi,0x60(%rsp)
call   1030 <sqrt@plt>
xorpd  %xmm8,%xmm8
movapd 0x20d9(%rip),%xmm7
mov    0x60(%rsp),%rdi
mov    0x40(%rsp),%r9
mov    0x48(%rsp),%r11
mov    0x30(%rsp),%r8
mov    0x20(%rsp),%rdx
mov    0xb0(%rsp),%r10
movsd  %xmm0,(%r15)
movsd  0x0(%r13,%r14,8),%xmm1
movsd  0x8(%r13,%r14,8),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%r14,8)
divsd  (%r15),%xmm2
movsd  %xmm2,0x8(%r13,%r14,8)
movsd  0x10(%r13,%r14,8),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x10(%r13,%r14,8)
add    $0xffffffffffffffff,%rdi
je     2035 <rotMatrixCCOVsubrtn+0xf15>
movsd  (%rdx,%rdi,8),%xmm1
jmp    1900 <rotMatrixCCOVsubrtn+0x7e0>
movsd  0x18(%r13),%xmm0
movsd  0x20(%r13),%xmm1
mulsd  0x38(%r13),%xmm1
mulsd  0x30(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x28(%r13),%xmm1
mulsd  0x40(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%r15)
mulsd  0x30(%r13),%xmm1
movsd  0x18(%r13),%xmm2
subsd  %xmm1,%xmm2
movsd  0x20(%r13),%xmm1
movsd  %xmm2,0x18(%r13)
movsd  (%r15),%xmm0
mulsd  0x38(%r13),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%r13)
movsd  0x28(%r13),%xmm0
movsd  (%r15),%xmm3
mulsd  0x40(%r13),%xmm3
subsd  %xmm3,%xmm0
movsd  %xmm0,0x28(%r13)
mulsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm0,%xmm0
addsd  %xmm2,%xmm0
xorpd  %xmm6,%xmm6
ucomisd %xmm6,%xmm0
jb     2b07 <rotMatrixCCOVsubrtn+0x19e7>
xorps  %xmm1,%xmm1
sqrtsd %xmm0,%xmm1
jmp    2b14 <rotMatrixCCOVsubrtn+0x19f4>
call   1030 <sqrt@plt>
movsd  0x1f12(%rip),%xmm8
mov    0x20(%rsp),%rdx
mov    0xb0(%rsp),%r10
movsd  %xmm0,0x18(%r15)
movsd  (%r15),%xmm3
movsd  (%rdx),%xmm1
subsd  %xmm1,%xmm3
addsd  %xmm0,%xmm3
movsd  0x1f26(%rip),%xmm2
mulsd  %xmm2,%xmm3
movsd  %xmm3,0x8(%rdx)
movsd  (%r15),%xmm0
subsd  %xmm1,%xmm0
subsd  0x18(%r15),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,0x10(%rdx)
movsd  0x18(%r15),%xmm2
mulsd  0x1eff(%rip),%xmm2
ucomisd %xmm2,%xmm1
jbe    2187 <rotMatrixCCOVsubrtn+0x1067>
sub    $0x8,%rsp
mov    0x20(%rsp),%rdi
mov    0x10(%rsp),%rsi
mov    %rbx,%rcx
mov    0x18(%rsp),%r8
mov    %r13,%r9
xor    %eax,%eax
push   %r15
push   %r12
push   %r10
call   1040 <rotMatrixCCOVsubrtnII@plt>
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
movsd  (%r15),%xmm5
movapd %xmm5,%xmm4
mulsd  %xmm3,%xmm4
movapd %xmm3,%xmm2
mulsd  %xmm8,%xmm2
mulsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm4
addsd  %xmm2,%xmm4
addsd  0x10(%r15),%xmm4
addsd  %xmm5,%xmm5
movsd  0x1e71(%rip),%xmm2
movapd %xmm3,%xmm6
mulsd  %xmm2,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm3,%xmm5
addsd  %xmm6,%xmm5
addsd  0x8(%r15),%xmm5
divsd  %xmm5,%xmm4
movsd  %xmm4,0x8(%rdx)
movsd  (%r15),%xmm3
movapd %xmm3,%xmm5
mulsd  %xmm4,%xmm5
movapd %xmm4,%xmm6
mulsd  %xmm8,%xmm6
mulsd  %xmm4,%xmm6
mulsd  %xmm4,%xmm6
mulsd  %xmm4,%xmm5
addsd  %xmm6,%xmm5
addsd  0x10(%r15),%xmm5
addsd  %xmm3,%xmm3
movapd %xmm4,%xmm6
mulsd  %xmm2,%xmm6
mulsd  %xmm4,%xmm6
mulsd  %xmm4,%xmm3
addsd  %xmm6,%xmm3
addsd  0x8(%r15),%xmm3
divsd  %xmm3,%xmm5
movsd  %xmm5,0x8(%rdx)
movsd  (%r15),%xmm4
movapd %xmm4,%xmm3
mulsd  %xmm0,%xmm3
movapd %xmm0,%xmm5
mulsd  %xmm8,%xmm5
mulsd  %xmm0,%xmm5
mulsd  %xmm0,%xmm5
mulsd  %xmm0,%xmm3
addsd  %xmm5,%xmm3
addsd  0x10(%r15),%xmm3
addsd  %xmm4,%xmm4
movapd %xmm0,%xmm5
mulsd  %xmm2,%xmm5
mulsd  %xmm0,%xmm5
mulsd  %xmm0,%xmm4
addsd  %xmm5,%xmm4
addsd  0x8(%r15),%xmm4
divsd  %xmm4,%xmm3
movsd  %xmm3,0x10(%rdx)
movsd  (%r15),%xmm0
movapd %xmm0,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm8
mulsd  %xmm3,%xmm4
addsd  %xmm8,%xmm4
addsd  0x10(%r15),%xmm4
addsd  %xmm0,%xmm0
mulsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
addsd  0x8(%r15),%xmm0
divsd  %xmm0,%xmm4
movsd  %xmm4,0x10(%rdx)
lea    0x8(%r12),%r14
lea    0x10(%r12),%r8
lea    0x18(%r12),%rax
mov    %rax,0x50(%rsp)
lea    0x20(%r12),%r11
lea    0x28(%r12),%r9
xor    %edi,%edi
movapd 0x1da2(%rip),%xmm7
xorpd  %xmm8,%xmm8
mov    %r14,0x30(%rsp)
mov    %r11,0x48(%rsp)
mov    %r9,0x40(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  0x8(%r10),%xmm0
movsd  0x10(%r10),%xmm2
movapd %xmm1,%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm2,%xmm0
subsd  %xmm3,%xmm0
mulsd  %xmm1,%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  0x20(%r10),%xmm0
mulsd  %xmm0,%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,(%r12)
movsd  0x18(%r10),%xmm2
movsd  0x20(%r10),%xmm0
movsd  0x10(%r10),%xmm3
mulsd  %xmm2,%xmm3
mulsd  0x28(%r10),%xmm0
subsd  %xmm3,%xmm0
mulsd  (%rdx,%rdi,8),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r12)
movsd  0x18(%r10),%xmm3
movsd  0x28(%r10),%xmm0
movsd  0x8(%r10),%xmm4
mulsd  %xmm0,%xmm4
mulsd  0x20(%r10),%xmm3
mulsd  (%rdx,%rdi,8),%xmm0
subsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r12)
movsd  (%r10),%xmm3
movsd  0x10(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm4,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm5,%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm5,%xmm5
addsd  %xmm3,%xmm5
movsd  0x28(%r10),%xmm3
mulsd  %xmm3,%xmm3
subsd  %xmm3,%xmm5
movsd  %xmm5,0x18(%r12)
movsd  0x18(%r10),%xmm3
movsd  0x20(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
mulsd  %xmm4,%xmm5
mulsd  (%r10),%xmm4
subsd  %xmm4,%xmm5
mulsd  0x28(%r10),%xmm3
addsd  %xmm5,%xmm3
movsd  %xmm3,0x20(%r12)
movsd  (%r10),%xmm3
movsd  0x8(%r10),%xmm4
movsd  (%rdx,%rdi,8),%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm3,%xmm6
mulsd  %xmm4,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm5,%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm5,%xmm5
addsd  %xmm3,%xmm5
movsd  0x18(%r10),%xmm3
mulsd  %xmm3,%xmm3
subsd  %xmm3,%xmm5
movsd  %xmm5,0x28(%r12)
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%r15)
movsd  0x8(%r12),%xmm2
movsd  0x18(%r12),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
movsd  0x20(%r12),%xmm1
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,0x8(%r15)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm2
mulsd  %xmm2,%xmm2
mulsd  %xmm3,%xmm3
addsd  %xmm2,%xmm3
movsd  0x28(%r12),%xmm2
mulsd  %xmm2,%xmm2
addsd  %xmm3,%xmm2
movsd  %xmm2,0x10(%r15)
ucomisd %xmm1,%xmm0
jbe    2520 <rotMatrixCCOVsubrtn+0x1400>
ucomisd %xmm2,%xmm0
mov    %r8,%rax
cmova  %r12,%rax
mov    %r11,%rcx
cmova  %r14,%rcx
mov    %r9,%rsi
cmova  %r8,%rsi
jmp    253b <rotMatrixCCOVsubrtn+0x141b>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
ucomisd %xmm2,%xmm1
mov    %r8,%rax
cmova  %r14,%rax
mov    %r11,%rcx
cmova  0x50(%rsp),%rcx
mov    %r9,%rsi
cmova  %r11,%rsi
lea    (%rdi,%rdi,2),%rbp
movsd  (%rax),%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
movsd  (%rcx),%xmm0
movsd  %xmm0,0x8(%r13,%rbp,8)
movsd  (%rsi),%xmm0
movsd  %xmm0,0x10(%r13,%rbp,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%rbp,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm0
addsd  %xmm0,%xmm3
movsd  %xmm3,0x10(%r13,%rbp,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%rbp,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm4
mulsd  0x8(%rbx),%xmm4
mulsd  (%rbx),%xmm3
movsd  0x28(%r12),%xmm0
mulsd  0x10(%rbx),%xmm0
addsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r13,%rbp,8)
mov    $0x3,%eax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
andpd  %xmm7,%xmm1
andpd  %xmm7,%xmm2
addsd  %xmm1,%xmm2
andpd  %xmm7,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,(%r15)
movsd  0x0(%r13,%rbp,8),%xmm1
movsd  0x8(%r13,%rbp,8),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
divsd  (%r15),%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r13,%rbp,8),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x10(%r13,%rbp,8)
movsd  %xmm1,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm1
addsd  %xmm2,%xmm1
mulsd  0x10(%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm1
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm1
movsd  0x20(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm1
movsd  0x28(%r12),%xmm3
mulsd  0x10(%rbx),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x10(%r13,%rbp,8)
movsd  %xmm0,(%rbx)
movsd  0x8(%r13,%rbp,8),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%r13,%rbp,8),%xmm1
movsd  %xmm1,0x10(%rbx)
mulsd  0x8(%r12),%xmm2
mulsd  (%r12),%xmm0
addsd  %xmm2,%xmm0
mulsd  0x10(%r12),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm0
movsd  0x18(%r12),%xmm2
mulsd  0x8(%rbx),%xmm2
mulsd  (%rbx),%xmm0
addsd  %xmm2,%xmm0
movsd  0x20(%r12),%xmm2
mulsd  0x10(%rbx),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r12),%xmm3
movsd  0x20(%r12),%xmm4
mulsd  0x8(%rbx),%xmm4
mulsd  (%rbx),%xmm3
movsd  0x28(%r12),%xmm0
mulsd  0x10(%rbx),%xmm0
addsd  %xmm4,%xmm3
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%r13,%rbp,8)
add    $0xffffffff,%eax
jne    2800 <rotMatrixCCOVsubrtn+0x16e0>
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm8,%xmm0
jb     29d0 <rotMatrixCCOVsubrtn+0x18b0>
sqrtsd %xmm0,%xmm0
jmp    2a0e <rotMatrixCCOVsubrtn+0x18ee>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %r8,%r14
mov    %rdi,0x60(%rsp)
call   1030 <sqrt@plt>
xorpd  %xmm8,%xmm8
movapd 0x16b6(%rip),%xmm7
mov    0x60(%rsp),%rdi
mov    0x40(%rsp),%r9
mov    0x48(%rsp),%r11
mov    %r14,%r8
mov    0x30(%rsp),%r14
mov    0x20(%rsp),%rdx
mov    0xb0(%rsp),%r10
movsd  %xmm0,(%r15)
movsd  0x0(%r13,%rbp,8),%xmm1
movsd  0x8(%r13,%rbp,8),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x0(%r13,%rbp,8)
divsd  (%r15),%xmm2
movsd  %xmm2,0x8(%r13,%rbp,8)
movsd  0x10(%r13,%rbp,8),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x10(%r13,%rbp,8)
add    $0x1,%rdi
cmp    $0x2,%rdi
je     2a5f <rotMatrixCCOVsubrtn+0x193f>
movsd  (%rdx,%rdi,8),%xmm1
jmp    2320 <rotMatrixCCOVsubrtn+0x1200>
movsd  0x0(%r13),%xmm0
movsd  0x8(%r13),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x18(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x10(%r13),%xmm1
mulsd  0x28(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%r15)
mulsd  0x0(%r13),%xmm1
movsd  0x18(%r13),%xmm2
subsd  %xmm1,%xmm2
movsd  0x20(%r13),%xmm1
movsd  %xmm2,0x18(%r13)
movsd  (%r15),%xmm0
mulsd  0x8(%r13),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%r13)
movsd  0x28(%r13),%xmm0
movsd  (%r15),%xmm3
mulsd  0x10(%r13),%xmm3
subsd  %xmm3,%xmm0
movsd  %xmm0,0x28(%r13)
mulsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm0,%xmm0
addsd  %xmm2,%xmm0
xorpd  %xmm6,%xmm6
ucomisd %xmm6,%xmm0
jb     2bc5 <rotMatrixCCOVsubrtn+0x1aa5>
sqrtsd %xmm0,%xmm0
jmp    2bce <rotMatrixCCOVsubrtn+0x1aae>
call   1030 <sqrt@plt>
xorpd  %xmm6,%xmm6
movapd %xmm0,%xmm1
mov    0x10(%rsp),%rbx
mov    0x8(%rsp),%rbp
movsd  %xmm1,(%r15)
movsd  0x18(%r13),%xmm0
movsd  0x20(%r13),%xmm2
divsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%r13)
divsd  (%r15),%xmm2
movsd  %xmm2,0x20(%r13)
movsd  0x28(%r13),%xmm3
divsd  (%r15),%xmm3
movsd  %xmm3,0x28(%r13)
movupd 0x38(%r13),%xmm1
movsd  0x30(%r13),%xmm4
movapd %xmm2,%xmm5
unpcklpd %xmm3,%xmm5
unpcklpd %xmm0,%xmm3
mulpd  %xmm1,%xmm3
mulsd  %xmm1,%xmm0
shufpd $0x1,%xmm4,%xmm1
mulpd  %xmm5,%xmm1
subpd  %xmm3,%xmm1
movupd %xmm1,0x0(%r13)
mulsd  %xmm4,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,0x10(%r13)
movapd %xmm1,%xmm2
mulpd  %xmm1,%xmm2
unpckhpd %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm6,%xmm0
jb     2c78 <rotMatrixCCOVsubrtn+0x1b58>
sqrtsd %xmm0,%xmm0
jmp    2c7d <rotMatrixCCOVsubrtn+0x1b5d>
call   1030 <sqrt@plt>
xorpd  %xmm6,%xmm6
mov    0x10(%rsp),%rbx
mov    0x8(%rsp),%rbp
movsd  %xmm0,(%r15)
movsd  0x18(%r13),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x18(%r13)
movsd  0x20(%r13),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x20(%r13)
movsd  0x28(%r13),%xmm1
divsd  (%r15),%xmm1
movsd  %xmm1,0x28(%r13)
movupd 0x8(%r13),%xmm3
movsd  0x0(%r13),%xmm4
movapd %xmm0,%xmm5
unpcklpd %xmm1,%xmm5
unpcklpd %xmm2,%xmm1
mulpd  %xmm3,%xmm1
mulsd  %xmm3,%xmm2
shufpd $0x1,%xmm4,%xmm3
mulpd  %xmm5,%xmm3
subpd  %xmm3,%xmm1
movupd %xmm1,0x30(%r13)
mulsd  %xmm4,%xmm0
subsd  %xmm2,%xmm0
movsd  %xmm0,0x40(%r13)
movapd %xmm1,%xmm2
mulpd  %xmm1,%xmm2
unpckhpd %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm6,%xmm0
jb     2ccd <rotMatrixCCOVsubrtn+0x1bad>
sqrtsd %xmm0,%xmm0
jmp    2cd2 <rotMatrixCCOVsubrtn+0x1bb2>
call   1030 <sqrt@plt>
movsd  %xmm0,(%r15)
movsd  0x0(%r13),%xmm2
movsd  0x8(%r13),%xmm3
divsd  %xmm0,%xmm2
movsd  %xmm2,0x0(%r13)
divsd  (%r15),%xmm3
movsd  %xmm3,0x8(%r13)
movsd  0x10(%r13),%xmm1
divsd  (%r15),%xmm1
movsd  %xmm1,0x10(%r13)
mulsd  0x18(%rbp),%xmm3
mulsd  0x0(%rbp),%xmm2
addsd  %xmm3,%xmm2
mulsd  0x30(%rbp),%xmm1
addsd  %xmm2,%xmm1
jmp    2d32 <rotMatrixCCOVsubrtn+0x1c12>
call   1030 <sqrt@plt>
movsd  %xmm0,(%r15)
movsd  0x30(%r13),%xmm1
movsd  0x38(%r13),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%r13)
divsd  (%r15),%xmm2
movsd  %xmm2,0x38(%r13)
movsd  0x40(%r13),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x40(%r13)
movsd  0x0(%rbp),%xmm0
movsd  0x18(%rbp),%xmm1
mulsd  0x8(%r13),%xmm1
mulsd  0x0(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x30(%rbp),%xmm1
mulsd  0x10(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rbx)
movsd  0x8(%rbp),%xmm0
movsd  0x20(%rbp),%xmm2
mulsd  0x8(%r13),%xmm2
mulsd  0x0(%r13),%xmm0
addsd  %xmm2,%xmm0
movsd  0x38(%rbp),%xmm2
mulsd  0x10(%r13),%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%rbp),%xmm3
movsd  0x28(%rbp),%xmm0
mulsd  0x8(%r13),%xmm0
mulsd  0x0(%r13),%xmm3
addsd  %xmm0,%xmm3
movsd  0x40(%rbp),%xmm0
mulsd  0x10(%r13),%xmm0
addsd  %xmm3,%xmm0
movsd  %xmm0,0x10(%rbx)
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
xorpd  %xmm7,%xmm7
ucomisd %xmm7,%xmm0
jb     2db6 <rotMatrixCCOVsubrtn+0x1c96>
sqrtsd %xmm0,%xmm0
jmp    2dbf <rotMatrixCCOVsubrtn+0x1c9f>
call   1030 <sqrt@plt>
xorpd  %xmm7,%xmm7
movsd  %xmm0,(%r15)
movsd  (%rbx),%xmm1
movsd  0x8(%rbx),%xmm2
divsd  %xmm0,%xmm1
movsd  %xmm1,(%rbx)
divsd  (%r15),%xmm2
movsd  %xmm2,0x8(%rbx)
movsd  0x10(%rbx),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x10(%rbx)
movsd  0x0(%rbp),%xmm4
movsd  0x18(%rbp),%xmm3
mulsd  0x20(%r13),%xmm3
mulsd  0x18(%r13),%xmm4
addsd  %xmm3,%xmm4
movsd  0x30(%rbp),%xmm3
mulsd  0x28(%r13),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x18(%rbx)
movsd  0x8(%rbp),%xmm4
movsd  0x20(%rbp),%xmm5
mulsd  0x20(%r13),%xmm5
mulsd  0x18(%r13),%xmm4
addsd  %xmm5,%xmm4
movsd  0x38(%rbp),%xmm5
mulsd  0x28(%r13),%xmm5
addsd  %xmm4,%xmm5
movsd  %xmm5,0x20(%rbx)
movsd  0x10(%rbp),%xmm4
movsd  0x28(%rbp),%xmm6
mulsd  0x20(%r13),%xmm6
mulsd  0x18(%r13),%xmm4
addsd  %xmm6,%xmm4
movsd  0x40(%rbp),%xmm6
mulsd  0x28(%r13),%xmm6
addsd  %xmm4,%xmm6
movsd  %xmm6,0x28(%rbx)
mulsd  %xmm2,%xmm5
mulsd  %xmm1,%xmm3
addsd  %xmm5,%xmm3
mulsd  %xmm0,%xmm6
addsd  %xmm3,%xmm6
movsd  %xmm6,(%r15)
mulsd  (%rbx),%xmm6
movsd  0x18(%rbx),%xmm1
subsd  %xmm6,%xmm1
movsd  0x20(%rbx),%xmm2
movsd  %xmm1,0x18(%rbx)
movsd  (%r15),%xmm0
mulsd  0x8(%rbx),%xmm0
subsd  %xmm0,%xmm2
movsd  %xmm2,0x20(%rbx)
movsd  0x28(%rbx),%xmm0
movsd  (%r15),%xmm3
mulsd  0x10(%rbx),%xmm3
subsd  %xmm3,%xmm0
movsd  %xmm0,0x28(%rbx)
mulsd  %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm7,%xmm0
jb     2ef3 <rotMatrixCCOVsubrtn+0x1dd3>
sqrtsd %xmm0,%xmm0
jmp    2ef8 <rotMatrixCCOVsubrtn+0x1dd8>
call   1030 <sqrt@plt>
movsd  %xmm0,(%r15)
movsd  0x18(%rbx),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x18(%rbx)
movsd  0x20(%rbx),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,0x20(%rbx)
movsd  0x28(%rbx),%xmm1
divsd  (%r15),%xmm1
movsd  %xmm1,0x28(%rbx)
movupd 0x8(%rbx),%xmm3
movsd  (%rbx),%xmm4
movapd %xmm0,%xmm5
unpcklpd %xmm1,%xmm5
unpcklpd %xmm2,%xmm1
mulpd  %xmm3,%xmm1
mulsd  %xmm3,%xmm2
shufpd $0x1,%xmm4,%xmm3
mulpd  %xmm5,%xmm3
subpd  %xmm3,%xmm1
movupd %xmm1,0x30(%rbx)
mulsd  %xmm4,%xmm0
subsd  %xmm2,%xmm0
movsd  %xmm0,0x40(%rbx)
movapd %xmm1,%xmm2
mulpd  %xmm1,%xmm2
unpckhpd %xmm2,%xmm2
mulsd  %xmm1,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     2f91 <rotMatrixCCOVsubrtn+0x1e71>
sqrtsd %xmm0,%xmm0
jmp    2f96 <rotMatrixCCOVsubrtn+0x1e76>
call   1030 <sqrt@plt>
movsd  %xmm0,(%r15)
movsd  0x30(%rbx),%xmm1
movsd  0x38(%rbx),%xmm2
divsd  %xmm0,%xmm1
movapd %xmm1,0x20(%rsp)
movsd  %xmm1,0x30(%rbx)
divsd  (%r15),%xmm2
movapd %xmm2,0x60(%rsp)
movsd  %xmm2,0x38(%rbx)
movsd  0x40(%rbx),%xmm0
divsd  (%r15),%xmm0
movapd %xmm0,0x50(%rsp)
movsd  %xmm0,0x40(%rbx)
movsd  0x0(%rbp),%xmm6
movsd  0x8(%rbp),%xmm10
movsd  0x18(%rbp),%xmm12
movsd  0x0(%r13),%xmm3
movsd  0x8(%r13),%xmm0
movapd %xmm12,%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm6,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x30(%rbp),%xmm8
movsd  0x10(%r13),%xmm7
movapd %xmm8,%xmm4
mulsd  %xmm7,%xmm4
addsd  %xmm2,%xmm4
movsd  0x20(%rbp),%xmm13
movapd %xmm0,%xmm1
mulsd  %xmm13,%xmm1
movapd %xmm10,%xmm5
mulsd  %xmm3,%xmm5
addsd  %xmm1,%xmm5
movsd  0x38(%rbp),%xmm11
movapd %xmm11,%xmm1
mulsd  %xmm7,%xmm1
addsd  %xmm5,%xmm1
movupd (%rbx),%xmm2
movapd %xmm2,%xmm5
unpckhpd %xmm2,%xmm5
mulsd  %xmm1,%xmm5
mulsd  %xmm2,%xmm4
addsd  %xmm5,%xmm4
movsd  0x10(%rbp),%xmm1
movsd  0x28(%rbp),%xmm15
mulsd  %xmm15,%xmm0
mulsd  %xmm1,%xmm3
addsd  %xmm0,%xmm3
movsd  0x40(%rbp),%xmm0
mulsd  %xmm0,%xmm7
addsd  %xmm3,%xmm7
movsd  0x10(%rbx),%xmm3
mulsd  %xmm3,%xmm7
addsd  %xmm4,%xmm7
xorpd  %xmm4,%xmm4
ucomisd %xmm7,%xmm4
mov    0x18(%rsp),%rcx
jbe    3105 <rotMatrixCCOVsubrtn+0x1fe5>
movapd 0xfac(%rip),%xmm0
xorpd  %xmm0,%xmm2
movapd %xmm2,0x30(%rsp)
movupd %xmm2,(%rbx)
xorpd  %xmm0,%xmm3
movlpd %xmm3,0x10(%rbx)
movsd  0x0(%rbp),%xmm6
movsd  0x8(%rbp),%xmm10
movsd  0x18(%rbp),%xmm12
movsd  0x30(%rbp),%xmm8
movsd  0x20(%rbp),%xmm13
movsd  0x38(%rbp),%xmm11
movsd  0x10(%rbp),%xmm1
movsd  0x28(%rbp),%xmm15
movsd  0x40(%rbp),%xmm0
mov    $0x1,%eax
jmp    310d <rotMatrixCCOVsubrtn+0x1fed>
movapd %xmm2,0x30(%rsp)
xor    %eax,%eax
movsd  0x18(%r13),%xmm7
movsd  0x20(%r13),%xmm9
movapd %xmm12,%xmm3
mulsd  %xmm9,%xmm3
movapd %xmm6,%xmm5
mulsd  %xmm7,%xmm5
addsd  %xmm3,%xmm5
movsd  0x28(%r13),%xmm4
movapd %xmm8,%xmm14
mulsd  %xmm4,%xmm14
addsd  %xmm5,%xmm14
movapd %xmm9,%xmm3
mulsd  %xmm13,%xmm3
movapd %xmm10,%xmm5
mulsd  %xmm7,%xmm5
addsd  %xmm3,%xmm5
movapd %xmm11,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm5,%xmm2
movupd 0x18(%rbx),%xmm3
movapd %xmm3,%xmm5
unpckhpd %xmm3,%xmm5
mulsd  %xmm2,%xmm5
mulsd  %xmm3,%xmm14
addsd  %xmm5,%xmm14
mulsd  %xmm15,%xmm9
mulsd  %xmm1,%xmm7
addsd  %xmm9,%xmm7
mulsd  %xmm0,%xmm4
addsd  %xmm7,%xmm4
movsd  0x28(%rbx),%xmm7
mulsd  %xmm7,%xmm4
addsd  %xmm14,%xmm4
xorpd  %xmm2,%xmm2
ucomisd %xmm4,%xmm2
jbe    3201 <rotMatrixCCOVsubrtn+0x20e1>
add    $0x1,%eax
movapd 0xea4(%rip),%xmm0
xorpd  %xmm0,%xmm3
movupd %xmm3,0x18(%rbx)
xorpd  %xmm0,%xmm7
movlpd %xmm7,0x28(%rbx)
movsd  0x0(%rbp),%xmm6
movsd  0x8(%rbp),%xmm10
movsd  0x18(%rbp),%xmm12
movsd  0x30(%rbp),%xmm8
movsd  0x20(%rbp),%xmm13
movsd  0x38(%rbp),%xmm11
movsd  0x10(%rbp),%xmm1
movsd  0x28(%rbp),%xmm15
movsd  0x40(%rbp),%xmm0
movsd  0x30(%r13),%xmm2
movsd  0x38(%r13),%xmm4
mulsd  %xmm4,%xmm12
mulsd  %xmm2,%xmm6
addsd  %xmm12,%xmm6
movsd  0x40(%r13),%xmm5
mulsd  %xmm5,%xmm8
addsd  %xmm6,%xmm8
mulsd  %xmm4,%xmm13
mulsd  %xmm2,%xmm10
addsd  %xmm13,%xmm10
mulsd  %xmm5,%xmm11
addsd  %xmm10,%xmm11
movapd 0x60(%rsp),%xmm7
mulsd  %xmm7,%xmm11
movapd 0x20(%rsp),%xmm6
mulsd  %xmm6,%xmm8
addsd  %xmm11,%xmm8
mulsd  %xmm4,%xmm15
mulsd  %xmm2,%xmm1
addsd  %xmm15,%xmm1
mulsd  %xmm5,%xmm0
addsd  %xmm1,%xmm0
movapd 0x50(%rsp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm8,%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jbe    32b7 <rotMatrixCCOVsubrtn+0x2197>
add    $0x1,%eax
movapd 0xdc7(%rip),%xmm0
xorpd  %xmm0,%xmm6
xorpd  %xmm0,%xmm7
movapd %xmm6,%xmm1
unpcklpd %xmm7,%xmm1
movupd %xmm1,0x30(%rbx)
xorpd  %xmm0,%xmm2
movlpd %xmm2,0x40(%rbx)
movapd 0x30(%rsp),%xmm0
cmp    $0x2,%eax
je     32ca <rotMatrixCCOVsubrtn+0x21aa>
test   %eax,%eax
jne    345b <rotMatrixCCOVsubrtn+0x233b>
mulsd  0x18(%r13),%xmm3
mulsd  0x0(%r13),%xmm0
addsd  %xmm3,%xmm0
mulsd  0x30(%r13),%xmm6
addsd  %xmm0,%xmm6
movsd  %xmm6,(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x18(%r13),%xmm1
mulsd  0x0(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x30(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x8(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x18(%r13),%xmm1
mulsd  0x0(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x30(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x10(%rcx)
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x30(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x28(%rcx)
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x30(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x38(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x40(%rcx)
jmp    35e7 <rotMatrixCCOVsubrtn+0x24c7>
mulsd  0x18(%r13),%xmm3
mulsd  0x0(%r13),%xmm0
addsd  %xmm3,%xmm0
mulsd  0x30(%r13),%xmm6
subsd  %xmm6,%xmm0
movsd  %xmm0,(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x18(%r13),%xmm1
mulsd  0x0(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x30(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x8(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x18(%r13),%xmm1
mulsd  0x0(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x30(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x10(%rcx)
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x30(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x20(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x20(%r13),%xmm1
mulsd  0x8(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x38(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x28(%rcx)
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x30(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x30(%rcx)
movsd  0x8(%rbx),%xmm0
movsd  0x20(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x38(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x38(%rcx)
movsd  0x10(%rbx),%xmm0
movsd  0x28(%rbx),%xmm1
mulsd  0x28(%r13),%xmm1
mulsd  0x10(%r13),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbx),%xmm1
mulsd  0x40(%r13),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rcx)
add    $0x78,%rsp
jmp    217c <rotMatrixCCOVsubrtn+0x105c>

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

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