user: 这段汇编代码用C语言表示是什么样的:

```asm
<eigen>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  sub    $0x198,%rsp
  mov    %rdx,0x38(%rsp)
  mov    %rdi,%r11
  mov    %esi,%r9d
  mov    %rcx,0x10(%rsp)
  mov    %r8,0x150(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0x1188(%rsp)
  xor    %eax,%eax
  test   %esi,%esi
  jle    L284
  movslq %esi,%rbx
  movsd  D239(%rip),%xmm6
  mov    %rcx,%r14
  xor    %ebp,%ebp
  mov    %rdi,0x18(%rsp)
  lea    0x0(,%rbx,8),%r12
  mov    %rbx,%rax
  mov    %esi,%r15d
  lea    0x8(%r12),%r13
  mov    %r12,%rbx
  movsd  %xmm6,0x8(%rsp)
  mov    %rax,%r12
L480:
  mov    %rcx,%rdi
  mov    %rbx,%rdx
  xor    %esi,%esi
  add    $0x1,%ebp
  call   <memset@plt>
  movsd  0x8(%rsp),%xmm7
  mov    %rax,%rcx
  movsd  %xmm7,(%r14)
  add    %rbx,%rcx
  add    %r13,%r14
  cmp    %ebp,%r15d
  jne    L480
  mov    0x18(%rsp),%r11
  mov    %r12,%rax
  mov    0x38(%rsp),%rsi
  mov    %rbx,%r12
  mov    %r15d,%r9d
  mov    %rax,%rbx
  lea    0x180(%rsp),%rcx
  xor    %eax,%eax
  mov    %r11,%rdx
L912:
  movsd  (%rdx),%xmm0
  add    %r13,%rdx
  movsd  %xmm0,(%rcx,%rax,8)
  movsd  %xmm0,(%rsi,%rax,8)
  add    $0x1,%rax
  cmp    %rax,%rbx
  jne    L912
  lea    0x980(%rsp),%rax
  mov    %r12,%rdx
  xor    %esi,%esi
  mov    %r11,0x18(%rsp)
  mov    %rax,%rdi
  mov    %r9d,0x8(%rsp)
  mov    %rax,0xa8(%rsp)
  call   <memset@plt>
  mov    0x8(%rsp),%r9d
  mov    0x18(%rsp),%r11
L914:
  lea    -0x1(%r9),%eax
  mov    %r9d,%r13d
  lea    0x0(,%rbx,8),%rcx
  movl   $0x1,0x18(%rsp)
  mov    %eax,0x11c(%rsp)
  mov    %r9d,%eax
  movq   D164(%rip),%xmm5
  imul   %r9d,%eax
  movq   D237(%rip),%xmm7
  movl   $0x0,0xb4(%rsp)
  mov    %eax,0x14c(%rsp)
  xor    %eax,%eax
  test   %r9d,%r9d
  mov    %rax,%rdi
  cmovs  %rcx,%rax
  cmovns %rcx,%rdi
  shl    $0x4,%rbx
  mov    %rax,0x90(%rsp)
  mov    %r9d,%eax
  mov    %rbx,%rsi
  and    $0xfffffffe,%eax
  mov    %rdi,0x88(%rsp)
  mov    %r9d,%edi
  mov    %eax,0xf4(%rsp)
  imul   %r9d,%eax
  shr    %edi
  mov    %rcx,%r9
  mov    %edi,0xf8(%rsp)
  mov    %r11,%rcx
  mov    %eax,0x24(%rsp)
  lea    -0x1(%rdi),%eax
  shl    $0x4,%rax
  lea    0x990(%rsp,%rax,1),%rax
  mov    %rax,0x140(%rsp)
L740:
  mov    0x11c(%rsp),%eax
  test   %eax,%eax
  jle    L719
  mov    0x11c(%rsp),%ebx
  pxor   %xmm4,%xmm4
  xor    %edx,%edx
  xor    %r8d,%r8d
  movapd D182(%rip),%xmm3
  movapd %xmm4,%xmm0
  xor    %r10d,%r10d
  mov    %ebx,%edi
  nopl   0x0(%rax,%rax,1)
L423:
  add    $0x1,%r10d
  cmp    %r10d,%r13d
  jle    L668
  mov    %r13d,%eax
  sub    %r8d,%eax
  cmp    $0x2,%eax
  je     L230
  add    $0x1,%r8
  movslq %edx,%rax
  mov    %edi,%r11d
  add    %r8,%rax
  shr    %r11d
  lea    (%rcx,%rax,8),%rax
  shl    $0x4,%r11
  add    %rax,%r11
  nopw   0x0(%rax,%rax,1)
L1096:
  movupd (%rax),%xmm2
  add    $0x10,%rax
  andpd  %xmm3,%xmm2
  addsd  %xmm2,%xmm0
  unpckhpd %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  cmp    %rax,%r11
  jne    L1096
  mov    %edi,%r11d
  and    $0xfffffffe,%r11d
  lea    (%r11,%r10,1),%eax
  cmp    %r11d,%edi
  je     L421
L432:
  add    %edx,%eax
  cltq
  movsd  (%rcx,%rax,8),%xmm1
  andpd  %xmm5,%xmm1
  addsd  %xmm1,%xmm0
L421:
  add    %r13d,%edx
  sub    $0x1,%edi
  cmp    %ebx,%r10d
  jne    L423
  ucomisd %xmm4,%xmm0
  jp     L1094
  je     L719
L1094:
  cmpl   $0x5,0x18(%rsp)
  movapd %xmm4,%xmm3
  jle    L1046
L427:
  lea    -0x2(%r13),%eax
  mov    0x38(%rsp),%rdi
  mov    %r9,%rbx
  mov    %rcx,%rbp
  mov    %eax,0x148(%rsp)
  add    $0x2,%rax
  movq   D164(%rip),%xmm1
  mov    %r13d,%r10d
  mov    %rax,0x130(%rsp)
  mov    %rdi,%r8
  mov    0x10(%rsp),%rax
  mov    %rcx,0x98(%rsp)
  movq   D237(%rip),%xmm6
  mov    %rax,0x80(%rsp)
  mov    %r13d,0xf0(%rsp)
  movq   $0x1,0xb8(%rsp)
  movq   $0x0,0x68(%rsp)
  mov    %rdi,0x138(%rsp)
  mov    %rsi,%rdi
  nopl   (%rax)
L727:
  mov    0x68(%rsp),%eax
  mov    %eax,0x54(%rsp)
  mov    0xb8(%rsp),%rax
  mov    %eax,0xb0(%rsp)
  mov    %eax,0xfc(%rsp)
  cmp    %eax,%r10d
  jle    L938
  mov    0xf0(%rsp),%ecx
  mov    0x11c(%rsp),%r14d
  mov    %rax,%r13
  mov    %r13d,%edx
  mov    0x68(%rsp),%rsi
  movsd  D76(%rip),%xmm2
  movsd  D239(%rip),%xmm9
  mov    %ecx,%r15d
  sub    %r10d,%r15d
  cmp    %r13d,%r14d
  lea    0x0(,%rsi,8),%rax
  mov    %esi,0x118(%rsp)
  cmovle %r14d,%edx
  movslq %r15d,%r11
  mov    %r15d,0x8(%rsp)
  lea    0x0(,%r13,8),%r14
  mov    %r11,0xa0(%rsp)
  mov    %edx,0x58(%rsp)
  lea    0x1(%r13),%rdx
  mov    %rdx,%r15
  mov    %rdx,0x110(%rsp)
  mov    0x148(%rsp),%edx
  add    %r11,%r15
  mov    0x90(%rsp),%r11
  sub    %esi,%edx
  shl    $0x3,%r15
  add    %rax,%r11
  add    0x88(%rsp),%rax
  mov    %rax,0x78(%rsp)
  mov    %esi,%eax
  shr    %eax
  mov    %r11,0x70(%rsp)
  mov    %r10d,%r11d
  mov    %eax,0xd8(%rsp)
  mov    %esi,%eax
  and    $0xfffffffe,%eax
  mov    %eax,0xdc(%rsp)
  imul   %r10d,%eax
  mov    %eax,0x50(%rsp)
  add    %esi,%eax
  cltq
  lea    0x0(%rbp,%rax,8),%rax
  mov    %rax,0x30(%rsp)
  mov    0x24(%rsp),%eax
  add    %esi,%eax
  mov    0x10(%rsp),%rsi
  cltq
  lea    (%rsi,%rax,8),%rax
  mov    %ecx,%esi
  mov    $0x1,%ecx
  mov    %rax,0x28(%rsp)
  jmp    L551
  nopl   (%rax)
L548:
  mov    0x38(%rsp),%rax
  movsd  (%rax,%r14,1),%xmm0
  andpd  %xmm1,%xmm0
  movapd %xmm0,%xmm12
  addsd  %xmm8,%xmm12
  ucomisd %xmm12,%xmm0
  jp     L534
  jne    L534
  movq   $0x0,-0x8(%rbp,%r15,1)
  lea    -0x1(%rdx),%r9d
L900:
  add    $0x1,%r13
  add    $0x1,%rcx
  add    $0x8,%r14
  add    %r11d,%esi
  add    $0x8,%r15
  mov    %r9d,%edx
  cmp    %r13d,0x58(%rsp)
  jl     L660
L551:
  movsd  -0x8(%rbp,%r15,1),%xmm11
  lea    0x1(%r13),%eax
  cmpl   $0x6,0x18(%rsp)
  mov    %r13d,%r12d
  mov    %r13d,0x48(%rsp)
  movapd %xmm11,%xmm10
  mov    %eax,0x40(%rsp)
  andpd  %xmm1,%xmm10
  mov    %eax,0x60(%rsp)
  movapd %xmm10,%xmm8
  mulsd  %xmm2,%xmm8
  jle    L534
  movsd  (%r8),%xmm0
  andpd  %xmm1,%xmm0
  movapd %xmm0,%xmm12
  addsd  %xmm8,%xmm12
  ucomisd %xmm12,%xmm0
  jp     L534
  je     L548
L534:
  comisd %xmm3,%xmm10
  lea    -0x1(%rdx),%r9d
  jbe    L900
  mov    0x38(%rsp),%rax
  movsd  (%r8),%xmm12
  movsd  (%rax,%r14,1),%xmm0
  subsd  %xmm12,%xmm0
  movapd %xmm0,%xmm10
  andpd  %xmm1,%xmm10
  addsd  %xmm10,%xmm8
  ucomisd %xmm8,%xmm10
  jp     L774
  jne    L774
  movapd %xmm11,%xmm13
  movapd %xmm9,%xmm8
  divsd  %xmm0,%xmm13
L497:
  movapd %xmm13,%xmm0
  mulsd  %xmm13,%xmm0
  addsd  %xmm8,%xmm0
  ucomisd %xmm0,%xmm4
  ja     L865
  sqrtsd %xmm0,%xmm0
L834:
  movapd %xmm8,%xmm14
  mov    0x68(%rsp),%r10
  movapd %xmm13,%xmm10
  mov    0xa8(%rsp),%rax
  mulsd  %xmm13,%xmm11
  divsd  %xmm0,%xmm14
  movsd  (%rax,%r10,8),%xmm0
  subsd  %xmm11,%xmm12
  subsd  %xmm11,%xmm0
  movsd  %xmm12,(%r8)
  movsd  %xmm0,(%rax,%r10,8)
  movsd  (%rax,%r14,1),%xmm0
  addsd  %xmm11,%xmm0
  movsd  %xmm0,(%rax,%r14,1)
  mov    0x38(%rsp),%rax
  addsd  (%rax,%r14,1),%xmm11
  movsd  %xmm11,(%rax,%r14,1)
  mov    0x88(%rsp),%rax
  movq   $0x0,-0x8(%rbp,%r15,1)
  mulsd  %xmm14,%xmm10
  addsd  %xmm8,%xmm14
  movapd %xmm10,%xmm8
  divsd  %xmm14,%xmm8
  test   %r10,%r10
  je     L1017
  add    %r14,%rax
  cmp    0x70(%rsp),%rax
  mov    %rax,0xc0(%rsp)
  mov    0x90(%rsp),%rax
  setl   %r9b
  add    %r14,%rax
  cmp    %rax,0x78(%rsp)
  mov    %rax,0xc8(%rsp)
  setl   %al
  or     %r9b,%al
  je     L479
  mov    0x54(%rsp),%eax
  sub    $0x1,%eax
  cmp    $0x3,%eax
  jbe    L479
  mov    %edx,0xd0(%rsp)
  movapd %xmm8,%xmm12
  movapd %xmm10,%xmm11
  mov    0x98(%rsp),%rax
  mov    0xd8(%rsp),%edx
  lea    0x0(%rbp,%r14,1),%r9
  unpcklpd %xmm12,%xmm12
  xor    %r10d,%r10d
  unpcklpd %xmm11,%xmm11
  nopl   0x0(%rax)
L688:
  movsd  (%rax),%xmm0
  movsd  (%r9),%xmm13
  add    $0x1,%r10d
  movhpd (%rax,%rbx,1),%xmm0
  movhpd (%r9,%rbx,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movlpd %xmm15,(%rax)
  movhpd %xmm15,(%rax,%rbx,1)
  add    %rdi,%rax
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movlpd %xmm0,(%r9)
  movhpd %xmm0,(%r9,%rbx,1)
  add    %rdi,%r9
  cmp    %edx,%r10d
  jne    L688
  mov    0xd0(%rsp),%edx
  mov    0xdc(%rsp),%r10d
  cmp    %r10d,0x54(%rsp)
  je     L364
  mov    0x30(%rsp),%r9
  mov    0x50(%rsp),%eax
  movapd %xmm8,%xmm11
  movsd  (%r9),%xmm0
  add    %r12d,%eax
  cltq
  mulsd  %xmm0,%xmm11
  lea    0x0(%rbp,%rax,8),%rax
  movapd %xmm0,%xmm13
  movsd  (%rax),%xmm12
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%r9)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax)
L364:
  lea    -0x1(%rdx),%r9d
  cmp    0x40(%rsp),%r11d
  jle    L448
  movslq %esi,%r10
  lea    0x10(%r15),%rax
  lea    0x1(%r13,%r10,1),%r9
  shl    $0x3,%r9
  cmp    %r9,%rax
  lea    0x10(%r9),%rax
  setle  0xd0(%rsp)
  cmp    %rax,%r15
  setge  %al
  or     0xd0(%rsp),%al
  je     L527
  mov    %r11d,%eax
  sub    0x48(%rsp),%eax
  cmp    $0x2,%eax
  je     L527
  mov    %edx,%eax
  movapd %xmm8,%xmm12
  movapd %xmm10,%xmm11
  add    %rbp,%r9
  shr    %eax
  lea    0x0(%rbp,%r15,1),%r10
  unpcklpd %xmm12,%xmm12
  mov    %edx,0xd0(%rsp)
  shl    $0x4,%rax
  unpcklpd %xmm11,%xmm11
  mov    %rax,0x48(%rsp)
  mov    0x48(%rsp),%rdx
  xor    %eax,%eax
  nopl   0x0(%rax,%rax,1)
L326:
  movupd (%r10,%rax,1),%xmm0
  movupd (%r9,%rax,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movups %xmm15,(%r10,%rax,1)
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movups %xmm0,(%r9,%rax,1)
  add    $0x10,%rax
  cmp    %rdx,%rax
  jne    L326
  mov    0xd0(%rsp),%edx
  mov    0x40(%rsp),%eax
  mov    %edx,%r10d
  lea    -0x1(%rdx),%r9d
  and    $0xfffffffe,%r10d
  add    %r10d,%eax
  cmp    %edx,%r10d
  je     L448
  mov    0x8(%rsp),%edx
  movapd %xmm8,%xmm11
  add    %eax,%edx
  add    %esi,%eax
  movslq %edx,%rdx
  cltq
  lea    0x0(%rbp,%rdx,8),%rdx
  lea    0x0(%rbp,%rax,8),%rax
  movsd  (%rdx),%xmm0
  movsd  (%rax),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rdx)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax)
L448:
  mov    0x70(%rsp),%rdx
  cmp    %rdx,0xc0(%rsp)
  setl   %dl
  mov    0x78(%rsp),%r10
  cmp    %r10,0xc8(%rsp)
  setg   %al
  or     %dl,%al
  je     L614
  cmp    $0x4,%r11d
  jbe    L614
  mov    0x10(%rsp),%rax
  mov    %rcx,0x48(%rsp)
  movapd %xmm8,%xmm12
  xor    %r10d,%r10d
  movapd %xmm10,%xmm11
  mov    0xf8(%rsp),%ecx
  unpcklpd %xmm12,%xmm12
  lea    (%rax,%r14,1),%rdx
  mov    0x80(%rsp),%rax
  unpcklpd %xmm11,%xmm11
  nopw   0x0(%rax,%rax,1)
L265:
  movsd  (%rax),%xmm0
  movsd  (%rdx),%xmm13
  add    $0x1,%r10d
  movhpd (%rax,%rbx,1),%xmm0
  movhpd (%rdx,%rbx,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movlpd %xmm15,(%rax)
  movhpd %xmm15,(%rax,%rbx,1)
  add    %rdi,%rax
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%rbx,1)
  add    %rdi,%rdx
  cmp    %ecx,%r10d
  jne    L265
  mov    0x48(%rsp),%rcx
  cmp    0xf4(%rsp),%r11d
  je     L342
  mov    0x10(%rsp),%rax
  add    0x24(%rsp),%r12d
  movapd %xmm8,%xmm11
  mov    0x28(%rsp),%rdx
  movslq %r12d,%r12
  lea    (%rax,%r12,8),%rax
  movsd  (%rdx),%xmm0
  movsd  (%rax),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  mulsd  %xmm12,%xmm8
  addsd  %xmm12,%xmm11
  subsd  %xmm8,%xmm0
  mulsd  %xmm10,%xmm11
  mulsd  %xmm10,%xmm0
  subsd  %xmm11,%xmm13
  addsd  %xmm12,%xmm0
  movsd  %xmm13,(%rdx)
  movsd  %xmm0,(%rax)
L342:
  addl   $0x1,0xb4(%rsp)
  jmp    L900
  nopl   0x0(%rax)
L660:
  mov    %r11d,%r10d
  mov    0x60(%rsp),%r11d
  cmp    0x40(%rsp),%r10d
  jle    L581
  movslq 0x40(%rsp),%r14
  mov    0xa0(%rsp),%rcx
  movslq 0xf0(%rsp),%rdx
  mov    0x68(%rsp),%r13
  movsd  D239(%rip),%xmm9
  mov    %r14,%rax
  mov    %r14,%r9
  imul   %r10d,%eax
  sub    %r13,%r9
  mov    %eax,%esi
  lea    0x1(%r14,%rcx,1),%rax
  lea    0x0(,%rax,8),%r15
  lea    (%r14,%rdx,1),%rax
  shl    $0x3,%rax
  lea    0x0(%rbp,%rdx,8),%rdx
  mov    %rax,0x40(%rsp)
  lea    0x1(%r13),%rax
  mov    %esi,%r13d
  mov    %rax,0x100(%rsp)
  add    %rcx,%rax
  shl    $0x3,%rax
  mov    %rax,0x58(%rsp)
  add    %rbp,%rax
  mov    %rax,0x60(%rsp)
  lea    0x0(,%rcx,8),%rax
  sub    %rax,%rdx
  add    %rbp,%rax
  mov    %rdx,0x128(%rsp)
  mov    %rax,0x120(%rsp)
  jmp    L544
  nop
L76:
  mov    0x38(%rsp),%rax
  movsd  (%rax,%r14,8),%xmm0
  andpd  %xmm1,%xmm0
  movapd %xmm0,%xmm12
  addsd  %xmm8,%xmm12
  ucomisd %xmm0,%xmm12
  jp     L842
  jne    L842
  movq   $0x0,-0x8(%rbp,%r15,1)
L128:
  add    $0x1,%r14
  add    $0x1,%r9
  add    %r10d,%r13d
  add    $0x8,%r15
  addq   $0x8,0x40(%rsp)
  cmp    %r11d,%r10d
  je     L224
L544:
  movsd  -0x8(%rbp,%r15,1),%xmm11
  mov    %r11d,%r12d
  add    $0x1,%r11d
  cmpl   $0x6,0x18(%rsp)
  movapd %xmm11,%xmm10
  andpd  %xmm1,%xmm10
  movapd %xmm10,%xmm8
  mulsd  %xmm2,%xmm8
  jle    L842
  movsd  (%r8),%xmm0
  andpd  %xmm1,%xmm0
  movapd %xmm0,%xmm12
  addsd  %xmm8,%xmm12
  ucomisd %xmm0,%xmm12
  jp     L842
  je     L76
L842:
  comisd %xmm3,%xmm10
  jbe    L128
  lea    0x0(,%r14,8),%rax
  movsd  (%r8),%xmm13
  mov    %rax,0x48(%rsp)
  mov    0x38(%rsp),%rax
  movsd  (%rax,%r14,8),%xmm0
  subsd  %xmm13,%xmm0
  movapd %xmm0,%xmm10
  andpd  %xmm1,%xmm10
  addsd  %xmm10,%xmm8
  ucomisd %xmm10,%xmm8
  jp     L962
  jne    L962
  movapd %xmm11,%xmm12
  movapd %xmm9,%xmm8
  divsd  %xmm0,%xmm12
L857:
  movapd %xmm12,%xmm0
  mulsd  %xmm12,%xmm0
  addsd  %xmm8,%xmm0
  ucomisd %xmm0,%xmm4
  ja     L117
  sqrtsd %xmm0,%xmm0
L302:
  movapd %xmm8,%xmm14
  mov    0xa8(%rsp),%rax
  mov    0x68(%rsp),%rcx
  divsd  %xmm0,%xmm14
  movsd  (%rax,%rcx,8),%xmm0
  movapd %xmm14,%xmm10
  addsd  %xmm8,%xmm14
  mulsd  %xmm12,%xmm10
  mulsd  %xmm11,%xmm12
  movapd %xmm10,%xmm8
  subsd  %xmm12,%xmm0
  subsd  %xmm12,%xmm13
  divsd  %xmm14,%xmm8
  movsd  %xmm0,(%rax,%rcx,8)
  movsd  (%rax,%r14,8),%xmm0
  movsd  %xmm13,(%r8)
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%r14,8)
  mov    0x38(%rsp),%rax
  addsd  (%rax,%r14,8),%xmm12
  movsd  %xmm12,(%rax,%r14,8)
  movq   $0x0,-0x8(%rbp,%r15,1)
  test   %rcx,%rcx
  je     L1075
  mov    0x48(%rsp),%rsi
  mov    0x90(%rsp),%rax
  add    %rsi,%rax
  cmp    0x78(%rsp),%rax
  mov    %rax,0xd0(%rsp)
  mov    0x88(%rsp),%rax
  setg   %dl
  add    %rsi,%rax
  cmp    0x70(%rsp),%rax
  mov    %rax,0xc8(%rsp)
  setl   %al
  or     %dl,%al
  je     L1062
  mov    0x54(%rsp),%eax
  sub    $0x1,%eax
  cmp    $0x3,%eax
  jbe    L1062
  lea    0x0(%rbp,%rsi,1),%rdx
  movapd %xmm8,%xmm12
  movapd %xmm10,%xmm11
  mov    0x98(%rsp),%rax
  mov    0xd8(%rsp),%esi
  unpcklpd %xmm12,%xmm12
  unpcklpd %xmm11,%xmm11
  xor    %ecx,%ecx
  cs nopw 0x0(%rax,%rax,1)
L633:
  movsd  (%rax),%xmm0
  movsd  (%rdx),%xmm13
  add    $0x1,%ecx
  movhpd (%rax,%rbx,1),%xmm0
  movhpd (%rdx,%rbx,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movlpd %xmm15,(%rax)
  movhpd %xmm15,(%rax,%rbx,1)
  add    %rdi,%rax
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%rbx,1)
  add    %rdi,%rdx
  cmp    %esi,%ecx
  jne    L633
  mov    0xdc(%rsp),%esi
  cmp    %esi,0x54(%rsp)
  je     L991
  mov    0x30(%rsp),%rcx
  mov    0x50(%rsp),%eax
  movapd %xmm8,%xmm11
  movsd  (%rcx),%xmm0
  add    %r12d,%eax
  cltq
  mulsd  %xmm0,%xmm11
  lea    0x0(%rbp,%rax,8),%rax
  movapd %xmm0,%xmm13
  movsd  (%rax),%xmm12
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rcx)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax)
L991:
  cmp    $0x4,%r10d
  mov    %r14d,%esi
  mov    %r14d,0x108(%rsp)
  seta   0xe0(%rsp)
  sub    0x54(%rsp),%esi
  xor    %ecx,%ecx
  lea    -0x1(%rsi),%eax
  mov    %rcx,%rdx
  mov    %r14d,0xe8(%rsp)
  mov    %rax,%rsi
  sub    $0x1,%rax
  cmp    %r12d,0xb0(%rsp)
  cmovl  %rax,%rdx
  shl    $0x3,%rax
  imul   %rbx,%rdx
  cmp    %r12d,0xb0(%rsp)
  cmovge %rcx,%rax
  add    0x58(%rsp),%rax
  test   %r10d,%r10d
  mov    %rax,0xc0(%rsp)
  mov    %rcx,%rax
  cmovs  %rdx,%rax
  add    0x40(%rsp),%rax
  cmp    %rax,0xc0(%rsp)
  setl   %al
  test   %r10d,%r10d
  cmovs  %rcx,%rdx
  add    0x40(%rsp),%rdx
  cmp    0x58(%rsp),%rdx
  setl   %dl
  or     %al,%dl
  je     L643
  mov    %r11d,%eax
  sub    0x54(%rsp),%eax
  cmp    $0x3,%eax
  setne  %dl
  cmp    %r14d,0xfc(%rsp)
  setl   %al
  test   %al,%dl
  je     L643
  mov    $0x1,%eax
  mov    0x60(%rsp),%rcx
  movapd %xmm8,%xmm12
  cmp    %r12d,0xb0(%rsp)
  cmovge %eax,%esi
  mov    0x40(%rsp),%rax
  movapd %xmm10,%xmm11
  unpcklpd %xmm12,%xmm12
  unpcklpd %xmm11,%xmm11
  mov    %esi,%edx
  add    %rbp,%rax
  shr    %edx
  sub    $0x1,%edx
  shl    $0x4,%rdx
  lea    0x10(%rcx,%rdx,1),%rcx
  mov    0x60(%rsp),%rdx
L161:
  movupd (%rdx),%xmm0
  movsd  (%rax),%xmm13
  add    $0x10,%rdx
  movapd %xmm0,%xmm14
  movhpd (%rax,%rbx,1),%xmm13
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movups %xmm15,-0x10(%rdx)
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movlpd %xmm0,(%rax)
  movhpd %xmm0,(%rax,%rbx,1)
  add    %rdi,%rax
  cmp    %rcx,%rdx
  jne    L161
  mov    0xb0(%rsp),%eax
  mov    %esi,%edx
  and    $0xfffffffe,%edx
  add    %edx,%eax
  cmp    %edx,%esi
  je     L506
  mov    0x8(%rsp),%esi
  movapd %xmm8,%xmm11
  lea    (%rsi,%rax,1),%edx
  movslq %edx,%rdx
  imul   %r10d,%eax
  lea    0x0(%rbp,%rdx,8),%rdx
  movsd  (%rdx),%xmm0
  add    %r12d,%eax
  mulsd  %xmm0,%xmm11
  cltq
  movapd %xmm0,%xmm13
  lea    0x0(%rbp,%rax,8),%rax
  movsd  (%rax),%xmm12
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rdx)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax)
L506:
  cmp    %r11d,%r10d
  jle    L558
  movslq %r13d,%rcx
  lea    0x10(%r15),%rax
  lea    0x1(%r14,%rcx,1),%rdx
  shl    $0x3,%rdx
  cmp    %rax,%rdx
  lea    0x10(%rdx),%rax
  setge  %sil
  cmp    %r15,%rax
  setle  %al
  or     %sil,%al
  je     L197
  mov    %r10d,%eax
  sub    0xe8(%rsp),%eax
  cmp    $0x2,%eax
  je     L197
  mov    %r10d,%eax
  movapd %xmm8,%xmm12
  movapd %xmm10,%xmm11
  add    %rbp,%rdx
  sub    %r11d,%eax
  lea    0x0(%rbp,%r15,1),%rcx
  unpcklpd %xmm12,%xmm12
  mov    %eax,0xc0(%rsp)
  shr    %eax
  unpcklpd %xmm11,%xmm11
  mov    %eax,%esi
  xor    %eax,%eax
  shl    $0x4,%rsi
  nopl   0x0(%rax)
L720:
  movupd (%rcx,%rax,1),%xmm0
  movupd (%rdx,%rax,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movups %xmm15,(%rcx,%rax,1)
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movups %xmm0,(%rdx,%rax,1)
  add    $0x10,%rax
  cmp    %rsi,%rax
  jne    L720
  mov    0xc0(%rsp),%esi
  mov    %esi,%edx
  and    $0xfffffffe,%edx
  lea    (%rdx,%r11,1),%eax
  cmp    %edx,%esi
  je     L558
  mov    0x8(%rsp),%esi
  movapd %xmm8,%xmm11
  lea    (%rsi,%rax,1),%edx
  add    %r13d,%eax
  movslq %edx,%rdx
  cltq
  lea    0x0(%rbp,%rdx,8),%rdx
  lea    0x0(%rbp,%rax,8),%rax
  movsd  (%rdx),%xmm0
  movsd  (%rax),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rdx)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax)
L558:
  mov    0x70(%rsp),%rsi
  cmp    %rsi,0xc8(%rsp)
  setl   %dl
  mov    0x78(%rsp),%rsi
  cmp    %rsi,0xd0(%rsp)
  setg   %al
  or     %dl,%al
  je     L809
  cmpb   $0x0,0xe0(%rsp)
  je     L809
  movapd %xmm8,%xmm12
  movapd %xmm10,%xmm11
  xor    %ecx,%ecx
  mov    0x80(%rsp),%rax
  mov    0x48(%rsp),%rdx
  unpcklpd %xmm12,%xmm12
  add    0x10(%rsp),%rdx
  unpcklpd %xmm11,%xmm11
  mov    0xf8(%rsp),%esi
  nopw   0x0(%rax,%rax,1)
L214:
  movsd  (%rax),%xmm0
  movsd  (%rdx),%xmm13
  add    $0x1,%ecx
  movhpd (%rax,%rbx,1),%xmm0
  movhpd (%rdx,%rbx,1),%xmm13
  movapd %xmm0,%xmm14
  movapd %xmm0,%xmm15
  mulpd  %xmm12,%xmm14
  addpd  %xmm13,%xmm14
  mulpd  %xmm11,%xmm14
  subpd  %xmm14,%xmm15
  movapd %xmm13,%xmm14
  mulpd  %xmm12,%xmm14
  movlpd %xmm15,(%rax)
  movhpd %xmm15,(%rax,%rbx,1)
  add    %rdi,%rax
  subpd  %xmm14,%xmm0
  mulpd  %xmm11,%xmm0
  addpd  %xmm13,%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%rbx,1)
  add    %rdi,%rdx
  cmp    %esi,%ecx
  jne    L214
  cmp    0xf4(%rsp),%r10d
  je     L778
  mov    0x28(%rsp),%rsi
  mov    0x10(%rsp),%rax
  add    0x24(%rsp),%r12d
  movslq %r12d,%r12
  movsd  (%rsi),%xmm0
  lea    (%rax,%r12,8),%rax
  movsd  (%rax),%xmm12
  movapd %xmm0,%xmm11
  movapd %xmm0,%xmm13
  mulsd  %xmm8,%xmm11
  mulsd  %xmm12,%xmm8
  addsd  %xmm12,%xmm11
  subsd  %xmm8,%xmm0
  mulsd  %xmm10,%xmm11
  mulsd  %xmm10,%xmm0
  subsd  %xmm11,%xmm13
  addsd  %xmm12,%xmm0
  movsd  %xmm13,(%rsi)
  movsd  %xmm0,(%rax)
L778:
  addl   $0x1,0xb4(%rsp)
  jmp    L128
  nopl   (%rax)
L581:
  mov    0x68(%rsp),%rax
  add    $0x1,%rax
  mov    %rax,0x100(%rsp)
  nopl   0x0(%rax)
L224:
  mov    0x100(%rsp),%rax
  add    $0x8,%r8
  add    %r10d,0xf0(%rsp)
  addq   $0x8,0x80(%rsp)
  mov    %rax,0x68(%rsp)
  mov    0x110(%rsp),%rax
  addq   $0x8,0x98(%rsp)
  mov    %rax,0xb8(%rsp)
  cmp    %rax,0x130(%rsp)
  jne    L727
  mov    %rbx,%r9
  mov    %rdi,%rsi
  mov    %rbp,%rcx
  mov    %r10d,%r13d
  test   %r10d,%r10d
  jle    L316
  cmp    $0x1,%r10d
  je     L475
  mov    0xa8(%rsp),%rax
  mov    0x138(%rsp),%rdi
  pxor   %xmm1,%xmm1
  lea    0x180(%rsp),%rdx
  mov    0x140(%rsp),%r8
  nopl   0x0(%rax)
L657:
  movapd (%rdx),%xmm0
  addpd  (%rax),%xmm0
  add    $0x10,%rax
  add    $0x10,%rdx
  add    $0x10,%rdi
  movaps %xmm0,-0x10(%rdx)
  movups %xmm0,-0x10(%rdi)
  movaps %xmm1,-0x10(%rax)
  cmp    %r8,%rax
  jne    L657
  movslq 0xf4(%rsp),%rax
  cmp    %eax,%r13d
  je     L316
L366:
  movsd  0x180(%rsp,%rax,8),%xmm0
  mov    0x38(%rsp),%rdi
  addsd  0x980(%rsp,%rax,8),%xmm0
  movq   $0x0,0x980(%rsp,%rax,8)
  movsd  %xmm0,0x180(%rsp,%rax,8)
  movsd  %xmm0,(%rdi,%rax,8)
L316:
  addl   $0x1,0x18(%rsp)
  mov    0x18(%rsp),%eax
  cmp    $0x32,%eax
  jne    L740
  lea    D62(%rip),%rdi
  call   <puts@plt>
  mov    $0xffffffff,%eax
  jmp    L858
  nopl   0x0(%rax,%rax,1)
L962:
  mulsd  D225(%rip),%xmm0
  movapd %xmm9,%xmm8
  divsd  %xmm11,%xmm0
  movapd %xmm0,%xmm12
  movapd %xmm0,%xmm10
  mulsd  %xmm0,%xmm0
  andpd  %xmm1,%xmm12
  addsd  %xmm9,%xmm0
  ucomisd %xmm0,%xmm4
  ja     L893
  sqrtsd %xmm0,%xmm0
L1065:
  addsd  %xmm12,%xmm0
  comisd %xmm10,%xmm4
  movapd %xmm9,%xmm12
  divsd  %xmm0,%xmm12
  jbe    L857
  xorpd  %xmm7,%xmm12
  jmp    L857
  nopl   0x0(%rax)
L774:
  mulsd  D225(%rip),%xmm0
  movapd %xmm9,%xmm8
  divsd  %xmm11,%xmm0
  movapd %xmm0,%xmm13
  movapd %xmm0,%xmm10
  mulsd  %xmm0,%xmm0
  andpd  %xmm1,%xmm13
  addsd  %xmm9,%xmm0
  ucomisd %xmm0,%xmm4
  ja     L605
  sqrtsd %xmm0,%xmm0
L959:
  addsd  %xmm13,%xmm0
  comisd %xmm10,%xmm4
  movapd %xmm9,%xmm13
  divsd  %xmm0,%xmm13
  jbe    L497
  xorpd  %xmm6,%xmm13
  jmp    L497
  nopl   0x0(%rax)
L614:
  mov    0x80(%rsp),%rax
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L1049:
  movsd  (%rax),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rax,%rcx,8),%xmm12
  add    $0x1,%edx
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%rcx,8)
  add    %rbx,%rax
  cmp    %edx,%r11d
  jne    L1049
  jmp    L342
  nopl   0x0(%rax,%rax,1)
L643:
  mov    0x128(%rsp),%rax
  mov    0x120(%rsp),%rcx
  mov    0x108(%rsp),%esi
  lea    -0x8(%r15,%rax,1),%rdx
  mov    0xb8(%rsp),%rax
  nopl   0x0(%rax)
L986:
  movsd  (%rcx,%rax,8),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rdx),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rcx,%rax,8)
  add    $0x1,%rax
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rdx)
  add    %rbx,%rdx
  cmp    %eax,%esi
  jg     L986
  jmp    L506
  nopl   0x0(%rax,%rax,1)
L809:
  mov    0x80(%rsp),%rax
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L94:
  movsd  (%rax),%xmm0
  movsd  (%rax,%r9,8),%xmm12
  add    $0x1,%edx
  movapd %xmm0,%xmm11
  movapd %xmm0,%xmm13
  mulsd  %xmm8,%xmm11
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm12,%xmm11
  mulsd  %xmm8,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%r9,8)
  add    %rbx,%rax
  cmp    %r10d,%edx
  jne    L94
  jmp    L778
  nopl   0x0(%rax)
L197:
  mov    0xa0(%rsp),%rsi
  mov    0x11c(%rsp),%edx
  movslq %r11d,%rax
  sub    0xa0(%rsp),%rcx
  add    %rsi,%rax
  sub    %r11d,%edx
  add    %r14,%rsi
  add    %rsi,%rdx
  lea    0x0(%rbp,%rax,8),%rax
  lea    0x10(%rbp,%rdx,8),%rdx
L459:
  movsd  (%rax),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rax,%rcx,8),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%rcx,8)
  add    $0x8,%rax
  cmp    %rax,%rdx
  jne    L459
  jmp    L558
  nopl   0x0(%rax)
L527:
  mov    0xa0(%rsp),%r9
  movslq 0x40(%rsp),%rax
  sub    $0x1,%edx
  sub    0xa0(%rsp),%r10
  add    %r9,%rax
  add    %r13,%r9
  mov    %r9,0x48(%rsp)
  mov    %rdx,%r9
  add    0x48(%rsp),%rdx
  lea    0x0(%rbp,%rax,8),%rax
  lea    0x10(%rbp,%rdx,8),%rdx
  nopl   (%rax)
L989:
  movsd  (%rax),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rax,%r10,8),%xmm12
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%r10,8)
  add    $0x8,%rax
  cmp    %rdx,%rax
  jne    L989
  jmp    L448
  nopw   0x0(%rax,%rax,1)
L479:
  mov    0x98(%rsp),%rax
  mov    0x118(%rsp),%r10d
  xor    %r9d,%r9d
  nopl   0x0(%rax,%rax,1)
L495:
  movsd  (%rax),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rax,%rcx,8),%xmm12
  add    $0x1,%r9d
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%rcx,8)
  add    %rbx,%rax
  cmp    %r9d,%r10d
  jne    L495
  jmp    L364
  nopl   0x0(%rax)
L1062:
  mov    0x98(%rsp),%rax
  mov    0x118(%rsp),%ecx
  xor    %edx,%edx
  nopl   0x0(%rax)
L179:
  movsd  (%rax),%xmm0
  movapd %xmm8,%xmm11
  movsd  (%rax,%r9,8),%xmm12
  add    $0x1,%edx
  mulsd  %xmm0,%xmm11
  movapd %xmm0,%xmm13
  addsd  %xmm12,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm13
  movapd %xmm8,%xmm11
  mulsd  %xmm12,%xmm11
  movsd  %xmm13,(%rax)
  subsd  %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm12,%xmm0
  movsd  %xmm0,(%rax,%r9,8)
  add    %rbx,%rax
  cmp    %ecx,%edx
  jne    L179
  jmp    L991
  nopl   0x0(%rax,%rax,1)
L1075:
  mov    0x48(%rsp),%rax
  mov    0x88(%rsp),%rcx
  add    %rax,%rcx
  mov    %rcx,0xc8(%rsp)
  mov    0x90(%rsp),%rcx
  add    %rcx,%rax
  mov    %rax,0xd0(%rsp)
  jmp    L991
  nopl   0x0(%rax,%rax,1)
L1017:
  add    %r14,%rax
  mov    %rax,0xc0(%rsp)
  mov    0x90(%rsp),%rax
  add    %r14,%rax
  mov    %rax,0xc8(%rsp)
  jmp    L364
L668:
  add    $0x1,%r8
  jmp    L421
L938:
  add    $0x1,%rax
  mov    %rax,0x110(%rsp)
  mov    0x68(%rsp),%rax
  add    $0x1,%rax
  mov    %rax,0x100(%rsp)
  jmp    L224
L230:
  mov    %r10d,%eax
  add    $0x1,%r8
  jmp    L432
L719:
  xor    %eax,%eax
L858:
  mov    0x150(%rsp),%rdi
  mov    0xb4(%rsp),%ebx
  mov    %ebx,(%rdi)
  mov    0x1188(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L611
  add    $0x1198,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L1046:
  mulsd  D249(%rip),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sdl 0x14c(%rsp),%xmm1
  movapd %xmm0,%xmm3
  divsd  %xmm1,%xmm3
  jmp    L427
L475:
  xor    %eax,%eax
  jmp    L366
L117:
  mov    %r10d,0x168(%rsp)
  mov    %rdi,0x160(%rsp)
  mov    %r8,0x158(%rsp)
  mov    %r11d,0x108(%rsp)
  mov    %r9,0xe8(%rsp)
  movsd  %xmm8,0x170(%rsp)
  movsd  %xmm3,0xe0(%rsp)
  movsd  %xmm11,0xd0(%rsp)
  movsd  %xmm13,0xc8(%rsp)
  movsd  %xmm12,0xc0(%rsp)
  call   <sqrt@plt>
  mov    D239(%rip),%rax
  movq   D237(%rip),%xmm7
  pxor   %xmm4,%xmm4
  movq   D164(%rip),%xmm5
  mov    0x168(%rsp),%r10d
  movq   %rax,%xmm9
  mov    D76(%rip),%rax
  movsd  0x170(%rsp),%xmm8
  movapd %xmm7,%xmm6
  mov    0x160(%rsp),%rdi
  mov    0x158(%rsp),%r8
  movapd %xmm5,%xmm1
  mov    0x108(%rsp),%r11d
  movq   %rax,%xmm2
  mov    0xe8(%rsp),%r9
  movsd  0xe0(%rsp),%xmm3
  movsd  0xd0(%rsp),%xmm11
  movsd  0xc8(%rsp),%xmm13
  movsd  0xc0(%rsp),%xmm12
  jmp    L302
L284:
  lea    0x980(%rsp),%rax
  movslq %esi,%rbx
  mov    %rax,0xa8(%rsp)
  jmp    L914
L865:
  mov    %r11d,0x158(%rsp)
  mov    %rcx,0x128(%rsp)
  mov    %rdi,0x120(%rsp)
  mov    %esi,0x108(%rsp)
  mov    %edx,0x100(%rsp)
  mov    %r8,0xe8(%rsp)
  movsd  %xmm8,0x160(%rsp)
  movsd  %xmm3,0xe0(%rsp)
  movsd  %xmm13,0xd0(%rsp)
  movsd  %xmm12,0xc8(%rsp)
  movsd  %xmm11,0xc0(%rsp)
  call   <sqrt@plt>
  mov    D239(%rip),%rax
  movq   D237(%rip),%xmm7
  pxor   %xmm4,%xmm4
  movq   D164(%rip),%xmm5
  mov    0x158(%rsp),%r11d
  movq   %rax,%xmm9
  mov    D76(%rip),%rax
  movsd  0x160(%rsp),%xmm8
  movapd %xmm7,%xmm6
  mov    0x128(%rsp),%rcx
  mov    0x120(%rsp),%rdi
  movapd %xmm5,%xmm1
  mov    0x108(%rsp),%esi
  mov    0x100(%rsp),%edx
  movq   %rax,%xmm2
  mov    0xe8(%rsp),%r8
  movsd  0xe0(%rsp),%xmm3
  movsd  0xd0(%rsp),%xmm13
  movsd  0xc8(%rsp),%xmm12
  movsd  0xc0(%rsp),%xmm11
  jmp    L834
L893:
  mov    %r10d,0x170(%rsp)
  mov    %rdi,0x168(%rsp)
  mov    %r8,0x160(%rsp)
  mov    %r11d,0x158(%rsp)
  mov    %r9,0x108(%rsp)
  movsd  %xmm9,0x178(%rsp)
  movsd  %xmm3,0xe8(%rsp)
  movsd  %xmm11,0xe0(%rsp)
  movsd  %xmm13,0xd0(%rsp)
  movsd  %xmm10,0xc8(%rsp)
  movsd  %xmm12,0xc0(%rsp)
  call   <sqrt@plt>
  mov    D239(%rip),%rax
  movq   D237(%rip),%xmm7
  pxor   %xmm4,%xmm4
  movq   D164(%rip),%xmm5
  mov    0x170(%rsp),%r10d
  movq   %rax,%xmm9
  mov    D76(%rip),%rax
  movsd  0x178(%rsp),%xmm8
  movapd %xmm7,%xmm6
  mov    0x168(%rsp),%rdi
  mov    0x160(%rsp),%r8
  movapd %xmm5,%xmm1
  mov    0x158(%rsp),%r11d
  movq   %rax,%xmm2
  mov    0x108(%rsp),%r9
  movsd  0xe8(%rsp),%xmm3
  movsd  0xe0(%rsp),%xmm11
  movsd  0xd0(%rsp),%xmm13
  movsd  0xc8(%rsp),%xmm10
  movsd  0xc0(%rsp),%xmm12
  jmp    L1065
L611:
  call   <__stack_chk_fail@plt>
  nopl   0x0(%rax)
L605:
  mov    %r11d,0x160(%rsp)
  mov    %rcx,0x158(%rsp)
  mov    %rdi,0x128(%rsp)
  mov    %esi,0x120(%rsp)
  mov    %edx,0x108(%rsp)
  mov    %r8,0x100(%rsp)
  movsd  %xmm9,0x168(%rsp)
  movsd  %xmm3,0xe8(%rsp)
  movsd  %xmm10,0xe0(%rsp)
  movsd  %xmm13,0xd0(%rsp)
  movsd  %xmm12,0xc8(%rsp)
  movsd  %xmm11,0xc0(%rsp)
  call   <sqrt@plt>
  mov    D239(%rip),%rax
  movq   D237(%rip),%xmm7
  pxor   %xmm4,%xmm4
  movq   D164(%rip),%xmm5
  mov    0x160(%rsp),%r11d
  movq   %rax,%xmm9
  mov    D76(%rip),%rax
  movsd  0x168(%rsp),%xmm8
  movapd %xmm7,%xmm6
  mov    0x158(%rsp),%rcx
  mov    0x128(%rsp),%rdi
  movapd %xmm5,%xmm1
  mov    0x120(%rsp),%esi
  mov    0x108(%rsp),%edx
  movq   %rax,%xmm2
  mov    0x100(%rsp),%r8
  movsd  0xe8(%rsp),%xmm3
  movsd  0xe0(%rsp),%xmm10
  movsd  0xd0(%rsp),%xmm13
  movsd  0xc8(%rsp),%xmm12
  movsd  0xc0(%rsp),%xmm11
  jmp    L959
```

