user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<rotMatrixCCOVsubrtn>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x78,%rsp
  movsd  (%rsi),%xmm1
  movsd  0x8(%rsi),%xmm2
  movsd  0x10(%rsi),%xmm0
  mov    0xb0(%rsp),%r12
  mulsd  %xmm2,%xmm2
  mov    0xc0(%rsp),%rbp
  mov    0xb8(%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),%xmm3
  movsd  0x38(%rsi),%xmm4
  movsd  0x40(%rsi),%xmm0
  mulsd  %xmm4,%xmm4
  mulsd  %xmm3,%xmm3
  mulsd  %xmm0,%xmm0
  addsd  %xmm4,%xmm3
  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),%xmm5
  movsd  0x10(%r12),%xmm4
  movsd  0x8(%r12),%xmm1
  mulsd  %xmm5,%xmm5
  movsd  (%r12),%xmm6
  movsd  0x18(%r12),%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  %xmm2,%xmm2
  addsd  %xmm5,%xmm0
  movapd %xmm4,%xmm5
  mulsd  %xmm1,%xmm5
  mulsd  %xmm6,%xmm4
  mulsd  %xmm6,%xmm1
  subsd  %xmm5,%xmm0
  subsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  D103(%rip),%xmm2
  movapd %xmm0,%xmm5
  subsd  %xmm1,%xmm5
  movsd  %xmm5,0x8(%rbp)
  movsd  0x28(%r12),%xmm1
  movsd  0x18(%r12),%xmm8
  movsd  0x20(%r12),%xmm0
  movsd  0x8(%r12),%xmm4
  mulsd  %xmm1,%xmm2
  movsd  (%r12),%xmm6
  movsd  0x10(%r12),%xmm7
  mulsd  %xmm1,%xmm1
  mulsd  %xmm8,%xmm2
  mulsd  %xmm4,%xmm1
  mulsd  %xmm7,%xmm4
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm0
  mulsd  %xmm6,%xmm4
  addsd  %xmm1,%xmm2
  movapd %xmm5,%xmm1
  mulsd  %xmm6,%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm8,%xmm0
  mulsd  %xmm7,%xmm0
  mulsd  %xmm8,%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm3,%xmm0
  mulsd  %xmm3,%xmm0
  subsd  %xmm4,%xmm2
  movsd  D137(%rip),%xmm4
  mulsd  %xmm4,%xmm1
  movsd  %xmm2,0x10(%rbp)
  addsd  %xmm1,%xmm0
  movsd  D133(%rip),%xmm1
  comisd %xmm0,%xmm1
  movsd  %xmm0,0x18(%rbp)
  ja     L323
  pxor   %xmm1,%xmm1
  ucomisd %xmm0,%xmm1
  ja     L54
  sqrtsd %xmm0,%xmm0
L626:
  movsd  D38(%rip),%xmm6
  movsd  %xmm0,0x18(%rbp)
  mulsd  %xmm0,%xmm6
  comisd %xmm6,%xmm3
  ja     L323
  movapd %xmm3,%xmm8
  movapd %xmm3,%xmm7
  subsd  %xmm0,%xmm8
  addsd  %xmm0,%xmm7
  divsd  %xmm4,%xmm8
  divsd  %xmm4,%xmm7
  movapd %xmm8,%xmm9
  movapd %xmm8,%xmm6
  movsd  %xmm8,0x20(%rbp)
  mulsd  %xmm8,%xmm9
  mulsd  %xmm9,%xmm6
  mulsd  %xmm3,%xmm9
  subsd  %xmm9,%xmm6
  movapd %xmm5,%xmm9
  mulsd  %xmm8,%xmm9
  subsd  %xmm9,%xmm6
  movapd %xmm7,%xmm9
  movsd  %xmm7,0x28(%rbp)
  mulsd  %xmm7,%xmm9
  addsd  %xmm2,%xmm6
  movapd %xmm6,%xmm10
  movsd  %xmm6,0x30(%rbp)
  movapd %xmm7,%xmm6
  mulsd  %xmm5,%xmm7
  mulsd  %xmm9,%xmm6
  mulsd  %xmm3,%xmm9
  subsd  %xmm9,%xmm6
  subsd  %xmm7,%xmm6
  movapd %xmm10,%xmm7
  addsd  %xmm2,%xmm6
  addsd  %xmm6,%xmm7
  movsd  %xmm6,0x38(%rbp)
  comisd %xmm1,%xmm7
  jbe    L319
  divsd  %xmm5,%xmm2
  movq   D145(%rip),%xmm3
  movsd  D21(%rip),%xmm5
  mov    $0x32,%eax
  movsd  %xmm2,0x10(%rdx)
  jmp    L76
  nopl   0x0(%rax)
