void rotMatrixCCOVsubrtnII(double *rotationMatrix, double *Spx, double *SIGMA,
                           double *MM, double *U, double *V, double *SpxTSpx,
                           double *invmat, double *doubleVars) {
  char flg;
  int i, j, jj, k, iters, myint, myint2;
  const int MAXITERS = 30;
  U[0] = Spx[0];
  U[1] = Spx[1];
  U[2] = Spx[2];
  U[3] = Spx[3];
  U[4] = Spx[4];
  U[5] = Spx[5];
  U[6] = Spx[6];
  U[7] = Spx[7];
  U[8] = Spx[8];
  SpxTSpx[0] = 0.0;
  SpxTSpx[1] = 0.0;
  SpxTSpx[2] = 0.0;
  for (i = 0; i < 3; i++) {
    myint2 = i + 1;
    MM[i] = SpxTSpx[0] * SpxTSpx[2];
    SpxTSpx[2] = 0.0;
    SpxTSpx[3] = 0.0;
    SpxTSpx[0] = 0.0;
    for (k = i; k < 3; k++) {
      SpxTSpx[0] += fabs(U[k + 3 * i]);
    }
    if (SpxTSpx[0] > 1.0e-90) {
      for (k = i; k < 3; k++) {
        U[k + 3 * i] = U[k + 3 * i] / SpxTSpx[0];
        SpxTSpx[3] += U[k + 3 * i] * U[k + 3 * i];
      }
      SpxTSpx[4] = U[4 * i];
      if (SpxTSpx[4] > 0.0) {
        SpxTSpx[2] = -sqrt(SpxTSpx[3]);
      } else {
        SpxTSpx[2] = sqrt(SpxTSpx[3]);
      }
      SpxTSpx[5] = SpxTSpx[4] * SpxTSpx[2] - SpxTSpx[3];
      U[4 * i] = SpxTSpx[4] - SpxTSpx[2];
      for (j = myint2; j < 3; j++) {
        SpxTSpx[3] = 0.0;
        for (k = i; k < 3; k++) {
          SpxTSpx[3] += U[k + 3 * i] * U[k + 3 * j];
        }
        SpxTSpx[4] = SpxTSpx[3] / SpxTSpx[5];
        for (k = i; k < 3; k++) {
          U[k + 3 * j] += U[k + 3 * i] * SpxTSpx[4];
        }
      }
      for (k = i; k < 3; k++) {
        U[k + 3 * i] = U[k + 3 * i] * SpxTSpx[0];
      }
    }
    SIGMA[i] = SpxTSpx[0] * SpxTSpx[2];
    SpxTSpx[2] = 0.0;
    SpxTSpx[3] = 0.0;
    SpxTSpx[0] = 0.0;
    for (k = myint2; k < 3; k++) {
      SpxTSpx[0] += fabs(U[i + 3 * k]);
    }
    if (SpxTSpx[0] > 1.0e-90) {
      for (k = myint2; k < 3; k++) {
        U[i + 3 * k] = U[i + 3 * k] / SpxTSpx[0];
        SpxTSpx[3] += U[i + 3 * k] * U[i + 3 * k];
      }
      SpxTSpx[4] = U[4 * i + 3];
      if (SpxTSpx[4] > 0.0) {
        SpxTSpx[2] = -sqrt(SpxTSpx[3]);
      } else {
        SpxTSpx[2] = sqrt(SpxTSpx[3]);
      }
      SpxTSpx[5] = SpxTSpx[4] * SpxTSpx[2] - SpxTSpx[3];
      U[4 * i + 3] = SpxTSpx[4] - SpxTSpx[2];
      for (k = myint2; k < 3; k++) {
        MM[k] = U[i + 3 * k] / SpxTSpx[5];
      }
      for (j = myint2; j < 3; j++) {
        SpxTSpx[3] = 0.0;
        for (k = myint2; k < 3; k++) {
          SpxTSpx[3] += U[i + 3 * k] * U[j + 3 * k];
        }
        for (k = myint2; k < 3; k++) {
          U[j + 3 * k] += SpxTSpx[3] * MM[k];
        }
      }
      for (k = myint2; k < 3; k++) {
        U[i + 3 * k] = U[i + 3 * k] * SpxTSpx[0];
      }
    }
    doubleVars[0] = fabs(SIGMA[i]) + fabs(MM[i]);
    if (doubleVars[0] > SpxTSpx[1]) {
      SpxTSpx[1] = doubleVars[0];
    }
  }
  for (i = 2; i >= 0; i--) {
    if (fabs(SpxTSpx[2]) > 1.0e-90) {
      for (j = myint2; j < 3; j++) {
        V[j + 3 * i] = (U[i + 3 * j] / U[i + 3 * myint2]) / SpxTSpx[2];
      }
      for (j = myint2; j < 3; j++) {
        SpxTSpx[3] = 0.0;
        for (k = myint2; k < 3; k++) {
          SpxTSpx[3] += U[i + 3 * k] * V[k + 3 * j];
        }
        for (k = myint2; k < 3; k++) {
          V[k + 3 * j] += SpxTSpx[3] * V[k + 3 * i];
        }
      }
    }
    for (j = myint2; j < 3; j++) {
      V[i + 3 * j] = 0.0;
      V[j + 3 * i] = 0.0;
    }
    V[4 * i] = 1.0;
    SpxTSpx[2] = MM[i];
    myint2 = i;
  }
  for (i = 2; i >= 0; i--) {
    myint2 = i + 1;
    SpxTSpx[2] = SIGMA[i];
    for (j = myint2; j < 3; j++) {
      U[i + 3 * j] = 0.0;
    }
    if (fabs(SpxTSpx[2]) > 1.0e-90) {
      SpxTSpx[2] = 1.0 / SpxTSpx[2];
      for (j = myint2; j < 3; j++) {
        SpxTSpx[3] = 0.0;
        for (k = myint2; k < 3; k++) {
          SpxTSpx[3] += U[k + 3 * i] * U[k + 3 * j];
        }
        SpxTSpx[4] = (SpxTSpx[3] / U[4 * i]) * SpxTSpx[2];
        for (k = i; k < 3; k++) {
          U[k + 3 * j] += SpxTSpx[4] * U[k + 3 * i];
        }
      }
      for (j = i; j < 3; j++) {
        U[j + 3 * i] = U[j + 3 * i] * SpxTSpx[2];
      }
    } else {
      for (j = i; j < 3; j++) {
        U[j + 3 * i] = 0.0;
      }
    }
    U[4 * i] += 1.0;
  }
  for (k = 2; k >= 0; k--) {
    for (iters = 0; iters < MAXITERS; iters++) {
      flg = 1;
      for (myint2 = k; myint2 >= 0; myint2--) {
        myint = myint2 - 1;
        if (1.0e15 * fabs(MM[myint2]) < SpxTSpx[1]) {
          flg = 0;
          break;
        }
        if (1.0e15 * fabs(SIGMA[myint]) < SpxTSpx[1]) {
          break;
        }
      }
      if (flg) {
        invmat[0] = 0.0;
        SpxTSpx[3] = 1.0;
        for (i = myint2; i <= k; i++) {
          SpxTSpx[4] = SpxTSpx[3] * MM[i];
          MM[i] = invmat[0] * MM[i];
          if (1.0e15 * fabs(SpxTSpx[4]) < SpxTSpx[1]) {
            break;
          }
          SpxTSpx[2] = SIGMA[i];
          safeEucldNorm(&SpxTSpx[2], &SpxTSpx[4], &SpxTSpx[5]);
          SIGMA[i] = SpxTSpx[5];
          SpxTSpx[5] = 1.0 / SpxTSpx[5];
          invmat[0] = SpxTSpx[2] * SpxTSpx[5];
          SpxTSpx[3] = -SpxTSpx[4] * SpxTSpx[5];
          for (j = 0; j < 3; j++) {
            invmat[1] = U[j + 3 * myint];
            invmat[2] = U[j + 3 * i];
            U[j + 3 * myint] = invmat[1] * invmat[0] + invmat[2] * SpxTSpx[3];
            U[j + 3 * i] = invmat[2] * invmat[0] - invmat[1] * SpxTSpx[3];
          }
        }
      }
      invmat[2] = SIGMA[k];
      if (myint2 == k) {
        if (invmat[2] < 0.0) {
          SIGMA[k] = -invmat[2];
          for (j = 0; j < 3; j++) {
            V[j + 3 * k] = -V[j + 3 * k];
          }
        }
        break;
      }
      invmat[3] = SIGMA[myint2];
      myint = k - 1;
      invmat[1] = SIGMA[myint];
      SpxTSpx[2] = MM[myint];
      SpxTSpx[5] = MM[k];
      SpxTSpx[4] = ((invmat[1] - invmat[2]) * (invmat[1] + invmat[2]) +
                    (SpxTSpx[2] - SpxTSpx[5]) * (SpxTSpx[2] + SpxTSpx[5])) /
                   (2.0 * SpxTSpx[5] * invmat[1]);
      safeEucldNormOne(&SpxTSpx[4], &SpxTSpx[2]);
      if (SpxTSpx[4] > 0.0) {
        if (SpxTSpx[2] > 0.0) {
          SpxTSpx[4] = ((invmat[3] - invmat[2]) * (invmat[3] + invmat[2]) +
                        SpxTSpx[5] * ((invmat[1] / (SpxTSpx[4] + SpxTSpx[2])) -
                                      SpxTSpx[5])) /
                       invmat[3];
        } else {
          SpxTSpx[4] = ((invmat[3] - invmat[2]) * (invmat[3] + invmat[2]) +
                        SpxTSpx[5] * ((invmat[1] / (SpxTSpx[4] - SpxTSpx[2])) -
                                      SpxTSpx[5])) /
                       invmat[3];
        }
      } else {
        if (SpxTSpx[2] > 0.0) {
          SpxTSpx[4] = ((invmat[3] - invmat[2]) * (invmat[3] + invmat[2]) +
                        SpxTSpx[5] * ((invmat[1] / (SpxTSpx[4] - SpxTSpx[2])) -
                                      SpxTSpx[5])) /
                       invmat[3];
        } else {
          SpxTSpx[4] = ((invmat[3] - invmat[2]) * (invmat[3] + invmat[2]) +
                        SpxTSpx[5] * ((invmat[1] / (SpxTSpx[4] + SpxTSpx[2])) -
                                      SpxTSpx[5])) /
                       invmat[3];
        }
      }
      invmat[0] = 1.0;
      SpxTSpx[3] = 1.0;
      for (j = myint2; j <= myint; j++) {
        i = j + 1;
        invmat[1] = SIGMA[i];
        SpxTSpx[2] = MM[i];
        SpxTSpx[5] = SpxTSpx[3] * SpxTSpx[2];
        SpxTSpx[2] = invmat[0] * SpxTSpx[2];
        safeEucldNorm(&SpxTSpx[4], &SpxTSpx[5], &invmat[2]);
        MM[j] = invmat[2];
        if (invmat[2] > 1.0e-90) {
          invmat[0] = SpxTSpx[4] / invmat[2];
          SpxTSpx[3] = SpxTSpx[5] / invmat[2];
        }
        invmat[0] = SpxTSpx[4] / invmat[2];
        SpxTSpx[3] = SpxTSpx[5] / invmat[2];
        SpxTSpx[4] = invmat[3] * invmat[0] + SpxTSpx[2] * SpxTSpx[3];
        SpxTSpx[2] = SpxTSpx[2] * invmat[0] - invmat[3] * SpxTSpx[3];
        SpxTSpx[5] = invmat[1] * SpxTSpx[3];
        invmat[1] = invmat[1] * invmat[0];
        for (jj = 0; jj < 3; jj++) {
          invmat[3] = V[jj + 3 * j];
          invmat[2] = V[jj + 3 * i];
          V[jj + 3 * j] = invmat[3] * invmat[0] + invmat[2] * SpxTSpx[3];
          V[jj + 3 * i] = invmat[2] * invmat[0] - invmat[3] * SpxTSpx[3];
        }
        safeEucldNorm(&SpxTSpx[4], &SpxTSpx[5], &invmat[2]);
        SIGMA[j] = invmat[2];
        if (invmat[2] > 1.0e-90) {
          invmat[0] = SpxTSpx[4] / invmat[2];
          SpxTSpx[3] = SpxTSpx[5] / invmat[2];
        }
        SpxTSpx[4] = invmat[0] * SpxTSpx[2] + SpxTSpx[3] * invmat[1];
        invmat[3] = invmat[0] * invmat[1] - SpxTSpx[3] * SpxTSpx[2];
        for (jj = 0; jj < 3; jj++) {
          invmat[1] = U[jj + 3 * j];
          invmat[2] = U[jj + 3 * i];
          U[jj + 3 * j] = invmat[1] * invmat[0] + invmat[2] * SpxTSpx[3];
          U[jj + 3 * i] = invmat[2] * invmat[0] - invmat[1] * SpxTSpx[3];
        }
      }
      MM[myint2] = 0.0;
      MM[k] = SpxTSpx[4];
      SIGMA[k] = invmat[3];
    }
  }
  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];
  if ((rotationMatrix[0] * (rotationMatrix[4] * rotationMatrix[8] -
                            rotationMatrix[5] * rotationMatrix[7]) +
       rotationMatrix[1] * (rotationMatrix[5] * rotationMatrix[6] -
                            rotationMatrix[3] * rotationMatrix[8]) +
       rotationMatrix[2] * (rotationMatrix[3] * rotationMatrix[7] -
                            rotationMatrix[4] * rotationMatrix[6])) < 0.0) {
    if (SIGMA[2] < SIGMA[1]) {
      if (SIGMA[2] < SIGMA[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 {
        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 (SIGMA[1] < SIGMA[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 {
        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):
<rotMatrixCCOVsubrtnII>:
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)
movl   $0x1e,-0x54(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x10(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x10(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x10(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x8(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x10(%rax)
movl   $0x0,-0x38(%rbp)
cmpl   $0x3,-0x38(%rbp)
jge    19c7 <rotMatrixCCOVsubrtnII+0x897>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    12cb <rotMatrixCCOVsubrtnII+0x19b>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x2d73(%rip),%xmm1
pand   %xmm1,%xmm0
mov    0x10(%rbp),%rax
addsd  (%rax),%xmm0
movsd  %xmm0,(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1287 <rotMatrixCCOVsubrtnII+0x157>
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x2d3d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    15b2 <rotMatrixCCOVsubrtnII+0x482>
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1375 <rotMatrixCCOVsubrtnII+0x245>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    12eb <rotMatrixCCOVsubrtnII+0x1bb>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    13d9 <rotMatrixCCOVsubrtnII+0x2a9>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1050 <sqrt@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
jmp    13f0 <rotMatrixCCOVsubrtnII+0x2c0>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1050 <sqrt@plt>
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    155d <rotMatrixCCOVsubrtnII+0x42d>
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    14d1 <rotMatrixCCOVsubrtnII+0x3a1>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1479 <rotMatrixCCOVsubrtnII+0x349>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
divsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    154a <rotMatrixCCOVsubrtnII+0x41a>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    14f2 <rotMatrixCCOVsubrtnII+0x3c2>
jmp    154f <rotMatrixCCOVsubrtnII+0x41f>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    145d <rotMatrixCCOVsubrtnII+0x32d>
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    15ad <rotMatrixCCOVsubrtnII+0x47d>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1563 <rotMatrixCCOVsubrtnII+0x433>
jmp    15b2 <rotMatrixCCOVsubrtnII+0x482>
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    163d <rotMatrixCCOVsubrtnII+0x50d>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x2a01(%rip),%xmm1
pand   %xmm1,%xmm0
mov    0x10(%rbp),%rax
addsd  (%rax),%xmm0
movsd  %xmm0,(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    15f9 <rotMatrixCCOVsubrtnII+0x4c9>
mov    0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x29cb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1950 <rotMatrixCCOVsubrtnII+0x820>
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    16e7 <rotMatrixCCOVsubrtnII+0x5b7>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
divsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    165d <rotMatrixCCOVsubrtnII+0x52d>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    174e <rotMatrixCCOVsubrtnII+0x61e>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1050 <sqrt@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
jmp    1765 <rotMatrixCCOVsubrtnII+0x635>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1050 <sqrt@plt>
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x10(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1818 <rotMatrixCCOVsubrtnII+0x6e8>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
divsd  0x28(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    17d5 <rotMatrixCCOVsubrtnII+0x6a5>
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    18fb <rotMatrixCCOVsubrtnII+0x7cb>
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1892 <rotMatrixCCOVsubrtnII+0x762>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    183a <rotMatrixCCOVsubrtnII+0x70a>
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    18e8 <rotMatrixCCOVsubrtnII+0x7b8>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1898 <rotMatrixCCOVsubrtnII+0x768>
jmp    18ed <rotMatrixCCOVsubrtnII+0x7bd>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    181e <rotMatrixCCOVsubrtnII+0x6ee>
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    194b <rotMatrixCCOVsubrtnII+0x81b>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1901 <rotMatrixCCOVsubrtnII+0x7d1>
jmp    1950 <rotMatrixCCOVsubrtnII+0x820>
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x26bc(%rip),%xmm1
pand   %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x26a4(%rip),%xmm2
pand   %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
ucomisd 0x8(%rax),%xmm0
jbe    19b4 <rotMatrixCCOVsubrtnII+0x884>
mov    0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
jmp    19b9 <rotMatrixCCOVsubrtnII+0x889>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
jmp    122d <rotMatrixCCOVsubrtnII+0xfd>
movl   $0x2,-0x38(%rbp)
cmpl   $0x0,-0x38(%rbp)
jl     1be6 <rotMatrixCCOVsubrtnII+0xab6>
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movaps 0x2638(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x2624(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1b54 <rotMatrixCCOVsubrtnII+0xa24>
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1a64 <rotMatrixCCOVsubrtnII+0x934>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x50(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
divsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1a04 <rotMatrixCCOVsubrtnII+0x8d4>
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1b4f <rotMatrixCCOVsubrtnII+0xa1f>
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1ade <rotMatrixCCOVsubrtnII+0x9ae>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1a86 <rotMatrixCCOVsubrtnII+0x956>
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1b3c <rotMatrixCCOVsubrtnII+0xa0c>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x30(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1ae4 <rotMatrixCCOVsubrtnII+0x9b4>
jmp    1b41 <rotMatrixCCOVsubrtnII+0xa11>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1a6a <rotMatrixCCOVsubrtnII+0x93a>
jmp    1b54 <rotMatrixCCOVsubrtnII+0xa24>
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1ba2 <rotMatrixCCOVsubrtnII+0xa72>
mov    -0x30(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1b5a <rotMatrixCCOVsubrtnII+0xa2a>
mov    -0x30(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
movsd  0x2451(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x38(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x38(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x38(%rbp)
jmp    19ce <rotMatrixCCOVsubrtnII+0x89e>
movl   $0x2,-0x38(%rbp)
cmpl   $0x0,-0x38(%rbp)
jl     1e62 <rotMatrixCCOVsubrtnII+0xd32>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1c4c <rotMatrixCCOVsubrtnII+0xb1c>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1c1c <rotMatrixCCOVsubrtnII+0xaec>
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
movaps 0x23c4(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x23b0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1dfa <rotMatrixCCOVsubrtnII+0xcca>
mov    0x10(%rbp),%rax
movsd  0x238a(%rip),%xmm0
divsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1da4 <rotMatrixCCOVsubrtnII+0xc74>
mov    0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1d06 <rotMatrixCCOVsubrtnII+0xbd6>
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1cae <rotMatrixCCOVsubrtnII+0xb7e>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
divsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x38(%rbp),%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x3,-0x44(%rbp)
jge    1d91 <rotMatrixCCOVsubrtnII+0xc61>
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x28(%rbp),%rax
mov    -0x44(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1d39 <rotMatrixCCOVsubrtnII+0xc09>
jmp    1d96 <rotMatrixCCOVsubrtnII+0xc66>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1c92 <rotMatrixCCOVsubrtnII+0xb62>
mov    -0x38(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1df5 <rotMatrixCCOVsubrtnII+0xcc5>
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1daa <rotMatrixCCOVsubrtnII+0xc7a>
jmp    1e35 <rotMatrixCCOVsubrtnII+0xd05>
mov    -0x38(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    1e30 <rotMatrixCCOVsubrtnII+0xd00>
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1e00 <rotMatrixCCOVsubrtnII+0xcd0>
jmp    1e35 <rotMatrixCCOVsubrtnII+0xd05>
mov    -0x28(%rbp),%rax
mov    -0x38(%rbp),%ecx
shl    $0x2,%ecx
movslq %ecx,%rcx
movsd  0x21be(%rip),%xmm0
addsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x38(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x38(%rbp)
jmp    1bed <rotMatrixCCOVsubrtnII+0xabd>
movl   $0x2,-0x44(%rbp)
cmpl   $0x0,-0x44(%rbp)
jl     2adf <rotMatrixCCOVsubrtnII+0x19af>
movl   $0x0,-0x48(%rbp)
cmpl   $0x1e,-0x48(%rbp)
jge    2acc <rotMatrixCCOVsubrtnII+0x199c>
movb   $0x1,-0x31(%rbp)
mov    -0x44(%rbp),%eax
mov    %eax,-0x50(%rbp)
cmpl   $0x0,-0x50(%rbp)
jl     1f30 <rotMatrixCCOVsubrtnII+0xe00>
mov    -0x50(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x20(%rbp),%rax
movslq -0x50(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x216b(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x213f(%rip),%xmm1
mulsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    1ee1 <rotMatrixCCOVsubrtnII+0xdb1>
movb   $0x0,-0x31(%rbp)
jmp    1f30 <rotMatrixCCOVsubrtnII+0xe00>
mov    -0x18(%rbp),%rax
movslq -0x4c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movaps 0x212b(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x20ff(%rip),%xmm1
mulsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    1f1d <rotMatrixCCOVsubrtnII+0xded>
jmp    1f30 <rotMatrixCCOVsubrtnII+0xe00>
jmp    1f22 <rotMatrixCCOVsubrtnII+0xdf2>
mov    -0x50(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x50(%rbp)
jmp    1e8e <rotMatrixCCOVsubrtnII+0xd5e>
cmpb   $0x0,-0x31(%rbp)
je     219c <rotMatrixCCOVsubrtnII+0x106c>
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x20b7(%rip),%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x38(%rbp),%eax
cmp    -0x44(%rbp),%eax
jg     2197 <rotMatrixCCOVsubrtnII+0x1067>
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movaps 0x2067(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x203b(%rip),%xmm1
mulsd  %xmm0,%xmm1
mov    0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    1fe1 <rotMatrixCCOVsubrtnII+0xeb1>
jmp    2197 <rotMatrixCCOVsubrtnII+0x1067>
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rdi
add    $0x10,%rdi
mov    0x10(%rbp),%rsi
add    $0x20,%rsi
mov    0x10(%rbp),%rdx
add    $0x28,%rdx
mov    $0x0,%al
call   1030 <safeEucldNorm@plt>
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
movsd  0x1fd0(%rip),%xmm0
divsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    0x10(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    2184 <rotMatrixCCOVsubrtnII+0x1054>
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x4c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x4c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x10(%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
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2099 <rotMatrixCCOVsubrtnII+0xf69>
jmp    2189 <rotMatrixCCOVsubrtnII+0x1059>
mov    -0x38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
jmp    1f5c <rotMatrixCCOVsubrtnII+0xe2c>
jmp    219c <rotMatrixCCOVsubrtnII+0x106c>
mov    -0x18(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x50(%rbp),%eax
cmp    -0x44(%rbp),%eax
jne    2267 <rotMatrixCCOVsubrtnII+0x1137>
mov    0x18(%rbp),%rax
xorps  %xmm0,%xmm0
ucomisd 0x10(%rax),%xmm0
jbe    2262 <rotMatrixCCOVsubrtnII+0x1132>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x3,-0x3c(%rbp)
jge    225d <rotMatrixCCOVsubrtnII+0x112d>
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x3c(%rbp),%ecx
imul   $0x3,-0x44(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    2204 <rotMatrixCCOVsubrtnII+0x10d4>
jmp    2262 <rotMatrixCCOVsubrtnII+0x1132>
jmp    2acc <rotMatrixCCOVsubrtnII+0x199c>
mov    -0x18(%rbp),%rax
movslq -0x50(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x44(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x4c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x20(%rbp),%rax
movslq -0x4c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x18(%rbp),%rax
addsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
subsd  0x28(%rax),%xmm1
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm3
mov    0x10(%rbp),%rax
addsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  0x1ce8(%rip),%xmm1
mulsd  0x28(%rax),%xmm1
mov    0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
divsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rdi
add    $0x20,%rdi
mov    0x10(%rbp),%rsi
add    $0x10,%rsi
mov    $0x0,%al
call   1040 <safeEucldNormOne@plt>
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    2476 <rotMatrixCCOVsubrtnII+0x1346>
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    23fe <rotMatrixCCOVsubrtnII+0x12ce>
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    0x18(%rbp),%rax
addsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm4
mov    0x10(%rbp),%rax
addsd  0x10(%rax),%xmm4
divsd  %xmm4,%xmm3
mov    0x10(%rbp),%rax
subsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
divsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
jmp    2471 <rotMatrixCCOVsubrtnII+0x1341>
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    0x18(%rbp),%rax
addsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm4
mov    0x10(%rbp),%rax
subsd  0x10(%rax),%xmm4
divsd  %xmm4,%xmm3
mov    0x10(%rbp),%rax
subsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
divsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
jmp    257c <rotMatrixCCOVsubrtnII+0x144c>
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    2504 <rotMatrixCCOVsubrtnII+0x13d4>
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    0x18(%rbp),%rax
addsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm4
mov    0x10(%rbp),%rax
subsd  0x10(%rax),%xmm4
divsd  %xmm4,%xmm3
mov    0x10(%rbp),%rax
subsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
divsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
jmp    2577 <rotMatrixCCOVsubrtnII+0x1447>
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    0x18(%rbp),%rax
addsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm3
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm4
mov    0x10(%rbp),%rax
addsd  0x10(%rax),%xmm4
divsd  %xmm4,%xmm3
mov    0x10(%rbp),%rax
subsd  0x28(%rax),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
divsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
jmp    257c <rotMatrixCCOVsubrtnII+0x144c>
mov    0x18(%rbp),%rax
movsd  0x1a80(%rip),%xmm0
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x1a70(%rip),%xmm0
movsd  %xmm0,0x18(%rax)
mov    -0x50(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
cmp    -0x4c(%rbp),%eax
jg     2a82 <rotMatrixCCOVsubrtnII+0x1952>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x20(%rbp),%rax
movslq -0x38(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x10(%rbp),%rdi
add    $0x20,%rdi
mov    0x10(%rbp),%rsi
add    $0x28,%rsi
mov    0x18(%rbp),%rdx
add    $0x10,%rdx
mov    $0x0,%al
call   1030 <safeEucldNorm@plt>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  0x19b9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    269e <rotMatrixCCOVsubrtnII+0x156e>
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%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    0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movl   $0x0,-0x40(%rbp)
cmpl   $0x3,-0x40(%rbp)
jge    2879 <rotMatrixCCOVsubrtnII+0x1749>
mov    -0x30(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%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
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    278e <rotMatrixCCOVsubrtnII+0x165e>
mov    0x10(%rbp),%rdi
add    $0x20,%rdi
mov    0x10(%rbp),%rsi
add    $0x28,%rsi
mov    0x18(%rbp),%rdx
add    $0x10,%rdx
mov    $0x0,%al
call   1030 <safeEucldNorm@plt>
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  0x1759(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    28fe <rotMatrixCCOVsubrtnII+0x17ce>
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    0x18(%rbp),%rax
divsd  0x10(%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x10(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x18(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x10(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    0x10(%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    0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movl   $0x0,-0x40(%rbp)
cmpl   $0x3,-0x40(%rbp)
jge    2a6f <rotMatrixCCOVsubrtnII+0x193f>
mov    -0x28(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x28(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x3c(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    0x18(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    0x10(%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
mov    -0x40(%rbp),%ecx
imul   $0x3,-0x38(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    2984 <rotMatrixCCOVsubrtnII+0x1854>
jmp    2a74 <rotMatrixCCOVsubrtnII+0x1944>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    25a3 <rotMatrixCCOVsubrtnII+0x1473>
mov    -0x20(%rbp),%rax
movslq -0x50(%rbp),%rcx
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    1e7a <rotMatrixCCOVsubrtnII+0xd4a>
jmp    2ad1 <rotMatrixCCOVsubrtnII+0x19a1>
mov    -0x44(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x44(%rbp)
jmp    1e69 <rotMatrixCCOVsubrtnII+0xd39>
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)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm2
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm3
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm1
mov    -0x8(%rbp),%rax
mulsd  0x38(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm3
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm5
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm4
mov    -0x8(%rbp),%rax
mulsd  0x40(%rax),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm4
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm3
mov    -0x8(%rbp),%rax
mulsd  0x30(%rax),%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    3d4a <rotMatrixCCOVsubrtnII+0x2c1a>
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    3602 <rotMatrixCCOVsubrtnII+0x24d2>
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    326e <rotMatrixCCOVsubrtnII+0x213e>
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    35fd <rotMatrixCCOVsubrtnII+0x24cd>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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    3d45 <rotMatrixCCOVsubrtnII+0x2c15>
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    39b1 <rotMatrixCCOVsubrtnII+0x2881>
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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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    3d40 <rotMatrixCCOVsubrtnII+0x2c10>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %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    3d45 <rotMatrixCCOVsubrtnII+0x2c15>
jmp    3d4a <rotMatrixCCOVsubrtnII+0x2c1a>
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<rotMatrixCCOVsubrtnII>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x128,%rsp
mov    %r9,0x70(%rsp)
mov    %r8,%r13
mov    %rdi,0x108(%rsp)
mov    0x168(%rsp),%r12
mov    0x160(%rsp),%rdi
movsd  (%rsi),%xmm0
movsd  %xmm0,(%r8)
movsd  0x8(%rsi),%xmm0
movsd  %xmm0,0x8(%r8)
movsd  0x10(%rsi),%xmm0
movsd  %xmm0,0x10(%r8)
movsd  0x18(%rsi),%xmm0
lea    0x18(%r8),%r9
movsd  %xmm0,0x18(%r8)
movsd  0x20(%rsi),%xmm0
lea    0x20(%r8),%r11
movsd  %xmm0,0x20(%r8)
movsd  0x28(%rsi),%xmm0
movsd  %xmm0,0x28(%r8)
movsd  0x30(%rsi),%xmm0
lea    0x30(%r8),%rax
mov    %rax,0xb8(%rsp)
movsd  %xmm0,0x30(%r8)
movsd  0x38(%rsi),%xmm0
movsd  %xmm0,0x38(%r8)
movsd  0x40(%rsi),%xmm0
movsd  %xmm0,0x40(%r8)
lea    0x10(%rdi),%r8
lea    0x18(%rdi),%rsi
lea    0x20(%rdi),%rbx
lea    0x28(%rdi),%rax
mov    %rax,0x30(%rsp)
movq   $0x0,0x8(%rdi)
xorpd  %xmm5,%xmm5
xorps  %xmm6,%xmm6
movapd 0x2dee(%rip),%xmm3
movapd 0x2de6(%rip),%xmm7
xorpd  %xmm0,%xmm0
lea    0x18(%rcx),%rax
mov    %rax,0x118(%rsp)
lea    0x30(%rdi),%rax
mov    %rax,0x110(%rsp)
lea    0x8(%rcx),%rax
mov    $0x1,%ebp
mov    %rbp,0xf0(%rsp)
xor    %r10d,%r10d
mov    %r13,0x98(%rsp)
mov    %rax,0x100(%rsp)
mov    %rax,0xe8(%rsp)
mov    %r9,0x78(%rsp)
mov    %r13,%rbp
mov    %r9,0xf8(%rsp)
mov    $0x2,%eax
mov    %rax,0x68(%rsp)
mov    %r13,0x88(%rsp)
mov    $0x1,%eax
mov    %rax,0x8(%rsp)
mov    %r13,0x18(%rsp)
mov    %rdx,0xb0(%rsp)
mov    %r8,0x48(%rsp)
mov    %rbx,0x58(%rsp)
mov    %rsi,0x10(%rsp)
mov    %rcx,0x90(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
lea    (%r10,%r10,2),%r15
mov    %r10,%r14
shl    $0x5,%r14
lea    0x1(%r10),%rax
movsd  %xmm0,(%rcx,%r10,8)
movq   $0x0,(%rdi)
movups %xmm6,(%r8)
movsd  0x0(%r13,%r14,1),%xmm0
andpd  %xmm3,%xmm0
movlpd %xmm0,(%rdi)
movapd %xmm0,%xmm1
mov    %rax,(%rsp)
cmp    $0x3,%rax
je     1337 <rotMatrixCCOVsubrtnII+0x1f7>
mov    (%rsp),%rax
add    %r15,%rax
movsd  0x0(%r13,%rax,8),%xmm1
andpd  %xmm3,%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rdi)
lea    0x2(%r10),%rax
cmp    $0x3,%rax
je     1337 <rotMatrixCCOVsubrtnII+0x1f7>
add    %r15,%rax
movsd  0x0(%r13,%rax,8),%xmm0
andpd  %xmm3,%xmm0
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rdi)
mov    $0x2,%eax
sub    %r10,%rax
mov    %rax,0x60(%rsp)
ucomisd 0x2cd4(%rip),%xmm1
mov    %r10,0x28(%rsp)
jbe    1840 <rotMatrixCCOVsubrtnII+0x700>
mov    %r15,0x20(%rsp)
movsd  0x0(%r13,%r14,1),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,0x0(%r13,%r14,1)
mulsd  %xmm0,%xmm0
addsd  (%rsi),%xmm0
movsd  %xmm0,(%rsi)
cmp    $0x2,%r10
mov    0x88(%rsp),%rdx
je     13be <rotMatrixCCOVsubrtnII+0x27e>
mov    $0x1,%eax
nopl   (%rax)
movsd  (%rdx,%rax,8),%xmm0
divsd  (%rdi),%xmm0
movsd  %xmm0,(%rdx,%rax,8)
mulsd  %xmm0,%xmm0
addsd  0x18(%rdi),%xmm0
movsd  %xmm0,0x18(%rdi)
lea    (%r10,%rax,1),%rcx
add    $0x1,%rcx
add    $0x1,%rax
cmp    $0x3,%rcx
jne    1390 <rotMatrixCCOVsubrtnII+0x250>
mov    %r11,0x120(%rsp)
mov    %r9,0xe0(%rsp)
lea    0x0(,%r10,4),%r15
movsd  0x0(%r13,%r14,1),%xmm4
movsd  %xmm4,(%rbx)
ucomisd %xmm5,%xmm0
mov    %r14,0xc0(%rsp)
jb     1400 <rotMatrixCCOVsubrtnII+0x2c0>
sqrtsd %xmm0,%xmm0
jmp    143c <rotMatrixCCOVsubrtnII+0x2fc>
cs nopw 0x0(%rax,%rax,1)
nop
movsd  %xmm4,0x40(%rsp)
call   1060 <sqrt@plt>
movsd  0x40(%rsp),%xmm4
mov    0x28(%rsp),%r10
movapd 0x2be2(%rip),%xmm7
xorps  %xmm6,%xmm6
xorpd  %xmm5,%xmm5
movapd 0x2bd3(%rip),%xmm3
mov    0x10(%rsp),%rsi
mov    0x58(%rsp),%rbx
mov    0x48(%rsp),%r8
mov    (%rsp),%rdx
movapd %xmm0,%xmm1
xorpd  0x2bc4(%rip),%xmm1
xorpd  %xmm2,%xmm2
cmpltsd %xmm4,%xmm2
andpd  %xmm2,%xmm1
andnpd %xmm0,%xmm2
orpd   %xmm1,%xmm2
movlpd %xmm2,(%r8)
movsd  (%rbx),%xmm0
movapd %xmm0,%xmm1
mulsd  %xmm2,%xmm1
subsd  (%rsi),%xmm1
mov    0x30(%rsp),%rax
movsd  %xmm1,(%rax)
subsd  %xmm2,%xmm0
movsd  %xmm0,0x0(%r13,%r15,8)
cmp    $0x1,%r10
ja     17b0 <rotMatrixCCOVsubrtnII+0x670>
mov    0x68(%rsp),%rax
and    $0xfffffffffffffffc,%rax
lea    0x4(,%r10,4),%rcx
mov    %rcx,0x50(%rsp)
lea    (%r10,%r10,2),%rcx
add    $0x6,%rcx
mov    %rcx,0xc8(%rsp)
mov    0xc0(%rsp),%rcx
lea    0x8(%r13,%rcx,1),%rcx
mov    %rcx,0xa8(%rsp)
mov    0x20(%rsp),%rcx
lea    0x18(%r13,%rcx,8),%rdi
mov    %rdi,0xa0(%rsp)
lea    0x1(%r10,%rcx,1),%rdi
mov    %rdi,0x40(%rsp)
lea    0x2(%r10),%rdi
mov    %rdi,0x38(%rsp)
add    %r10,%rcx
add    $0x2,%rcx
mov    %rcx,0x80(%rsp)
mov    0x60(%rsp),%rcx
and    $0xfffffffffffffffc,%rcx
mov    %rcx,0xd8(%rsp)
add    %r10,%rcx
add    $0x1,%rcx
mov    %rcx,0xd0(%rsp)
mov    0xf8(%rsp),%rdi
mov    0xb8(%rsp),%r14
xor    %r11d,%r11d
mov    0x8(%rsp),%r8
jmp    1563 <rotMatrixCCOVsubrtnII+0x423>
nopl   (%rax)
add    $0x1,%r8
add    $0x1,%r11
add    $0x18,%r14
add    $0x18,%rdi
cmp    $0x3,%r8
mov    0x10(%rsp),%rsi
mov    (%rsp),%rdx
je     17b0 <rotMatrixCCOVsubrtnII+0x670>
lea    (%r8,%r8,2),%r9
add    %r9,%r10
movq   $0x0,(%rsi)
movsd  0x0(%r13,%r15,8),%xmm0
mulsd  0x0(%r13,%r10,8),%xmm0
addsd  %xmm5,%xmm0
movsd  %xmm0,(%rsi)
cmp    $0x3,%rdx
je     15d8 <rotMatrixCCOVsubrtnII+0x498>
lea    (%rdx,%r9,1),%rcx
mov    0x40(%rsp),%rbx
movsd  0x0(%r13,%rbx,8),%xmm1
mulsd  0x0(%r13,%rcx,8),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rsi)
mov    0x38(%rsp),%rcx
cmp    $0x3,%rcx
je     15d8 <rotMatrixCCOVsubrtnII+0x498>
mov    0x80(%rsp),%rbx
movsd  0x0(%r13,%rbx,8),%xmm1
add    %r9,%rcx
mulsd  0x0(%r13,%rcx,8),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rsi)
mov    0x30(%rsp),%rcx
divsd  (%rcx),%xmm0
mov    0x58(%rsp),%rbx
movsd  %xmm0,(%rbx)
mulsd  0x0(%r13,%r15,8),%xmm0
addsd  0x0(%r13,%r10,8),%xmm0
movsd  %xmm0,0x0(%r13,%r10,8)
cmp    $0x3,%rdx
mov    0x28(%rsp),%r10
je     1540 <rotMatrixCCOVsubrtnII+0x400>
mov    (%rsp),%rcx
cmpq   $0x4,0x60(%rsp)
jb     1720 <rotMatrixCCOVsubrtnII+0x5e0>
lea    (%r11,%r11,2),%rcx
mov    0x50(%rsp),%rdx
add    %rcx,%rdx
add    0xc8(%rsp),%rcx
lea    0x0(,%rdx,8),%rdx
add    %r13,%rdx
lea    0x0(,%rcx,8),%rcx
add    %r13,%rcx
cmp    0x30(%rsp),%rdx
setb   %r10b
cmp    %rcx,0x58(%rsp)
setb   %bl
cmp    0xa0(%rsp),%rdx
setb   %dl
cmp    %rcx,0xa8(%rsp)
setb   %sil
mov    (%rsp),%rcx
test   %bl,%r10b
mov    0x28(%rsp),%r10
mov    0x58(%rsp),%rbx
mov    0x18(%rsp),%r13
jne    1720 <rotMatrixCCOVsubrtnII+0x5e0>
mov    (%rsp),%rcx
and    %sil,%dl
jne    1720 <rotMatrixCCOVsubrtnII+0x5e0>
movsd  (%rbx),%xmm0
unpcklpd %xmm0,%xmm0
xor    %ecx,%ecx
mov    0x88(%rsp),%rdx
nopl   0x0(%rax,%rax,1)
movupd 0x8(%rdx,%rcx,8),%xmm1
movupd 0x18(%rdx,%rcx,8),%xmm2
movupd -0x10(%r14,%rcx,8),%xmm3
movupd (%r14,%rcx,8),%xmm4
mulpd  %xmm0,%xmm1
addpd  %xmm3,%xmm1
mulpd  %xmm0,%xmm2
addpd  %xmm4,%xmm2
movupd %xmm1,-0x10(%r14,%rcx,8)
movupd %xmm2,(%r14,%rcx,8)
add    $0x4,%rcx
cmp    %rcx,%rax
jne    16b0 <rotMatrixCCOVsubrtnII+0x570>
mov    0xd0(%rsp),%rcx
mov    0xd8(%rsp),%rdx
cmp    %rdx,0x60(%rsp)
movapd 0x28f4(%rip),%xmm3
je     1540 <rotMatrixCCOVsubrtnII+0x400>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    $0x1,%edx
sub    %ecx,%edx
mov    %rcx,%rsi
test   $0x1,%dl
je     1757 <rotMatrixCCOVsubrtnII+0x617>
mov    0x20(%rsp),%rdx
add    %rcx,%rdx
movsd  0x0(%r13,%rdx,8),%xmm0
add    %rcx,%r9
mulsd  (%rbx),%xmm0
addsd  0x0(%r13,%r9,8),%xmm0
movsd  %xmm0,0x0(%r13,%r9,8)
lea    0x1(%rcx),%rsi
cmp    $0x2,%rcx
je     1540 <rotMatrixCCOVsubrtnII+0x400>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  0x0(%rbp,%rsi,8),%xmm0
mulsd  (%rbx),%xmm0
addsd  (%rdi,%rsi,8),%xmm0
movsd  %xmm0,(%rdi,%rsi,8)
movsd  0x8(%rbp,%rsi,8),%xmm0
mulsd  (%rbx),%xmm0
addsd  0x8(%rdi,%rsi,8),%xmm0
movsd  %xmm0,0x8(%rdi,%rsi,8)
add    $0x2,%rsi
cmp    $0x3,%rsi
jne    1770 <rotMatrixCCOVsubrtnII+0x630>
jmp    1540 <rotMatrixCCOVsubrtnII+0x400>
nopl   0x0(%rax)
mov    0xc0(%rsp),%r14
movsd  0x0(%r13,%r14,1),%xmm0
mov    0x160(%rsp),%rdi
mulsd  (%rdi),%xmm0
movsd  %xmm0,0x0(%r13,%r14,1)
cmp    $0x3,%rdx
mov    0xb0(%rsp),%rdx
mov    0x48(%rsp),%r8
mov    0xe0(%rsp),%r9
mov    0x120(%rsp),%r11
mov    0x20(%rsp),%rcx
je     1840 <rotMatrixCCOVsubrtnII+0x700>
mov    (%rsp),%rax
add    %rcx,%rax
movsd  0x0(%r13,%rax,8),%xmm0
mulsd  (%rdi),%xmm0
movsd  %xmm0,0x0(%r13,%rax,8)
lea    0x2(%r10),%rax
cmp    $0x3,%rax
je     1840 <rotMatrixCCOVsubrtnII+0x700>
add    %rcx,%rax
movsd  0x0(%r13,%rax,8),%xmm0
mulsd  (%rdi),%xmm0
movsd  %xmm0,0x0(%r13,%rax,8)
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movsd  (%rdi),%xmm0
mulsd  0x10(%rdi),%xmm0
movsd  %xmm0,(%rdx,%r10,8)
movq   $0x0,(%rdi)
movups %xmm6,(%r8)
cmp    $0x1,%r10
ja     1d90 <rotMatrixCCOVsubrtnII+0xc50>
mov    $0x1,%eax
sub    %r10,%rax
mov    %rax,0x40(%rsp)
mov    0x90(%rsp),%rax
mov    0x8(%rsp),%rcx
mov    %r14,%rdx
lea    (%rax,%rcx,8),%r14
mov    0x18(%rsp),%rax
lea    0x18(%rax,%rdx,1),%r13
lea    (%rax,%r10,8),%r15
add    $0x38,%r15
xorpd  %xmm1,%xmm1
mov    0x68(%rsp),%rax
mov    0x78(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nop
movsd  (%rcx),%xmm0
andpd  %xmm3,%xmm0
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rdi)
add    $0x18,%rcx
add    $0xffffffffffffffff,%rax
jne    18b0 <rotMatrixCCOVsubrtnII+0x770>
ucomisd 0x274e(%rip),%xmm1
jbe    1d90 <rotMatrixCCOVsubrtnII+0xc50>
xorpd  %xmm0,%xmm0
cmp    $0x1,%r10
ja     1954 <rotMatrixCCOVsubrtnII+0x814>
mov    0x8(%rsp),%rdx
lea    (%rdx,%rdx,2),%rax
add    %r10,%rax
mov    0x18(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,(%rcx,%rax,8)
mulsd  %xmm0,%xmm0
addsd  (%rsi),%xmm0
movsd  %xmm0,(%rsi)
cmp    $0x2,%rdx
je     1954 <rotMatrixCCOVsubrtnII+0x814>
mov    0xb8(%rsp),%rax
mov    0xf0(%rsp),%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  (%rax),%xmm0
divsd  (%rdi),%xmm0
movsd  %xmm0,(%rax)
mulsd  %xmm0,%xmm0
addsd  0x18(%rdi),%xmm0
movsd  %xmm0,0x18(%rdi)
add    $0x18,%rax
add    $0xffffffffffffffff,%rcx
jne    1930 <rotMatrixCCOVsubrtnII+0x7f0>
lea    0x0(,%r10,4),%rax
mov    0x18(%rsp),%rcx
movsd  0x18(%rcx,%rax,8),%xmm4
movsd  %xmm4,(%rbx)
ucomisd %xmm5,%xmm0
jb     1977 <rotMatrixCCOVsubrtnII+0x837>
sqrtsd %xmm0,%xmm0
jmp    19d5 <rotMatrixCCOVsubrtnII+0x895>
mov    %r14,0x38(%rsp)
mov    %r15,%r14
mov    %r13,%r15
mov    %r9,%r13
mov    %r11,%rbx
movsd  %xmm4,0x20(%rsp)
call   1060 <sqrt@plt>
movsd  0x20(%rsp),%xmm4
mov    0x28(%rsp),%r10
movapd 0x265a(%rip),%xmm7
xorps  %xmm6,%xmm6
xorpd  %xmm5,%xmm5
mov    %rbx,%r11
mov    %r13,%r9
mov    %r15,%r13
mov    %r14,%r15
mov    0x38(%rsp),%r14
movapd 0x263a(%rip),%xmm3
mov    0x10(%rsp),%rsi
mov    0x58(%rsp),%rbx
mov    0x48(%rsp),%r8
lea    0x3(,%r10,4),%rax
movapd %xmm0,%xmm1
xorpd  0x2627(%rip),%xmm1
xorpd  %xmm2,%xmm2
cmpltsd %xmm4,%xmm2
andpd  %xmm2,%xmm1
andnpd %xmm0,%xmm2
orpd   %xmm1,%xmm2
movlpd %xmm2,(%r8)
movsd  (%rbx),%xmm0
movapd %xmm0,%xmm1
mulsd  %xmm2,%xmm1
subsd  (%rsi),%xmm1
mov    0x30(%rsp),%rcx
movsd  %xmm1,(%rcx)
subsd  %xmm2,%xmm0
mov    0x18(%rsp),%rcx
movsd  %xmm0,(%rcx,%rax,8)
cmp    $0x1,%r10
mov    0x160(%rsp),%rdi
ja     1d90 <rotMatrixCCOVsubrtnII+0xc50>
mov    0x8(%rsp),%rax
cmpq   $0x2,0x60(%rsp)
jbe    1aef <rotMatrixCCOVsubrtnII+0x9af>
mov    0x118(%rsp),%rax
cmp    %rax,0x30(%rsp)
setb   %sil
cmp    %r15,%r14
setb   %dil
cmp    %rax,%r13
setb   %cl
cmp    0x110(%rsp),%r14
setb   %dl
mov    0x8(%rsp),%rax
test   %cl,%dil
mov    0x8(%rsp),%rcx
jne    1aef <rotMatrixCCOVsubrtnII+0x9af>
mov    %rcx,%rax
and    %sil,%dl
jne    1aef <rotMatrixCCOVsubrtnII+0x9af>
mov    0x60(%rsp),%rsi
mov    %esi,%edx
and    $0x1,%edx
test   %rdx,%rdx
mov    $0x2,%eax
cmove  %rax,%rdx
sub    %rdx,%rsi
mov    %rsi,%rax
add    %rcx,%rax
mov    0x30(%rsp),%rcx
movsd  (%rcx),%xmm0
unpcklpd %xmm0,%xmm0
mov    0x68(%rsp),%rcx
sub    %rdx,%rcx
mov    0x78(%rsp),%rdx
xor    %esi,%esi
mov    0xe8(%rsp),%rdi
movupd 0x10(%rdx),%xmm1
movlpd (%rdx),%xmm1
divpd  %xmm0,%xmm1
movupd %xmm1,(%rdi,%rsi,8)
add    $0x2,%rsi
add    $0x30,%rdx
cmp    %rsi,%rcx
jne    1ad0 <rotMatrixCCOVsubrtnII+0x990>
mov    $0x1,%edx
sub    %eax,%edx
mov    %rax,%rcx
test   $0x1,%dl
mov    0x90(%rsp),%rsi
je     1b29 <rotMatrixCCOVsubrtnII+0x9e9>
lea    (%rax,%rax,2),%rcx
add    %r10,%rcx
mov    0x18(%rsp),%rdx
movsd  (%rdx,%rcx,8),%xmm0
mov    0x30(%rsp),%rcx
divsd  (%rcx),%xmm0
movsd  %xmm0,(%rsi,%rax,8)
lea    0x1(%rax),%rcx
cmp    $0x2,%rax
mov    0x30(%rsp),%rdx
je     1b6a <rotMatrixCCOVsubrtnII+0xa2a>
lea    0x1(%rcx),%rax
lea    (%rcx,%rcx,2),%rcx
lea    (%r9,%rcx,8),%rcx
movsd  -0x18(%rcx),%xmm0
divsd  (%rdx),%xmm0
movsd  %xmm0,-0x8(%rsi,%rax,8)
movsd  (%rcx),%xmm0
divsd  (%rdx),%xmm0
movsd  %xmm0,(%rsi,%rax,8)
add    $0x2,%rax
add    $0x30,%rcx
cmp    $0x4,%rax
jne    1b40 <rotMatrixCCOVsubrtnII+0xa00>
cmp    $0x1,%r10
mov    0x160(%rsp),%rdi
mov    0x10(%rsp),%rsi
ja     1d90 <rotMatrixCCOVsubrtnII+0xc50>
mov    %r9,0xe0(%rsp)
mov    0x8(%rsp),%rsi
lea    (%rsi,%rsi,2),%r14
add    %r14,%r10
lea    0x1(%rsi),%r15
lea    0x3(%rsi,%rsi,2),%r8
lea    0x2(%rsi),%r9
mov    %r11,%r13
mov    %r11,%rbx
mov    0x90(%rsp),%r11
mov    0x98(%rsp),%rdi
jmp    1bd2 <rotMatrixCCOVsubrtnII+0xa92>
nopw   0x0(%rax,%rax,1)
add    $0x1,%rsi
add    $0x8,%rbx
cmp    $0x3,%rsi
je     1d2a <rotMatrixCCOVsubrtnII+0xbea>
mov    0x10(%rsp),%rax
movq   $0x0,(%rax)
xorpd  %xmm0,%xmm0
mov    0x8(%rsp),%rdx
testb  $0x1,0x28(%rsp)
je     1c12 <rotMatrixCCOVsubrtnII+0xad2>
mov    0x18(%rsp),%rdx
movsd  (%rdx,%r10,8),%xmm0
lea    (%r14,%rsi,1),%rcx
mulsd  (%rdx,%rcx,8),%xmm0
addsd  %xmm5,%xmm0
mov    0x10(%rsp),%rax
movsd  %xmm0,(%rax)
mov    %r15,%rdx
cmpq   $0x1,0x28(%rsp)
mov    0x10(%rsp),%rax
je     1c60 <rotMatrixCCOVsubrtnII+0xb20>
lea    0x0(,%rdx,8),%rcx
lea    (%rcx,%rcx,2),%rcx
add    $0xfffffffffffffffd,%rdx
nop
movsd  (%rdi,%rcx,1),%xmm1
mulsd  -0x18(%rbx,%rcx,1),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rax)
movsd  0x18(%rdi,%rcx,1),%xmm0
mulsd  (%rbx,%rcx,1),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax)
add    $0x30,%rcx
add    $0x2,%rdx
jne    1c30 <rotMatrixCCOVsubrtnII+0xaf0>
lea    (%r14,%rsi,1),%rcx
mov    0x8(%rsp),%rax
mulsd  (%r11,%rax,8),%xmm0
mov    0x18(%rsp),%rdx
addsd  (%rdx,%rcx,8),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
cmp    $0x3,%r15
je     1bc0 <rotMatrixCCOVsubrtnII+0xa80>
mov    %r15,%rdx
testb  $0x1,0x40(%rsp)
je     1cbd <rotMatrixCCOVsubrtnII+0xb7d>
mov    0x10(%rsp),%rax
movsd  (%rax),%xmm0
mov    0x8(%rsp),%rax
mulsd  0x8(%r11,%rax,8),%xmm0
lea    (%r8,%rsi,1),%rcx
mov    0x18(%rsp),%rdx
addsd  (%rdx,%rcx,8),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
mov    %r9,%rdx
cmpq   $0x0,0x28(%rsp)
mov    0x10(%rsp),%rax
je     1bc0 <rotMatrixCCOVsubrtnII+0xa80>
lea    (%rdx,%rdx,2),%rcx
mov    0x100(%rsp),%rdi
lea    (%rdi,%rdx,8),%rdx
mov    0x98(%rsp),%rdi
cs nopw 0x0(%rax,%rax,1)
movsd  (%rax),%xmm0
mulsd  -0x8(%rdx),%xmm0
addsd  -0x18(%rbx,%rcx,8),%xmm0
movsd  %xmm0,-0x18(%rbx,%rcx,8)
movsd  (%rax),%xmm0
mulsd  (%rdx),%xmm0
addsd  (%rbx,%rcx,8),%xmm0
movsd  %xmm0,(%rbx,%rcx,8)
add    $0x6,%rcx
add    $0x10,%rdx
cmp    $0x9,%rcx
jne    1cf0 <rotMatrixCCOVsubrtnII+0xbb0>
jmp    1bc0 <rotMatrixCCOVsubrtnII+0xa80>
mov    0x68(%rsp),%rax
mov    0x78(%rsp),%rcx
mov    0x28(%rsp),%r10
cmp    $0x1,%r10
mov    0x160(%rsp),%rdi
mov    0x48(%rsp),%r8
mov    0x58(%rsp),%rbx
mov    0x10(%rsp),%rsi
mov    0xe0(%rsp),%r9
mov    %r13,%r11
ja     1d90 <rotMatrixCCOVsubrtnII+0xc50>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsd  (%rcx),%xmm0
mulsd  (%rdi),%xmm0
movsd  %xmm0,(%rcx)
add    $0x18,%rcx
add    $0xffffffffffffffff,%rax
jne    1d70 <rotMatrixCCOVsubrtnII+0xc30>
cs nopw 0x0(%rax,%rax,1)
mov    0xb0(%rsp),%rdx
movsd  (%rdx,%r10,8),%xmm1
andpd  %xmm7,%xmm1
mov    0x90(%rsp),%rcx
movsd  (%rcx,%r10,8),%xmm0
andpd  %xmm7,%xmm0
addsd  %xmm1,%xmm0
mov    0x170(%rsp),%rax
movsd  %xmm0,(%rax)
ucomisd 0x8(%rdi),%xmm0
jbe    1dd0 <rotMatrixCCOVsubrtnII+0xc90>
movsd  %xmm0,0x8(%rdi)
mov    (%rsp),%rax
cmp    $0x3,%rax
mov    0x18(%rsp),%r13
je     1e44 <rotMatrixCCOVsubrtnII+0xd04>
movsd  (%rdi),%xmm0
mulsd  0x10(%rdi),%xmm0
addq   $0x1,0x8(%rsp)
addq   $0x20,0x88(%rsp)
addq   $0xffffffffffffffff,0x68(%rsp)
addq   $0x20,0xb8(%rsp)
addq   $0x18,0xf8(%rsp)
add    $0x18,%rbp
addq   $0x20,0x78(%rsp)
addq   $0xffffffffffffffff,0xf0(%rsp)
addq   $0x8,0xe8(%rsp)
add    $0x8,%r9
addq   $0x8,0x98(%rsp)
add    $0x8,%r11
mov    %rax,%r10
jmp    12c0 <rotMatrixCCOVsubrtnII+0x180>
movsd  (%r8),%xmm1
mov    0x70(%rsp),%rcx
lea    0x48(%rcx),%rsi
lea    0x58(%r13),%r9
lea    0x28(%r13),%rax
mov    %rax,0x60(%rsp)
lea    0x50(%rcx),%rax
mov    %rax,0xc0(%rsp)
lea    0x60(%rcx),%rax
mov    %rax,0xa8(%rsp)
lea    0x78(%rcx),%rax
mov    %rax,0xd8(%rsp)
lea    0x30(%rcx),%rax
lea    0x28(%rcx),%rdx
mov    %rdx,0xb8(%rsp)
lea    0x38(%rcx),%r10
mov    $0x3,%ecx
mov    %rcx,0x8(%rsp)
mov    $0x2,%r11d
movq   $0xffffffffffffffff,0xa0(%rsp)
xor    %ecx,%ecx
mov    %rcx,(%rsp)
xorpd  %xmm0,%xmm0
mov    %rsi,0xd0(%rsp)
jmp    1f5b <rotMatrixCCOVsubrtnII+0xe1b>
nopw   0x0(%rax,%rax,1)
mov    %r11,%rcx
shl    $0x5,%rcx
mov    0x70(%rsp),%rdx
movabs $0x3ff0000000000000,%rsi
mov    %rsi,(%rdx,%rcx,1)
movsd  (%r14,%r11,8),%xmm1
movsd  %xmm1,(%r8)
addq   $0xffffffffffffffff,0x8(%rsp)
addq   $0x1,(%rsp)
mov    0x38(%rsp),%rsi
add    $0xffffffffffffffe0,%rsi
add    $0xffffffffffffffe0,%r9
addq   $0xfffffffffffffff8,0x60(%rsp)
addq   $0xffffffffffffffe8,0xc0(%rsp)
addq   $0x1,0xa0(%rsp)
addq   $0xffffffffffffffe0,0xa8(%rsp)
addq   $0xffffffffffffffe0,0xd8(%rsp)
addq   $0xffffffffffffffe8,0xd0(%rsp)
add    $0xffffffffffffffe8,%rax
addq   $0xfffffffffffffff8,0xb8(%rsp)
add    $0xffffffffffffffe8,%r10
sub    $0x1,%r11
jb     2443 <rotMatrixCCOVsubrtnII+0x1303>
mov    %rsi,0x38(%rsp)
mov    %r11,0x50(%rsp)
mov    %r10,0x88(%rsp)
mov    %r9,0x20(%rsp)
movapd %xmm1,%xmm2
andpd  %xmm3,%xmm2
ucomisd 0x209e(%rip),%xmm2
mov    0x8(%rsp),%rbp
jbe    2380 <rotMatrixCCOVsubrtnII+0x1240>
cmp    $0x2,%rbp
mov    0xb0(%rsp),%rbx
mov    0x90(%rsp),%r14
mov    0x160(%rsp),%r15
mov    0x48(%rsp),%r8
mov    0x20(%rsp),%r9
mov    0x88(%rsp),%r10
mov    0x50(%rsp),%r11
ja     1ed0 <rotMatrixCCOVsubrtnII+0xd90>
mov    0xa0(%rsp),%rcx
and    $0xfffffffffffffffc,%rcx
mov    %rcx,0xe0(%rsp)
mov    (%rsp),%rdx
lea    -0x1(%rdx),%rdi
lea    0x0(,%rdx,4),%rcx
mov    $0xd,%esi
sub    %rcx,%rsi
mov    %rsi,0x80(%rsp)
lea    (%rdx,%rdx,2),%rcx
mov    $0xc,%esi
sub    %rcx,%rsi
mov    %rsi,0x68(%rsp)
shl    $0x5,%rdx
neg    %rdx
mov    0x70(%rsp),%rsi
add    %rsi,%rdx
add    $0x50,%rdx
mov    %rdx,0x98(%rsp)
shl    $0x3,%rcx
neg    %rcx
add    %rsi,%rcx
add    $0x48,%rcx
mov    %rcx,0x78(%rsp)
mov    0x8(%rsp),%rcx
lea    (%rcx,%rcx,2),%rbp
add    %r11,%rbp
mov    %r9,%rcx
xor    %edx,%edx
mov    0x38(%rsp),%rsi
nop
movsd  (%rcx),%xmm2
divsd  0x0(%r13,%rbp,8),%xmm2
divsd  %xmm1,%xmm2
movsd  %xmm2,(%rsi,%rdx,8)
cmp    %rdx,%rdi
je     2080 <rotMatrixCCOVsubrtnII+0xf40>
movsd  (%r8),%xmm1
add    $0x1,%rdx
add    $0x18,%rcx
jmp    2050 <rotMatrixCCOVsubrtnII+0xf10>
nopl   0x0(%rax,%rax,1)
cmpq   $0x2,0x8(%rsp)
mov    0x10(%rsp),%rsi
ja     1ed0 <rotMatrixCCOVsubrtnII+0xd90>
mov    %rbp,0xc8(%rsp)
lea    (%r11,%r11,2),%rcx
mov    0x8(%rsp),%rbp
lea    0x1(%rbp),%rdx
mov    %rcx,0xf8(%rsp)
add    %rbp,%rcx
mov    %rcx,0x28(%rsp)
mov    %rdi,0x40(%rsp)
mov    %rdi,%rcx
mov    %rdx,%rdi
and    $0xfffffffffffffffc,%rcx
mov    %rcx,0xf0(%rsp)
add    %rbp,%rcx
add    $0x1,%rcx
mov    %rcx,0xe8(%rsp)
mov    0xd0(%rsp),%r14
mov    0xd8(%rsp),%r15
mov    0xc0(%rsp),%r10
xor    %r11d,%r11d
mov    %rbp,%rcx
mov    (%rsp),%rbx
jmp    2127 <rotMatrixCCOVsubrtnII+0xfe7>
add    $0x1,%rcx
add    $0x1,%r11
add    $0x18,%r10
add    $0x18,%r15
add    $0x18,%r14
cmp    $0x3,%rcx
mov    0x18(%rsp),%r13
mov    (%rsp),%rbx
je     2380 <rotMatrixCCOVsubrtnII+0x1240>
movq   $0x0,(%rsi)
lea    (%rcx,%rcx,2),%r8
xorpd  %xmm1,%xmm1
mov    %rbp,%r9
test   $0x1,%bl
je     216b <rotMatrixCCOVsubrtnII+0x102b>
mov    0xc8(%rsp),%rdx
movsd  0x0(%r13,%rdx,8),%xmm1
lea    (%r8,%rbp,1),%rdx
mov    0x70(%rsp),%rsi
mulsd  (%rsi,%rdx,8),%xmm1
mov    0x10(%rsp),%rsi
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rsi)
mov    %rdi,%r9
cmp    $0x1,%rbx
je     21b4 <rotMatrixCCOVsubrtnII+0x1074>
lea    (%r9,%r9,2),%rdx
mov    0x60(%rsp),%rbx
lea    (%rbx,%rdx,8),%rbx
xchg   %ax,%ax
movsd  -0x18(%rbx),%xmm2
mulsd  -0x8(%r10,%r9,8),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,(%rsi)
movsd  (%rbx),%xmm1
mulsd  (%r10,%r9,8),%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,(%rsi)
add    $0x2,%r9
add    $0x30,%rbx
cmp    $0x3,%r9
jne    2180 <rotMatrixCCOVsubrtnII+0x1040>
lea    (%r8,%rbp,1),%rdx
mov    0x70(%rsp),%rsi
mov    0x28(%rsp),%rbx
mulsd  (%rsi,%rbx,8),%xmm1
addsd  (%rsi,%rdx,8),%xmm1
movsd  %xmm1,(%rsi,%rdx,8)
mov    0x10(%rsp),%rsi
cmp    $0x3,%rdi
je     2100 <rotMatrixCCOVsubrtnII+0xfc0>
mov    %rdi,%rdx
cmpq   $0x4,0x40(%rsp)
jb     22f0 <rotMatrixCCOVsubrtnII+0x11b0>
lea    (%r11,%r11,2),%rdx
mov    0x80(%rsp),%rsi
lea    (%rsi,%rdx,1),%rbx
add    0x68(%rsp),%rdx
mov    0x70(%rsp),%rsi
lea    (%rsi,%rbx,8),%rbx
lea    (%rsi,%rdx,8),%rdx
cmp    0x58(%rsp),%rbx
setb   %sil
cmp    %rdx,0x10(%rsp)
setb   %r9b
cmp    0x78(%rsp),%rbx
setb   %bl
cmp    %rdx,0x98(%rsp)
setb   %r13b
mov    %rdi,%rdx
test   %r9b,%sil
mov    0x10(%rsp),%rsi
jne    22f0 <rotMatrixCCOVsubrtnII+0x11b0>
mov    %rdi,%rdx
and    %r13b,%bl
jne    22f0 <rotMatrixCCOVsubrtnII+0x11b0>
mov    %rdi,%r9
movsd  (%rsi),%xmm1
unpcklpd %xmm1,%xmm1
xor    %edx,%edx
mov    0xe0(%rsp),%rbx
mov    0xa8(%rsp),%rdi
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movupd -0x10(%rdi,%rdx,8),%xmm2
movupd (%rdi,%rdx,8),%xmm3
movupd -0x10(%r15,%rdx,8),%xmm4
movupd (%r15,%rdx,8),%xmm5
mulpd  %xmm1,%xmm2
addpd  %xmm4,%xmm2
mulpd  %xmm1,%xmm3
addpd  %xmm5,%xmm3
movupd %xmm2,-0x10(%r15,%rdx,8)
movupd %xmm3,(%r15,%rdx,8)
add    $0x4,%rdx
cmp    %rdx,%rbx
jne    2280 <rotMatrixCCOVsubrtnII+0x1140>
mov    0xe8(%rsp),%rdx
mov    0xf0(%rsp),%rdi
cmp    %rdi,0x40(%rsp)
movapd 0x1d25(%rip),%xmm3
mov    %r9,%rdi
je     2100 <rotMatrixCCOVsubrtnII+0xfc0>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    $0x1,%esi
sub    %edx,%esi
mov    %rdx,%rbx
test   $0x1,%sil
je     2331 <rotMatrixCCOVsubrtnII+0x11f1>
mov    0x10(%rsp),%rsi
movsd  (%rsi),%xmm1
mov    0xf8(%rsp),%rsi
add    %rdx,%rsi
add    %rdx,%r8
mov    0x70(%rsp),%rbx
mulsd  (%rbx,%rsi,8),%xmm1
addsd  (%rbx,%r8,8),%xmm1
movsd  %xmm1,(%rbx,%r8,8)
lea    0x1(%rdx),%rbx
cmp    $0x2,%rdx
mov    0x10(%rsp),%rsi
je     2100 <rotMatrixCCOVsubrtnII+0xfc0>
movsd  (%rsi),%xmm1
mulsd  (%rax,%rbx,8),%xmm1
addsd  (%r14,%rbx,8),%xmm1
movsd  %xmm1,(%r14,%rbx,8)
movsd  (%rsi),%xmm1
mulsd  0x8(%rax,%rbx,8),%xmm1
addsd  0x8(%r14,%rbx,8),%xmm1
movsd  %xmm1,0x8(%r14,%rbx,8)
add    $0x2,%rbx
cmp    $0x3,%rbx
jne    2340 <rotMatrixCCOVsubrtnII+0x1200>
jmp    2100 <rotMatrixCCOVsubrtnII+0xfc0>
nopl   0x0(%rax)
cmp    $0x2,%rbp
mov    0xb0(%rsp),%rbx
mov    0x90(%rsp),%r14
mov    0x160(%rsp),%r15
mov    0x48(%rsp),%r8
mov    0x20(%rsp),%r9
mov    0x88(%rsp),%r10
mov    0x50(%rsp),%r11
ja     1ed0 <rotMatrixCCOVsubrtnII+0xd90>
mov    0x8(%rsp),%rcx
mov    (%rsp),%rdi
test   $0x1,%dil
je     23f6 <rotMatrixCCOVsubrtnII+0x12b6>
lea    (%r11,%r11,2),%rcx
mov    0x8(%rsp),%rsi
lea    (%rsi,%rsi,2),%rdx
add    %r11,%rdx
mov    0x70(%rsp),%rbp
movq   $0x0,0x0(%rbp,%rdx,8)
add    %rsi,%rcx
movq   $0x0,0x0(%rbp,%rcx,8)
lea    0x1(%rsi),%rcx
cmp    $0x1,%rdi
je     1ed0 <rotMatrixCCOVsubrtnII+0xd90>
lea    (%rcx,%rcx,2),%rdx
mov    0xb8(%rsp),%rsi
lea    (%rsi,%rdx,8),%rdx
movq   $0x0,-0x18(%rdx)
movq   $0x0,-0x8(%r10,%rcx,8)
movq   $0x0,(%rdx)
movq   $0x0,(%r10,%rcx,8)
add    $0x2,%rcx
add    $0x30,%rdx
cmp    $0x3,%rcx
jne    2410 <rotMatrixCCOVsubrtnII+0x12d0>
jmp    1ed0 <rotMatrixCCOVsubrtnII+0xd90>
lea    0x40(%r13),%r9
lea    0x58(%r13),%rax
lea    0x50(%r13),%rcx
mov    %rcx,0xa8(%rsp)
lea    0x30(%r13),%rbp
lea    0x70(%r13),%rcx
mov    %rcx,0xa0(%rsp)
lea    0x48(%r13),%rcx
mov    %rcx,0x80(%rsp)
mov    $0x3,%ecx
mov    %rcx,0x38(%rsp)
mov    $0x2,%edi
xor    %edx,%edx
xorpd  %xmm5,%xmm5
mov    %rbx,%r10
jmp    2534 <rotMatrixCCOVsubrtnII+0x13f4>
mov    %r13,%rdi
sub    %rcx,%rdi
add    $0x40,%rdi
lea    0x8(,%rdx,8),%rdx
xor    %esi,%esi
mov    %r10,%rbx
call   1030 <memset@plt>
mov    %rbx,%r10
xorpd  %xmm5,%xmm5
mov    0x8(%rsp),%rdi
mov    0x50(%rsp),%r9
movapd 0x1b3b(%rip),%xmm3
mov    0x58(%rsp),%rcx
mov    0x48(%rsp),%r8
mov    %rdi,%rax
shl    $0x5,%rax
movsd  0x0(%r13,%rax,1),%xmm0
addsd  0x1b43(%rip),%xmm0
movsd  %xmm0,0x0(%r13,%rax,1)
add    $0xffffffffffffffff,%rdi
addq   $0xffffffffffffffff,0x38(%rsp)
mov    (%rsp),%rdx
add    $0x1,%rdx
add    $0xfffffffffffffff8,%r9
mov    0x40(%rsp),%rax
add    $0xffffffffffffffe0,%rax
addq   $0xffffffffffffffe8,0xa8(%rsp)
add    $0xffffffffffffffe8,%rbp
addq   $0xffffffffffffffe0,0xa0(%rsp)
addq   $0xffffffffffffffe8,0x80(%rsp)
cmp    $0x3,%rdx
je     2a1e <rotMatrixCCOVsubrtnII+0x18de>
mov    %rax,0x40(%rsp)
mov    %rdx,%rcx
shl    $0x5,%rcx
movsd  (%r10,%rdi,8),%xmm0
movsd  %xmm0,(%r8)
cmp    $0x1,%rdi
mov    %rdi,0x8(%rsp)
mov    %rdx,%rax
mov    %rdx,(%rsp)
mov    %r9,0x50(%rsp)
ja     2960 <rotMatrixCCOVsubrtnII+0x1820>
lea    -0x1(%rdx),%rax
mov    %rdx,%rsi
mov    0x38(%rsp),%rdx
test   $0x3,%sil
je     25a5 <rotMatrixCCOVsubrtnII+0x1465>
mov    0x40(%rsp),%rsi
mov    0x38(%rsp),%rdx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movq   $0x0,(%rsi)
add    $0x1,%rdx
add    $0x18,%rsi
cmp    $0x3,%rdx
jne    2590 <rotMatrixCCOVsubrtnII+0x1450>
cmp    $0x3,%rax
jae    3879 <rotMatrixCCOVsubrtnII+0x2739>
movsd  (%r8),%xmm0
movapd %xmm0,%xmm1
andpd  %xmm3,%xmm1
ucomisd 0x1a5c(%rip),%xmm1
mov    (%rsp),%rdx
jbe    2490 <rotMatrixCCOVsubrtnII+0x1350>
movsd  0x1a52(%rip),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r8)
cmp    $0x1,%rdi
mov    0x38(%rsp),%r13
ja     2987 <rotMatrixCCOVsubrtnII+0x1847>
mov    (%rsp),%rax
lea    (%rax,%rax,2),%rdx
lea    0x0(,%rdx,8),%rsi
mov    (%rsp),%rax
lea    0x0(,%rax,4),%rdi
neg    %rcx
neg    %rsi
mov    (%rsp),%rax
and    $0xfffffffffffffffc,%rax
mov    $0xc,%ebx
sub    %rdi,%rbx
mov    %rbx,0x68(%rsp)
mov    0x8(%rsp),%rdi
mov    $0xc,%ebx
sub    %rdx,%rbx
mov    %rbx,0x98(%rsp)
mov    0x18(%rsp),%rdx
add    %rdx,%rcx
add    $0x48,%rcx
mov    %rcx,0x78(%rsp)
lea    0x48(%rdx,%rsi,1),%rcx
mov    %rcx,0xb8(%rsp)
mov    (%rsp),%rcx
mov    0x10(%rsp),%rsi
lea    (%rdi,%rdi,2),%rdx
lea    0x0(,%rdi,4),%rbx
mov    %rbx,0x60(%rsp)
mov    %rdx,0xc0(%rsp)
add    %r13,%rdx
mov    %rdx,0x20(%rsp)
lea    0x1(%r13),%rdx
mov    %rdx,0x88(%rsp)
lea    0x1(%rdi),%rdx
mov    %rdx,0x28(%rsp)
mov    %rcx,%rbx
movabs $0x7ffffffffffffffc,%rdx
ff ff 7f
and    %rdx,%rbx
mov    %rbx,0xd8(%rsp)
lea    (%rdi,%rbx,1),%rdx
add    $0x1,%rdx
mov    %rdx,0xd0(%rsp)
mov    0x80(%rsp),%r15
mov    0xa0(%rsp),%r14
mov    0xa8(%rsp),%r8
xor    %r9d,%r9d
mov    %r13,%r10
jmp    2707 <rotMatrixCCOVsubrtnII+0x15c7>
nop
add    $0x1,%r10
add    $0x1,%r9
add    $0x18,%r8
add    $0x18,%r14
add    $0x18,%r15
cmp    $0x3,%r10
mov    0x8(%rsp),%rdi
mov    (%rsp),%rcx
je     2987 <rotMatrixCCOVsubrtnII+0x1847>
movq   $0x0,(%rsi)
lea    (%r10,%r10,2),%r11
xorpd  %xmm0,%xmm0
mov    %r13,%rbx
test   $0x1,%cl
je     274a <rotMatrixCCOVsubrtnII+0x160a>
mov    0x18(%rsp),%rdx
mov    0x20(%rsp),%rcx
movsd  (%rdx,%rcx,8),%xmm0
lea    (%r11,%r13,1),%rcx
mulsd  (%rdx,%rcx,8),%xmm0
mov    (%rsp),%rcx
addsd  %xmm5,%xmm0
movsd  %xmm0,(%rsi)
mov    0x88(%rsp),%rbx
cmp    $0x1,%rcx
je     2783 <rotMatrixCCOVsubrtnII+0x1643>
movsd  0x0(%rbp,%rbx,8),%xmm1
mulsd  -0x8(%r8,%rbx,8),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rsi)
movsd  0x8(%rbp,%rbx,8),%xmm0
mulsd  (%r8,%rbx,8),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rsi)
add    $0x2,%rbx
cmp    $0x3,%rbx
jne    2750 <rotMatrixCCOVsubrtnII+0x1610>
mov    0x18(%rsp),%rdx
mov    0x60(%rsp),%rbx
divsd  (%rdx,%rbx,8),%xmm0
mov    0x48(%rsp),%rcx
mulsd  (%rcx),%xmm0
lea    (%rdi,%r11,1),%rcx
mov    0x58(%rsp),%rdi
movsd  %xmm0,(%rdi)
mulsd  (%rdx,%rbx,8),%xmm0
addsd  (%rdx,%rcx,8),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
cmpq   $0x3,0x28(%rsp)
je     26e0 <rotMatrixCCOVsubrtnII+0x15a0>
mov    0x28(%rsp),%rcx
cmpq   $0x4,(%rsp)
jae    2870 <rotMatrixCCOVsubrtnII+0x1730>
mov    $0x1,%edx
sub    %ecx,%edx
mov    %rcx,%rbx
test   $0x1,%dl
je     2818 <rotMatrixCCOVsubrtnII+0x16d8>
mov    0x58(%rsp),%rdx
movsd  (%rdx),%xmm0
mov    0xc0(%rsp),%rdx
add    %rcx,%rdx
add    %rcx,%r11
mov    0x18(%rsp),%rsi
mulsd  (%rsi,%rdx,8),%xmm0
addsd  (%rsi,%r11,8),%xmm0
movsd  %xmm0,(%rsi,%r11,8)
mov    0x10(%rsp),%rsi
lea    0x1(%rcx),%rbx
cmp    $0x2,%rcx
mov    0x58(%rsp),%rcx
je     26e0 <rotMatrixCCOVsubrtnII+0x15a0>
nopw   0x0(%rax,%rax,1)
movsd  (%rcx),%xmm0
mulsd  0x0(%rbp,%rbx,8),%xmm0
addsd  (%r15,%rbx,8),%xmm0
movsd  %xmm0,(%r15,%rbx,8)
movsd  (%rcx),%xmm0
mulsd  0x8(%rbp,%rbx,8),%xmm0
addsd  0x8(%r15,%rbx,8),%xmm0
movsd  %xmm0,0x8(%r15,%rbx,8)
add    $0x2,%rbx
cmp    $0x3,%rbx
jne    2830 <rotMatrixCCOVsubrtnII+0x16f0>
jmp    26e0 <rotMatrixCCOVsubrtnII+0x15a0>
nopl   (%rax)
lea    (%r9,%r9,2),%rcx
mov    0x68(%rsp),%rdx
add    %rcx,%rdx
add    0x98(%rsp),%rcx
mov    0x18(%rsp),%rsi
lea    (%rsi,%rdx,8),%rdx
lea    (%rsi,%rcx,8),%rcx
cmp    0x30(%rsp),%rdx
setb   0xc8(%rsp)
cmp    %rcx,%rdi
setb   %sil
cmp    0xb8(%rsp),%rdx
setb   %bl
cmp    %rcx,0x78(%rsp)
setb   %dl
mov    0x28(%rsp),%rcx
test   %sil,0xc8(%rsp)
mov    0x10(%rsp),%rsi
jne    27d3 <rotMatrixCCOVsubrtnII+0x1693>
mov    0x28(%rsp),%rcx
and    %dl,%bl
jne    27d3 <rotMatrixCCOVsubrtnII+0x1693>
movsd  (%rdi),%xmm0
unpcklpd %xmm0,%xmm0
xor    %ecx,%ecx
mov    0x40(%rsp),%rdx
nopl   0x0(%rax)
movupd -0x10(%rdx,%rcx,8),%xmm1
movupd (%rdx,%rcx,8),%xmm2
movupd -0x10(%r14,%rcx,8),%xmm3
movupd (%r14,%rcx,8),%xmm4
mulpd  %xmm0,%xmm1
addpd  %xmm3,%xmm1
mulpd  %xmm0,%xmm2
addpd  %xmm4,%xmm2
movupd %xmm1,-0x10(%r14,%rcx,8)
movupd %xmm2,(%r14,%rcx,8)
add    $0x4,%rcx
cmp    %rcx,%rax
jne    28f0 <rotMatrixCCOVsubrtnII+0x17b0>
mov    0xd0(%rsp),%rcx
mov    0xd8(%rsp),%rdx
cmp    %rdx,(%rsp)
movapd 0x16b6(%rip),%xmm3
je     26e0 <rotMatrixCCOVsubrtnII+0x15a0>
jmp    27d3 <rotMatrixCCOVsubrtnII+0x1693>
cs nopw 0x0(%rax,%rax,1)
nop
movapd %xmm0,%xmm1
andpd  %xmm3,%xmm1
ucomisd 0x16b0(%rip),%xmm1
jbe    2490 <rotMatrixCCOVsubrtnII+0x1350>
movsd  0x16aa(%rip),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r8)
mov    %rdi,%rax
shl    $0x5,%rax
mov    0x18(%rsp),%r13
movsd  0x0(%r13,%rax,1),%xmm0
mov    0x48(%rsp),%r8
mulsd  (%r8),%xmm0
movsd  %xmm0,0x0(%r13,%rax,1)
lea    0x1(%rdi),%rdx
cmp    $0x3,%rdx
mov    0xb0(%rsp),%r10
mov    0x90(%rsp),%r14
mov    0x160(%rsp),%r15
mov    0x58(%rsp),%rcx
mov    0x50(%rsp),%r9
je     24cf <rotMatrixCCOVsubrtnII+0x138f>
lea    (%rdi,%rdi,2),%rax
add    %rax,%rdx
movsd  0x0(%r13,%rdx,8),%xmm0
mulsd  (%r8),%xmm0
movsd  %xmm0,0x0(%r13,%rdx,8)
lea    0x2(%rdi),%rdx
cmp    $0x3,%rdx
je     24cf <rotMatrixCCOVsubrtnII+0x138f>
add    %rax,%rdx
movsd  0x0(%r13,%rdx,8),%xmm0
mulsd  (%r8),%xmm0
movsd  %xmm0,0x0(%r13,%rdx,8)
jmp    24cf <rotMatrixCCOVsubrtnII+0x138f>
lea    0x10(%r12),%rax
mov    %rax,0x28(%rsp)
mov    %r13,%rdi
lea    0x10(%r13),%rax
mov    %rax,0x68(%rsp)
lea    0x8(%r10),%rax
mov    %rax,0xa8(%rsp)
mov    $0x2,%eax
mov    %rax,0x50(%rsp)
movsd  0x15de(%rip),%xmm2
mov    0x30(%rsp),%rsi
jmp    2a69 <rotMatrixCCOVsubrtnII+0x1929>
nopl   0x0(%rax)
test   %r13,%r13
je     34f3 <rotMatrixCCOVsubrtnII+0x23b3>
mov    0x50(%rsp),%r13
lea    -0x1(%r13),%rax
mov    %r13d,%edx
mov    %rdx,0xc8(%rsp)
lea    -0x2(%r13),%rdx
mov    %rax,0x50(%rsp)
mov    %eax,%eax
mov    %rax,0xa0(%rsp)
lea    -0x3(%r13),%rax
mov    %rax,0x78(%rsp)
mov    %rdx,0x80(%rsp)
mov    %edx,%eax
mov    %rax,0x98(%rsp)
xor    %eax,%eax
mov    %r13,0x20(%rsp)
jmp    2b29 <rotMatrixCCOVsubrtnII+0x19e9>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    0x90(%rsp),%r14
mov    0x38(%rsp),%rax
movq   $0x0,(%r14,%rax,8)
movsd  (%rcx),%xmm0
mov    0x20(%rsp),%r13
movsd  %xmm0,(%r14,%r13,8)
movsd  0x18(%r12),%xmm0
mov    0xb0(%rsp),%r10
movsd  %xmm0,(%r10,%r13,8)
mov    0x88(%rsp),%eax
add    $0x1,%eax
cmp    $0x1e,%eax
mov    0x18(%rsp),%rdi
mov    0x160(%rsp),%r15
movapd 0x14e5(%rip),%xmm3
movsd  0x150d(%rip),%xmm2
je     2a60 <rotMatrixCCOVsubrtnII+0x1920>
mov    %eax,0x88(%rsp)
movsd  0x8(%r15),%xmm0
mov    0xc8(%rsp),%rax
movsd  (%r14,%rax,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    %r13,%rdx
jbe    2b60 <rotMatrixCCOVsubrtnII+0x1a20>
mov    %edx,%ebx
jmp    2f20 <rotMatrixCCOVsubrtnII+0x1de0>
nopl   0x0(%rax)
movsd  -0x8(%r10,%r13,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    0x50(%rsp),%rdx
jbe    2b90 <rotMatrixCCOVsubrtnII+0x1a50>
mov    %rdx,%rax
mov    %r13d,%ebx
jmp    2c50 <rotMatrixCCOVsubrtnII+0x1b10>
cs nopw 0x0(%rax,%rax,1)
nop
mov    $0xffffffff,%ebx
mov    $0xffffffffffffffff,%rax
cmpq   $0x0,0x20(%rsp)
jle    2c50 <rotMatrixCCOVsubrtnII+0x1b10>
mov    0xa0(%rsp),%rdx
movsd  (%r14,%rdx,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    0x50(%rsp),%rdx
mov    0x20(%rsp),%rbp
ja     2b55 <rotMatrixCCOVsubrtnII+0x1a15>
movsd  -0x10(%r10,%rbp,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    0x50(%rsp),%r13
mov    0x80(%rsp),%rdx
ja     2b7a <rotMatrixCCOVsubrtnII+0x1a3a>
cmpq   $0x2,0x20(%rsp)
jl     2c50 <rotMatrixCCOVsubrtnII+0x1b10>
mov    0x98(%rsp),%rdx
movsd  (%r14,%rdx,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    0x80(%rsp),%rdx
mov    0x20(%rsp),%rbp
ja     2b55 <rotMatrixCCOVsubrtnII+0x1a15>
movsd  -0x18(%r10,%rbp,8),%xmm1
andpd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
mov    0x80(%rsp),%r13
mov    0x78(%rsp),%rdx
ja     2b7a <rotMatrixCCOVsubrtnII+0x1a3a>
nopl   0x0(%rax,%rax,1)
movq   $0x0,(%r12)
mov    0x10(%rsp),%rdx
movabs $0x3ff0000000000000,%rsi
mov    %rsi,(%rdx)
movslq %ebx,%rbp
cmp    %rbp,0x20(%rsp)
jl     2cac <rotMatrixCCOVsubrtnII+0x1b6c>
movsd  (%r14,%rbp,8),%xmm0
movsd  %xmm0,0x20(%r15)
movsd  (%r12),%xmm0
mulsd  (%r14,%rbp,8),%xmm0
movsd  %xmm0,(%r14,%rbp,8)
movsd  0x20(%r15),%xmm0
andpd  %xmm3,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x8(%r15),%xmm1
ucomisd %xmm0,%xmm1
jbe    2cb6 <rotMatrixCCOVsubrtnII+0x1b76>
mov    0x30(%rsp),%rsi
jmp    2f20 <rotMatrixCCOVsubrtnII+0x1de0>
mov    %ebx,0x8(%rsp)
shl    $0x20,%rax
lea    (%rax,%rax,2),%rax
sar    $0x20,%rax
mov    %rax,(%rsp)
lea    0x0(,%rbp,2),%rax
add    %rbp,%rax
mov    0x68(%rsp),%rdx
lea    (%rdx,%rax,8),%rbx
mov    0x20(%rsp),%r13
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0xb0(%rsp),%r14
movsd  (%r14,%rbp,8),%xmm0
movsd  %xmm0,(%r8)
mov    %r8,%rdi
mov    %rcx,%rsi
mov    0x30(%rsp),%r15
mov    %r15,%rdx
xor    %eax,%eax
call   1040 <safeEucldNorm@plt>
mov    0x58(%rsp),%rcx
mov    0x48(%rsp),%r8
movsd  (%r15),%xmm0
movsd  %xmm0,(%r14,%rbp,8)
movsd  0x12f3(%rip),%xmm0
divsd  (%r15),%xmm0
movsd  %xmm0,(%r15)
mulsd  (%r8),%xmm0
movsd  %xmm0,(%r12)
movsd  (%rcx),%xmm0
xorpd  0x12ba(%rip),%xmm0
mulsd  (%r15),%xmm0
mov    0x10(%rsp),%rdx
movsd  %xmm0,(%rdx)
mov    0x18(%rsp),%rax
mov    (%rsp),%rsi
movsd  (%rax,%rsi,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  -0x10(%rbx),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rdx),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%rsi,8)
movsd  0x10(%r12),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x8(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbx)
movsd  0x8(%rax,%rsi,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  -0x8(%rbx),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rdx),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x8(%rax,%rsi,8)
movsd  0x10(%r12),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x8(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbx)
movsd  0x10(%rax,%rsi,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  (%rbx),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rdx),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x10(%rax,%rsi,8)
movsd  0x10(%r12),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x8(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rbx)
cmp    %r13,%rbp
jge    2ee1 <rotMatrixCCOVsubrtnII+0x1da1>
mov    0x160(%rsp),%rax
movsd  0x18(%rax),%xmm0
mov    0x90(%rsp),%r14
mulsd  0x8(%r14,%rbp,8),%xmm0
movsd  %xmm0,0x20(%rax)
movsd  (%r12),%xmm0
mulsd  0x8(%r14,%rbp,8),%xmm0
movsd  %xmm0,0x8(%r14,%rbp,8)
add    $0x1,%rbp
movsd  0x20(%rax),%xmm0
movapd 0x115e(%rip),%xmm3
andpd  %xmm3,%xmm0
movsd  0x1182(%rip),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x8(%rax),%xmm1
add    $0x18,%rbx
ucomisd %xmm0,%xmm1
jbe    2cf0 <rotMatrixCCOVsubrtnII+0x1bb0>
mov    0x18(%rsp),%rdi
mov    0xb0(%rsp),%r10
mov    0x160(%rsp),%r15
mov    0x30(%rsp),%rsi
jmp    2f13 <rotMatrixCCOVsubrtnII+0x1dd3>
mov    0x18(%rsp),%rdi
mov    0xb0(%rsp),%r10
mov    0x90(%rsp),%r14
mov    0x160(%rsp),%r15
mov    0x30(%rsp),%rsi
movapd 0x10f5(%rip),%xmm3
movsd  0x111d(%rip),%xmm2
mov    0x8(%rsp),%ebx
nopw   0x0(%rax,%rax,1)
mov    0x20(%rsp),%r13
movsd  (%r10,%r13,8),%xmm0
mov    0x28(%rsp),%rax
movsd  %xmm0,(%rax)
mov    %ebx,%eax
cmp    %rax,%r13
je     34a0 <rotMatrixCCOVsubrtnII+0x2360>
movslq %ebx,%rax
mov    %rax,0x38(%rsp)
movsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,0x18(%r12)
mov    0x50(%rsp),%rax
movsd  (%r10,%rax,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  (%r14,%rax,8),%xmm0
movsd  %xmm0,(%r8)
movsd  (%r14,%r13,8),%xmm1
mov    %rsi,%rbx
movsd  %xmm1,(%rsi)
movsd  0x8(%r12),%xmm2
movsd  0x10(%r12),%xmm3
movapd %xmm2,%xmm4
subsd  %xmm3,%xmm4
addsd  %xmm2,%xmm3
mulsd  %xmm4,%xmm3
movapd %xmm0,%xmm4
subsd  %xmm1,%xmm4
addsd  %xmm1,%xmm0
mulsd  %xmm4,%xmm0
addsd  %xmm3,%xmm0
addsd  %xmm1,%xmm1
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,(%rcx)
mov    %rcx,%rdi
mov    %r8,%rsi
xor    %eax,%eax
call   1050 <safeEucldNormOne@plt>
mov    0x58(%rsp),%rcx
mov    0x48(%rsp),%r8
movsd  (%rcx),%xmm0
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm0
movsd  (%r8),%xmm1
jbe    3000 <rotMatrixCCOVsubrtnII+0x1ec0>
ucomisd %xmm2,%xmm1
ja     3006 <rotMatrixCCOVsubrtnII+0x1ec6>
subsd  %xmm1,%xmm0
jmp    300a <rotMatrixCCOVsubrtnII+0x1eca>
cs nopw 0x0(%rax,%rax,1)
ucomisd %xmm2,%xmm1
ja     2ff0 <rotMatrixCCOVsubrtnII+0x1eb0>
addsd  %xmm1,%xmm0
mov    0x10(%rsp),%rdx
mov    %rbx,%rsi
movsd  0x18(%r12),%xmm1
movsd  0x8(%r12),%xmm2
divsd  %xmm0,%xmm2
movsd  0x10(%r12),%xmm0
movapd %xmm1,%xmm3
subsd  %xmm0,%xmm3
addsd  %xmm1,%xmm0
mulsd  %xmm3,%xmm0
movsd  (%rbx),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
divsd  %xmm1,%xmm2
movsd  %xmm2,(%rcx)
movabs $0x3ff0000000000000,%rax
mov    %rax,(%r12)
mov    %rax,(%rdx)
sub    0x38(%rsp),%r13
mov    %r13,0x8(%rsp)
jle    2ac0 <rotMatrixCCOVsubrtnII+0x1980>
mov    0x38(%rsp),%rdi
lea    (%rdi,%rdi,2),%r14
add    $0x5,%r14
mov    0x100(%rsp),%rax
lea    (%rax,%rdi,8),%rax
mov    %rax,0x60(%rsp)
mov    0xa8(%rsp),%rax
lea    (%rax,%rdi,8),%r13
xor    %edi,%edi
mov    %r13,0x40(%rsp)
jmp    322d <rotMatrixCCOVsubrtnII+0x20ed>
nopw   0x0(%rax,%rax,1)
movsd  (%r15),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,(%r12)
movsd  0x0(%rbp),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,(%rbx)
mov    0x48(%rsp),%r8
mov    %r15,%rcx
mov    %rbx,%rdx
mov    %rbp,%rsi
movsd  (%r8),%xmm1
movsd  0x8(%r12),%xmm2
mulsd  %xmm0,%xmm2
movsd  (%r12),%xmm3
mulsd  %xmm1,%xmm3
addsd  %xmm2,%xmm3
movsd  %xmm3,(%r15)
movsd  (%r12),%xmm2
mulsd  %xmm0,%xmm1
movsd  0x8(%r12),%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%r12)
mov    0x18(%rsp),%rax
movsd  -0x28(%rax,%r14,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  -0x10(%rax,%r14,8),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rbx),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rax,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  (%rbx),%xmm1
mulsd  0x8(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rax,%r14,8)
movsd  -0x20(%rax,%r14,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  -0x8(%rax,%r14,8),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rbx),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rax,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  (%rbx),%xmm1
mulsd  0x8(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rax,%r14,8)
movsd  -0x18(%rax,%r14,8),%xmm0
movsd  %xmm0,0x8(%r12)
movsd  (%rax,%r14,8),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%rbx),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rax,%r14,8)
movsd  (%rbx),%xmm0
mulsd  0x8(%r12),%xmm0
movsd  0x10(%r12),%xmm1
mulsd  (%r12),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rax,%r14,8)
add    $0x3,%r14
add    $0x1,%rdi
cmp    %rdi,0x8(%rsp)
je     2ac0 <rotMatrixCCOVsubrtnII+0x1980>
mov    %rdi,(%rsp)
movsd  0x0(%r13,%rdi,8),%xmm0
movsd  %xmm0,0x8(%r12)
mov    0x60(%rsp),%r13
movsd  0x0(%r13,%rdi,8),%xmm0
movsd  %xmm0,(%r8)
movsd  (%rdx),%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%rsi)
mulsd  (%r12),%xmm0
movsd  %xmm0,(%r8)
mov    %rcx,%rdi
mov    %rdx,%r15
mov    0x28(%rsp),%rdx
xor    %eax,%eax
mov    %rsi,%rbx
mov    %rcx,%rbp
call   1040 <safeEucldNorm@plt>
movsd  0x10(%r12),%xmm0
mov    (%rsp),%rax
movsd  %xmm0,-0x8(%r13,%rax,8)
movsd  0x10(%r12),%xmm0
ucomisd 0xd80(%rip),%xmm0
jbe    32c5 <rotMatrixCCOVsubrtnII+0x2185>
movsd  0x0(%rbp),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r12)
movsd  (%rbx),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r15)
movsd  0x10(%r12),%xmm0
mov    0x48(%rsp),%rax
mov    %rbp,%rdi
mov    %rbx,%rsi
mov    0x40(%rsp),%r13
movsd  0x0(%rbp),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r12)
movsd  (%rbx),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,(%r15)
movsd  0x18(%r12),%xmm0
movsd  (%rax),%xmm2
movapd %xmm1,%xmm3
mulsd  %xmm2,%xmm3
mulsd  (%r12),%xmm0
addsd  %xmm3,%xmm0
movsd  %xmm0,0x0(%rbp)
movsd  0x18(%r12),%xmm0
mulsd  %xmm1,%xmm0
mulsd  (%r12),%xmm2
subsd  %xmm0,%xmm2
movsd  %xmm2,(%rax)
mulsd  0x8(%r12),%xmm1
movsd  %xmm1,(%rbx)
movsd  (%r12),%xmm0
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x8(%r12)
mov    0x70(%rsp),%rax
movsd  -0x28(%rax,%r14,8),%xmm1
movsd  %xmm1,0x18(%r12)
movsd  -0x10(%rax,%r14,8),%xmm2
movsd  %xmm2,0x10(%r12)
mulsd  (%r15),%xmm2
mulsd  %xmm0,%xmm1
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x28(%rax,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  (%r15),%xmm1
mulsd  0x18(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rax,%r14,8)
movsd  -0x20(%rax,%r14,8),%xmm0
movsd  %xmm0,0x18(%r12)
movsd  -0x8(%rax,%r14,8),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%r15),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rax,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  (%r15),%xmm1
mulsd  0x18(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rax,%r14,8)
movsd  -0x18(%rax,%r14,8),%xmm0
movsd  %xmm0,0x18(%r12)
movsd  (%rax,%r14,8),%xmm1
movsd  %xmm1,0x10(%r12)
mulsd  (%r15),%xmm1
mulsd  (%r12),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rax,%r14,8)
movsd  0x10(%r12),%xmm0
movsd  (%r15),%xmm1
mulsd  0x18(%r12),%xmm1
mulsd  (%r12),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rax,%r14,8)
mov    %r15,%rbx
mov    0x28(%rsp),%rdx
xor    %eax,%eax
mov    %rbp,%r15
mov    %rsi,%rbp
call   1040 <safeEucldNorm@plt>
movsd  0x10(%r12),%xmm0
mov    (%rsp),%rdi
movsd  %xmm0,-0x8(%r13,%rdi,8)
movsd  0x10(%r12),%xmm1
ucomisd 0xb98(%rip),%xmm1
ja     30b0 <rotMatrixCCOVsubrtnII+0x1f70>
movsd  (%rbx),%xmm0
jmp    30cc <rotMatrixCCOVsubrtnII+0x1f8c>
nopw   0x0(%rax,%rax,1)
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jbe    2a60 <rotMatrixCCOVsubrtnII+0x1920>
movapd 0xb5a(%rip),%xmm1
xorpd  %xmm1,%xmm0
movlpd %xmm0,(%r10,%r13,8)
lea    0x0(,%r13,2),%rax
add    %r13,%rax
mov    0x70(%rsp),%rdx
movupd (%rdx,%rax,8),%xmm0
xorpd  %xmm1,%xmm0
movupd %xmm0,(%rdx,%rax,8)
movsd  0x10(%rdx,%rax,8),%xmm0
xorpd  %xmm1,%xmm0
movlpd %xmm0,0x10(%rdx,%rax,8)
jmp    2a60 <rotMatrixCCOVsubrtnII+0x1920>
movsd  (%rdi),%xmm1
movsd  0x18(%rdi),%xmm0
mov    0x70(%rsp),%rcx
mulsd  0x18(%rcx),%xmm0
mulsd  (%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rdi),%xmm8
mulsd  0x30(%rcx),%xmm8
addsd  %xmm1,%xmm8
mov    0x108(%rsp),%rax
movsd  %xmm8,(%rax)
movsd  0x8(%rdi),%xmm2
movsd  0x20(%rdi),%xmm1
mulsd  0x18(%rcx),%xmm1
mulsd  (%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  0x38(%rdi),%xmm9
mulsd  0x30(%rcx),%xmm9
addsd  %xmm2,%xmm9
movsd  %xmm9,0x8(%rax)
movsd  0x10(%rdi),%xmm3
movsd  0x28(%rdi),%xmm2
mulsd  0x18(%rcx),%xmm2
mulsd  (%rcx),%xmm3
addsd  %xmm2,%xmm3
movsd  0x40(%rdi),%xmm10
mulsd  0x30(%rcx),%xmm10
addsd  %xmm3,%xmm10
movsd  %xmm10,0x10(%rax)
movsd  (%rdi),%xmm4
movsd  0x18(%rdi),%xmm3
mulsd  0x20(%rcx),%xmm3
mulsd  0x8(%rcx),%xmm4
addsd  %xmm3,%xmm4
movsd  0x30(%rdi),%xmm3
mulsd  0x38(%rcx),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x18(%rax)
movsd  0x8(%rdi),%xmm5
movsd  0x20(%rdi),%xmm4
mulsd  0x20(%rcx),%xmm4
mulsd  0x8(%rcx),%xmm5
addsd  %xmm4,%xmm5
movsd  0x38(%rdi),%xmm4
mulsd  0x38(%rcx),%xmm4
addsd  %xmm5,%xmm4
movsd  %xmm4,0x20(%rax)
movsd  0x10(%rdi),%xmm6
movsd  0x28(%rdi),%xmm5
mulsd  0x20(%rcx),%xmm5
mulsd  0x8(%rcx),%xmm6
addsd  %xmm5,%xmm6
movsd  0x40(%rdi),%xmm5
mulsd  0x38(%rcx),%xmm5
addsd  %xmm6,%xmm5
movsd  %xmm5,0x28(%rax)
movsd  (%rdi),%xmm7
movsd  0x18(%rdi),%xmm6
mulsd  0x28(%rcx),%xmm6
mulsd  0x10(%rcx),%xmm7
addsd  %xmm6,%xmm7
movsd  0x30(%rdi),%xmm6
mulsd  0x40(%rcx),%xmm6
addsd  %xmm7,%xmm6
movsd  %xmm6,0x30(%rax)
movsd  0x8(%rdi),%xmm0
movsd  0x20(%rdi),%xmm7
mulsd  0x28(%rcx),%xmm7
mulsd  0x10(%rcx),%xmm0
addsd  %xmm7,%xmm0
movsd  0x38(%rdi),%xmm7
mulsd  0x40(%rcx),%xmm7
addsd  %xmm0,%xmm7
movsd  %xmm7,0x38(%rax)
movsd  0x10(%rdi),%xmm0
movsd  0x28(%rdi),%xmm1
mulsd  0x28(%rcx),%xmm1
mulsd  0x10(%rcx),%xmm0
movsd  0x40(%rdi),%xmm2
mulsd  0x40(%rcx),%xmm2
addsd  %xmm1,%xmm0
addsd  %xmm0,%xmm2
movsd  %xmm2,0x40(%rax)
movapd %xmm7,%xmm0
mulsd  %xmm5,%xmm0
mulsd  %xmm6,%xmm5
mulsd  %xmm4,%xmm6
mulsd  %xmm2,%xmm4
subsd  %xmm0,%xmm4
mulsd  %xmm3,%xmm2
subsd  %xmm2,%xmm5
mulsd  %xmm9,%xmm5
mulsd  %xmm8,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm3,%xmm7
subsd  %xmm6,%xmm7
mulsd  %xmm10,%xmm7
addsd  %xmm4,%xmm7
xorpd  %xmm0,%xmm0
ucomisd %xmm7,%xmm0
jbe    3bb3 <rotMatrixCCOVsubrtnII+0x2a73>
mov    %rdi,%rdx
movsd  0x10(%r10),%xmm1
movsd  (%r10),%xmm0
movsd  0x8(%r10),%xmm2
ucomisd %xmm1,%xmm2
jbe    38b5 <rotMatrixCCOVsubrtnII+0x2775>
ucomisd %xmm1,%xmm0
movsd  (%rdx),%xmm0
jbe    3a3b <rotMatrixCCOVsubrtnII+0x28fb>
movsd  0x18(%rdx),%xmm1
movsd  0x30(%rdx),%xmm2
mulsd  0x18(%rcx),%xmm1
mulsd  (%rcx),%xmm0
addsd  %xmm1,%xmm0
mulsd  0x30(%rcx),%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x18(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  (%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x38(%rdx),%xmm0
mulsd  0x30(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x8(%rax)
movsd  0x28(%rdx),%xmm0
mulsd  0x18(%rcx),%xmm0
movsd  0x10(%rdx),%xmm1
mulsd  (%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x40(%rdx),%xmm0
mulsd  0x30(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x10(%rax)
movsd  0x18(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rdx),%xmm0
mulsd  0x38(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x38(%rdx),%xmm0
mulsd  0x38(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rax)
movsd  0x28(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  0x10(%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x40(%rdx),%xmm0
mulsd  0x38(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x28(%rax)
movsd  0x18(%rdx),%xmm0
mulsd  0x28(%rcx),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x10(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rdx),%xmm0
mulsd  0x40(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x28(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  0x10(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  0x38(%rdx),%xmm0
mulsd  0x40(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,0x38(%rax)
movsd  0x28(%rdx),%xmm1
mulsd  0x28(%rcx),%xmm1
movsd  0x10(%rdx),%xmm0
mulsd  0x10(%rcx),%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rdx),%xmm1
mulsd  0x40(%rcx),%xmm1
subsd  %xmm1,%xmm0
jmp    3bae <rotMatrixCCOVsubrtnII+0x2a6e>
lea    (%rdx,%rdx,2),%rax
lea    (%r9,%rax,8),%rax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movq   $0x0,-0x30(%rax)
movq   $0x0,-0x18(%rax)
movq   $0x0,(%rax)
movq   $0x0,0x18(%rax)
add    $0x60,%rax
jmp    3890 <rotMatrixCCOVsubrtnII+0x2750>
ucomisd %xmm2,%xmm0
movsd  (%rdx),%xmm0
jbe    3a3b <rotMatrixCCOVsubrtnII+0x28fb>
movsd  0x18(%rcx),%xmm1
mulsd  0x18(%rdx),%xmm1
mulsd  (%rcx),%xmm0
subsd  %xmm1,%xmm0
movsd  0x30(%rdx),%xmm1
mulsd  0x30(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rax)
movsd  0x18(%rcx),%xmm0
mulsd  0x20(%rdx),%xmm0
movsd  0x8(%rdx),%xmm1
movsd  0x38(%rdx),%xmm2
mulsd  (%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%rax)
movsd  0x18(%rcx),%xmm0
mulsd  0x28(%rdx),%xmm0
movsd  0x10(%rdx),%xmm1
movsd  0x40(%rdx),%xmm2
mulsd  (%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x10(%rax)
movsd  0x20(%rcx),%xmm0
mulsd  0x18(%rdx),%xmm0
movsd  (%rdx),%xmm1
movsd  0x30(%rdx),%xmm2
mulsd  0x8(%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x38(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x18(%rax)
movsd  0x20(%rcx),%xmm0
mulsd  0x20(%rdx),%xmm0
movsd  0x8(%rdx),%xmm1
movsd  0x38(%rdx),%xmm2
mulsd  0x8(%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x38(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x20(%rax)
movsd  0x20(%rcx),%xmm0
mulsd  0x28(%rdx),%xmm0
movsd  0x10(%rdx),%xmm1
movsd  0x40(%rdx),%xmm2
mulsd  0x8(%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x38(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x28(%rax)
movsd  0x28(%rcx),%xmm0
mulsd  0x18(%rdx),%xmm0
movsd  (%rdx),%xmm1
movsd  0x30(%rdx),%xmm2
mulsd  0x10(%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x40(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x30(%rax)
movsd  0x28(%rcx),%xmm0
mulsd  0x20(%rdx),%xmm0
movsd  0x8(%rdx),%xmm1
movsd  0x38(%rdx),%xmm2
mulsd  0x10(%rcx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x40(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x38(%rax)
movsd  0x28(%rcx),%xmm1
mulsd  0x28(%rdx),%xmm1
movsd  0x10(%rdx),%xmm2
movsd  0x40(%rdx),%xmm0
mulsd  0x10(%rcx),%xmm2
subsd  %xmm1,%xmm2
mulsd  0x40(%rcx),%xmm0
addsd  %xmm2,%xmm0
jmp    3bae <rotMatrixCCOVsubrtnII+0x2a6e>
movsd  0x18(%rdx),%xmm1
movsd  0x30(%rdx),%xmm2
mulsd  0x18(%rcx),%xmm1
mulsd  (%rcx),%xmm0
subsd  %xmm0,%xmm1
mulsd  0x30(%rcx),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x18(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  (%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x38(%rdx),%xmm1
mulsd  0x30(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x8(%rax)
movsd  0x28(%rdx),%xmm0
mulsd  0x18(%rcx),%xmm0
movsd  0x10(%rdx),%xmm1
mulsd  (%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x40(%rdx),%xmm1
mulsd  0x30(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x10(%rax)
movsd  0x18(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x30(%rdx),%xmm1
mulsd  0x38(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x38(%rdx),%xmm1
mulsd  0x38(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rax)
movsd  0x28(%rdx),%xmm0
mulsd  0x20(%rcx),%xmm0
movsd  0x10(%rdx),%xmm1
mulsd  0x8(%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x40(%rdx),%xmm1
mulsd  0x38(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x28(%rax)
movsd  0x18(%rdx),%xmm0
mulsd  0x28(%rcx),%xmm0
movsd  (%rdx),%xmm1
mulsd  0x10(%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x30(%rdx),%xmm1
mulsd  0x40(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rax)
movsd  0x20(%rdx),%xmm0
mulsd  0x28(%rcx),%xmm0
movsd  0x8(%rdx),%xmm1
mulsd  0x10(%rcx),%xmm1
subsd  %xmm1,%xmm0
movsd  0x38(%rdx),%xmm1
mulsd  0x40(%rcx),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,0x38(%rax)
movsd  0x28(%rdx),%xmm1
mulsd  0x28(%rcx),%xmm1
movsd  0x10(%rdx),%xmm0
mulsd  0x10(%rcx),%xmm0
subsd  %xmm0,%xmm1
movsd  0x40(%rdx),%xmm0
mulsd  0x40(%rcx),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rax)
add    $0x128,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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