tool_calls: name: retrieve_data
arguments: data_tag: D239
type_guessed: f64
name: retrieve_data
arguments: data_tag: D164
type_guessed: qword
name: retrieve_data
arguments: data_tag: D237
type_guessed: f32[2]
name: retrieve_data
arguments: data_tag: D182
type_guessed: qword[2]
name: retrieve_data
arguments: data_tag: D76
type_guessed: f64
name: retrieve_data
arguments: data_tag: D62
type_guessed: string
name: retrieve_data
arguments: data_tag: D225
type_guessed: f64
name: retrieve_data
arguments: data_tag: D249
type_guessed: f64

tool: D239: 1

tool: D164: 9223372036854775807

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

tool: {"D182": [0x7fffffffffffffff,0x7fffffffffffffff]}

tool: D76: 100

tool: D62: routine JACOBI: 50 iterations should not happen

tool: D225: 0.5

tool: D249: 0.2

assistant: ```c
int eigen(a, n, d, v, nr)
double *a;
int n;
double *d;
double *v;
int *nr;
{
  int nrot;
  int j, iq, ip, i;
  double tresh, theta, tau, t, sm, s, h, g, c;
  double b[256], z[256];
  for (ip = 0; ip < n; ip++) {
    for (iq = 0; iq < n; iq++) {
      v[ip * n + iq] = 0.0;
    }
    v[ip * n + ip] = 1.0;
  }
  for (ip = 0; ip < n; ip++) {
    b[ip] = a[ip * n + ip];
    d[ip] = b[ip];
    z[ip] = 0.0;
  }
  nrot = 0;
  for (i = 1; i < 50; i++) {
    sm = 0.0;
    for (ip = 0; ip < n - 1; ip++) {
      for (iq = ip + 1; iq < n; iq++) {
        sm += fabs(a[ip * n + iq]);
      }
    }
    if (sm == 0.0) {
      *nr = nrot;
      return 0;
    }
    if (i < 6) {
      tresh = (double)0.2 * sm / (double)(n * n);
    } else {
      tresh = 0.0;
    }
    for (ip = 0; ip < n - 1; ip++) {
      for (iq = ip + 1; iq < n; iq++) {
        g = 100.0 * fabs(a[ip * n + iq]);
        if ((i > 6) && ((fabs(d[ip]) + g) == fabs(d[ip])) && ((fabs(d[iq]) + g) == fabs(d[iq]))) {
          a[ip * n + iq] = 0.0;
        } else if (fabs(a[ip * n + iq]) > tresh) {
          h = d[iq] - d[ip];
          if ((fabs(h) + g) == fabs(h)) {
            t = a[ip * n + iq] / h;
          } else {
            theta = 0.5 * h / a[ip * n + iq];
            t = 1.0 / (fabs(theta) + sqrt(1.0 + theta * theta));
            if (theta < 0.0)
              t = -t;
          }
          c = 1.0 / sqrt(1 + t * t);
          s = t * c;
          tau = s / (1.0 + c);
          h = t * a[ip * n + iq];
          z[ip] = z[ip] - h;
          z[iq] = z[iq] + h;
          d[ip] = d[ip] - h;
          d[iq] = d[iq] + h;
          a[ip * n + iq] = 0.0;
          for (j = 0; j <= ip - 1; j++) {
            g = a[j * n + ip];
            h = a[j * n + iq];
            a[j * n + ip] = g - s * (h + g * tau);
            a[j * n + iq] = h + s * (g - h * tau);
          }
          for (j = ip + 1; j <= iq - 1; j++) {
            g = a[ip * n + j];
            h = a[j * n + iq];
            a[ip * n + j] = g - s * (h + g * tau);
            a[j * n + iq] = h + s * (g - h * tau);
          }
          for (j = iq + 1; j < n; j++) {
            g = a[ip * n + j];
            h = a[iq * n + j];
            a[ip * n + j] = g - s * (h + g * tau);
            a[iq * n + j] = h + s * (g - h * tau);
          }
          for (j = 0; j < n; j++) {
            g = v[j * n + ip];
            h = v[j * n + iq];
            v[j * n + ip] = g - s * (h + g * tau);
            v[j * n + iq] = h + s * (g - h * tau);
          }
          nrot++;
        }
      }
    }
    for (ip = 0; ip < n; ip++) {
      b[ip] = b[ip] + z[ip];
      d[ip] = b[ip];
      z[ip] = 0.0;
    }
  }
  printf("routine JACOBI: 50 iterations should not happen\n");
  *nr = nrot;
  return -1;
}
```