L449:
  sub    $0x1,%eax
  je     L510
L76:
  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    L449
L510:
  movsd  0x0(%rbp),%xmm5
  movapd %xmm2,%xmm6
  mulsd  %xmm4,%xmm6
  movapd %xmm5,%xmm0
  addsd  %xmm5,%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm6,%xmm2
  subsd  %xmm2,%xmm0
  movapd %xmm5,%xmm2
  mulsd  %xmm5,%xmm2
  addsd  %xmm2,%xmm0
  movsd  D192(%rip),%xmm2
  mulsd  0x8(%rbp),%xmm2
  addsd  %xmm0,%xmm2
  comisd %xmm1,%xmm2
  movsd  %xmm2,0x18(%rbp)
  ja     L27
  subsd  0x10(%rdx),%xmm5
  movsd  D159(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  movsd  %xmm0,0x8(%rdx)
L399:
  movsd  D49(%rip),%xmm2
  movsd  %xmm0,(%rdx)
  mulsd  0x18(%rbp),%xmm2
  comisd %xmm2,%xmm0
  ja     L323
  movapd %xmm0,%xmm6
  movsd  0x0(%rbp),%xmm5
  movq   D34(%rip),%xmm15
  mov    $0x2,%r10d
  addsd  %xmm0,%xmm6
  mov    $0x2,%r11d
  movapd %xmm5,%xmm2
  addsd  %xmm5,%xmm5
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm6
  subsd  %xmm6,%xmm2
  movapd %xmm0,%xmm6
  addsd  0x10(%rbp),%xmm2
  mulsd  %xmm4,%xmm6
  mulsd  %xmm6,%xmm0
  subsd  %xmm0,%xmm5
  addsd  0x8(%rbp),%xmm5
  divsd  %xmm5,%xmm2
  movapd %xmm2,%xmm0
  movsd  %xmm2,(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm0,%xmm6
  movapd %xmm0,%xmm5
  addsd  %xmm0,%xmm6
  mulsd  %xmm2,%xmm5
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm5
  mulsd  %xmm0,%xmm6
  subsd  %xmm6,%xmm5
  movapd %xmm0,%xmm6
  addsd  0x10(%rbp),%xmm5
  mulsd  %xmm4,%xmm6
  mulsd  %xmm6,%xmm0
  subsd  %xmm0,%xmm2
  addsd  0x8(%rbp),%xmm2
  divsd  %xmm2,%xmm5
  movsd  %xmm5,(%rdx)
  movsd  0x8(%rdx),%xmm5
  movsd  0x0(%rbp),%xmm2
  movapd %xmm5,%xmm6
  movapd %xmm2,%xmm0
  addsd  %xmm2,%xmm2
  addsd  %xmm5,%xmm6
  mulsd  %xmm5,%xmm0
  mulsd  %xmm5,%xmm2
  mulsd  %xmm5,%xmm6
  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)
L13:
  movsd  0x10(%r12),%xmm5
  lea    (%r11,%r11,2),%eax
  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    %eax,%r11d
  movsd  0x8(%r12),%xmm8
  movsd  (%r12),%xmm9
  movsd  0x18(%r12),%xmm7
  lea    (%r9,%r11,8),%r14
  lea    0x1(%rax),%r11d
  movapd %xmm8,%xmm5
  add    $0x2,%eax
  lea    (%r9,%r11,8),%r13
  mulsd  %xmm9,%xmm5
  lea    (%r9,%rax,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    L25
  comisd %xmm4,%xmm0
  jbe    L147
  movsd  (%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x10(%rbx),%xmm0
L599:
  movsd  %xmm0,(%r15)
  movsd  (%r14),%xmm0
  mov    $0x3,%eax
  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  (%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),%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)
L367:
  movsd  (%r14),%xmm0
  movsd  0x0(%r13),%xmm4
  andpd  %xmm3,%xmm2
  andpd  %xmm3,%xmm4
  andpd  %xmm3,%xmm0
  addsd  %xmm4,%xmm0
  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  (%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),%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)
  sub    $0x1,%eax
  jne    L367
  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     L385
  sqrtsd %xmm0,%xmm0
L100:
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r14),%xmm2
  mov    $0x1,%r11d
  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,%r10d
  jne    L618
  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     L533
  sqrtsd %xmm0,%xmm0
