// File: j-faria[P]kima/celerite/cpp/include/celerite/solver/cholesky.h
// Function: celerite::solver::CholeskySolver<double, -1>::dot_solve(Eigen::Matrix<double, -1, 1, 0, -1, 1> const&) const
T dot_solve (const Eigen::VectorXd& b) const {
  if (b.rows() != this->N_) throw dimension_mismatch();
  if (!(this->computed_)) throw compute_exception();

  int N = this->N_, J = J_;
  T result;

  // Special case for jitter only.
  if (J == 0) {
    result = T(0.0);
    for (int n = 0; n < N; ++n)
      result += b(n) * (b(n) / D_(n));
    return result;
  }

  if (J < 16) {

#define FIXED_SIZE_HACKZ(SIZE_MACRO)                                        \
    Eigen::Matrix<T, SIZE_MACRO, 1> f(J);                                   \
    f.setZero();                                                            \
    T x, xm1 = b(0);                                                        \
    result = xm1 * (xm1 / D_(0));                                           \
    for (int n = 1; n < N; ++n) {                                           \
      x = b(n);                                                             \
      for (int j = 0; j < J; ++j) {                                         \
        T value = phi_(j, n-1) * (f(j) + W_(j, n-1) * xm1);                 \
        f(j) = value;                                                       \
        x -= u_(j, n-1) * value;                                            \
      }                                                                     \
      xm1 = x;                                                              \
      result += x * x / D_(n);                                              \
    }                                                                       \

    if (SIZE == Eigen::Dynamic) {
      switch (J) {
        case 1:  { FIXED_SIZE_HACKZ(1)  break; }
        case 2:  { FIXED_SIZE_HACKZ(2)  break; }
        case 3:  { FIXED_SIZE_HACKZ(3)  break; }
        case 4:  { FIXED_SIZE_HACKZ(4)  break; }
        case 5:  { FIXED_SIZE_HACKZ(5)  break; }
        case 6:  { FIXED_SIZE_HACKZ(6)  break; }
        case 7:  { FIXED_SIZE_HACKZ(7)  break; }
        case 8:  { FIXED_SIZE_HACKZ(8)  break; }
        case 9:  { FIXED_SIZE_HACKZ(9)  break; }
        case 10: { FIXED_SIZE_HACKZ(10) break; }
        case 11: { FIXED_SIZE_HACKZ(11) break; }
        case 12: { FIXED_SIZE_HACKZ(12) break; }
        case 13: { FIXED_SIZE_HACKZ(13) break; }
        case 14: { FIXED_SIZE_HACKZ(14) break; }
        case 15: { FIXED_SIZE_HACKZ(15) break; }
        case 16: { FIXED_SIZE_HACKZ(16) break; }
        default: FIXED_SIZE_HACKZ(Eigen::Dynamic)
      }
    } else {
      // The size was already specified at compile time.
      FIXED_SIZE_HACKZ(SIZE)
    }

#undef FIXED_SIZE_HACKZ

  } else {

    vector_j_t f(J);
    f.setZero();
    T x = T(b(0));
    result = x * (x / D_(0));
    for (int n = 1; n < N; ++n) {
      f = phi_.col(n-1).asDiagonal() * (f + W_.col(n-1) * x);
      x = b(n) - u_.col(n-1).transpose().dot(f);
      result += x * x / D_(n);
    }

  }

  return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd90, %rsp            # imm = 0xD90
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x990(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2f8d0
movq -0x990(%rbp), %rcx
movslq 0xc(%rcx), %rcx
cmpq %rcx, %rax
je 0x2807d
movl $0x8, %edi
callq 0x6250
movq %rax, %rdi
movq %rdi, -0x998(%rbp)
xorl %esi, %esi
movl $0x8, %edx
callq 0x6290
movq -0x998(%rbp), %rdi
callq 0x58720
movq -0x998(%rbp), %rdi
leaq 0xf1717(%rip), %rsi     # 0x119788
leaq 0x306e8(%rip), %rdx     # 0x58760
callq 0x67e0
movq -0x990(%rbp), %rax
testb $0x1, 0x8(%rax)
jne 0x280d0
movl $0x8, %edi
callq 0x6250
movq %rax, %rdi
movq %rdi, -0x9a0(%rbp)
xorl %esi, %esi
movl $0x8, %edx
callq 0x6290
movq -0x9a0(%rbp), %rdi
callq 0x58780
movq -0x9a0(%rbp), %rdi
leaq 0xf16dc(%rip), %rsi     # 0x1197a0
leaq 0x306f5(%rip), %rdx     # 0x587c0
callq 0x67e0
movq -0x990(%rbp), %rax
movl 0xc(%rax), %ecx
movl %ecx, -0x1c(%rbp)
movl 0x18(%rax), %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x2818a
xorps %xmm0, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2817b
movq -0x18(%rbp), %rdi
movslq -0x2c(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x9a8(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x2c(%rbp), %rsi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x9b0(%rbp)
addq $0x68, %rdi
movslq -0x2c(%rbp), %rsi
callq 0x587e0
movsd -0x9b0(%rbp), %xmm2
movsd -0x9a8(%rbp), %xmm0
divsd (%rax), %xmm2
movsd -0x28(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x280fc
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x2af65
cmpl $0x10, -0x20(%rbp)
jge 0x2aca6
movl -0x20(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x9b8(%rbp)
subl $0xf, %eax
ja 0x2a969
movq -0x9b8(%rbp), %rax
leaq 0x8f59b(%rip), %rcx     # 0xb7754
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x38(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58870
leaq -0x38(%rbp), %rdi
callq 0x588c0
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x9c0(%rbp)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x9c8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0x9c8(%rbp), %xmm1
movsd -0x9c0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x283d5
movq -0x18(%rbp), %rdi
movslq -0x4c(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movl $0x0, -0x50(%rbp)
movl -0x50(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x28381
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x50(%rbp), %rsi
movl -0x4c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0x9d8(%rbp)
movslq -0x50(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x589b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x9e0(%rbp)
addq $0x50, %rdi
movslq -0x50(%rbp), %rsi
movl -0x4c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0x9e0(%rbp), %xmm2
movsd -0x9d8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x48(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x9d0(%rbp)
movslq -0x50(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x589b0
movsd -0x9d0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x50(%rbp), %rsi
movl -0x4c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x58(%rbp), %xmm2
movsd -0x40(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x28269
movq -0x990(%rbp), %rdi
movsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x9e8(%rbp)
addq $0x68, %rdi
movslq -0x4c(%rbp), %rsi
callq 0x587e0
movsd -0x9e8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x28240
jmp 0x2aca1
leaq -0x70(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58a40
leaq -0x70(%rbp), %rdi
callq 0x58a80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x9f0(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x9f8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0x9f8(%rbp), %xmm1
movsd -0x9f0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x84(%rbp)
movl -0x84(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2862c
movq -0x18(%rbp), %rdi
movslq -0x84(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x78(%rbp)
movl $0x0, -0x88(%rbp)
movl -0x88(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x285cf
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x88(%rbp), %rsi
movl -0x84(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xa08(%rbp)
movslq -0x88(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x58ab0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xa10(%rbp)
addq $0x50, %rdi
movslq -0x88(%rbp), %rsi
movl -0x84(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xa10(%rbp), %xmm2
movsd -0xa08(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x80(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0xa00(%rbp)
movslq -0x88(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x58ab0
movsd -0xa00(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x88(%rbp), %rsi
movl -0x84(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x90(%rbp), %xmm2
movsd -0x78(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movl -0x88(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x88(%rbp)
jmp 0x2848d
movq -0x990(%rbp), %rdi
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x78(%rbp), %xmm0
mulsd -0x78(%rbp), %xmm0
movsd %xmm0, -0xa18(%rbp)
addq $0x68, %rdi
movslq -0x84(%rbp), %rsi
callq 0x587e0
movsd -0xa18(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0x2845b
jmp 0x2aca1
leaq -0xa8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58b40
leaq -0xa8(%rbp), %rdi
callq 0x58b80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd %xmm0, -0xa20(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd %xmm0, -0xa28(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xa28(%rbp), %xmm1
movsd -0xa20(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x288b0
movq -0x18(%rbp), %rdi
movslq -0xbc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0xb0(%rbp)
movl $0x0, -0xc0(%rbp)
movl -0xc0(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x28847
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0xc0(%rbp), %rsi
movl -0xbc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xa38(%rbp)
movslq -0xc0(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
callq 0x58bb0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xa40(%rbp)
addq $0x50, %rdi
movslq -0xc0(%rbp), %rsi
movl -0xbc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xa40(%rbp), %xmm2
movsd -0xa38(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0xb8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd %xmm0, -0xa30(%rbp)
movslq -0xc0(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
callq 0x58bb0
movsd -0xa30(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0xc0(%rbp), %rsi
movl -0xbc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0xc8(%rbp), %xmm2
movsd -0xb0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movl -0xc0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc0(%rbp)
jmp 0x286f6
movq -0x990(%rbp), %rdi
movsd -0xb0(%rbp), %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb0(%rbp), %xmm0
mulsd -0xb0(%rbp), %xmm0
movsd %xmm0, -0xa48(%rbp)
addq $0x68, %rdi
movslq -0xbc(%rbp), %rsi
callq 0x587e0
movsd -0xa48(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0x286c1
jmp 0x2aca1
leaq -0xf0(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58c40
leaq -0xf0(%rbp), %rdi
callq 0x58c80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x100(%rbp), %xmm0
movsd %xmm0, -0xa50(%rbp)
movsd -0x100(%rbp), %xmm0
movsd %xmm0, -0xa58(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xa58(%rbp), %xmm1
movsd -0xa50(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x104(%rbp)
movl -0x104(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x28b34
movq -0x18(%rbp), %rdi
movslq -0x104(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0xf8(%rbp)
movl $0x0, -0x108(%rbp)
movl -0x108(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x28acb
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x108(%rbp), %rsi
movl -0x104(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xa68(%rbp)
movslq -0x108(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0x58cb0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xa70(%rbp)
addq $0x50, %rdi
movslq -0x108(%rbp), %rsi
movl -0x104(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xa70(%rbp), %xmm2
movsd -0xa68(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x100(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd %xmm0, -0xa60(%rbp)
movslq -0x108(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0x58cb0
movsd -0xa60(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x108(%rbp), %rsi
movl -0x104(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x110(%rbp), %xmm2
movsd -0xf8(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movl -0x108(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x108(%rbp)
jmp 0x2897a
movq -0x990(%rbp), %rdi
movsd -0xf8(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0xf8(%rbp), %xmm0
mulsd -0xf8(%rbp), %xmm0
movsd %xmm0, -0xa78(%rbp)
addq $0x68, %rdi
movslq -0x104(%rbp), %rsi
callq 0x587e0
movsd -0xa78(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
jmp 0x28945
jmp 0x2aca1
leaq -0x138(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58d40
leaq -0x138(%rbp), %rdi
callq 0x58d80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x148(%rbp)
movsd -0x148(%rbp), %xmm0
movsd %xmm0, -0xa80(%rbp)
movsd -0x148(%rbp), %xmm0
movsd %xmm0, -0xa88(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xa88(%rbp), %xmm1
movsd -0xa80(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x14c(%rbp)
movl -0x14c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x28db8
movq -0x18(%rbp), %rdi
movslq -0x14c(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x140(%rbp)
movl $0x0, -0x150(%rbp)
movl -0x150(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x28d4f
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x150(%rbp), %rsi
movl -0x14c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xa98(%rbp)
movslq -0x150(%rbp), %rsi
leaq -0x138(%rbp), %rdi
callq 0x58db0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xaa0(%rbp)
addq $0x50, %rdi
movslq -0x150(%rbp), %rsi
movl -0x14c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xaa0(%rbp), %xmm2
movsd -0xa98(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x148(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x158(%rbp)
movsd -0x158(%rbp), %xmm0
movsd %xmm0, -0xa90(%rbp)
movslq -0x150(%rbp), %rsi
leaq -0x138(%rbp), %rdi
callq 0x58db0
movsd -0xa90(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x150(%rbp), %rsi
movl -0x14c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x158(%rbp), %xmm2
movsd -0x140(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x140(%rbp)
movl -0x150(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x150(%rbp)
jmp 0x28bfe
movq -0x990(%rbp), %rdi
movsd -0x140(%rbp), %xmm0
movsd %xmm0, -0x148(%rbp)
movsd -0x140(%rbp), %xmm0
mulsd -0x140(%rbp), %xmm0
movsd %xmm0, -0xaa8(%rbp)
addq $0x68, %rdi
movslq -0x14c(%rbp), %rsi
callq 0x587e0
movsd -0xaa8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x14c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14c(%rbp)
jmp 0x28bc9
jmp 0x2aca1
leaq -0x190(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58e40
leaq -0x190(%rbp), %rdi
callq 0x58e80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x1a0(%rbp)
movsd -0x1a0(%rbp), %xmm0
movsd %xmm0, -0xab0(%rbp)
movsd -0x1a0(%rbp), %xmm0
movsd %xmm0, -0xab8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xab8(%rbp), %xmm1
movsd -0xab0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x1a4(%rbp)
movl -0x1a4(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2903c
movq -0x18(%rbp), %rdi
movslq -0x1a4(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x198(%rbp)
movl $0x0, -0x1a8(%rbp)
movl -0x1a8(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x28fd3
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x1a8(%rbp), %rsi
movl -0x1a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xac8(%rbp)
movslq -0x1a8(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x58eb0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xad0(%rbp)
addq $0x50, %rdi
movslq -0x1a8(%rbp), %rsi
movl -0x1a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xad0(%rbp), %xmm2
movsd -0xac8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x1a0(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x1b0(%rbp)
movsd -0x1b0(%rbp), %xmm0
movsd %xmm0, -0xac0(%rbp)
movslq -0x1a8(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x58eb0
movsd -0xac0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x1a8(%rbp), %rsi
movl -0x1a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x1b0(%rbp), %xmm2
movsd -0x198(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x198(%rbp)
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x28e82
movq -0x990(%rbp), %rdi
movsd -0x198(%rbp), %xmm0
movsd %xmm0, -0x1a0(%rbp)
movsd -0x198(%rbp), %xmm0
mulsd -0x198(%rbp), %xmm0
movsd %xmm0, -0xad8(%rbp)
addq $0x68, %rdi
movslq -0x1a4(%rbp), %rsi
callq 0x587e0
movsd -0xad8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x1a4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a4(%rbp)
jmp 0x28e4d
jmp 0x2aca1
leaq -0x1e8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x58f40
leaq -0x1e8(%rbp), %rdi
callq 0x58f80
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsd -0x1f8(%rbp), %xmm0
movsd %xmm0, -0xae0(%rbp)
movsd -0x1f8(%rbp), %xmm0
movsd %xmm0, -0xae8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xae8(%rbp), %xmm1
movsd -0xae0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x292c0
movq -0x18(%rbp), %rdi
movslq -0x1fc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x1f0(%rbp)
movl $0x0, -0x200(%rbp)
movl -0x200(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x29257
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x200(%rbp), %rsi
movl -0x1fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xaf8(%rbp)
movslq -0x200(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x58fb0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xb00(%rbp)
addq $0x50, %rdi
movslq -0x200(%rbp), %rsi
movl -0x1fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xb00(%rbp), %xmm2
movsd -0xaf8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x1f8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x208(%rbp)
movsd -0x208(%rbp), %xmm0
movsd %xmm0, -0xaf0(%rbp)
movslq -0x200(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x58fb0
movsd -0xaf0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x200(%rbp), %rsi
movl -0x1fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x208(%rbp), %xmm2
movsd -0x1f0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x1f0(%rbp)
movl -0x200(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x200(%rbp)
jmp 0x29106
movq -0x990(%rbp), %rdi
movsd -0x1f0(%rbp), %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsd -0x1f0(%rbp), %xmm0
mulsd -0x1f0(%rbp), %xmm0
movsd %xmm0, -0xb08(%rbp)
addq $0x68, %rdi
movslq -0x1fc(%rbp), %rsi
callq 0x587e0
movsd -0xb08(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x1fc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1fc(%rbp)
jmp 0x290d1
jmp 0x2aca1
leaq -0x250(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59040
leaq -0x250(%rbp), %rdi
callq 0x59080
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x260(%rbp)
movsd -0x260(%rbp), %xmm0
movsd %xmm0, -0xb10(%rbp)
movsd -0x260(%rbp), %xmm0
movsd %xmm0, -0xb18(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xb18(%rbp), %xmm1
movsd -0xb10(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x264(%rbp)
movl -0x264(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x29544
movq -0x18(%rbp), %rdi
movslq -0x264(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x258(%rbp)
movl $0x0, -0x268(%rbp)
movl -0x268(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x294db
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x268(%rbp), %rsi
movl -0x264(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xb28(%rbp)
movslq -0x268(%rbp), %rsi
leaq -0x250(%rbp), %rdi
callq 0x590b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xb30(%rbp)
addq $0x50, %rdi
movslq -0x268(%rbp), %rsi
movl -0x264(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xb30(%rbp), %xmm2
movsd -0xb28(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x260(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x270(%rbp)
movsd -0x270(%rbp), %xmm0
movsd %xmm0, -0xb20(%rbp)
movslq -0x268(%rbp), %rsi
leaq -0x250(%rbp), %rdi
callq 0x590b0
movsd -0xb20(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x268(%rbp), %rsi
movl -0x264(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x270(%rbp), %xmm2
movsd -0x258(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x258(%rbp)
movl -0x268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x268(%rbp)
jmp 0x2938a
movq -0x990(%rbp), %rdi
movsd -0x258(%rbp), %xmm0
movsd %xmm0, -0x260(%rbp)
movsd -0x258(%rbp), %xmm0
mulsd -0x258(%rbp), %xmm0
movsd %xmm0, -0xb38(%rbp)
addq $0x68, %rdi
movslq -0x264(%rbp), %rsi
callq 0x587e0
movsd -0xb38(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x264(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x264(%rbp)
jmp 0x29355
jmp 0x2aca1
leaq -0x2b8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59140
leaq -0x2b8(%rbp), %rdi
callq 0x59180
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x2c8(%rbp)
movsd -0x2c8(%rbp), %xmm0
movsd %xmm0, -0xb40(%rbp)
movsd -0x2c8(%rbp), %xmm0
movsd %xmm0, -0xb48(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xb48(%rbp), %xmm1
movsd -0xb40(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x2cc(%rbp)
movl -0x2cc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x297c8
movq -0x18(%rbp), %rdi
movslq -0x2cc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x2c0(%rbp)
movl $0x0, -0x2d0(%rbp)
movl -0x2d0(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2975f
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x2d0(%rbp), %rsi
movl -0x2cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xb58(%rbp)
movslq -0x2d0(%rbp), %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x591b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xb60(%rbp)
addq $0x50, %rdi
movslq -0x2d0(%rbp), %rsi
movl -0x2cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xb60(%rbp), %xmm2
movsd -0xb58(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x2c8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x2d8(%rbp)
movsd -0x2d8(%rbp), %xmm0
movsd %xmm0, -0xb50(%rbp)
movslq -0x2d0(%rbp), %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x591b0
movsd -0xb50(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x2d0(%rbp), %rsi
movl -0x2cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x2d8(%rbp), %xmm2
movsd -0x2c0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x2c0(%rbp)
movl -0x2d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2d0(%rbp)
jmp 0x2960e
movq -0x990(%rbp), %rdi
movsd -0x2c0(%rbp), %xmm0
movsd %xmm0, -0x2c8(%rbp)
movsd -0x2c0(%rbp), %xmm0
mulsd -0x2c0(%rbp), %xmm0
movsd %xmm0, -0xb68(%rbp)
addq $0x68, %rdi
movslq -0x2cc(%rbp), %rsi
callq 0x587e0
movsd -0xb68(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x2cc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2cc(%rbp)
jmp 0x295d9
jmp 0x2aca1
leaq -0x330(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59240
leaq -0x330(%rbp), %rdi
callq 0x59280
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x340(%rbp)
movsd -0x340(%rbp), %xmm0
movsd %xmm0, -0xb70(%rbp)
movsd -0x340(%rbp), %xmm0
movsd %xmm0, -0xb78(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xb78(%rbp), %xmm1
movsd -0xb70(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x344(%rbp)
movl -0x344(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x29a4c
movq -0x18(%rbp), %rdi
movslq -0x344(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x338(%rbp)
movl $0x0, -0x348(%rbp)
movl -0x348(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x299e3
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x348(%rbp), %rsi
movl -0x344(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xb88(%rbp)
movslq -0x348(%rbp), %rsi
leaq -0x330(%rbp), %rdi
callq 0x592b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xb90(%rbp)
addq $0x50, %rdi
movslq -0x348(%rbp), %rsi
movl -0x344(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xb90(%rbp), %xmm2
movsd -0xb88(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x340(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x350(%rbp)
movsd -0x350(%rbp), %xmm0
movsd %xmm0, -0xb80(%rbp)
movslq -0x348(%rbp), %rsi
leaq -0x330(%rbp), %rdi
callq 0x592b0
movsd -0xb80(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x348(%rbp), %rsi
movl -0x344(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x350(%rbp), %xmm2
movsd -0x338(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x338(%rbp)
movl -0x348(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x348(%rbp)
jmp 0x29892
movq -0x990(%rbp), %rdi
movsd -0x338(%rbp), %xmm0
movsd %xmm0, -0x340(%rbp)
movsd -0x338(%rbp), %xmm0
mulsd -0x338(%rbp), %xmm0
movsd %xmm0, -0xb98(%rbp)
addq $0x68, %rdi
movslq -0x344(%rbp), %rsi
callq 0x587e0
movsd -0xb98(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x344(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x344(%rbp)
jmp 0x2985d
jmp 0x2aca1
leaq -0x3a8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59340
leaq -0x3a8(%rbp), %rdi
callq 0x59380
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x3b8(%rbp)
movsd -0x3b8(%rbp), %xmm0
movsd %xmm0, -0xba0(%rbp)
movsd -0x3b8(%rbp), %xmm0
movsd %xmm0, -0xba8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xba8(%rbp), %xmm1
movsd -0xba0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x3bc(%rbp)
movl -0x3bc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x29cd0
movq -0x18(%rbp), %rdi
movslq -0x3bc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x3b0(%rbp)
movl $0x0, -0x3c0(%rbp)
movl -0x3c0(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x29c67
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x3c0(%rbp), %rsi
movl -0x3bc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xbb8(%rbp)
movslq -0x3c0(%rbp), %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x593b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xbc0(%rbp)
addq $0x50, %rdi
movslq -0x3c0(%rbp), %rsi
movl -0x3bc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xbc0(%rbp), %xmm2
movsd -0xbb8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x3b8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x3c8(%rbp)
movsd -0x3c8(%rbp), %xmm0
movsd %xmm0, -0xbb0(%rbp)
movslq -0x3c0(%rbp), %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x593b0
movsd -0xbb0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x3c0(%rbp), %rsi
movl -0x3bc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x3c8(%rbp), %xmm2
movsd -0x3b0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x3b0(%rbp)
movl -0x3c0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c0(%rbp)
jmp 0x29b16
movq -0x990(%rbp), %rdi
movsd -0x3b0(%rbp), %xmm0
movsd %xmm0, -0x3b8(%rbp)
movsd -0x3b0(%rbp), %xmm0
mulsd -0x3b0(%rbp), %xmm0
movsd %xmm0, -0xbc8(%rbp)
addq $0x68, %rdi
movslq -0x3bc(%rbp), %rsi
callq 0x587e0
movsd -0xbc8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x3bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3bc(%rbp)
jmp 0x29ae1
jmp 0x2aca1
leaq -0x430(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59440
leaq -0x430(%rbp), %rdi
callq 0x59480
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x440(%rbp)
movsd -0x440(%rbp), %xmm0
movsd %xmm0, -0xbd0(%rbp)
movsd -0x440(%rbp), %xmm0
movsd %xmm0, -0xbd8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xbd8(%rbp), %xmm1
movsd -0xbd0(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x444(%rbp)
movl -0x444(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x29f54
movq -0x18(%rbp), %rdi
movslq -0x444(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x438(%rbp)
movl $0x0, -0x448(%rbp)
movl -0x448(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x29eeb
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x448(%rbp), %rsi
movl -0x444(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xbe8(%rbp)
movslq -0x448(%rbp), %rsi
leaq -0x430(%rbp), %rdi
callq 0x594b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xbf0(%rbp)
addq $0x50, %rdi
movslq -0x448(%rbp), %rsi
movl -0x444(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xbf0(%rbp), %xmm2
movsd -0xbe8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x440(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x450(%rbp)
movsd -0x450(%rbp), %xmm0
movsd %xmm0, -0xbe0(%rbp)
movslq -0x448(%rbp), %rsi
leaq -0x430(%rbp), %rdi
callq 0x594b0
movsd -0xbe0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x448(%rbp), %rsi
movl -0x444(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x450(%rbp), %xmm2
movsd -0x438(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x438(%rbp)
movl -0x448(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x448(%rbp)
jmp 0x29d9a
movq -0x990(%rbp), %rdi
movsd -0x438(%rbp), %xmm0
movsd %xmm0, -0x440(%rbp)
movsd -0x438(%rbp), %xmm0
mulsd -0x438(%rbp), %xmm0
movsd %xmm0, -0xbf8(%rbp)
addq $0x68, %rdi
movslq -0x444(%rbp), %rsi
callq 0x587e0
movsd -0xbf8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x444(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x444(%rbp)
jmp 0x29d65
jmp 0x2aca1
leaq -0x4b8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59540
leaq -0x4b8(%rbp), %rdi
callq 0x59580
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x4c8(%rbp)
movsd -0x4c8(%rbp), %xmm0
movsd %xmm0, -0xc00(%rbp)
movsd -0x4c8(%rbp), %xmm0
movsd %xmm0, -0xc08(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xc08(%rbp), %xmm1
movsd -0xc00(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x4cc(%rbp)
movl -0x4cc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2a1d8
movq -0x18(%rbp), %rdi
movslq -0x4cc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x4c0(%rbp)
movl $0x0, -0x4d0(%rbp)
movl -0x4d0(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2a16f
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x4d0(%rbp), %rsi
movl -0x4cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xc18(%rbp)
movslq -0x4d0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x595b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xc20(%rbp)
addq $0x50, %rdi
movslq -0x4d0(%rbp), %rsi
movl -0x4cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xc20(%rbp), %xmm2
movsd -0xc18(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x4c8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x4d8(%rbp)
movsd -0x4d8(%rbp), %xmm0
movsd %xmm0, -0xc10(%rbp)
movslq -0x4d0(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
callq 0x595b0
movsd -0xc10(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x4d0(%rbp), %rsi
movl -0x4cc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x4d8(%rbp), %xmm2
movsd -0x4c0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x4c0(%rbp)
movl -0x4d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4d0(%rbp)
jmp 0x2a01e
movq -0x990(%rbp), %rdi
movsd -0x4c0(%rbp), %xmm0
movsd %xmm0, -0x4c8(%rbp)
movsd -0x4c0(%rbp), %xmm0
mulsd -0x4c0(%rbp), %xmm0
movsd %xmm0, -0xc28(%rbp)
addq $0x68, %rdi
movslq -0x4cc(%rbp), %rsi
callq 0x587e0
movsd -0xc28(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x4cc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4cc(%rbp)
jmp 0x29fe9
jmp 0x2aca1
leaq -0x550(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59640
leaq -0x550(%rbp), %rdi
callq 0x59680
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x560(%rbp)
movsd -0x560(%rbp), %xmm0
movsd %xmm0, -0xc30(%rbp)
movsd -0x560(%rbp), %xmm0
movsd %xmm0, -0xc38(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xc38(%rbp), %xmm1
movsd -0xc30(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x564(%rbp)
movl -0x564(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2a45c
movq -0x18(%rbp), %rdi
movslq -0x564(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x558(%rbp)
movl $0x0, -0x568(%rbp)
movl -0x568(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2a3f3
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x568(%rbp), %rsi
movl -0x564(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xc48(%rbp)
movslq -0x568(%rbp), %rsi
leaq -0x550(%rbp), %rdi
callq 0x596b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xc50(%rbp)
addq $0x50, %rdi
movslq -0x568(%rbp), %rsi
movl -0x564(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xc50(%rbp), %xmm2
movsd -0xc48(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x560(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x570(%rbp)
movsd -0x570(%rbp), %xmm0
movsd %xmm0, -0xc40(%rbp)
movslq -0x568(%rbp), %rsi
leaq -0x550(%rbp), %rdi
callq 0x596b0
movsd -0xc40(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x568(%rbp), %rsi
movl -0x564(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x570(%rbp), %xmm2
movsd -0x558(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x558(%rbp)
movl -0x568(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x568(%rbp)
jmp 0x2a2a2
movq -0x990(%rbp), %rdi
movsd -0x558(%rbp), %xmm0
movsd %xmm0, -0x560(%rbp)
movsd -0x558(%rbp), %xmm0
mulsd -0x558(%rbp), %xmm0
movsd %xmm0, -0xc58(%rbp)
addq $0x68, %rdi
movslq -0x564(%rbp), %rsi
callq 0x587e0
movsd -0xc58(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x564(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x564(%rbp)
jmp 0x2a26d
jmp 0x2aca1
leaq -0x5e8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59740
leaq -0x5e8(%rbp), %rdi
callq 0x59780
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x5f8(%rbp)
movsd -0x5f8(%rbp), %xmm0
movsd %xmm0, -0xc60(%rbp)
movsd -0x5f8(%rbp), %xmm0
movsd %xmm0, -0xc68(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xc68(%rbp), %xmm1
movsd -0xc60(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x5fc(%rbp)
movl -0x5fc(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2a6e0
movq -0x18(%rbp), %rdi
movslq -0x5fc(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x5f0(%rbp)
movl $0x0, -0x600(%rbp)
movl -0x600(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2a677
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x600(%rbp), %rsi
movl -0x5fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xc78(%rbp)
movslq -0x600(%rbp), %rsi
leaq -0x5e8(%rbp), %rdi
callq 0x597b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xc80(%rbp)
addq $0x50, %rdi
movslq -0x600(%rbp), %rsi
movl -0x5fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xc80(%rbp), %xmm2
movsd -0xc78(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x5f8(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x608(%rbp)
movsd -0x608(%rbp), %xmm0
movsd %xmm0, -0xc70(%rbp)
movslq -0x600(%rbp), %rsi
leaq -0x5e8(%rbp), %rdi
callq 0x597b0
movsd -0xc70(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x600(%rbp), %rsi
movl -0x5fc(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x608(%rbp), %xmm2
movsd -0x5f0(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x5f0(%rbp)
movl -0x600(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x600(%rbp)
jmp 0x2a526
movq -0x990(%rbp), %rdi
movsd -0x5f0(%rbp), %xmm0
movsd %xmm0, -0x5f8(%rbp)
movsd -0x5f0(%rbp), %xmm0
mulsd -0x5f0(%rbp), %xmm0
movsd %xmm0, -0xc88(%rbp)
addq $0x68, %rdi
movslq -0x5fc(%rbp), %rsi
callq 0x587e0
movsd -0xc88(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x5fc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5fc(%rbp)
jmp 0x2a4f1
jmp 0x2aca1
leaq -0x690(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x59840
leaq -0x690(%rbp), %rdi
callq 0x59880
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x6a0(%rbp)
movsd -0x6a0(%rbp), %xmm0
movsd %xmm0, -0xc90(%rbp)
movsd -0x6a0(%rbp), %xmm0
movsd %xmm0, -0xc98(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movsd -0xc98(%rbp), %xmm1
movsd -0xc90(%rbp), %xmm0
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x6a4(%rbp)
movl -0x6a4(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2a964
movq -0x18(%rbp), %rdi
movslq -0x6a4(%rbp), %rsi
callq 0x587e0
movsd (%rax), %xmm0
movsd %xmm0, -0x698(%rbp)
movl $0x0, -0x6a8(%rbp)
movl -0x6a8(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2a8fb
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x6a8(%rbp), %rsi
movl -0x6a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd %xmm0, -0xca8(%rbp)
movslq -0x6a8(%rbp), %rsi
leaq -0x690(%rbp), %rdi
callq 0x598b0
movq -0x990(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xcb0(%rbp)
addq $0x50, %rdi
movslq -0x6a8(%rbp), %rsi
movl -0x6a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd -0xcb0(%rbp), %xmm2
movsd -0xca8(%rbp), %xmm0
movsd (%rax), %xmm1
movsd -0x6a0(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x6b0(%rbp)
movsd -0x6b0(%rbp), %xmm0
movsd %xmm0, -0xca0(%rbp)
movslq -0x6a8(%rbp), %rsi
leaq -0x690(%rbp), %rdi
callq 0x598b0
movsd -0xca0(%rbp), %xmm0
movq -0x990(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x6a8(%rbp), %rsi
movl -0x6a4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
callq 0x588f0
movsd (%rax), %xmm0
movsd -0x6b0(%rbp), %xmm2
movsd -0x698(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x698(%rbp)
movl -0x6a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6a8(%rbp)
jmp 0x2a7aa
movq -0x990(%rbp), %rdi
movsd -0x698(%rbp), %xmm0
movsd %xmm0, -0x6a0(%rbp)
movsd -0x698(%rbp), %xmm0
mulsd -0x698(%rbp), %xmm0
movsd %xmm0, -0xcb8(%rbp)
addq $0x68, %rdi
movslq -0x6a4(%rbp), %rsi
callq 0x587e0
movsd -0xcb8(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x6a4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6a4(%rbp)
jmp 0x2a775
jmp 0x2aca1
leaq -0x6c0(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x27330
movq -0xcc0(%rbp), %rdi
callq 0x59940
jmp 0x2a98e
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq %rax, -0xcc8(%rbp)
jmp 0x2a9a4
movq -0x990(%rbp), %rdi
movq -0xcc8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x6e0(%rbp)
movsd -0x6e0(%rbp), %xmm0
movsd %xmm0, -0xce0(%rbp)
movsd %xmm0, -0xcd8(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq %rax, -0xcd0(%rbp)
jmp 0x2a9ec
movsd -0xcd8(%rbp), %xmm0
movq -0xcd0(%rbp), %rax
movsd -0xce0(%rbp), %xmm1
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x6e4(%rbp)
movl -0x6e4(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2ac95
movq -0x18(%rbp), %rdi
movslq -0x6e4(%rbp), %rsi
callq 0x587e0
movq %rax, -0xce8(%rbp)
jmp 0x2aa42
movq -0xce8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x6d8(%rbp)
movl $0x0, -0x6e8(%rbp)
movl -0x6e8(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x2ac20
movq -0x990(%rbp), %rdi
addq $0x38, %rdi
movslq -0x6e8(%rbp), %rsi
movl -0x6e4(%rbp), %eax
decl %eax
movslq %eax, %rdx
callq 0x588f0
movq %rax, -0xcf0(%rbp)
jmp 0x2aa99
movq -0xcf0(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd00(%rbp)
movslq -0x6e8(%rbp), %rsi
leaq -0x6c0(%rbp), %rdi
callq 0x275d0
movq %rax, -0xcf8(%rbp)
jmp 0x2aac8
movq -0x990(%rbp), %rdi
movq -0xcf8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd10(%rbp)
addq $0x50, %rdi
movslq -0x6e8(%rbp), %rsi
movl -0x6e4(%rbp), %eax
decl %eax
movslq %eax, %rdx
callq 0x588f0
movq %rax, -0xd08(%rbp)
jmp 0x2ab06
movsd -0xd00(%rbp), %xmm0
movsd -0xd10(%rbp), %xmm2
movq -0xd08(%rbp), %rax
movsd (%rax), %xmm1
movsd -0x6e0(%rbp), %xmm3
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x6f0(%rbp)
movsd -0x6f0(%rbp), %xmm0
movsd %xmm0, -0xd20(%rbp)
movslq -0x6e8(%rbp), %rsi
leaq -0x6c0(%rbp), %rdi
callq 0x275d0
movq %rax, -0xd18(%rbp)
jmp 0x2ab69
movq -0x990(%rbp), %rdi
movq -0xd18(%rbp), %rax
movsd -0xd20(%rbp), %xmm0
movsd %xmm0, (%rax)
addq $0x20, %rdi
movslq -0x6e8(%rbp), %rsi
movl -0x6e4(%rbp), %eax
decl %eax
movslq %eax, %rdx
callq 0x588f0
movq %rax, -0xd28(%rbp)
jmp 0x2aba7
movq -0xd28(%rbp), %rax
movsd (%rax), %xmm0
movsd -0x6f0(%rbp), %xmm2
movsd -0x6d8(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x6d8(%rbp)
movl -0x6e8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6e8(%rbp)
jmp 0x2aa5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x6c8(%rbp)
movl %eax, -0x6cc(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x278c0
jmp 0x2af73
movq -0x990(%rbp), %rdi
movsd -0x6d8(%rbp), %xmm0
movsd %xmm0, -0x6e0(%rbp)
movsd -0x6d8(%rbp), %xmm0
mulsd %xmm0, %xmm0
movsd %xmm0, -0xd38(%rbp)
addq $0x68, %rdi
movslq -0x6e4(%rbp), %rsi
callq 0x587e0
movq %rax, -0xd30(%rbp)
jmp 0x2ac64
movq -0xd30(%rbp), %rax
movsd -0xd38(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x6e4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6e4(%rbp)
jmp 0x2aa1a
leaq -0x6c0(%rbp), %rdi
callq 0x278c0
jmp 0x2af5b
leaq -0x700(%rbp), %rdi
movq %rdi, -0xd40(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x27330
movq -0xd40(%rbp), %rdi
callq 0x59940
jmp 0x2accb
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq %rax, -0xd48(%rbp)
jmp 0x2ace1
movq -0x990(%rbp), %rdi
movq -0xd48(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x708(%rbp)
movsd -0x708(%rbp), %xmm0
movsd %xmm0, -0xd60(%rbp)
movsd %xmm0, -0xd58(%rbp)
addq $0x68, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x587e0
movq %rax, -0xd50(%rbp)
jmp 0x2ad29
movsd -0xd58(%rbp), %xmm0
movq -0xd50(%rbp), %rax
movsd -0xd60(%rbp), %xmm1
divsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movl $0x1, -0x70c(%rbp)
movl -0x70c(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x2af4f
movq -0x990(%rbp), %rsi
addq $0x38, %rsi
movl -0x70c(%rbp), %eax
decl %eax
movslq %eax, %rdx
leaq -0x820(%rbp), %rdi
callq 0x59970
jmp 0x2ad8a
leaq -0x7e8(%rbp), %rdi
leaq -0x820(%rbp), %rsi
callq 0x599c0
jmp 0x2ad9f
movq -0x990(%rbp), %rsi
addq $0x50, %rsi
movl -0x70c(%rbp), %eax
decl %eax
movslq %eax, %rdx
leaq -0x918(%rbp), %rdi
callq 0x59970
jmp 0x2adc3
leaq -0x8e0(%rbp), %rdi
leaq -0x918(%rbp), %rsi
leaq -0x708(%rbp), %rdx
callq 0x59ac0
jmp 0x2addf
leaq -0x888(%rbp), %rdi
leaq -0x700(%rbp), %rsi
leaq -0x8e0(%rbp), %rdx
callq 0x59a50
jmp 0x2adfb
leaq -0x7b0(%rbp), %rdi
leaq -0x7e8(%rbp), %rsi
leaq -0x888(%rbp), %rdx
callq 0x59a00
jmp 0x2ae17
leaq -0x700(%rbp), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x59b70
jmp 0x2ae2c
movq -0x18(%rbp), %rdi
movslq -0x70c(%rbp), %rsi
callq 0x587e0
movq %rax, -0xd68(%rbp)
jmp 0x2ae45
movq -0x990(%rbp), %rsi
movq -0xd68(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xd70(%rbp)
addq $0x20, %rsi
movl -0x70c(%rbp), %eax
decl %eax
movslq %eax, %rdx
leaq -0x988(%rbp), %rdi
callq 0x59970
jmp 0x2ae7c
leaq -0x950(%rbp), %rdi
leaq -0x988(%rbp), %rsi
callq 0x59ba0
jmp 0x2ae91
leaq -0x950(%rbp), %rdi
leaq -0x700(%rbp), %rsi
callq 0x59be0
movsd %xmm0, -0xd78(%rbp)
jmp 0x2aeae
movq -0x990(%rbp), %rdi
movsd -0xd78(%rbp), %xmm1
movsd -0xd70(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x708(%rbp)
movsd -0x708(%rbp), %xmm0
mulsd %xmm0, %xmm0
movsd %xmm0, -0xd88(%rbp)
addq $0x68, %rdi
movslq -0x70c(%rbp), %rsi
callq 0x587e0
movq %rax, -0xd80(%rbp)
jmp 0x2aefe
movq -0xd80(%rbp), %rax
movsd -0xd88(%rbp), %xmm0
divsd (%rax), %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x70c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70c(%rbp)
jmp 0x2ad57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x6c8(%rbp)
movl %eax, -0x6cc(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x278c0
jmp 0x2af73
leaq -0x700(%rbp), %rdi
callq 0x278c0
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0xd90, %rsp            # imm = 0xD90
popq %rbp
retq
movq -0x6c8(%rbp), %rdi
callq 0x6830
nop