user: Converte this assembly snippet into its equivalent C code:

```asm
<rotMatrixCCOVsubrtn>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x98,%rsp
  movsd  (%rsi),%xmm1
  movsd  0x8(%rsi),%xmm2
  movsd  0x10(%rsi),%xmm0
  mov    0xd0(%rsp),%r12
  mulsd  %xmm2,%xmm2
  mov    0xe0(%rsp),%rbp
  mov    0xd8(%rsp),%rbx
  mulsd  %xmm1,%xmm1
  mulsd  %xmm0,%xmm0
  addsd  %xmm2,%xmm1
  addsd  %xmm0,%xmm1
  movsd  %xmm1,(%r12)
  movsd  0x18(%rsi),%xmm2
  movsd  0x20(%rsi),%xmm3
  movsd  0x28(%rsi),%xmm0
  mulsd  %xmm3,%xmm3
  mulsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x8(%r12)
  movsd  0x30(%rsi),%xmm0
  movsd  0x38(%rsi),%xmm4
  movsd  0x40(%rsi),%xmm3
  mulsd  %xmm4,%xmm4
  mulsd  %xmm0,%xmm0
  mulsd  %xmm3,%xmm3
  addsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm3
  movsd  %xmm3,0x10(%r12)
  movsd  (%rsi),%xmm0
  movsd  0x8(%rsi),%xmm4
  addsd  %xmm3,%xmm2
  mulsd  0x20(%rsi),%xmm4
  mulsd  0x18(%rsi),%xmm0
  movapd %xmm2,%xmm3
  addsd  %xmm1,%xmm3
  addsd  %xmm4,%xmm0
  movsd  0x28(%rsi),%xmm4
  mulsd  0x10(%rsi),%xmm4
  addsd  %xmm4,%xmm0
  movsd  %xmm0,0x18(%r12)
  movsd  0x18(%rsi),%xmm0
  movsd  0x20(%rsi),%xmm4
  mulsd  0x30(%rsi),%xmm0
  mulsd  0x38(%rsi),%xmm4
  addsd  %xmm4,%xmm0
  movsd  0x28(%rsi),%xmm4
  mulsd  0x40(%rsi),%xmm4
  addsd  %xmm4,%xmm0
  movsd  %xmm0,0x20(%r12)
  movsd  (%rsi),%xmm0
  movsd  0x8(%rsi),%xmm4
  mulsd  0x30(%rsi),%xmm0
  mulsd  0x38(%rsi),%xmm4
  addsd  %xmm4,%xmm0
  movsd  0x10(%rsi),%xmm4
  mulsd  0x40(%rsi),%xmm4
  addsd  %xmm4,%xmm0
  movsd  %xmm0,0x28(%r12)
  movsd  %xmm3,0x0(%rbp)
  movsd  0x28(%r12),%xmm0
  movsd  0x20(%r12),%xmm4
  movsd  0x10(%r12),%xmm2
  movsd  0x8(%r12),%xmm7
  mulsd  %xmm4,%xmm4
  movsd  (%r12),%xmm8
  movsd  0x18(%r12),%xmm1
  mulsd  %xmm0,%xmm0
  mulsd  %xmm1,%xmm1
  addsd  %xmm4,%xmm0
  movapd %xmm2,%xmm4
  mulsd  %xmm7,%xmm4
  mulsd  %xmm8,%xmm2
  mulsd  %xmm8,%xmm7
  movapd %xmm0,%xmm5
  subsd  %xmm4,%xmm5
  subsd  %xmm2,%xmm5
  movsd  D202(%rip),%xmm2
  addsd  %xmm1,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x8(%rbp)
  movsd  0x28(%r12),%xmm10
  movsd  0x18(%r12),%xmm9
  movsd  0x20(%r12),%xmm0
  movsd  0x8(%r12),%xmm1
  mulsd  %xmm10,%xmm2
  movsd  (%r12),%xmm4
  movsd  0x10(%r12),%xmm8
  mulsd  %xmm10,%xmm10
  mulsd  %xmm9,%xmm2
  mulsd  %xmm1,%xmm10
  mulsd  %xmm8,%xmm1
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  %xmm4,%xmm1
  addsd  %xmm10,%xmm2
  mulsd  %xmm4,%xmm0
  movsd  D221(%rip),%xmm4
  addsd  %xmm0,%xmm2
  movapd %xmm9,%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  %xmm9,%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm3,%xmm0
  mulsd  %xmm3,%xmm0
  subsd  %xmm1,%xmm2
  movapd %xmm5,%xmm1
  mulsd  %xmm4,%xmm1
  movsd  %xmm2,0x10(%rbp)
  addsd  %xmm1,%xmm0
  movsd  D28(%rip),%xmm1
  comisd %xmm0,%xmm1
  movsd  %xmm0,0x18(%rbp)
  ja     L478
  pxor   %xmm1,%xmm1
  movapd %xmm3,%xmm6
  movapd %xmm5,%xmm7
  ucomisd %xmm0,%xmm1
  movapd %xmm2,%xmm9
  unpcklpd %xmm6,%xmm6
  unpcklpd %xmm7,%xmm7
  unpcklpd %xmm9,%xmm9
  ja     L223
  sqrtsd %xmm0,%xmm0
L10:
  movsd  D157(%rip),%xmm8
  movsd  %xmm0,0x18(%rbp)
  mulsd  %xmm0,%xmm8
  comisd %xmm8,%xmm3
  ja     L478
  movapd %xmm3,%xmm10
  movapd %xmm3,%xmm8
  addsd  %xmm0,%xmm10
  subsd  %xmm0,%xmm8
  unpcklpd %xmm10,%xmm8
  movapd %xmm8,%xmm11
  divpd  D221(%rip),%xmm11
  movapd %xmm11,%xmm10
  movapd %xmm11,%xmm8
  mulpd  %xmm11,%xmm10
  movups %xmm11,0x20(%rbp)
  mulpd  %xmm11,%xmm7
  mulpd  %xmm10,%xmm8
  mulpd  %xmm6,%xmm10
  movapd %xmm8,%xmm6
  subpd  %xmm10,%xmm6
  subpd  %xmm7,%xmm6
  addpd  %xmm9,%xmm6
  movapd %xmm6,%xmm7
  movups %xmm6,0x30(%rbp)
  unpckhpd %xmm7,%xmm7
  movapd %xmm7,%xmm8
  movapd %xmm6,%xmm7
  movapd %xmm8,%xmm6
  addsd  %xmm7,%xmm6
  comisd %xmm1,%xmm6
  jbe    L150
  divsd  %xmm5,%xmm2
  movq   D222(%rip),%xmm3
  movsd  D150(%rip),%xmm5
  mov    $0x32,%eax
  movsd  %xmm2,0x10(%rdx)
  jmp    L113
  nopl   0x0(%rax)
L124:
  sub    $0x1,%eax
  je     L322
L113:
  movapd %xmm2,%xmm7
  movsd  0x0(%rbp),%xmm0
  movsd  %xmm2,0x30(%rbp)
  addsd  %xmm2,%xmm7
  movapd %xmm0,%xmm6
  addsd  %xmm0,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm7
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm2,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm2
  subsd  %xmm2,%xmm0
  addsd  0x8(%rbp),%xmm0
  divsd  %xmm0,%xmm6
  movsd  %xmm6,0x10(%rdx)
  movapd %xmm6,%xmm0
  movapd %xmm6,%xmm2
  subsd  0x30(%rbp),%xmm0
  mulsd  %xmm5,%xmm6
  andpd  %xmm3,%xmm0
  comisd %xmm0,%xmm6
  jbe    L124
L322:
  movsd  0x0(%rbp),%xmm5
  movapd %xmm2,%xmm6
  mulsd  %xmm4,%xmm6
  movapd %xmm5,%xmm0
  addsd  %xmm5,%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm6
  movapd %xmm0,%xmm2
  movapd %xmm5,%xmm0
  mulsd  %xmm5,%xmm0
  subsd  %xmm6,%xmm2
  addsd  %xmm0,%xmm2
  movsd  D2(%rip),%xmm0
  mulsd  0x8(%rbp),%xmm0
  addsd  %xmm0,%xmm2
  comisd %xmm1,%xmm2
  movsd  %xmm2,0x18(%rbp)
  ja     L489
  subsd  0x10(%rdx),%xmm5
  movsd  D52(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  movsd  %xmm0,0x8(%rdx)
  movapd %xmm0,%xmm5
L513:
  movsd  D30(%rip),%xmm2
  movsd  %xmm0,(%rdx)
  mulsd  0x18(%rbp),%xmm2
  comisd %xmm2,%xmm0
  ja     L478
  movapd %xmm0,%xmm7
  movsd  0x0(%rbp),%xmm2
  mov    $0x2,%eax
  mov    $0x2,%r11d
  addsd  %xmm0,%xmm7
  movapd %xmm2,%xmm6
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm0,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm0
  subsd  %xmm0,%xmm2
  addsd  0x8(%rbp),%xmm2
  divsd  %xmm2,%xmm6
  movapd %xmm6,%xmm0
  movsd  %xmm6,(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm0,%xmm7
  addsd  %xmm0,%xmm7
  mulsd  %xmm2,%xmm6
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm7
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm0,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm0
  subsd  %xmm0,%xmm2
  addsd  0x8(%rbp),%xmm2
  divsd  %xmm2,%xmm6
  movsd  %xmm6,(%rdx)
  movapd %xmm5,%xmm6
  movsd  0x0(%rbp),%xmm2
  addsd  %xmm5,%xmm6
  movapd %xmm2,%xmm0
  addsd  %xmm2,%xmm2
  mulsd  %xmm5,%xmm0
  mulsd  %xmm5,%xmm6
  mulsd  %xmm5,%xmm2
  mulsd  %xmm5,%xmm0
  mulsd  %xmm5,%xmm6
  subsd  %xmm6,%xmm0
  movapd %xmm5,%xmm6
  addsd  0x10(%rbp),%xmm0
  mulsd  %xmm4,%xmm6
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm2
  addsd  0x8(%rbp),%xmm2
  divsd  %xmm2,%xmm0
  movapd %xmm0,%xmm6
  movsd  %xmm0,0x8(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm0,%xmm5
  addsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm4
  mulsd  %xmm2,%xmm5
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm4
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm6
  subsd  %xmm4,%xmm2
  addsd  0x8(%rbp),%xmm2
  subsd  %xmm6,%xmm5
  addsd  0x10(%rbp),%xmm5
  divsd  %xmm2,%xmm5
  movsd  %xmm5,0x8(%rdx)
  movq   D171(%rip),%xmm5
  movaps %xmm5,0x50(%rsp)
L102:
  movsd  0x10(%r12),%xmm5
  lea    (%r11,%r11,2),%r10d
  lea    (%rdx,%r11,8),%r11
  movsd  0x8(%r12),%xmm6
  movsd  (%r11),%xmm2
  movsd  0x20(%r12),%xmm4
  movapd %xmm5,%xmm0
  mulsd  %xmm6,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm5
  mulsd  %xmm2,%xmm2
  mulsd  %xmm4,%xmm4
  subsd  %xmm6,%xmm0
  subsd  %xmm5,%xmm0
  addsd  %xmm2,%xmm0
  subsd  %xmm4,%xmm0
  movsd  %xmm0,(%rbx)
  movsd  0x18(%r12),%xmm2
  movsd  0x10(%r12),%xmm5
  mulsd  %xmm0,%xmm0
  movsd  0x20(%r12),%xmm4
  mulsd  0x28(%r12),%xmm4
  mulsd  %xmm2,%xmm5
  mulsd  (%r11),%xmm2
  subsd  %xmm5,%xmm4
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%rbx)
  movsd  0x28(%r12),%xmm5
  movsd  0x8(%r12),%xmm6
  mulsd  %xmm4,%xmm4
  movsd  0x18(%r12),%xmm2
  mulsd  0x20(%r12),%xmm2
  mulsd  %xmm5,%xmm6
  mulsd  (%r11),%xmm5
  addsd  %xmm4,%xmm0
  subsd  %xmm6,%xmm2
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%rbx)
  movsd  0x10(%r12),%xmm8
  mulsd  %xmm2,%xmm2
  movsd  (%r11),%xmm6
  movsd  (%r12),%xmm9
  movsd  0x28(%r12),%xmm7
  movapd %xmm8,%xmm5
  mulsd  %xmm9,%xmm5
  mulsd  %xmm6,%xmm9
  mulsd  %xmm6,%xmm8
  addsd  %xmm2,%xmm0
  mulsd  %xmm6,%xmm6
  mulsd  %xmm7,%xmm7
  subsd  %xmm9,%xmm5
  subsd  %xmm8,%xmm5
  addsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x18(%rbx)
  movsd  0x20(%r12),%xmm5
  movsd  (%r12),%xmm6
  mulsd  %xmm5,%xmm6
  mulsd  (%r11),%xmm5
  subsd  %xmm6,%xmm5
  movsd  0x18(%r12),%xmm6
  mulsd  0x28(%r12),%xmm6
  addsd  %xmm6,%xmm5
  movsd  %xmm5,0x20(%rbx)
  movsd  (%r11),%xmm6
  mov    %r10d,%r11d
  movsd  0x8(%r12),%xmm8
  movsd  (%r12),%xmm9
  movsd  0x18(%r12),%xmm7
  lea    (%r9,%r11,8),%r14
  lea    0x1(%r10),%r11d
  movapd %xmm8,%xmm5
  add    $0x2,%r10d
  lea    (%r9,%r11,8),%r13
  mulsd  %xmm9,%xmm5
  lea    (%r9,%r10,8),%r15
  mulsd  %xmm6,%xmm9
  mulsd  %xmm6,%xmm8
  mulsd  %xmm6,%xmm6
  mulsd  %xmm7,%xmm7
  subsd  %xmm9,%xmm5
  subsd  %xmm8,%xmm5
  addsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x28(%rbx)
  movsd  %xmm0,0x0(%rbp)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm5
  movsd  0x20(%rbx),%xmm4
  mulsd  %xmm5,%xmm5
  mulsd  %xmm2,%xmm2
  mulsd  %xmm4,%xmm4
  addsd  %xmm5,%xmm2
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%rbp)
  movsd  0x10(%rbx),%xmm4
  movsd  0x20(%rbx),%xmm6
  comisd %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm5
  mulsd  %xmm4,%xmm4
  mulsd  %xmm6,%xmm6
  mulsd  %xmm5,%xmm5
  addsd  %xmm6,%xmm4
  addsd  %xmm5,%xmm4
  movsd  %xmm4,0x10(%rbp)
  jbe    L594
  comisd %xmm4,%xmm0
  jbe    L612
  movsd  (%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
L563:
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  (%rbx),%xmm0
  mulsd  0x8(%rbx),%xmm4
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm2
  movsd  0x0(%r13),%xmm4
  andpd  %xmm3,%xmm0
  andpd  %xmm3,%xmm4
  andpd  %xmm3,%xmm2
  addsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  divsd  %xmm0,%xmm2
  movsd  %xmm2,(%r14)
  movsd  0x0(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  (%r15),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm2
  movsd  0x0(%r13),%xmm4
  andpd  %xmm3,%xmm0
  andpd  %xmm3,%xmm4
  andpd  %xmm3,%xmm2
  addsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  divsd  %xmm0,%xmm2
  movsd  %xmm2,(%r14)
  movsd  0x0(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  (%r15),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  (%rbx),%xmm0
  mulsd  0x8(%rbx),%xmm4
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm2
  movsd  0x0(%r13),%xmm4
  andpd  %xmm3,%xmm0
  andpd  %xmm3,%xmm4
  andpd  %xmm3,%xmm2
  addsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  divsd  %xmm0,%xmm2
  movsd  %xmm2,(%r14)
  movsd  0x0(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  (%r15),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x0(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  (%r15),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm0
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm0
  addsd  %xmm0,%xmm2
  movsd  0x28(%rbx),%xmm0
  mulsd  0x10(%rcx),%xmm0
  addsd  %xmm0,%xmm2
  movsd  %xmm2,(%r15)
  movsd  (%r14),%xmm0
  movsd  0x0(%r13),%xmm4
  mulsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  %xmm4,%xmm4
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L647
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  divsd  %xmm0,%xmm2
  movsd  %xmm2,(%r14)
  movsd  0x0(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  (%r15),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%r15)
  cmp    $0x1,%eax
  je     L639
L370:
  mov    $0x1,%eax
  mov    $0x1,%r11d
  jmp    L102
  nopl   (%rax)
L478:
  mov    %rbp,0xe0(%rsp)
  xor    %eax,%eax
  mov    %rbx,0xd8(%rsp)
  mov    %r12,0xd0(%rsp)
  add    $0x98,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1070 <rotMatrixCCOVsubrtnII@plt>
L150:
  movsd  D23(%rip),%xmm2
  movsd  D150(%rip),%xmm5
  mov    $0x32,%eax
  mulsd  %xmm7,%xmm2
  subsd  %xmm8,%xmm7
  mulsd  %xmm2,%xmm0
  divsd  %xmm7,%xmm0
  addsd  %xmm11,%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm3,%xmm2
  movsd  %xmm3,(%rdx)
  movq   D222(%rip),%xmm3
  jmp    L424
  nopl   0x0(%rax)
L477:
  sub    $0x1,%eax
  je     L565
L424:
  movapd %xmm2,%xmm7
  movsd  0x0(%rbp),%xmm0
  movsd  %xmm2,0x30(%rbp)
  addsd  %xmm2,%xmm7
  movapd %xmm0,%xmm6
  addsd  %xmm0,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm7
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm2,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm2
  subsd  %xmm2,%xmm0
  addsd  0x8(%rbp),%xmm0
  divsd  %xmm0,%xmm6
  movsd  %xmm6,(%rdx)
  movapd %xmm6,%xmm0
  movapd %xmm6,%xmm2
  subsd  0x30(%rbp),%xmm0
  mulsd  %xmm5,%xmm6
  andpd  %xmm3,%xmm0
  comisd %xmm0,%xmm6
  jbe    L477
L565:
  movsd  0x0(%rbp),%xmm6
  movapd %xmm2,%xmm0
  mulsd  %xmm4,%xmm0
  movapd %xmm6,%xmm5
  addsd  %xmm6,%xmm5
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm5
  subsd  %xmm0,%xmm5
  movapd %xmm6,%xmm0
  mulsd  %xmm6,%xmm0
  movapd %xmm5,%xmm2
  addsd  %xmm0,%xmm2
  movsd  D2(%rip),%xmm0
  mulsd  0x8(%rbp),%xmm0
  addsd  %xmm0,%xmm2
  comisd %xmm1,%xmm2
  movsd  %xmm2,0x18(%rbp)
  ja     L375
  movsd  (%rdx),%xmm7
  movsd  D52(%rip),%xmm0
  subsd  %xmm7,%xmm6
  mulsd  %xmm6,%xmm0
  movsd  %xmm0,0x8(%rdx)
  movapd %xmm0,%xmm2
L610:
  movsd  D30(%rip),%xmm5
  movsd  %xmm2,0x10(%rdx)
  mulsd  0x18(%rbp),%xmm5
  comisd %xmm5,%xmm7
  ja     L478
  movapd %xmm0,%xmm7
  movsd  0x0(%rbp),%xmm5
  mov    %r9,%r13
  lea    0x30(%r9),%r14
  addsd  %xmm0,%xmm7
  mov    %rdx,%r15
  movapd %xmm5,%xmm6
  addsd  %xmm5,%xmm5
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm0,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm0
  subsd  %xmm0,%xmm5
  addsd  0x8(%rbp),%xmm5
  divsd  %xmm5,%xmm6
  movapd %xmm6,%xmm0
  movsd  %xmm6,0x8(%rdx)
  movsd  0x0(%rbp),%xmm5
  movapd %xmm0,%xmm7
  addsd  %xmm0,%xmm7
  mulsd  %xmm5,%xmm6
  addsd  %xmm5,%xmm5
  mulsd  %xmm0,%xmm7
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm0,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm7,%xmm0
  subsd  %xmm0,%xmm5
  addsd  0x8(%rbp),%xmm5
  divsd  %xmm5,%xmm6
  movsd  %xmm6,0x8(%rdx)
  movapd %xmm2,%xmm6
  movsd  0x0(%rbp),%xmm5
  addsd  %xmm2,%xmm6
  movapd %xmm5,%xmm0
  addsd  %xmm5,%xmm5
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm5
  mulsd  %xmm2,%xmm0
  mulsd  %xmm2,%xmm6
  subsd  %xmm6,%xmm0
  movapd %xmm2,%xmm6
  addsd  0x10(%rbp),%xmm0
  mulsd  %xmm4,%xmm6
  mulsd  %xmm6,%xmm2
  subsd  %xmm2,%xmm5
  addsd  0x8(%rbp),%xmm5
  divsd  %xmm5,%xmm0
  movapd %xmm0,%xmm6
  movsd  %xmm0,0x10(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm0,%xmm5
  addsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm4
  mulsd  %xmm2,%xmm5
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm4
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm6
  subsd  %xmm4,%xmm2
  addsd  0x8(%rbp),%xmm2
  subsd  %xmm6,%xmm5
  addsd  0x10(%rbp),%xmm5
  divsd  %xmm2,%xmm5
  movsd  %xmm5,0x10(%rdx)
  movq   D171(%rip),%xmm5
  movaps %xmm5,0x50(%rsp)
L222:
  movsd  0x10(%r12),%xmm5
  movsd  (%r15),%xmm2
  movsd  0x8(%r12),%xmm6
  movsd  0x20(%r12),%xmm4
  movapd %xmm5,%xmm0
  mulsd  %xmm6,%xmm0
  mulsd  %xmm2,%xmm6
  mulsd  %xmm2,%xmm5
  mulsd  %xmm2,%xmm2
  mulsd  %xmm4,%xmm4
  subsd  %xmm6,%xmm0
  subsd  %xmm5,%xmm0
  addsd  %xmm2,%xmm0
  subsd  %xmm4,%xmm0
  movsd  %xmm0,(%rbx)
  movsd  0x18(%r12),%xmm2
  movsd  0x10(%r12),%xmm5
  mulsd  %xmm0,%xmm0
  movsd  0x20(%r12),%xmm4
  mulsd  0x28(%r12),%xmm4
  mulsd  %xmm2,%xmm5
  mulsd  (%r15),%xmm2
  subsd  %xmm5,%xmm4
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%rbx)
  movsd  0x28(%r12),%xmm5
  movsd  0x8(%r12),%xmm6
  mulsd  %xmm4,%xmm4
  movsd  0x18(%r12),%xmm2
  mulsd  0x20(%r12),%xmm2
  mulsd  %xmm5,%xmm6
  mulsd  (%r15),%xmm5
  addsd  %xmm4,%xmm0
  subsd  %xmm6,%xmm2
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%rbx)
  movsd  0x10(%r12),%xmm8
  mulsd  %xmm2,%xmm2
  movsd  (%r15),%xmm6
  movsd  (%r12),%xmm9
  movsd  0x28(%r12),%xmm7
  movapd %xmm8,%xmm5
  mulsd  %xmm9,%xmm5
  mulsd  %xmm6,%xmm9
  mulsd  %xmm6,%xmm8
  addsd  %xmm2,%xmm0
  mulsd  %xmm6,%xmm6
  mulsd  %xmm7,%xmm7
  subsd  %xmm9,%xmm5
  subsd  %xmm8,%xmm5
  addsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x18(%rbx)
  movsd  0x20(%r12),%xmm5
  movsd  (%r12),%xmm6
  mulsd  %xmm5,%xmm6
  mulsd  (%r15),%xmm5
  subsd  %xmm6,%xmm5
  movsd  0x18(%r12),%xmm6
  mulsd  0x28(%r12),%xmm6
  addsd  %xmm6,%xmm5
  movsd  %xmm5,0x20(%rbx)
  movsd  (%r15),%xmm6
  movsd  0x8(%r12),%xmm8
  movsd  (%r12),%xmm9
  movsd  0x18(%r12),%xmm7
  movapd %xmm8,%xmm5
  mulsd  %xmm9,%xmm5
  mulsd  %xmm6,%xmm9
  mulsd  %xmm6,%xmm8
  mulsd  %xmm6,%xmm6
  mulsd  %xmm7,%xmm7
  subsd  %xmm9,%xmm5
  subsd  %xmm8,%xmm5
  addsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x28(%rbx)
  movsd  %xmm0,0x0(%rbp)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm5
  movsd  0x20(%rbx),%xmm4
  mulsd  %xmm5,%xmm5
  mulsd  %xmm2,%xmm2
  mulsd  %xmm4,%xmm4
  addsd  %xmm5,%xmm2
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%rbp)
  movsd  0x10(%rbx),%xmm4
  movsd  0x20(%rbx),%xmm6
  comisd %xmm2,%xmm0
  movsd  0x28(%rbx),%xmm5
  mulsd  %xmm4,%xmm4
  mulsd  %xmm6,%xmm6
  mulsd  %xmm5,%xmm5
  addsd  %xmm6,%xmm4
  addsd  %xmm5,%xmm4
  movsd  %xmm4,0x10(%rbp)
  jbe    L596
  comisd %xmm4,%xmm0
  jbe    L298
  movsd  (%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%rbx),%xmm0
L571:
  movsd  %xmm0,0x10(%r13)
  movsd  0x0(%r13),%xmm0
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x28(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r13)
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x28(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r13)
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x28(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r13)
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm4
  movsd  0x18(%rbx),%xmm2
  andpd  %xmm3,%xmm0
  mulsd  0x8(%rcx),%xmm2
  mulsd  (%rcx),%xmm4
  addsd  %xmm2,%xmm4
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm5
  andpd  %xmm3,%xmm4
  mulsd  0x8(%rcx),%xmm5
  addsd  %xmm4,%xmm0
  mulsd  (%rcx),%xmm2
  addsd  %xmm5,%xmm2
  movsd  0x28(%rbx),%xmm5
  mulsd  0x10(%rcx),%xmm5
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%r13)
  andpd  %xmm3,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  0x0(%r13),%xmm4
  divsd  %xmm0,%xmm4
  movsd  %xmm4,0x0(%r13)
  movsd  0x8(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x10(%r13)
  movsd  %xmm4,(%rcx)
  movsd  0x8(%r13),%xmm2
  movsd  %xmm2,0x8(%rcx)
  movsd  0x10(%r13),%xmm0
  movsd  %xmm0,0x10(%rcx)
  mulsd  (%rbx),%xmm4
  mulsd  0x8(%rbx),%xmm2
  mulsd  0x10(%rbx),%xmm0
  addsd  %xmm4,%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%r13)
  movsd  0x8(%rbx),%xmm0
  movsd  0x18(%rbx),%xmm4
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm0
  movsd  0x20(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm4
  mulsd  (%rcx),%xmm0
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm0
  movsd  0x28(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm0
  movsd  %xmm0,0x10(%r13)
  movsd  %xmm2,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm0
  movsd  %xmm0,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm2
  mulsd  0x10(%rbx),%xmm0
  addsd  %xmm4,%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%r13)
  movsd  0x8(%rbx),%xmm4
  movsd  0x18(%rbx),%xmm0
  andpd  %xmm3,%xmm2
  mulsd  0x8(%rcx),%xmm0
  mulsd  (%rcx),%xmm4
  addsd  %xmm0,%xmm4
  movsd  0x20(%rbx),%xmm0
  mulsd  0x10(%rcx),%xmm0
  addsd  %xmm0,%xmm4
  movsd  %xmm4,0x8(%r13)
  movsd  0x10(%rbx),%xmm0
  movsd  0x20(%rbx),%xmm5
  andpd  %xmm3,%xmm4
  mulsd  0x8(%rcx),%xmm5
  addsd  %xmm4,%xmm2
  mulsd  (%rcx),%xmm0
  addsd  %xmm5,%xmm0
  movsd  0x28(%rbx),%xmm5
  mulsd  0x10(%rcx),%xmm5
  addsd  %xmm5,%xmm0
  movsd  %xmm0,0x10(%r13)
  andpd  %xmm3,%xmm0
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%rbp)
  movsd  0x0(%r13),%xmm4
  movsd  0x8(%r13),%xmm0
  divsd  %xmm2,%xmm4
  movsd  %xmm4,0x0(%r13)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x10(%r13)
  movsd  %xmm4,(%rcx)
  movsd  0x8(%r13),%xmm0
  movsd  %xmm0,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  (%rbx),%xmm4
  mulsd  0x8(%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm2
  movsd  0x18(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm4
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  0x28(%rbx),%xmm4
  mulsd  0x10(%rcx),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r13)
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm4
  movsd  0x18(%rbx),%xmm2
  andpd  %xmm3,%xmm0
  mulsd  (%rcx),%xmm4
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm5
  andpd  %xmm3,%xmm4
  mulsd  0x8(%rcx),%xmm5
  addsd  %xmm4,%xmm0
  mulsd  (%rcx),%xmm2
  addsd  %xmm5,%xmm2
  movsd  0x28(%rbx),%xmm5
  mulsd  0x10(%rcx),%xmm5
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%r13)
  andpd  %xmm3,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  0x0(%r13),%xmm2
  divsd  %xmm0,%xmm2
  movsd  0x8(%r13),%xmm0
  movsd  %xmm2,0x0(%r13)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x10(%r13)
  movsd  %xmm2,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm0
  movsd  %xmm0,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm2
  mulsd  0x10(%rbx),%xmm0
  addsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm4
  movsd  0x18(%rbx),%xmm2
  mulsd  (%rcx),%xmm4
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%r13)
  movsd  0x10(%rbx),%xmm4
  movsd  0x20(%rbx),%xmm2
  mulsd  (%rcx),%xmm4
  mulsd  0x8(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  0x28(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x10(%r13)
  movsd  %xmm0,(%rcx)
  movsd  0x8(%r13),%xmm4
  movsd  %xmm4,0x8(%rcx)
  movsd  0x10(%r13),%xmm2
  movsd  %xmm2,0x10(%rcx)
  mulsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm0
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm4
  movsd  0x18(%rbx),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%rcx),%xmm2
  mulsd  (%rcx),%xmm4
  addsd  %xmm2,%xmm4
  movsd  0x20(%rbx),%xmm2
  mulsd  0x10(%rcx),%xmm2
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x8(%r13)
  movsd  0x10(%rbx),%xmm2
  movsd  0x20(%rbx),%xmm5
  mulsd  %xmm4,%xmm4
  mulsd  0x8(%rcx),%xmm5
  mulsd  (%rcx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm5,%xmm2
  movsd  0x28(%rbx),%xmm5
  mulsd  0x10(%rcx),%xmm5
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%r13)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L546
  sqrtsd %xmm0,%xmm0
L523:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x0(%r13),%xmm2
  add    $0x18,%r13
  add    $0x8,%r15
  divsd  %xmm0,%xmm2
  movsd  -0x10(%r13),%xmm0
  movsd  %xmm2,-0x18(%r13)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,-0x10(%r13)
  movsd  -0x8(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,-0x8(%r13)
  cmp    %r14,%r13
  jne    L222
  movsd  (%r9),%xmm0
  movsd  0x8(%r9),%xmm2
  mulsd  0x18(%r9),%xmm0
  mulsd  0x20(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x10(%r9),%xmm2
  mulsd  0x28(%r9),%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%rbp)
  mulsd  (%r9),%xmm2
  movsd  0x18(%r9),%xmm0
  movsd  0x20(%r9),%xmm3
  subsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r9)
  movsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%r9),%xmm2
  subsd  %xmm2,%xmm3
  movsd  0x28(%r9),%xmm2
  movsd  %xmm3,0x20(%r9)
  movsd  0x0(%rbp),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x10(%r9),%xmm4
  addsd  %xmm3,%xmm0
  subsd  %xmm4,%xmm2
  movsd  %xmm2,0x28(%r9)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L118
  sqrtsd %xmm0,%xmm0
L187:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r9),%xmm5
  movsd  0x8(%r9),%xmm6
  movsd  0x10(%r9),%xmm3
  movsd  0x20(%r9),%xmm2
  divsd  %xmm0,%xmm5
  movsd  0x28(%r9),%xmm4
  movsd  %xmm5,0x18(%r9)
  divsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm7
  movsd  %xmm2,0x20(%r9)
  divsd  0x0(%rbp),%xmm4
  movapd %xmm4,%xmm0
  mulsd  %xmm3,%xmm7
  movsd  %xmm4,0x28(%r9)
  mulsd  %xmm6,%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm0
  movsd  (%r9),%xmm7
  mulsd  %xmm7,%xmm4
  mulsd  %xmm7,%xmm2
  movsd  %xmm0,0x30(%r9)
  mulsd  %xmm0,%xmm0
  subsd  %xmm4,%xmm3
  subsd  %xmm5,%xmm2
  movsd  %xmm3,0x38(%r9)
  mulsd  %xmm3,%xmm3
  movsd  %xmm2,0x40(%r9)
  mulsd  %xmm2,%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L133
  sqrtsd %xmm0,%xmm0
L559:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x30(%r9),%xmm2
  divsd  %xmm0,%xmm2
  movsd  0x38(%r9),%xmm0
  movsd  %xmm2,0x30(%r9)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x38(%r9)
  movsd  0x40(%r9),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x40(%r9)
  movsd  (%rsi),%xmm0
  movsd  0x18(%rsi),%xmm2
  mulsd  (%r9),%xmm0
  mulsd  0x8(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x30(%rsi),%xmm2
  mulsd  0x10(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r8)
  movsd  0x8(%rsi),%xmm3
  movsd  0x20(%rsi),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%r9),%xmm2
  mulsd  (%r9),%xmm3
  addsd  %xmm2,%xmm3
  movsd  0x38(%rsi),%xmm2
  mulsd  0x10(%r9),%xmm2
  addsd  %xmm2,%xmm3
  movsd  %xmm3,0x8(%r8)
  movsd  0x10(%rsi),%xmm2
  movsd  0x28(%rsi),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x8(%r9),%xmm4
  mulsd  (%r9),%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm4,%xmm2
  movsd  0x40(%rsi),%xmm4
  mulsd  0x10(%r9),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r8)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L207
  sqrtsd %xmm0,%xmm0
L649:
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r8),%xmm4
  movsd  0x8(%r8),%xmm6
  movsd  0x10(%r8),%xmm5
  divsd  %xmm0,%xmm4
  movsd  %xmm4,(%r8)
  divsd  0x0(%rbp),%xmm6
  movsd  %xmm6,0x8(%r8)
  divsd  0x0(%rbp),%xmm5
  movsd  %xmm5,0x10(%r8)
  movsd  (%rsi),%xmm0
  movsd  0x18(%rsi),%xmm2
  mulsd  0x18(%r9),%xmm0
  mulsd  0x20(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x30(%rsi),%xmm2
  mulsd  0x28(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r8)
  movsd  0x8(%rsi),%xmm3
  movsd  0x20(%rsi),%xmm2
  mulsd  %xmm4,%xmm0
  mulsd  0x20(%r9),%xmm2
  mulsd  0x18(%r9),%xmm3
  addsd  %xmm2,%xmm3
  movsd  0x38(%rsi),%xmm2
  mulsd  0x28(%r9),%xmm2
  addsd  %xmm2,%xmm3
  movsd  %xmm3,0x20(%r8)
  movsd  0x10(%rsi),%xmm2
  movsd  0x28(%rsi),%xmm7
  mulsd  %xmm3,%xmm6
  mulsd  0x20(%r9),%xmm7
  mulsd  0x18(%r9),%xmm2
  addsd  %xmm6,%xmm0
  addsd  %xmm7,%xmm2
  movsd  0x40(%rsi),%xmm7
  mulsd  0x28(%r9),%xmm7
  addsd  %xmm7,%xmm2
  mulsd  %xmm2,%xmm5
  movsd  %xmm2,0x28(%r8)
  addsd  %xmm5,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r8),%xmm2
  mulsd  %xmm0,%xmm2
  movsd  0x18(%r8),%xmm0
  movsd  0x20(%r8),%xmm3
  subsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r8)
  movsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%r8),%xmm2
  subsd  %xmm2,%xmm3
  movsd  0x28(%r8),%xmm2
  movsd  %xmm3,0x20(%r8)
  movsd  0x0(%rbp),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x10(%r8),%xmm4
  addsd  %xmm3,%xmm0
  subsd  %xmm4,%xmm2
  movsd  %xmm2,0x28(%r8)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L403
  sqrtsd %xmm0,%xmm0
L24:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r8),%xmm5
  movsd  0x8(%r8),%xmm6
  movsd  0x10(%r8),%xmm3
  movsd  0x20(%r8),%xmm2
  divsd  %xmm0,%xmm5
  movsd  0x28(%r8),%xmm4
  movsd  %xmm5,0x18(%r8)
  divsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm7
  movsd  %xmm2,0x20(%r8)
  divsd  0x0(%rbp),%xmm4
  movapd %xmm4,%xmm0
  mulsd  %xmm3,%xmm7
  movsd  %xmm4,0x28(%r8)
  mulsd  %xmm6,%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm0
  movsd  (%r8),%xmm7
  mulsd  %xmm7,%xmm4
  mulsd  %xmm7,%xmm2
  movsd  %xmm0,0x30(%r8)
  subsd  %xmm4,%xmm3
  subsd  %xmm5,%xmm2
  movsd  %xmm3,0x38(%r8)
L191:
  mulsd  %xmm0,%xmm0
  movsd  %xmm2,0x40(%r8)
  mulsd  %xmm3,%xmm3
  mulsd  %xmm2,%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L553
  sqrtsd %xmm0,%xmm0
L40:
  movapd D88(%rip),%xmm13
  movsd  %xmm0,0x0(%rbp)
  movsd  0x30(%r8),%xmm5
  movsd  (%r8),%xmm14
  movupd (%r8),%xmm15
  divsd  %xmm0,%xmm5
  movsd  0x38(%r8),%xmm0
  movsd  %xmm14,0x40(%rsp)
  xorpd  %xmm13,%xmm15
  movsd  %xmm5,0x30(%r8)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x38(%r8)
  movsd  %xmm0,0x70(%rsp)
  movsd  0x40(%r8),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x40(%r8)
  movsd  0x38(%rsi),%xmm3
  movsd  0x10(%rsi),%xmm6
  movsd  (%rsi),%xmm11
  movsd  0x18(%rsi),%xmm4
  movsd  %xmm0,0x30(%rsp)
  movsd  (%r9),%xmm8
  movsd  0x8(%r9),%xmm0
  movsd  %xmm3,0x8(%rsp)
  movsd  %xmm6,0x10(%rsp)
  movapd %xmm11,%xmm3
  movapd %xmm4,%xmm6
  movsd  0x30(%rsi),%xmm10
  mulsd  %xmm8,%xmm3
  movsd  0x10(%r9),%xmm7
  movsd  0x8(%rsi),%xmm9
  mulsd  %xmm0,%xmm6
  movsd  0x20(%rsi),%xmm2
  movsd  0x28(%rsi),%xmm12
  movsd  %xmm12,0x18(%rsp)
  movsd  0x40(%rsi),%xmm12
  movsd  %xmm12,0x20(%rsp)
  movsd  0x10(%r8),%xmm12
  addsd  %xmm3,%xmm6
  movapd %xmm10,%xmm3
  mulsd  %xmm7,%xmm3
  addsd  %xmm3,%xmm6
  movapd %xmm8,%xmm3
  mulsd  %xmm9,%xmm3
  mulsd  %xmm14,%xmm6
  movapd %xmm0,%xmm14
  mulsd  %xmm2,%xmm14
  addsd  %xmm3,%xmm14
  movsd  0x8(%rsp),%xmm3
  mulsd  0x10(%rsp),%xmm8
  mulsd  0x18(%rsp),%xmm0
  mulsd  %xmm7,%xmm3
  mulsd  0x20(%rsp),%xmm7
  addsd  %xmm8,%xmm0
  addsd  %xmm14,%xmm3
  movsd  0x8(%r8),%xmm14
  addsd  %xmm7,%xmm0
  mulsd  %xmm14,%xmm3
  mulsd  %xmm12,%xmm0
  addsd  %xmm6,%xmm3
  addsd  %xmm0,%xmm3
  comisd %xmm3,%xmm1
  ja     L119
  mov    $0x2,%eax
  mov    $0x1,%edx
  xor    %ecx,%ecx
L648:
  movsd  0x18(%r9),%xmm7
  movsd  0x20(%r9),%xmm0
  movupd 0x18(%r8),%xmm3
  movsd  0x28(%r9),%xmm8
  movapd %xmm0,%xmm6
  movapd %xmm0,%xmm15
  movsd  0x18(%r8),%xmm12
  movsd  0x28(%r8),%xmm14
  mulsd  %xmm4,%xmm6
  xorpd  %xmm3,%xmm13
  movapd %xmm7,%xmm3
  mulsd  %xmm11,%xmm3
  mulsd  %xmm2,%xmm15
  mulsd  0x18(%rsp),%xmm0
  addsd  %xmm3,%xmm6
  movapd %xmm8,%xmm3
  mulsd  %xmm10,%xmm3
  addsd  %xmm3,%xmm6
  movapd %xmm7,%xmm3
  mulsd  %xmm9,%xmm3
  mulsd  %xmm12,%xmm6
  addsd  %xmm3,%xmm15
  movsd  0x8(%rsp),%xmm3
  mulsd  %xmm8,%xmm3
  mulsd  0x20(%rsp),%xmm8
  addsd  %xmm15,%xmm3
  movsd  0x20(%r8),%xmm15
  mulsd  %xmm15,%xmm3
  addsd  %xmm6,%xmm3
  movsd  0x10(%rsp),%xmm6
  mulsd  %xmm7,%xmm6
  addsd  %xmm6,%xmm0
  addsd  %xmm8,%xmm0
  mulsd  %xmm14,%xmm0
  addsd  %xmm0,%xmm3
  comisd %xmm3,%xmm1
  ja     L259
  movsd  0x30(%r9),%xmm0
  movsd  0x38(%r9),%xmm6
  movsd  0x40(%r9),%xmm3
  movsd  0x8(%rsp),%xmm8
  mulsd  %xmm6,%xmm4
  mulsd  %xmm0,%xmm11
  mulsd  %xmm3,%xmm10
  mulsd  %xmm6,%xmm2
  mulsd  %xmm0,%xmm9
  mulsd  %xmm3,%xmm8
  addsd  %xmm11,%xmm4
  mulsd  0x18(%rsp),%xmm6
  mulsd  0x20(%rsp),%xmm3
  addsd  %xmm10,%xmm4
  addsd  %xmm9,%xmm2
  mulsd  %xmm5,%xmm4
  addsd  %xmm8,%xmm2
  mulsd  0x70(%rsp),%xmm2
  addsd  %xmm4,%xmm2
  movsd  0x10(%rsp),%xmm4
  mulsd  %xmm0,%xmm4
  addsd  %xmm4,%xmm6
  addsd  %xmm6,%xmm3
  mulsd  0x30(%rsp),%xmm3
  addsd  %xmm3,%xmm2
  comisd %xmm2,%xmm1
  ja     L564
  mulsd  %xmm12,%xmm7
  movsd  0x40(%rsp),%xmm1
  mulsd  (%r9),%xmm1
  mulsd  %xmm5,%xmm0
  addsd  %xmm1,%xmm7
  test   %ecx,%ecx
  jne    L127
  addsd  %xmm0,%xmm7
  movsd  %xmm7,(%rdi)
L1:
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  (%r9),%xmm0
  mulsd  0x18(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x30(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x8(%rdi)
  movsd  0x10(%r8),%xmm0
  mulsd  (%r9),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x18(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x30(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x10(%rdi)
  movsd  (%r8),%xmm0
  movsd  0x18(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x30(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x18(%rdi)
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x20(%rdi)
  movsd  0x10(%r8),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x28(%rdi)
  movsd  (%r8),%xmm0
  movsd  0x18(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x30(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x30(%rdi)
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x38(%rdi)
  movsd  0x10(%r8),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x40(%rdi)
L494:
  add    $0x98,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax,%rax,1)
L489:
  ucomisd %xmm2,%xmm1
  ja     L286
  sqrtsd %xmm2,%xmm2
L501:
  movsd  %xmm2,0x18(%rbp)
  movsd  0x10(%rdx),%xmm6
  subsd  %xmm6,%xmm5
  movapd %xmm5,%xmm0
  subsd  %xmm2,%xmm0
  movsd  D52(%rip),%xmm2
  movapd %xmm0,%xmm5
  mulsd  %xmm2,%xmm5
  movsd  %xmm5,0x8(%rdx)
  movsd  0x0(%rbp),%xmm0
  subsd  %xmm6,%xmm0
  addsd  0x18(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  jmp    L513
L375:
  ucomisd %xmm2,%xmm1
  ja     L475
  sqrtsd %xmm2,%xmm2
L629:
  movsd  %xmm2,0x18(%rbp)
  movsd  (%rdx),%xmm7
  movsd  D52(%rip),%xmm5
  subsd  %xmm7,%xmm6
  movapd %xmm6,%xmm0
  addsd  %xmm2,%xmm0
  mulsd  %xmm5,%xmm0
  movsd  %xmm0,0x8(%rdx)
  movsd  0x0(%rbp),%xmm2
  subsd  %xmm7,%xmm2
  subsd  0x18(%rbp),%xmm2
  mulsd  %xmm5,%xmm2
  jmp    L610
L647:
  mov    %r9,0x70(%rsp)
  mov    %r8,0x40(%rsp)
  mov    %rcx,0x30(%rsp)
  mov    %rdx,0x20(%rsp)
  mov    %rsi,0x18(%rsp)
  mov    %rdi,0x10(%rsp)
  mov    %eax,0x8(%rsp)
  movaps %xmm3,0x60(%rsp)
  call   <sqrt@plt>
  mov    0x8(%rsp),%eax
  mov    0x10(%rsp),%rdi
  pxor   %xmm1,%xmm1
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  mov    0x18(%rsp),%rsi
  sub    $0x1,%eax
  mov    0x20(%rsp),%rdx
  mov    0x30(%rsp),%rcx
  divsd  %xmm0,%xmm2
  mov    0x40(%rsp),%r8
  mov    0x70(%rsp),%r9
  movapd 0x60(%rsp),%xmm3
  movsd  %xmm2,(%r14)
  movsd  0x0(%r13),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  (%r15),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%r15)
  jne    L370
  nop
L639:
  movsd  0x18(%r9),%xmm0
  movsd  0x20(%r9),%xmm2
  mulsd  0x30(%r9),%xmm0
  mulsd  0x38(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x28(%r9),%xmm2
  mulsd  0x40(%r9),%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%rbp)
  mulsd  0x30(%r9),%xmm2
  movsd  0x18(%r9),%xmm0
  movsd  0x20(%r9),%xmm3
  subsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r9)
  movsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x38(%r9),%xmm2
  subsd  %xmm2,%xmm3
  movsd  0x28(%r9),%xmm2
  movsd  %xmm3,0x20(%r9)
  movsd  0x0(%rbp),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x40(%r9),%xmm4
  addsd  %xmm3,%xmm0
  subsd  %xmm4,%xmm2
  movsd  %xmm2,0x28(%r9)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L497
  sqrtsd %xmm0,%xmm0
L335:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r9),%xmm4
  movsd  0x40(%r9),%xmm5
  movsd  0x38(%r9),%xmm7
  movsd  0x20(%r9),%xmm2
  divsd  %xmm0,%xmm4
  movsd  0x28(%r9),%xmm3
  movsd  %xmm4,0x18(%r9)
  divsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm0
  movsd  %xmm2,0x20(%r9)
  divsd  0x0(%rbp),%xmm3
  movapd %xmm3,%xmm6
  mulsd  %xmm5,%xmm0
  movsd  %xmm3,0x28(%r9)
  mulsd  %xmm7,%xmm6
  mulsd  %xmm4,%xmm5
  mulsd  %xmm7,%xmm4
  subsd  %xmm6,%xmm0
  movsd  0x30(%r9),%xmm6
  mulsd  %xmm6,%xmm3
  mulsd  %xmm6,%xmm2
  movsd  %xmm0,(%r9)
  subsd  %xmm5,%xmm3
  subsd  %xmm2,%xmm4
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  %xmm3,0x8(%r9)
  mulsd  %xmm3,%xmm3
  movsd  %xmm4,0x10(%r9)
  mulsd  %xmm4,%xmm4
  addsd  %xmm3,%xmm2
  addsd  %xmm4,%xmm2
  ucomisd %xmm2,%xmm1
  ja     L444
  sqrtsd %xmm2,%xmm2
L79:
  movsd  %xmm2,0x0(%rbp)
  movsd  (%r9),%xmm0
  movsd  0x8(%r9),%xmm3
  divsd  %xmm2,%xmm0
  movsd  0x10(%r9),%xmm2
  movsd  %xmm0,(%r9)
  divsd  0x0(%rbp),%xmm3
  movsd  %xmm3,0x8(%r9)
  divsd  0x0(%rbp),%xmm2
  movsd  %xmm2,0x10(%r9)
  mulsd  0x18(%rsi),%xmm3
  mulsd  (%rsi),%xmm0
  mulsd  0x30(%rsi),%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,(%r8)
  movsd  0x8(%rsi),%xmm3
  movsd  0x20(%rsi),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%r9),%xmm2
  mulsd  (%r9),%xmm3
  addsd  %xmm2,%xmm3
  movsd  0x38(%rsi),%xmm2
  mulsd  0x10(%r9),%xmm2
  addsd  %xmm2,%xmm3
  movsd  %xmm3,0x8(%r8)
  movsd  0x10(%rsi),%xmm2
  movsd  0x28(%rsi),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x8(%r9),%xmm4
  mulsd  (%r9),%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm4,%xmm2
  movsd  0x40(%rsi),%xmm4
  mulsd  0x10(%r9),%xmm4
  addsd  %xmm4,%xmm2
  movsd  %xmm2,0x10(%r8)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L664
  sqrtsd %xmm0,%xmm0
L434:
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r8),%xmm4
  movsd  0x8(%r8),%xmm6
  movsd  0x10(%r8),%xmm5
  divsd  %xmm0,%xmm4
  movsd  %xmm4,(%r8)
  divsd  0x0(%rbp),%xmm6
  movsd  %xmm6,0x8(%r8)
  divsd  0x0(%rbp),%xmm5
  movsd  %xmm5,0x10(%r8)
  movsd  (%rsi),%xmm0
  movsd  0x18(%rsi),%xmm2
  mulsd  0x18(%r9),%xmm0
  mulsd  0x20(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x30(%rsi),%xmm2
  mulsd  0x28(%r9),%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r8)
  movsd  0x8(%rsi),%xmm3
  movsd  0x20(%rsi),%xmm2
  mulsd  %xmm4,%xmm0
  mulsd  0x20(%r9),%xmm2
  mulsd  0x18(%r9),%xmm3
  addsd  %xmm2,%xmm3
  movsd  0x38(%rsi),%xmm2
  mulsd  0x28(%r9),%xmm2
  addsd  %xmm2,%xmm3
  movsd  %xmm3,0x20(%r8)
  movsd  0x10(%rsi),%xmm2
  movsd  0x28(%rsi),%xmm7
  mulsd  %xmm3,%xmm6
  mulsd  0x20(%r9),%xmm7
  mulsd  0x18(%r9),%xmm2
  addsd  %xmm6,%xmm0
  addsd  %xmm7,%xmm2
  movsd  0x40(%rsi),%xmm7
  mulsd  0x28(%r9),%xmm7
  addsd  %xmm7,%xmm2
  mulsd  %xmm2,%xmm5
  movsd  %xmm2,0x28(%r8)
  addsd  %xmm5,%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r8),%xmm2
  mulsd  %xmm0,%xmm2
  movsd  0x18(%r8),%xmm0
  movsd  0x20(%r8),%xmm3
  subsd  %xmm2,%xmm0
  movsd  %xmm0,0x18(%r8)
  movsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  0x8(%r8),%xmm2
  subsd  %xmm2,%xmm3
  movsd  0x28(%r8),%xmm2
  movsd  %xmm3,0x20(%r8)
  movsd  0x0(%rbp),%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  0x10(%r8),%xmm4
  addsd  %xmm3,%xmm0
  subsd  %xmm4,%xmm2
  movsd  %xmm2,0x28(%r8)
  mulsd  %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L213
  sqrtsd %xmm0,%xmm0
L171:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r8),%xmm4
  movsd  0x8(%r8),%xmm6
  movsd  0x10(%r8),%xmm3
  movsd  0x20(%r8),%xmm2
  movapd %xmm4,%xmm5
  movsd  0x28(%r8),%xmm4
  divsd  %xmm0,%xmm5
  movsd  %xmm5,0x18(%r8)
  divsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm7
  movsd  %xmm2,0x20(%r8)
  divsd  0x0(%rbp),%xmm4
  movapd %xmm4,%xmm0
  mulsd  %xmm3,%xmm7
  movsd  %xmm4,0x28(%r8)
  mulsd  %xmm6,%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm6,%xmm5
  subsd  %xmm7,%xmm0
  movsd  (%r8),%xmm7
  mulsd  %xmm7,%xmm4
  mulsd  %xmm7,%xmm2
  movsd  %xmm0,0x30(%r8)
  subsd  %xmm4,%xmm3
  subsd  %xmm5,%xmm2
  movsd  %xmm3,0x38(%r8)
  jmp    L191
  nopl   (%rax)
L612:
  movsd  0x10(%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x20(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x28(%rbx),%xmm0
  jmp    L563
  nop
L594:
  comisd %xmm4,%xmm2
  jbe    L612
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x18(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x20(%rbx),%xmm0
  jmp    L563
  nopl   (%rax)
L259:
  movapd 0x50(%rsp),%xmm3
  movups %xmm13,0x18(%r8)
  xorpd  %xmm3,%xmm14
  xorpd  %xmm3,%xmm12
  movsd  %xmm14,0x28(%r8)
  movsd  0x30(%r9),%xmm2
  movsd  0x38(%r9),%xmm6
  movsd  0x18(%rsi),%xmm3
  movsd  (%rsi),%xmm0
  movsd  0x40(%r9),%xmm4
  movsd  0x20(%rsi),%xmm7
  mulsd  %xmm6,%xmm3
  mulsd  %xmm2,%xmm0
  mulsd  %xmm6,%xmm7
  mulsd  0x28(%rsi),%xmm6
  addsd  %xmm0,%xmm3
  movsd  0x30(%rsi),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm3
  movsd  0x8(%rsi),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm5,%xmm3
  addsd  %xmm7,%xmm0
  movsd  0x38(%rsi),%xmm7
  mulsd  %xmm4,%xmm7
  mulsd  0x40(%rsi),%xmm4
  addsd  %xmm7,%xmm0
  mulsd  0x70(%rsp),%xmm0
  addsd  %xmm0,%xmm3
  movsd  0x10(%rsi),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm6,%xmm0
  addsd  %xmm4,%xmm0
  mulsd  0x30(%rsp),%xmm0
  addsd  %xmm0,%xmm3
  comisd %xmm3,%xmm1
  jbe    L200
L427:
  movapd 0x50(%rsp),%xmm1
  movsd  0x70(%rsp),%xmm0
  xorpd  %xmm1,%xmm0
  xorpd  %xmm1,%xmm5
  movsd  %xmm0,0x38(%r8)
  movsd  0x30(%rsp),%xmm0
  movsd  %xmm5,0x30(%r8)
  xorpd  %xmm1,%xmm0
  movsd  %xmm0,0x40(%r8)
  movsd  0x30(%r9),%xmm2
L453:
  mulsd  0x18(%r9),%xmm12
  movsd  0x40(%rsp),%xmm1
  mulsd  (%r9),%xmm1
  mulsd  %xmm2,%xmm5
  addsd  %xmm12,%xmm1
  cmp    $0x2,%eax
  je     L507
L405:
  subsd  %xmm5,%xmm1
  movsd  %xmm1,(%rdi)
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  (%r9),%xmm0
  mulsd  0x18(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x30(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x8(%rdi)
  movsd  0x10(%r8),%xmm0
  mulsd  (%r9),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x18(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x30(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x10(%rdi)
  movsd  (%r8),%xmm0
  movsd  0x18(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x30(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x18(%rdi)
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x20(%rdi)
  movsd  0x10(%r8),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x8(%r9),%xmm0
  mulsd  0x20(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x38(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x28(%rdi)
  movsd  (%r8),%xmm0
  movsd  0x18(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x30(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x30(%rdi)
  movsd  0x8(%r8),%xmm0
  movsd  0x20(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x38(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x38(%rdi)
  movsd  0x10(%r8),%xmm0
  movsd  0x28(%r8),%xmm1
  mulsd  0x10(%r9),%xmm0
  mulsd  0x28(%r9),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x40(%r8),%xmm1
  mulsd  0x40(%r9),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x40(%rdi)
  jmp    L494
  nopl   0x0(%rax)
L119:
  movapd 0x50(%rsp),%xmm3
  movsd  0x40(%rsp),%xmm14
  movups %xmm15,(%r8)
  mov    $0x3,%eax
  mov    $0x2,%edx
  mov    $0x1,%ecx
  xorpd  %xmm3,%xmm12
  xorpd  %xmm3,%xmm14
  movsd  %xmm12,0x10(%r8)
  movsd  0x38(%rsi),%xmm3
  movsd  (%rsi),%xmm11
  movsd  0x18(%rsi),%xmm4
  movsd  0x30(%rsi),%xmm10
  movsd  %xmm14,0x40(%rsp)
  movsd  %xmm3,0x8(%rsp)
  movsd  0x10(%rsi),%xmm3
  movsd  0x8(%rsi),%xmm9
  movsd  0x20(%rsi),%xmm2
  movsd  %xmm3,0x10(%rsp)
  movsd  0x28(%rsi),%xmm3
  movsd  %xmm3,0x18(%rsp)
  movsd  0x40(%rsi),%xmm3
  movsd  %xmm3,0x20(%rsp)
  jmp    L648
  nopl   0x0(%rax,%rax,1)
L298:
  movsd  0x10(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x20(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x28(%rbx),%xmm0
  jmp    L571
L596:
  comisd %xmm4,%xmm2
  jbe    L298
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x18(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x20(%rbx),%xmm0
  jmp    L571
  cs nopw 0x0(%rax,%rax,1)
L507:
  addsd  %xmm5,%xmm1
  movsd  %xmm1,(%rdi)
  jmp    L1
L564:
  mov    %edx,%eax
  jmp    L427
L200:
  mov    %edx,%eax
  jmp    L453
L223:
  mov    %r9,0x88(%rsp)
  mov    %r8,0x80(%rsp)
  mov    %rcx,0x78(%rsp)
  mov    %rdx,0x60(%rsp)
  mov    %rsi,0x50(%rsp)
  mov    %rdi,0x70(%rsp)
  movaps %xmm9,0x40(%rsp)
  movaps %xmm6,0x30(%rsp)
  movaps %xmm7,0x20(%rsp)
  movsd  %xmm2,0x18(%rsp)
  movsd  %xmm5,0x10(%rsp)
  movsd  %xmm3,0x8(%rsp)
  call   <sqrt@plt>
  mov    D221(%rip),%rax
  mov    0x78(%rsp),%rcx
  pxor   %xmm1,%xmm1
  mov    0x88(%rsp),%r9
  mov    0x80(%rsp),%r8
  mov    0x60(%rsp),%rdx
  mov    0x50(%rsp),%rsi
  movq   %rax,%xmm4
  mov    0x70(%rsp),%rdi
  movapd 0x40(%rsp),%xmm9
  movapd 0x30(%rsp),%xmm6
  movapd 0x20(%rsp),%xmm7
  movsd  0x18(%rsp),%xmm2
  movsd  0x10(%rsp),%xmm5
  movsd  0x8(%rsp),%xmm3
  jmp    L10
L286:
  movapd %xmm2,%xmm0
  mov    %r9,0x70(%rsp)
  mov    %r8,0x40(%rsp)
  mov    %rcx,0x30(%rsp)
  mov    %rdx,0x20(%rsp)
  mov    %rsi,0x18(%rsp)
  mov    %rdi,0x10(%rsp)
  movaps %xmm3,0x50(%rsp)
  movsd  %xmm5,0x8(%rsp)
  call   <sqrt@plt>
  mov    D221(%rip),%rax
  movapd 0x50(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x70(%rsp),%r9
  mov    0x40(%rsp),%r8
  movapd %xmm0,%xmm2
  mov    0x30(%rsp),%rcx
  mov    0x20(%rsp),%rdx
  movq   %rax,%xmm4
  mov    0x18(%rsp),%rsi
  mov    0x10(%rsp),%rdi
  movsd  0x8(%rsp),%xmm5
  jmp    L501
L444:
  movapd %xmm2,%xmm0
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  movapd %xmm0,%xmm2
  jmp    L79
L497:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L335
L475:
  movapd %xmm2,%xmm0
  mov    %r9,0x70(%rsp)
  mov    %r8,0x40(%rsp)
  mov    %rcx,0x30(%rsp)
  mov    %rdx,0x20(%rsp)
  mov    %rsi,0x18(%rsp)
  mov    %rdi,0x10(%rsp)
  movaps %xmm3,0x50(%rsp)
  movsd  %xmm6,0x8(%rsp)
  call   <sqrt@plt>
  mov    D221(%rip),%rax
  movapd 0x50(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x70(%rsp),%r9
  mov    0x40(%rsp),%r8
  movapd %xmm0,%xmm2
  mov    0x30(%rsp),%rcx
  mov    0x20(%rsp),%rdx
  movq   %rax,%xmm4
  mov    0x18(%rsp),%rsi
  mov    0x10(%rsp),%rdi
  movsd  0x8(%rsp),%xmm6
  jmp    L629
L127:
  mulsd  0x18(%r9),%xmm12
  movapd %xmm0,%xmm5
  addsd  %xmm12,%xmm1
  jmp    L405
L213:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L171
L664:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L434
L118:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L187
L546:
  mov    %r9,0x30(%rsp)
  mov    %r8,0x20(%rsp)
  mov    %rcx,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  movaps %xmm3,0x40(%rsp)
  call   <sqrt@plt>
  movapd 0x40(%rsp),%xmm3
  mov    0x30(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x20(%rsp),%r8
  mov    0x18(%rsp),%rcx
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L523
L553:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L40
L403:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L24
L207:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L649
L133:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  jmp    L559
```