L439:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r9),%xmm3
  movsd  0x40(%r9),%xmm5
  movsd  0x38(%r9),%xmm7
  movsd  0x20(%r9),%xmm4
  divsd  %xmm0,%xmm3
  movsd  0x28(%r9),%xmm2
  movsd  %xmm3,0x18(%r9)
  divsd  0x0(%rbp),%xmm4
  movapd %xmm4,%xmm0
  movsd  %xmm4,0x20(%r9)
  divsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm6
  mulsd  %xmm5,%xmm0
  movsd  %xmm2,0x28(%r9)
  mulsd  %xmm7,%xmm6
  mulsd  %xmm3,%xmm5
  mulsd  %xmm7,%xmm3
  subsd  %xmm6,%xmm0
  movsd  0x30(%r9),%xmm6
  mulsd  %xmm6,%xmm2
  mulsd  %xmm6,%xmm4
  movsd  %xmm0,(%r9)
  mulsd  %xmm0,%xmm0
  subsd  %xmm5,%xmm2
  subsd  %xmm4,%xmm3
  movsd  %xmm2,0x8(%r9)
  mulsd  %xmm2,%xmm2
  movsd  %xmm3,0x10(%r9)
  mulsd  %xmm3,%xmm3
  addsd  %xmm2,%xmm0
  addsd  %xmm3,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L305
  sqrtsd %xmm0,%xmm0
L360:
  movsd  %xmm0,0x0(%rbp)
  movsd  (%r9),%xmm2
  movsd  0x8(%r9),%xmm4
  movsd  0x10(%r9),%xmm3
  divsd  %xmm0,%xmm2
  movsd  %xmm2,(%r9)
  divsd  0x0(%rbp),%xmm4
  movsd  %xmm4,0x8(%r9)
  divsd  0x0(%rbp),%xmm3
  movsd  %xmm3,0x10(%r9)
  mulsd  (%rsi),%xmm2
  mulsd  0x18(%rsi),%xmm4
  mulsd  0x30(%rsi),%xmm3
  movapd %xmm2,%xmm0
  addsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm0
L262:
  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     L309
  sqrtsd %xmm0,%xmm0
L391:
  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     L32
  sqrtsd %xmm0,%xmm0
L337:
  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)
  mulsd  %xmm0,%xmm0
  subsd  %xmm4,%xmm3
  subsd  %xmm5,%xmm2
  movsd  %xmm3,0x38(%r8)
  mulsd  %xmm3,%xmm3
  movsd  %xmm2,0x40(%r8)
  mulsd  %xmm2,%xmm2
  addsd  %xmm3,%xmm0
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L565
  sqrtsd %xmm0,%xmm0
L386:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x30(%r8),%xmm5
  xor    %eax,%eax
  divsd  %xmm0,%xmm5
  movsd  0x38(%r8),%xmm0
  movsd  %xmm5,0x30(%r8)
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x38(%r8)
  movsd  %xmm0,0x50(%rsp)
  movsd  0x40(%r8),%xmm0
  divsd  0x0(%rbp),%xmm0
  movsd  %xmm0,0x30(%rsp)
  movsd  (%r8),%xmm0
  movsd  0x30(%rsp),%xmm3
  movsd  %xmm0,0x20(%rsp)
  movsd  %xmm3,0x40(%r8)
  movsd  0x20(%rsi),%xmm6
  movsd  0x28(%rsi),%xmm0
  movsd  (%rsi),%xmm12
  movsd  0x18(%rsi),%xmm3
  movsd  (%r9),%xmm8
  movsd  0x8(%r9),%xmm2
  movsd  %xmm6,(%rsp)
  movsd  %xmm0,0x18(%rsp)
  movapd %xmm3,%xmm6
  movapd %xmm12,%xmm0
  movsd  0x30(%rsi),%xmm11
  mulsd  %xmm2,%xmm6
  movsd  0x10(%r9),%xmm7
  movsd  0x8(%rsi),%xmm10
  mulsd  %xmm8,%xmm0
  movsd  0x40(%rsi),%xmm14
  movsd  0x38(%rsi),%xmm13
  movsd  0x10(%rsi),%xmm9
  movsd  %xmm13,0x8(%rsp)
  movapd %xmm14,%xmm4
  movsd  0x8(%r8),%xmm13
  movsd  %xmm14,0x40(%rsp)
  movsd  %xmm9,0x10(%rsp)
  movsd  0x10(%r8),%xmm9
  addsd  %xmm0,%xmm6
  movapd %xmm11,%xmm0
  mulsd  %xmm7,%xmm0
  addsd  %xmm0,%xmm6
  mulsd  0x20(%rsp),%xmm6
  movapd %xmm8,%xmm0
  mulsd  %xmm10,%xmm0
  mulsd  0x10(%rsp),%xmm8
  movapd %xmm0,%xmm14
  movsd  (%rsp),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  0x18(%rsp),%xmm2
  addsd  %xmm14,%xmm0
  movsd  0x8(%rsp),%xmm14
  addsd  %xmm8,%xmm2
  mulsd  %xmm7,%xmm14
  mulsd  %xmm4,%xmm7
  addsd  %xmm14,%xmm0
  addsd  %xmm7,%xmm2
  mulsd  %xmm13,%xmm0
  mulsd  %xmm9,%xmm2
  addsd  %xmm6,%xmm0
  addsd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  jbe    L380
  movsd  0x20(%rsp),%xmm3
  xorpd  %xmm15,%xmm13
  xorpd  %xmm15,%xmm9
  mov    $0x1,%eax
  movsd  %xmm13,0x8(%r8)
  xorpd  %xmm15,%xmm3
  movsd  %xmm9,0x10(%r8)
  movsd  %xmm3,(%r8)
  movsd  0x20(%rsi),%xmm7
  movsd  (%rsi),%xmm12
  movsd  %xmm3,0x20(%rsp)
  movsd  0x30(%rsi),%xmm11
  movsd  0x18(%rsi),%xmm3
  movsd  %xmm7,(%rsp)
  movsd  0x38(%rsi),%xmm7
  movsd  0x8(%rsi),%xmm10
  movsd  %xmm7,0x8(%rsp)
  movsd  0x10(%rsi),%xmm7
  movsd  %xmm7,0x10(%rsp)
  movsd  0x28(%rsi),%xmm7
  movsd  %xmm7,0x18(%rsp)
  movsd  0x40(%rsi),%xmm7
  movsd  %xmm7,0x40(%rsp)
