// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/matrix.c
// Function: hqr2
double* hqr2(matrix* eigenvectors, matrix a)
{
 int nn, m, l, k, j, its, i, mmin, na; 
 double z, y, x, w, v, u, t, s, r, q, p, anorm = 0.0, *eigenvalues;
 double EPS = 2.22045e-016;
 eigenvalues = safemalloc(a.row * sizeof(double), "hqr2", 5);
 for (i = 0; i < a.row; i++) 
   for (j = imax(i - 1,0); j < a.row; j++)
     anorm += fabs(a.values[i][j]);
 nn = a.row - 1; 
 t = 0.0; 
 while (nn >= 0) 
  {
   its = 0; 
   do {
     for (l = nn; l > 0; l--) 
      { 
       s = fabs(a.values[l - 1][l - 1]) + fabs(a.values[l][l]);	
       if (s == 0.0) 
         s = anorm; 
       if (fabs(a.values[l][l - 1]) <= EPS * s) 
        {
         a.values[l][l - 1] = 0.0; 
         break;
        }
      } 
      x = a.values[nn][nn]; 
      if (l == nn) 
       {	
        eigenvalues[nn] = a.values[nn][nn] = x + t;
        nn--; 
       } 
      else 
       {
        y = a.values[nn - 1][nn-1]; 
        w = a.values[nn][nn-1] * a.values[nn-1][nn]; 
        if (l == nn - 1) 
         {	
          p = 0.5 * (y - x); 
          q = p * p + w;
          z = sqrt(fabs(q)); 
          x += t; 
          a.values[nn][nn] = x; 
          a.values[nn - 1][nn - 1] = y + t; 
          if (q >= 0.0) 
           {
            z = p + change_sign(z,p); 
            eigenvalues[nn - 1] = eigenvalues[nn] = x + z; 
            if (z != 0.0) 
              eigenvalues[nn] = x - w / z; 
            x = a.values[nn][nn - 1]; 
            s = fabs(x) + fabs(z); 
            p = x / s; 
            q = z / s; 
            r = sqrt(p * p + q * q); 
            p /= r; 
            q /= r; 
            for (j = nn - 1; j < a.row; j++) 
             {	
              z = a.values[nn - 1][j]; 
              a.values[nn - 1][j] = q * z + p * a.values[nn][j]; 
              a.values[nn][j] = q * a.values[nn][j] - p * z;
             } 
            for (i = 0; i <= nn; i++) 
             {	
              z = a.values[i][nn - 1]; 
              a.values[i][nn - 1] = q * z + p * a.values[i][nn]; 
              a.values[i][nn] = q * a.values[i][nn] - p * z;
             } 
            for (i = 0; i < a.row; i++) 
             {	
              z = eigenvectors->values[i][nn - 1]; 
              eigenvectors->values[i][nn - 1] = q * z + p * eigenvectors->values[i][nn]; 
              eigenvectors->values[i][nn] = q * eigenvectors->values[i][nn] - p * z;
             } 
           } 
          else 
           {
            printf("Complex eigenvalues. Exiting\n");
            return NULL;
           }
          nn -= 2; 
         } 
        else 
         {	
          if (its == 30) 
           {
            printf("Too many iterations. Exiting\n");
            return NULL;
           } 
          if (its == 10 || its == 20) 
           {	
            t += x; 
            for (i = 0; i < nn + 1; i++) 
              a.values[i][i] -= x; 
            s = fabs(a.values[nn][nn - 1]) + fabs(a.values[nn - 1][nn - 2]); 
            y = x = 0.75 * s; 
            w = -0.4375 * s * s;
           } 
          its++; 
          for (m = nn - 2; m >= l; m--) 
           {
            z = a.values[m][m]; 
            r = x - z; 
            s = y - z; 
            p = (r * s - w) / a.values[m + 1][m] + a.values[m][m + 1]; 
            q = a.values[m + 1][m + 1] - z - r - s; 
            r = a.values[m + 2][m + 1]; 
            s = fabs(p) + fabs(q) + fabs(r);
            p /= s; 
            q /= s; 
            r /= s; 
            if (m == l) 
              break; 
            u = fabs(a.values[m][m - 1]) * (fabs(q) + fabs(r)); 
            v = fabs(p) * (fabs(a.values[m - 1][m - 1]) + fabs(z) + fabs(a.values[m + 1][m + 1]));
            if (u <= EPS * v) 
              break;
           } 
          for (i = m; i < nn - 1; i++) 
           {
            a.values[i + 2][i] = 0.0; 
            if (i != m) 
              a.values[i + 2][i - 1] = 0.0;
           } 
          for (k = m; k < nn; k++) 
           { 
            if (k != m) 
             { 
              p = a.values[k][k - 1];	
              q = a.values[k + 1][k - 1];	
              r = 0.0; 
              if (k + 1 != nn) 
                r = a.values[k + 2][k - 1]; 
              if ((x = fabs(p) + fabs(q) + fabs(r)) != 0.0) 
               {
                p /= x;	
                q /= x;	
                r /= x;
               }
             } 
            if ((s = change_sign(sqrt(p * p + q * q + r * r), p)) != 0.0) 
             {
              if (k == m) 
               { 
                if (l != m)
                  a.values[k][k - 1] = -a.values[k][k - 1]; 
               } 
              else
                a.values[k][k - 1] = -s * x; 
              p += s;
              x = p / s; 
              y = q / s; 
              z = r / s; 
              q /= p; 
              r /= p; 
              for (j = k; j < a.row; j++) 
               {
                p = a.values[k][j] + q * a.values[k+1][j]; 
                if (k+1 != nn) 
                 {
                  p += r * a.values[k + 2][j]; 
                  a.values[k + 2][j] -= p * z;
                 } 
                a.values[k + 1][j] -= p * y; 
                a.values[k][j] -= p * x;
               } 
              mmin = nn < k + 3 ? nn : k + 3; 
              for (i = 0; i < mmin + 1; i++) 
               {
                p = x * a.values[i][k] + y * a.values[i][k + 1]; 
                if (k + 1 != nn) 
                 {
                  p += z * a.values[i][k + 2]; 
                  a.values[i][k + 2] -= p * r;
                 } 
                a.values[i][k + 1] -= p * q; 
                a.values[i][k] -= p;
               } 
              for (i = 0; i < a.row; i++) 
               {
                p = x * eigenvectors->values[i][k] + y * eigenvectors->values[i][k + 1]; 
                if (k + 1 != nn) 
                 {
                  p += z * eigenvectors->values[i][k + 2]; 
                  eigenvectors->values[i][k + 2] -= p * r;
                 } 
                eigenvectors->values[i][k + 1] -= p * q; 
                eigenvectors->values[i][k] -= p;
               }
             } 
           } 
         }
       }
   }while (l + 1 < nn);
 }
 if (anorm != 0.0) 
  { 
   for (nn = a.row - 1; nn >= 0; nn--) 
    {
     p = eigenvalues[nn];
     na = nn - 1; 
     m = nn; 
     a.values[nn][nn] = 1.0; 
     for (i = nn - 1; i >= 0;i--) 
      {
       w = a.values[i][i] - p; 
       r = 0.0; 
       for (j = m; j <= nn; j++)
         r += a.values[i][j] * a.values[j][nn]; 
       m = i;
       t = w;
       if (t == 0.0) 
         t = EPS * anorm;
       a.values[i][nn] = -r / t; 
       t = fabs(a.values[i][nn]); 
       if (EPS * t * t > 1)
         for (j = i; j <= nn; j++) 
           a.values[j][nn] /= t;
      }
    }
   for (j = a.row - 1; j >= 0; j--)
     for (i = 0; i < a.row; i++)
      {
       z = 0.0;
       for (k = 0; k <= j; k++)
         z += eigenvectors->values[i][k] * a.values[k][j];
       eigenvectors->values[i][j] = z;
      }
  }
 return eigenvalues;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rsi, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq %rdi, -0x20(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd 0x886de(%rip), %xmm0    # 0xe6a38
movsd %xmm0, -0xb8(%rbp)
movslq -0x18(%rbp), %rdi
shlq $0x3, %rdi
leaq 0x889b9(%rip), %rsi     # 0xe6d2a
movl $0x5, %edx
callq 0x52d70
movq %rax, -0xb0(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5e3f1
movl -0x3c(%rbp), %edi
subl $0x1, %edi
xorl %esi, %esi
callq 0x52910
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5e3e4
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x84a9b(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
addsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0xa8(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5e3a1
jmp 0x5e3e6
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5e389
movl -0x18(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x80(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0x5f731
movl $0x0, -0x38(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
jle 0x5e506
movq -0x10(%rbp), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x84a17(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x849f7(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5e49c
jp 0x5e49c
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0x88(%rbp)
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x849a3(%rip), %xmm0    # 0xe2e60
pand %xmm0, %xmm1
movsd -0xb8(%rbp), %xmm0
mulsd -0x88(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x5e4f6
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x5e506
jmp 0x5e4f8
movl -0x2c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x5e419
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x60(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x24(%rbp), %eax
jne 0x5e565
movsd -0x60(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0xb0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x5f71b
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x58(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x68(%rbp)
movl -0x2c(%rbp), %eax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x5eb15
movsd -0x58(%rbp), %xmm1
subsd -0x60(%rbp), %xmm1
movsd 0x843d3(%rip), %xmm0    # 0xe29b8
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0xa0(%rbp), %xmm2
movsd -0x68(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x98(%rbp), %xmm0
movaps 0x8483b(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
callq 0x42a0
movsd %xmm0, -0x50(%rbp)
movsd -0x80(%rbp), %xmm0
addsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x58(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x98(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x5eaec
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0x50(%rbp), %xmm0
movsd -0xa0(%rbp), %xmm1
callq 0x52640
movaps %xmm0, %xmm1
movsd -0xc0(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x60(%rbp), %xmm0
addsd -0x50(%rbp), %xmm0
movq -0xb0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0xb0(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x50(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5e711
jp 0x5e711
jmp 0x5e734
movsd -0x60(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
divsd -0x50(%rbp), %xmm1
subsd %xmm1, %xmm0
movq -0xb0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x60(%rbp), %xmm0
movaps 0x84701(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movsd -0x50(%rbp), %xmm1
movaps 0x846f1(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x60(%rbp), %xmm0
divsd -0x88(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x50(%rbp), %xmm0
divsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0xa0(%rbp), %xmm2
movsd -0x98(%rbp), %xmm1
mulsd -0x98(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x42a0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x90(%rbp), %xmm1
movsd -0x98(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movl -0x24(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5e902
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0xa0(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x98(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd -0x50(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5e81f
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x24(%rbp), %eax
jg 0x5e9ec
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0xa0(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x98(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd -0x50(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5e909
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5eaea
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x98(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0xa0(%rbp), %xmm1
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x98(%rbp), %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd -0x50(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5e9f3
jmp 0x5eb07
leaq 0x8823c(%rip), %rdi     # 0xe6d2f
movb $0x0, %al
callq 0x4030
movq $0x0, -0x8(%rbp)
jmp 0x5fa1d
movl -0x24(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x24(%rbp)
jmp 0x5f719
cmpl $0x1e, -0x38(%rbp)
jne 0x5eb36
leaq 0x8822b(%rip), %rdi     # 0xe6d4d
movb $0x0, %al
callq 0x4030
movq $0x0, -0x8(%rbp)
jmp 0x5fa1d
cmpl $0xa, -0x38(%rbp)
je 0x5eb46
cmpl $0x14, -0x38(%rbp)
jne 0x5ec29
movsd -0x60(%rbp), %xmm0
addsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x5eb97
movsd -0x60(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5eb5c
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x842a8(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x24(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x8427e(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd 0x85c8e(%rip), %xmm0    # 0xe4888
mulsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd %xmm0, -0x58(%rbp)
movsd 0x87e2c(%rip), %xmm0    # 0xe6a40
mulsd -0x88(%rbp), %xmm0
mulsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movl -0x24(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jl 0x5ef0c
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x60(%rbp), %xmm0
subsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x58(%rbp), %xmm0
subsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x90(%rbp), %xmm0
movsd -0x88(%rbp), %xmm2
movsd -0x68(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
divsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0x50(%rbp), %xmm0
subsd -0x90(%rbp), %xmm0
subsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0xa0(%rbp), %xmm0
movaps 0x840f9(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movsd -0x98(%rbp), %xmm1
movaps 0x840e6(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd -0x90(%rbp), %xmm1
movaps 0x840cf(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x88(%rbp), %xmm1
movsd -0x98(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x88(%rbp), %xmm1
movsd -0x90(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jne 0x5ee02
jmp 0x5ef0c
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x8403d(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movsd -0x98(%rbp), %xmm1
movaps 0x8402a(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
movsd -0x90(%rbp), %xmm2
movaps 0x84017(%rip), %xmm3    # 0xe2e60
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0xa0(%rbp), %xmm0
movaps 0x83ff7(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movaps 0x83fcd(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
movsd -0x50(%rbp), %xmm2
movaps 0x83fbd(%rip), %xmm3    # 0xe2e60
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
movq -0x10(%rbp), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movaps 0x83f8f(%rip), %xmm3    # 0xe2e60
pand %xmm3, %xmm2
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x78(%rbp), %xmm1
movsd -0xb8(%rbp), %xmm0
mulsd -0x70(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x5eefc
jmp 0x5ef0c
jmp 0x5eefe
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x5ec3b
movl -0x28(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x5ef73
movq -0x10(%rbp), %rax
movl -0x3c(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
cmpl -0x28(%rbp), %eax
je 0x5ef66
movq -0x10(%rbp), %rax
movl -0x3c(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x3c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x5ef68
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5ef12
movl -0x28(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x5f717
movl -0x30(%rbp), %eax
cmpl -0x28(%rbp), %eax
je 0x5f0b7
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x98(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
je 0x5f017
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0xa0(%rbp), %xmm0
movaps 0x83e3a(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movsd -0x98(%rbp), %xmm1
movaps 0x83e27(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd -0x90(%rbp), %xmm1
movaps 0x83e10(%rip), %xmm2    # 0xe2e60
pand %xmm2, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5f06a
jp 0x5f06a
jmp 0x5f0b5
movsd -0x60(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x60(%rbp), %xmm1
movsd -0x98(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x60(%rbp), %xmm1
movsd -0x90(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
jmp 0x5f0b7
movsd -0xa0(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm2
movsd -0x98(%rbp), %xmm0
mulsd -0x98(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd -0x90(%rbp), %xmm0
movsd -0x90(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x42a0
movsd -0xa0(%rbp), %xmm1
callq 0x52640
movsd %xmm0, -0x88(%rbp)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5f121
jp 0x5f121
jmp 0x5f707
movl -0x30(%rbp), %eax
cmpl -0x28(%rbp), %eax
jne 0x5f17e
movl -0x2c(%rbp), %eax
cmpl -0x28(%rbp), %eax
je 0x5f17c
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x5f1bc
movsd -0x88(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x88(%rbp), %xmm0
addsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
divsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x98(%rbp), %xmm0
divsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x90(%rbp), %xmm0
divsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0xa0(%rbp), %xmm1
movsd -0x98(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0xa0(%rbp), %xmm1
movsd -0x90(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5f3d7
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd -0x98(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
je 0x5f338
movsd -0x90(%rbp), %xmm0
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm0
movsd -0x58(%rbp), %xmm2
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5f251
movl -0x24(%rbp), %eax
movl -0x30(%rbp), %ecx
addl $0x3, %ecx
cmpl %ecx, %eax
jge 0x5f3ef
movl -0x24(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0x5f3fb
movl -0x30(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
movl %eax, -0x40(%rbp)
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jge 0x5f57b
movsd -0x60(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x58(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
je 0x5f4f9
movsd -0x50(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x90(%rbp), %xmm2
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm0
movsd -0x98(%rbp), %xmm2
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5f40b
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5f705
movsd -0x60(%rbp), %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x58(%rbp), %xmm1
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
mulsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
je 0x5f67b
movsd -0x50(%rbp), %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd -0x90(%rbp), %xmm2
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm0
movsd -0x98(%rbp), %xmm2
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq %xmm0, %rdx
movabsq $-0x8000000000000000, %rsi # imm = 0x8000000000000000
xorq %rsi, %rdx
movq %rdx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movsd -0xa0(%rbp), %xmm1
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5f582
jmp 0x5f707
jmp 0x5f709
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x5ef79
jmp 0x5f719
jmp 0x5f71b
jmp 0x5f71d
movl -0x2c(%rbp), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
jl 0x5e413
jmp 0x5e402
movsd -0xa8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5f749
jp 0x5f749
jmp 0x5fa12
movl -0x18(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0x5f94c
movq -0xb0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xa0(%rbp)
movl -0x24(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x44(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd 0x8287d(%rip), %xmm0    # 0xe2018
movsd %xmm0, (%rax,%rcx,8)
movl -0x24(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
jl 0x5f93c
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x24(%rbp), %eax
jg 0x5f83b
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x90(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5f7e6
movl -0x3c(%rbp), %eax
movl %eax, -0x28(%rbp)
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x5f870
jp 0x5f870
movsd -0xb8(%rbp), %xmm0
mulsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x90(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
divsd -0x80(%rbp), %xmm0
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x8359b(%rip), %xmm1    # 0xe2e60
pand %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0xb8(%rbp), %xmm0
mulsd -0x80(%rbp), %xmm0
mulsd -0x80(%rbp), %xmm0
movsd 0x82730(%rip), %xmm1    # 0xe2018
ucomisd %xmm1, %xmm0
jbe 0x5f92c
movl -0x3c(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x24(%rbp), %eax
jg 0x5f92a
movsd -0x80(%rbp), %xmm1
movq -0x10(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5f8f4
jmp 0x5f92c
jmp 0x5f92e
movl -0x3c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5f7a9
jmp 0x5f93e
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x5f752
movl -0x18(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
jl 0x5fa10
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x5fa00
xorps %xmm0, %xmm0
movsd %xmm0, -0x50(%rbp)
movl $0x0, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x34(%rbp), %eax
jg 0x5f9d4
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x50(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x5f981
movsd -0x50(%rbp), %xmm0
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x5f966
jmp 0x5fa02
movl -0x34(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x5f955
jmp 0x5fa12
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopw (%rax,%rax)