tool_calls: name: extract_symbolic_data
arguments: tag: D202
type: f32[2]
name: extract_symbolic_data
arguments: tag: D221
type: f64[2]
name: extract_symbolic_data
arguments: tag: D28
type: byte[8]
name: extract_symbolic_data
arguments: tag: D157
type: f64
name: extract_symbolic_data
arguments: tag: D222
type: qword
name: extract_symbolic_data
arguments: tag: D150
type: byte[8]
name: extract_symbolic_data
arguments: tag: D2
type: f64
name: extract_symbolic_data
arguments: tag: D52
type: f32[2]
name: extract_symbolic_data
arguments: tag: D30
type: f64
name: extract_symbolic_data
arguments: tag: D171
type: f32[2]
name: extract_symbolic_data
arguments: tag: D23
type: f64
name: extract_symbolic_data
arguments: tag: D88
type: f32[4]

tool: {"D202": [0.0,-2.0]}

tool: {"D221": [3.0,3.0]}

tool: {"D28": [0xa0,0xc2,0xeb,0xfe,0x4b,0x48,0xb4,0x39]}

tool: D157: 10000

tool: D222: 9223372036854775807

tool: {"D150": [0xbc,0x89,0xd8,0x97,0xb2,0xd2,0x9c,0x3c]}

tool: D2: 4

tool: {"D52": [0.0,1.75]}

tool: D30: 1000

tool: {"D171": [0.0,-0.0]}

tool: D23: 0.6666666666666667

tool: {"D88": [0.0,-0.0,0.0,-0.0]}

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