L380:
  movsd  0x18(%r9),%xmm7
  movsd  0x20(%r9),%xmm2
  movsd  0x28(%r9),%xmm8
  movsd  0x18(%r8),%xmm9
  movapd %xmm2,%xmm6
  movapd %xmm7,%xmm0
  movsd  0x20(%r8),%xmm14
  movsd  0x28(%r8),%xmm13
  mulsd  %xmm12,%xmm0
  mulsd  %xmm3,%xmm6
  addsd  %xmm0,%xmm6
  movapd %xmm8,%xmm0
  mulsd  %xmm11,%xmm0
  addsd  %xmm0,%xmm6
  movapd %xmm7,%xmm0
  mulsd  %xmm10,%xmm0
  mulsd  %xmm9,%xmm6
  movapd %xmm0,%xmm4
  movsd  (%rsp),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  0x18(%rsp),%xmm2
  addsd  %xmm4,%xmm0
  movsd  0x8(%rsp),%xmm4
  mulsd  %xmm8,%xmm4
  mulsd  0x40(%rsp),%xmm8
  addsd  %xmm4,%xmm0
  mulsd  %xmm14,%xmm0
  addsd  %xmm6,%xmm0
  movsd  0x10(%rsp),%xmm6
  mulsd  %xmm7,%xmm6
  addsd  %xmm6,%xmm2
  addsd  %xmm8,%xmm2
  mulsd  %xmm13,%xmm2
  addsd  %xmm2,%xmm0
  comisd %xmm0,%xmm1
  ja     L395
  movsd  0x30(%r9),%xmm0
  movsd  0x38(%r9),%xmm6
  movsd  (%rsp),%xmm8
  movsd  0x40(%r9),%xmm2
  mulsd  %xmm0,%xmm10
  mulsd  %xmm6,%xmm8
  mulsd  %xmm6,%xmm3
  mulsd  %xmm0,%xmm12
  mulsd  %xmm2,%xmm11
  mulsd  0x18(%rsp),%xmm6
  addsd  %xmm10,%xmm8
  movsd  0x8(%rsp),%xmm10
  addsd  %xmm12,%xmm3
  mulsd  %xmm2,%xmm10
  mulsd  0x40(%rsp),%xmm2
  addsd  %xmm11,%xmm3
  addsd  %xmm10,%xmm8
  mulsd  0x50(%rsp),%xmm8
  mulsd  %xmm5,%xmm3
  addsd  %xmm3,%xmm8
  movsd  0x10(%rsp),%xmm3
  mulsd  %xmm0,%xmm3
  addsd  %xmm3,%xmm6
  addsd  %xmm6,%xmm2
  mulsd  0x30(%rsp),%xmm2
  addsd  %xmm2,%xmm8
  comisd %xmm8,%xmm1
  ja     L188
  mulsd  %xmm9,%xmm7
  movsd  0x20(%rsp),%xmm4
  mulsd  (%r9),%xmm4
  mulsd  %xmm5,%xmm0
  addsd  %xmm4,%xmm7
  test   %eax,%eax
  jne    L503
  addsd  %xmm0,%xmm7
  movsd  %xmm7,(%rdi)
L513:
  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)
  add    $0x78,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax,%rax,1)
L323:
  mov    %rbp,0xc0(%rsp)
  xor    %eax,%eax
  mov    %rbx,0xb8(%rsp)
  mov    %r12,0xb0(%rsp)
  add    $0x78,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1070 <rotMatrixCCOVsubrtnII@plt>
  nopl   (%rax)
L319:
  movsd  D205(%rip),%xmm2
  movsd  D21(%rip),%xmm5
  mov    $0x32,%eax
  mulsd  %xmm10,%xmm2
  mulsd  %xmm0,%xmm2
  movapd %xmm10,%xmm0
  subsd  %xmm6,%xmm0
  divsd  %xmm0,%xmm2
  addsd  %xmm8,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  movsd  %xmm3,(%rdx)
  movq   D145(%rip),%xmm3
  jmp    L476
  cs nopw 0x0(%rax,%rax,1)
L318:
  sub    $0x1,%eax
  je     L551
L476:
  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    L318
L551:
  movsd  0x0(%rbp),%xmm6
  movapd %xmm2,%xmm5
  mulsd  %xmm4,%xmm5
  movapd %xmm6,%xmm0
  addsd  %xmm6,%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm5,%xmm2
  subsd  %xmm2,%xmm0
  movapd %xmm6,%xmm2
  mulsd  %xmm6,%xmm2
  addsd  %xmm2,%xmm0
  movsd  D192(%rip),%xmm2
  mulsd  0x8(%rbp),%xmm2
  addsd  %xmm0,%xmm2
  comisd %xmm1,%xmm2
  movsd  %xmm2,0x18(%rbp)
  ja     L469
  movsd  (%rdx),%xmm5
  movsd  D159(%rip),%xmm0
  subsd  %xmm5,%xmm6
  mulsd  %xmm6,%xmm0
  movsd  %xmm0,0x8(%rdx)
L344:
  movsd  D49(%rip),%xmm2
  movsd  %xmm0,0x10(%rdx)
  mulsd  0x18(%rbp),%xmm2
  comisd %xmm2,%xmm5
  ja     L323
  movsd  0x8(%rdx),%xmm8
  mov    %r9,%r13
  lea    0x30(%r9),%r14
  mov    %rdx,%r15
  movq   D34(%rip),%xmm15
  movsd  0x0(%rbp),%xmm2
  movapd %xmm8,%xmm7
  addsd  %xmm8,%xmm7
  movapd %xmm2,%xmm6
  addsd  %xmm2,%xmm2
  mulsd  %xmm8,%xmm6
  mulsd  %xmm8,%xmm7
  mulsd  %xmm8,%xmm2
  mulsd  %xmm8,%xmm6
  mulsd  %xmm8,%xmm7
  subsd  %xmm7,%xmm6
  movapd %xmm8,%xmm7
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm7
  mulsd  %xmm8,%xmm7
  subsd  %xmm7,%xmm2
  addsd  0x8(%rbp),%xmm2
  movapd %xmm6,%xmm7
  divsd  %xmm2,%xmm7
  movapd %xmm7,%xmm8
  movsd  %xmm7,0x8(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm7,%xmm6
  addsd  %xmm7,%xmm8
  mulsd  %xmm2,%xmm6
  addsd  %xmm2,%xmm2
  mulsd  %xmm7,%xmm8
  mulsd  %xmm7,%xmm2
  mulsd  %xmm7,%xmm6
  mulsd  %xmm7,%xmm8
  subsd  %xmm8,%xmm6
  movapd %xmm7,%xmm8
  addsd  0x10(%rbp),%xmm6
  mulsd  %xmm4,%xmm8
  mulsd  %xmm8,%xmm7
  subsd  %xmm7,%xmm2
  addsd  0x8(%rbp),%xmm2
  movapd %xmm0,%xmm7
  addsd  %xmm0,%xmm7
  divsd  %xmm2,%xmm6
  mulsd  %xmm0,%xmm7
  mulsd  %xmm0,%xmm7
  movsd  %xmm6,0x8(%rdx)
  movsd  0x0(%rbp),%xmm2
  movapd %xmm2,%xmm6
  addsd  %xmm2,%xmm2
  mulsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm2
  mulsd  %xmm0,%xmm6
  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,%xmm7
  movsd  %xmm6,0x10(%rdx)
  movsd  0x0(%rbp),%xmm0
  movapd %xmm6,%xmm2
  addsd  %xmm6,%xmm7
  mulsd  %xmm6,%xmm4
  mulsd  %xmm0,%xmm2
  addsd  %xmm0,%xmm0
  mulsd  %xmm6,%xmm7
  mulsd  %xmm6,%xmm0
  mulsd  %xmm6,%xmm4
  mulsd  %xmm6,%xmm2
  mulsd  %xmm6,%xmm7
  subsd  %xmm4,%xmm0
  addsd  0x8(%rbp),%xmm0
  subsd  %xmm7,%xmm2
  addsd  0x10(%rbp),%xmm2
  divsd  %xmm0,%xmm2
  movsd  %xmm2,0x10(%rdx)
L291:
  movsd  0x10(%r12),%xmm4
  movsd  0x8(%r12),%xmm6
  movsd  0x20(%r12),%xmm2
  movapd %xmm4,%xmm0
  mulsd  %xmm6,%xmm0
  mulsd  %xmm5,%xmm6
  mulsd  %xmm5,%xmm4
  mulsd  %xmm5,%xmm5
  mulsd  %xmm2,%xmm2
  subsd  %xmm6,%xmm0
  subsd  %xmm4,%xmm0
  addsd  %xmm5,%xmm0
  subsd  %xmm2,%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    L164
  comisd %xmm4,%xmm0
  jbe    L403
  movsd  (%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x10(%rbx),%xmm0
L257:
  movsd  %xmm0,0x10(%r13)
  movsd  0x0(%r13),%xmm0
  mov    $0x3,%eax
  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  (%rbx),%xmm0
  mulsd  0x8(%rbx),%xmm4
  mulsd  0x10(%rbx),%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x0(%r13)
  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,0x8(%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,0x10(%r13)
L490:
  movsd  0x0(%r13),%xmm0
  movsd  0x8(%r13),%xmm4
  andpd  %xmm3,%xmm2
  andpd  %xmm3,%xmm4
  andpd  %xmm3,%xmm0
  addsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm2
  movsd  %xmm2,0x0(%rbp)
  movsd  0x0(%r13),%xmm0
  divsd  %xmm2,%xmm0
  movsd  0x8(%r13),%xmm2
  movsd  %xmm0,0x0(%r13)
  divsd  0x0(%rbp),%xmm2
  movsd  %xmm2,0x8(%r13)
  movsd  0x10(%r13),%xmm2
  divsd  0x0(%rbp),%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
  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
  mulsd  (%rcx),%xmm2
  mulsd  0x8(%rcx),%xmm5
  addsd  %xmm5,%xmm2
  movsd  0x28(%rbx),%xmm5
  mulsd  0x10(%rcx),%xmm5
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x10(%r13)
  sub    $0x1,%eax
  jne    L490
  mulsd  %xmm0,%xmm0
  mulsd  %xmm4,%xmm4
  mulsd  %xmm2,%xmm2
  addsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  ucomisd %xmm0,%xmm1
  ja     L355
  sqrtsd %xmm0,%xmm0
L325:
  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    %r13,%r14
  je     L285
  movsd  (%r15),%xmm5
  jmp    L291
  nopw   0x0(%rax,%rax,1)
L27:
  ucomisd %xmm2,%xmm1
  ja     L328
  sqrtsd %xmm2,%xmm2
L94:
  movsd  %xmm2,0x18(%rbp)
  movsd  0x10(%rdx),%xmm6
  subsd  %xmm6,%xmm5
  subsd  %xmm2,%xmm5
  movsd  D159(%rip),%xmm2
  mulsd  %xmm2,%xmm5
  movsd  %xmm5,0x8(%rdx)
  movsd  0x0(%rbp),%xmm0
  subsd  %xmm6,%xmm0
  addsd  0x18(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  jmp    L399
L469:
  ucomisd %xmm2,%xmm1
  ja     L156
  sqrtsd %xmm2,%xmm2
L518:
  movsd  %xmm2,0x18(%rbp)
  movsd  (%rdx),%xmm5
  subsd  %xmm5,%xmm6
  movapd %xmm6,%xmm0
  addsd  %xmm2,%xmm0
  movsd  D159(%rip),%xmm2
  mulsd  %xmm2,%xmm0
  movsd  %xmm0,0x8(%rdx)
  movsd  0x0(%rbp),%xmm0
  subsd  %xmm5,%xmm0
  subsd  0x18(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  jmp    L344
  nopl   0x0(%rax,%rax,1)
L618:
  mov    $0x1,%r10d
  jmp    L13
  nopl   0x0(%rax,%rax,1)
L147:
  movsd  0x10(%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x20(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x28(%rbx),%xmm0
  jmp    L599
  nop
L25:
  comisd %xmm4,%xmm2
  jbe    L147
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,(%r14)
  movsd  0x18(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x20(%rbx),%xmm0
  jmp    L599
  nopl   (%rax)
L403:
  movsd  0x10(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x20(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x28(%rbx),%xmm0
  jmp    L257
  nopl   0x0(%rax,%rax,1)
L395:
  xorpd  %xmm15,%xmm9
  xorpd  %xmm15,%xmm14
  xorpd  %xmm15,%xmm13
  add    $0x1,%eax
  movsd  %xmm9,0x18(%r8)
  movsd  %xmm14,0x20(%r8)
  movsd  %xmm13,0x28(%r8)
  movsd  0x20(%rsi),%xmm6
  movsd  0x8(%rsi),%xmm2
  movsd  0x30(%r9),%xmm3
  movsd  0x38(%r9),%xmm0
  movsd  0x40(%r9),%xmm7
  movsd  0x18(%rsi),%xmm8
  mulsd  %xmm0,%xmm6
  mulsd  %xmm3,%xmm2
  mulsd  %xmm0,%xmm8
  mulsd  0x28(%rsi),%xmm0
  addsd  %xmm2,%xmm6
  movsd  0x38(%rsi),%xmm2
  mulsd  %xmm7,%xmm2
  addsd  %xmm2,%xmm6
  movsd  (%rsi),%xmm2
  mulsd  0x50(%rsp),%xmm6
  mulsd  %xmm3,%xmm2
  addsd  %xmm8,%xmm2
  movsd  0x30(%rsi),%xmm8
  mulsd  %xmm7,%xmm8
  mulsd  0x40(%rsi),%xmm7
  addsd  %xmm8,%xmm2
  mulsd  %xmm5,%xmm2
  addsd  %xmm2,%xmm6
  movsd  0x10(%rsi),%xmm2
  mulsd  %xmm3,%xmm2
  addsd  %xmm2,%xmm0
  addsd  %xmm7,%xmm0
  mulsd  0x30(%rsp),%xmm0
  addsd  %xmm0,%xmm6
  comisd %xmm6,%xmm1
  jbe    L297
L188:
  movsd  0x50(%rsp),%xmm0
  xorpd  %xmm15,%xmm5
  add    $0x1,%eax
  movsd  %xmm5,0x30(%r8)
  xorpd  %xmm15,%xmm0
  movsd  %xmm0,0x38(%r8)
  movsd  0x30(%rsp),%xmm0
  xorpd  %xmm15,%xmm0
  movsd  %xmm0,0x40(%r8)
  movsd  0x30(%r9),%xmm3
L297:
  mulsd  0x18(%r9),%xmm9
  movsd  0x20(%rsp),%xmm4
  mulsd  (%r9),%xmm4
  mulsd  %xmm3,%xmm5
  addsd  %xmm9,%xmm4
  cmp    $0x2,%eax
  je     L128
L153:
  subsd  %xmm5,%xmm4
  movsd  %xmm4,(%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)
  add    $0x78,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xchg   %ax,%ax
L164:
  comisd %xmm4,%xmm2
  jbe    L403
  movsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  0x18(%rbx),%xmm0
  movsd  %xmm0,0x8(%r13)
  movsd  0x20(%rbx),%xmm0
  jmp    L257
  nopw   0x0(%rax,%rax,1)
L285:
  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     L224
  sqrtsd %xmm0,%xmm0
L62:
  movsd  %xmm0,0x0(%rbp)
  movsd  0x18(%r9),%xmm4
  movsd  0x8(%r9),%xmm6
  movsd  0x10(%r9),%xmm3
  movsd  0x20(%r9),%xmm2
  movapd %xmm4,%xmm5
  movsd  0x28(%r9),%xmm4
  divsd  %xmm0,%xmm5
  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     L463
  sqrtsd %xmm0,%xmm0
L460:
  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
  jmp    L262
  nopl   0x0(%rax)
L128:
  addsd  %xmm5,%xmm4
  movsd  %xmm4,(%rdi)
  jmp    L513
L385:
  mov    %r9,0x40(%rsp)
  mov    %r8,0x30(%rsp)
  mov    %rcx,0x20(%rsp)
  mov    %rdx,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  mov    %r10d,(%rsp)
  movaps %xmm15,0x60(%rsp)
  movaps %xmm3,0x50(%rsp)
  call   <sqrt@plt>
  movapd 0x60(%rsp),%xmm15
  movapd 0x50(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x40(%rsp),%r9
  mov    0x30(%rsp),%r8
  mov    0x20(%rsp),%rcx
  mov    0x18(%rsp),%rdx
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  mov    (%rsp),%r10d
  jmp    L100
L54:
  mov    %r9,0x60(%rsp)
  mov    %r8,0x50(%rsp)
  mov    %rcx,0x40(%rsp)
  mov    %rdx,0x30(%rsp)
  mov    %rsi,0x20(%rsp)
  mov    %rdi,0x18(%rsp)
  movsd  %xmm2,0x10(%rsp)
  movsd  %xmm5,0x8(%rsp)
  movsd  %xmm3,(%rsp)
  call   <sqrt@plt>
  mov    D137(%rip),%rax
  mov    0x60(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x50(%rsp),%r8
  mov    0x40(%rsp),%rcx
  mov    0x30(%rsp),%rdx
  mov    0x20(%rsp),%rsi
  movq   %rax,%xmm4
  mov    0x18(%rsp),%rdi
  movsd  0x10(%rsp),%xmm2
  movsd  0x8(%rsp),%xmm5
  movsd  (%rsp),%xmm3
  jmp    L626
L463:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L460
L224:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L62
L156:
  movapd %xmm2,%xmm0
  mov    %r9,0x40(%rsp)
  mov    %r8,0x30(%rsp)
  mov    %rcx,0x20(%rsp)
  mov    %rdx,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  movaps %xmm3,0x50(%rsp)
  movsd  %xmm6,(%rsp)
  call   <sqrt@plt>
  mov    D137(%rip),%rax
  movapd 0x50(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x40(%rsp),%r9
  mov    0x30(%rsp),%r8
  movapd %xmm0,%xmm2
  mov    0x20(%rsp),%rcx
  mov    0x18(%rsp),%rdx
  movq   %rax,%xmm4
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  movsd  (%rsp),%xmm6
  jmp    L518
L355:
  mov    %r9,0x20(%rsp)
  mov    %r8,0x18(%rsp)
  mov    %rcx,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x40(%rsp)
  movaps %xmm3,0x30(%rsp)
  call   <sqrt@plt>
  movapd 0x40(%rsp),%xmm15
  movapd 0x30(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%r8
  mov    0x10(%rsp),%rcx
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L325
L328:
  movapd %xmm2,%xmm0
  mov    %r9,0x40(%rsp)
  mov    %r8,0x30(%rsp)
  mov    %rcx,0x20(%rsp)
  mov    %rdx,0x18(%rsp)
  mov    %rsi,0x10(%rsp)
  mov    %rdi,0x8(%rsp)
  movaps %xmm3,0x50(%rsp)
  movsd  %xmm5,(%rsp)
  call   <sqrt@plt>
  mov    D137(%rip),%rax
  movapd 0x50(%rsp),%xmm3
  pxor   %xmm1,%xmm1
  mov    0x40(%rsp),%r9
  mov    0x30(%rsp),%r8
  movapd %xmm0,%xmm2
  mov    0x20(%rsp),%rcx
  mov    0x18(%rsp),%rdx
  movq   %rax,%xmm4
  mov    0x10(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  movsd  (%rsp),%xmm5
  jmp    L94
L503:
  mulsd  0x18(%r9),%xmm9
  movapd %xmm0,%xmm5
  addsd  %xmm9,%xmm4
  jmp    L153
L565:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L386
L32:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L337
L309:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L391
L305:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L360
L533:
  mov    %r9,0x18(%rsp)
  mov    %r8,0x10(%rsp)
  mov    %rsi,0x8(%rsp)
  mov    %rdi,(%rsp)
  movaps %xmm15,0x20(%rsp)
  call   <sqrt@plt>
  movapd 0x20(%rsp),%xmm15
  mov    0x18(%rsp),%r9
  pxor   %xmm1,%xmm1
  mov    0x10(%rsp),%r8
  mov    0x8(%rsp),%rsi
  mov    (%rsp),%rdi
  jmp    L439
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D103
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D137
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D133
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D38
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D145
data_type: qword
name: extract_symbolic_data
arguments: data_tag: D21
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D192
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D159
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D49
data_type: f64
name: extract_symbolic_data
arguments: data_tag: D34
data_type: f32[2]
name: extract_symbolic_data
arguments: data_tag: D205
data_type: f64

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

tool: D137: 3

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

tool: D38: 10000

tool: D145: 9223372036854775807

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

tool: D192: 4

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

tool: D49: 1000

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

tool: D205: 0.6666666666666667

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;
}
```