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

```asm
<lmdif>:
  endbr64
  push   %r15
  push   %r14
  mov    %ecx,%r14d
  push   %r13
  push   %r12
  push   %rbp
  mov    %r8,%rbp
  push   %rbx
  sub    $0x178,%rsp
  mov    0x1f0(%rsp),%rax
  mov    %rsi,0x40(%rsp)
  mov    0x1d0(%rsp),%rsi
  mov    %rdi,0x38(%rsp)
  mov    %edx,%edi
  mov    %rax,0x60(%rsp)
  mov    0x210(%rsp),%rax
  mov    %edx,0xf0(%rsp)
  mov    0x1b8(%rsp),%r11
  mov    %r9,0x50(%rsp)
  mov    0x1d8(%rsp),%r15
  mov    %rsi,0x48(%rsp)
  mov    0x1e8(%rsp),%r10
  mov    %rax,0x8(%rsp)
  mov    0x1f8(%rsp),%r13
  movsd  %xmm0,0x70(%rsp)
  mov    0x200(%rsp),%r12
  mov    0x208(%rsp),%rbx
  movsd  %xmm1,0x80(%rsp)
  movsd  %xmm2,0xb0(%rsp)
  movsd  %xmm3,0xb8(%rsp)
  movsd  %xmm4,0xa0(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0x168(%rsp)
  xor    %eax,%eax
  test   %ecx,%ecx
  movl   $0x0,(%rsi)
  setle  %al
  cmp    %edx,%ecx
  setg   %dl
  or     %dl,%al
  jne    L908
  cmp    0x1e0(%rsp),%edi
  jg     L908
  pxor   %xmm6,%xmm6
  comisd %xmm0,%xmm6
  ja     L908
  comisd %xmm1,%xmm6
  ja     L908
  comisd %xmm2,%xmm6
  ja     L908
  mov    0x1b0(%rsp),%ecx
  test   %ecx,%ecx
  jle    L908
  comisd %xmm4,%xmm6
  jae    L908
  cmpl   $0x2,0x1c0(%rsp)
  je     L690
L106:
  mov    %rbp,%rcx
  mov    %r11,0x18(%rsp)
  mov    0x50(%rsp),%r8
  mov    %r14d,%edx
  mov    0x40(%rsp),%rdi
  mov    0x38(%rsp),%rax
  mov    %r10,0x88(%rsp)
  mov    $0x1,%r9d
  mov    0xf0(%rsp),%esi
  call   *%rax
  mov    0x48(%rsp),%rcx
  mov    %eax,0x10(%rsp)
  movl   $0x1,(%rcx)
  test   %eax,%eax
  js     L351
  mov    0x50(%rsp),%rsi
  mov    0xf0(%rsp),%edi
  xor    %eax,%eax
  call   <enorm@plt>
  mov    0x18(%rsp),%r11
  lea    0x8(%r12),%r8
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  lea    0x8(%rbp),%rdi
  mov    $0x1,%esi
  movq   $0x0,0x160(%rsp)
  cmp    %r8,%r11
  mov    %esi,%ecx
  lea    0x8(%r11),%r9
  setne  %dl
  cmp    $0x3,%r14d
  mov    %r9,0x90(%rsp)
  setg   %al
  and    %edx,%eax
  test   %r14d,%r14d
  movsd  %xmm3,0x58(%rsp)
  cmovg  %r14d,%ecx
  mov    %al,0x14f(%rsp)
  mov    %ecx,%eax
  mov    %ecx,0x108(%rsp)
  and    $0xfffffffe,%ecx
  shr    %eax
  mov    %ecx,0x10c(%rsp)
  sub    $0x1,%eax
  add    $0x1,%rax
  shl    $0x4,%rax
  mov    %rax,0x100(%rsp)
  mov    %ecx,%eax
  shl    $0x3,%rax
  cmp    $0x2,%r14d
  lea    (%r12,%rax,1),%rcx
  mov    %rcx,0x18(%rsp)
  lea    (%r11,%rax,1),%rcx
  mov    %rcx,0x10(%rsp)
  setg   %cl
  cmp    %r9,%rbx
  setne  0x68(%rsp)
  cmp    %rdi,%rbx
  movzbl 0x68(%rsp),%r9d
  setne  0x28(%rsp)
  movzbl 0x28(%rsp),%r10d
  and    %r10d,%r9d
  mov    %r9d,%r10d
  mov    0x50(%rsp),%r9
  and    %ecx,%r10d
  mov    %r10b,0x14e(%rsp)
  lea    0x0(%rbp,%rax,1),%r10
  mov    %r10,0x20(%rsp)
  lea    (%rbx,%rax,1),%r10
  mov    %r10,0x30(%rsp)
  mov    0xf0(%rsp),%r10d
  cmp    $0x3,%r10d
  setg   0x78(%rsp)
  add    $0x8,%r9
  cmp    %r9,0x8(%rsp)
  setne  %r9b
  and    0x78(%rsp),%r9b
  test   %r10d,%r10d
  cmovg  %r10d,%esi
  mov    %r9b,0x14d(%rsp)
  mov    0x50(%rsp),%r10
  and    %ecx,%edx
  mov    %esi,%r9d
  mov    %esi,0x134(%rsp)
  shr    %esi
  sub    $0x1,%esi
  add    $0x1,%rsi
  shl    $0x4,%rsi
  mov    %rsi,0x128(%rsp)
  mov    %r9d,%esi
  and    $0xfffffffe,%esi
  mov    %esi,0x148(%rsp)
  shl    $0x3,%rsi
  lea    (%r10,%rsi,1),%r9
  add    0x8(%rsp),%rsi
  mov    %rsi,0xe8(%rsp)
  movslq 0x1e0(%rsp),%rsi
  mov    %r9,0xe0(%rsp)
  add    $0x1,%rsi
  lea    0x0(,%rsi,8),%r9
  shl    $0x4,%rsi
  mov    %r9,0xf8(%rsp)
  sub    $0x8,%r9
  mov    %r9,0xd8(%rsp)
  lea    0x8(%r13),%r9
  cmp    %r9,%rbx
  mov    %rsi,0x140(%rsp)
  lea    0xf(%rbp),%rsi
  setne  %r9b
  cmp    %r8,%rbx
  mov    %dl,0x14c(%rsp)
  lea    0xf(%r11),%rdx
  movq   $0x0,0x98(%rsp)
  setne  %r8b
  movl   $0x1,0xf4(%rsp)
  and    %r8d,%r9d
  lea    0xf(%r13),%r8
  sub    %r12,%r8
  cmp    $0x1e,%r8
  seta   %r8b
  and    %r9d,%r8d
  cmp    %rdi,%r12
  setne  %dil
  and    %r8d,%edi
  mov    %rsi,%r8
  and    0x28(%rsp),%dil
  movq   $0x0,0x28(%rsp)
  sub    %r13,%r8
  cmp    $0x1e,%r8
  seta   %r8b
  and    %r8d,%edi
  mov    %rdx,%r8
  and    0x68(%rsp),%dil
  sub    %r13,%r8
  cmp    $0x1e,%r8
  seta   %r8b
  and    %r8d,%edi
  mov    %rdx,%r8
  sub    %r12,%r8
  cmp    $0x1e,%r8
  seta   %r8b
  sub    %r12,%rsi
  and    %r8d,%edi
  and    %ecx,%edi
  cmp    $0x1e,%rsi
  mov    %dil,0x131(%rsp)
  lea    0x0(%r13,%rax,1),%rdi
  seta   %al
  cmp    0x90(%rsp),%r12
  setne  %sil
  sub    %rbp,%rdx
  mov    %rdi,0x138(%rsp)
  and    %esi,%eax
  cmp    $0x1e,%rdx
  seta   %dl
  and    %edx,%eax
  and    %ecx,%eax
  mov    %al,0x132(%rsp)
  mov    0x8(%rsp),%rax
  add    $0x8,%rax
  cmp    %rax,%r10
  mov    %rbp,%r10
  mov    %r11,%rbp
  setne  %al
  and    0x78(%rsp),%al
  mov    %al,0x133(%rsp)
  mov    %r12,%rax
  mov    0x88(%rsp),%r12
  mov    %rax,%r11
L975:
  mov    %r11,0x78(%rsp)
  sub    $0x8,%rsp
  mov    %r10,%r8
  mov    %r14d,%ecx
  push   0x10(%rsp)
  mov    0x1f0(%rsp),%eax
  push   %rax
  mov    $0x1,%eax
  push   %r15
  mov    0x70(%rsp),%r9
  movsd  0xd8(%rsp),%xmm0
  mov    0x110(%rsp),%edx
  mov    0x60(%rsp),%rsi
  mov    0x58(%rsp),%rdi
  mov    %r10,0x88(%rsp)
  call   <fdjac2@plt>
  mov    0x68(%rsp),%rcx
  add    $0x20,%rsp
  mov    0x68(%rsp),%r10
  add    %r14d,(%rcx)
  test   %eax,%eax
  js     L607
  mov    0x1c8(%rsp),%edx
  mov    0x78(%rsp),%r11
  test   %edx,%edx
  jle    L718
  mov    0xf4(%rsp),%eax
  sub    $0x1,%eax
  cltd
  idivl  0x1c8(%rsp)
  test   %edx,%edx
  jne    L718
  mov    %r11,0x78(%rsp)
  xor    %r9d,%r9d
  mov    %r10,%rcx
  mov    0x50(%rsp),%r8
  mov    %r10,0x68(%rsp)
  mov    0xf0(%rsp),%esi
  mov    %r14d,%edx
  mov    0x40(%rsp),%rdi
  mov    0x38(%rsp),%rax
  call   *%rax
  mov    0x68(%rsp),%r10
  mov    0x78(%rsp),%r11
  test   %eax,%eax
  js     L228
L718:
  mov    %r10,0x78(%rsp)
  xor    %eax,%eax
  mov    %r12,%r9
  mov    $0x1,%r8d
  push   %rbx
  mov    %r15,%rdx
  mov    %r14d,%esi
  push   %r11
  mov    %r11,0x78(%rsp)
  push   %r13
  push   %r14
  mov    0x200(%rsp),%ecx
  mov    0x110(%rsp),%edi
  call   <qrfac@plt>
  add    $0x20,%rsp
  mov    0x68(%rsp),%r11
  mov    0x78(%rsp),%r10
  cmpl   $0x1,0xf4(%rsp)
  je     L246
L1492:
  xor    %eax,%eax
  cmpb   $0x0,0x14d(%rsp)
  je     L389
  mov    0x128(%rsp),%rdx
  mov    0x50(%rsp),%rcx
  mov    0x8(%rsp),%rsi
L966:
  movupd (%rcx,%rax,1),%xmm3
  movups %xmm3,(%rsi,%rax,1)
  add    $0x10,%rax
  cmp    %rdx,%rax
  jne    L966
  mov    0x148(%rsp),%edi
  cmp    %edi,0x134(%rsp)
  je     L1098
  mov    0xe0(%rsp),%rax
  movsd  (%rax),%xmm0
  mov    0xe8(%rsp),%rax
  movsd  %xmm0,(%rax)
L1098:
  mov    0xf0(%rsp),%eax
  mov    0x8(%rsp),%rdi
  mov    %r10,0x90(%rsp)
  mov    %r15,%rsi
  mov    %r12,0xc0(%rsp)
  mov    0x60(%rsp),%r12
  cmp    %eax,%r14d
  mov    %eax,%ecx
  mov    %r11,0xc8(%rsp)
  mov    %rdi,%r10
  cmovle %r14d,%ecx
  mov    %eax,%r11d
  xor    %r9d,%r9d
  xor    %edx,%edx
  mov    %rbx,0xd0(%rsp)
  mov    %r15,%rbx
  mov    %ecx,0x68(%rsp)
  mov    %rdi,%rcx
  mov    %r14d,0x88(%rsp)
  mov    %rbp,0xa8(%rsp)
  jmp    L1194
  nopl   0x0(%rax)
L1035:
  movsd  0x0(%r13,%rdx,8),%xmm0
  add    $0x1,%r8d
  add    $0x8,%rcx
  add    0x1e0(%rsp),%r9d
  add    0xd8(%rsp),%rbx
  sub    $0x1,%r11d
  movsd  %xmm0,(%rsi)
  movsd  -0x8(%rcx),%xmm0
  add    0xf8(%rsp),%rsi
  movsd  %xmm0,(%r12,%rdx,8)
  add    $0x1,%rdx
  cmp    %edx,0x68(%rsp)
  jle    L669
L1194:
  movsd  (%rsi),%xmm3
  pxor   %xmm6,%xmm6
  mov    %edx,%r8d
  mov    %edx,%eax
  ucomisd %xmm6,%xmm3
  jp     L938
  je     L1035
L938:
  mov    0xf0(%rsp),%edi
  mov    $0x1,%ebp
  mov    %edx,0x78(%rsp)
  cmp    %edi,%eax
  cmovl  %r11d,%ebp
  cmp    %edx,%edi
  jle    L791
  cmp    $0x1,%r11d
  je     L791
  mov    %ebp,%r14d
  xor    %edi,%edi
  pxor   %xmm0,%xmm0
  shr    %r14d
  shl    $0x4,%r14
  nopl   (%rax)
L369:
  movupd (%rsi,%rdi,1),%xmm2
  movupd (%rcx,%rdi,1),%xmm6
  add    $0x10,%rdi
  mulpd  %xmm6,%xmm2
  addsd  %xmm2,%xmm0
  unpckhpd %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  cmp    %r14,%rdi
  jne    L369
  mov    %ebp,%r14d
  and    $0xfffffffe,%r14d
  lea    (%r14,%rax,1),%edi
  cmp    %r14d,%ebp
  je     L483
L596:
  lea    (%r9,%rdi,1),%r14d
  movslq %edi,%rdi
  movslq %r14d,%r14
  movsd  (%r15,%r14,8),%xmm1
  mulsd  (%r10,%rdi,8),%xmm1
  addsd  %xmm1,%xmm0
L483:
  mov    0x78(%rsp),%r14d
  cmp    %r14d,0xf0(%rsp)
  xorpd  D102(%rip),%xmm0
  setg   %r14b
  cmp    $0x1,%r11d
  setne  %dil
  divsd  %xmm3,%xmm0
  test   %dil,%r14b
  je     L450
  lea    0x8(%rsi),%rdi
  cmp    %rdi,%rcx
  je     L450
  mov    %ebp,%r14d
  movapd %xmm0,%xmm2
  xor    %edi,%edi
  shr    %r14d
  unpcklpd %xmm2,%xmm2
  shl    $0x4,%r14
  nopl   0x0(%rax)
L920:
  movupd (%rsi,%rdi,1),%xmm1
  movupd (%rcx,%rdi,1),%xmm6
  mulpd  %xmm2,%xmm1
  addpd  %xmm6,%xmm1
  movups %xmm1,(%rcx,%rdi,1)
  add    $0x10,%rdi
  cmp    %r14,%rdi
  jne    L920
  mov    %ebp,%edi
  and    $0xfffffffe,%edi
  add    %edi,%eax
  cmp    %ebp,%edi
  je     L1035
  movslq %eax,%rdi
  add    %r9d,%eax
  cltq
  lea    (%r10,%rdi,8),%rdi
  mulsd  (%r15,%rax,8),%xmm0
  addsd  (%rdi),%xmm0
  movsd  %xmm0,(%rdi)
  jmp    L1035
L690:
  xor    %eax,%eax
  jmp    L212
L1467:
  add    $0x1,%rax
  cmp    %eax,%r14d
  jle    L106
L212:
  pxor   %xmm3,%xmm3
  comisd (%r11,%rax,8),%xmm3
  jb     L1467
  nopw   0x0(%rax,%rax,1)
L908:
  movl   $0x0,0x10(%rsp)
L351:
  mov    0x1c8(%rsp),%eax
  test   %eax,%eax
  jle    L574
L1535:
  mov    0x50(%rsp),%r8
  mov    0x40(%rsp),%rdi
  xor    %r9d,%r9d
  mov    %rbp,%rcx
  mov    0xf0(%rsp),%esi
  mov    0x38(%rsp),%rax
  mov    %r14d,%edx
  call   *%rax
L574:
  mov    0x168(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L1134
  mov    0x10(%rsp),%eax
  add    $0x178,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L669:
  mov    0x88(%rsp),%r14d
  mov    0x90(%rsp),%r10
  mov    0xa8(%rsp),%rbp
  mov    0xc0(%rsp),%r12
  mov    0xc8(%rsp),%r11
  mov    0xd0(%rsp),%rbx
  cmp    %r8d,%r14d
  jle    L145
  mov    0x1e0(%rsp),%edx
  movslq %r8d,%rax
  mov    %r14d,%edi
  xor    %r9d,%r9d
  sub    %r8d,%edi
  imul   %r8d,%edx
  mov    %edi,0x78(%rsp)
  movslq %edx,%rdx
  add    %rax,%rdx
  lea    0x0(,%rdx,8),%rsi
  mov    %edi,%edx
  lea    -0x1(%rdx),%rcx
  mov    0xf8(%rsp),%rdx
  mov    %rsi,0x68(%rsp)
  mov    %rdx,%rdi
  imul   %rcx,%rdi
  test   %rdx,%rdx
  mov    %r9,%rdx
  cmovns %rdi,%rdx
  add    %rsi,%rdx
  lea    (%r15,%rdx,1),%rsi
  lea    0x0(,%rax,8),%rdx
  mov    %rsi,0x88(%rsp)
  mov    0x8(%rsp),%rsi
  lea    (%rdx,%rcx,8),%rcx
  mov    %rcx,0x90(%rsp)
  mov    %r9,%rcx
  add    %rdx,%rsi
  cmpq   $0x0,0xf8(%rsp)
  cmovs  %rdi,%rcx
  add    0x68(%rsp),%rcx
  lea    0x0(%r13,%rdx,1),%rdi
  add    %r15,%rcx
  mov    %rcx,0xa8(%rsp)
  mov    0x60(%rsp),%rcx
  add    %rdx,%rcx
  add    $0x8,%rdx
  mov    %rdx,0xc0(%rsp)
  mov    0x78(%rsp),%edx
  sub    $0x1,%edx
  cmp    $0x7,%edx
  mov    0x8(%rsp),%rdx
  seta   %r9b
  add    0xc0(%rsp),%rdx
  cmp    %rdx,%rcx
  setne  %dl
  and    %edx,%r9d
  mov    0xc0(%rsp),%rdx
  add    %r13,%rdx
  cmp    %rdx,%rcx
  setne  %dl
  and    %edx,%r9d
  mov    0x8(%rsp),%rdx
  add    0x90(%rsp),%rdx
  cmp    %rdx,0xa8(%rsp)
  seta   %dl
  cmp    %rsi,0x88(%rsp)
  setb   0xc0(%rsp)
  or     0xc0(%rsp),%dl
  and    %edx,%r9d
  mov    %r9b,0xc0(%rsp)
  mov    0x90(%rsp),%r9
  lea    0x0(%r13,%r9,1),%rdx
  cmp    %rdx,0xa8(%rsp)
  seta   %dl
  cmp    %rdi,0x88(%rsp)
  setb   %r9b
  or     %r9d,%edx
  test   %dl,0xc0(%rsp)
  je     L1116
  mov    0x90(%rsp),%r9
  add    0x60(%rsp),%r9
  cmp    %r9,0xa8(%rsp)
  seta   %r9b
  cmp    %rcx,0x88(%rsp)
  setb   %dl
  or     %r9b,%dl
  je     L1116
  mov    0x68(%rsp),%rax
  mov    0x78(%rsp),%r9d
  mov    %r8d,0x68(%rsp)
  mov    %r10,0x88(%rsp)
  mov    0xf8(%rsp),%r8
  add    %r15,%rax
  shr    %r9d
  mov    0x140(%rsp),%r10
  mov    %rax,%rdx
  shl    $0x4,%r9
  xor    %eax,%eax
L1444:
  movupd (%rdi,%rax,1),%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%r8,1)
  movupd (%rsi,%rax,1),%xmm6
  add    %r10,%rdx
  movups %xmm6,(%rcx,%rax,1)
  add    $0x10,%rax
  cmp    %r9,%rax
  jne    L1444
  mov    0x78(%rsp),%ecx
  mov    0x68(%rsp),%r8d
  mov    0x88(%rsp),%r10
  mov    %ecx,%eax
  and    $0xfffffffe,%eax
  add    %eax,%r8d
  cmp    %eax,%ecx
  je     L145
  mov    0x1e0(%rsp),%eax
  movslq %r8d,%rdx
  movsd  0x0(%r13,%rdx,8),%xmm0
  imul   %r8d,%eax
  add    %r8d,%eax
  cltq
  movsd  %xmm0,(%r15,%rax,8)
  mov    0x8(%rsp),%rax
  movsd  (%rax,%rdx,8),%xmm0
  mov    0x60(%rsp),%rax
  movsd  %xmm0,(%rax,%rdx,8)
L145:
  movsd  0x58(%rsp),%xmm6
  pxor   %xmm3,%xmm3
  ucomisd %xmm3,%xmm6
  jp     L1131
  movq   $0x0,0x118(%rsp)
  jne    L1131
L147:
  movsd  0xb0(%rsp),%xmm6
  comisd 0x118(%rsp),%xmm6
  jae    L578
  cmpl   $0x2,0x1c0(%rsp)
  jne    L1418
L1375:
  lea    0x160(%rsp),%rax
  mov    %r10,0x90(%rsp)
  mov    %rax,0x120(%rsp)
  mov    %r11,0x68(%rsp)
  mov    %r12,0xa8(%rsp)
  mov    %rbp,%r12
  mov    0x138(%rsp),%rbp
  nopl   (%rax)
L1143:
  sub    $0x8,%rsp
  mov    %r12,%r8
  mov    %r15,%rsi
  mov    %r14d,%edi
  push   0x10(%rsp)
  mov    $0x1,%eax
  push   %rbx
  push   0x80(%rsp)
  push   %r13
  push   0x148(%rsp)
  movsd  0x58(%rsp),%xmm0
  mov    0x90(%rsp),%r9
  mov    0xd8(%rsp),%rcx
  mov    0x210(%rsp),%edx
  call   <lmpar@plt>
  add    $0x30,%rsp
  xor    %eax,%eax
  cmpb   $0x0,0x131(%rsp)
  je     L490
  mov    0x100(%rsp),%rdx
  mov    0x90(%rsp),%r10
  mov    0x68(%rsp),%rcx
  nopw   0x0(%rax,%rax,1)
L1511:
  movupd 0x0(%r13,%rax,1),%xmm1
  movapd D208(%rip),%xmm0
  xorpd  %xmm1,%xmm0
  movups %xmm0,0x0(%r13,%rax,1)
  movupd (%r10,%rax,1),%xmm0
  subpd  %xmm1,%xmm0
  movups %xmm0,(%rcx,%rax,1)
  movupd (%r12,%rax,1),%xmm0
  movupd 0x0(%r13,%rax,1),%xmm6
  mulpd  %xmm6,%xmm0
  movups %xmm0,(%rbx,%rax,1)
  add    $0x10,%rax
  cmp    %rdx,%rax
  jne    L1511
  mov    0x10c(%rsp),%ecx
  cmp    %ecx,0x108(%rsp)
  je     L691
  movsd  0x0(%rbp),%xmm1
  mov    0x20(%rsp),%rax
  movapd %xmm1,%xmm0
  xorpd  D102(%rip),%xmm0
  movsd  %xmm0,0x0(%rbp)
  movsd  (%rax),%xmm0
  mov    0x18(%rsp),%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    0x10(%rsp),%rax
  movsd  (%rax),%xmm0
  mulsd  0x0(%rbp),%xmm0
  mov    0x30(%rsp),%rax
  movsd  %xmm0,(%rax)
L691:
  xor    %eax,%eax
  mov    %rbx,%rsi
  mov    %r14d,%edi
  call   <enorm@plt>
  pxor   %xmm6,%xmm6
  cmpl   $0x1,0xf4(%rsp)
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x78(%rsp)
  jne    L1294
  movapd %xmm6,%xmm3
  movsd  0x28(%rsp),%xmm6
  movapd %xmm6,%xmm0
  cmplesd %xmm3,%xmm0
  andpd  %xmm0,%xmm6
  andnpd %xmm3,%xmm0
  orpd   %xmm6,%xmm0
  movsd  %xmm0,0x28(%rsp)
L1294:
  mov    0x68(%rsp),%rcx
  mov    0x8(%rsp),%r8
  mov    $0x1,%r9d
  mov    %r14d,%edx
  mov    0xf0(%rsp),%esi
  mov    0x40(%rsp),%rdi
  mov    0x38(%rsp),%rax
  call   *%rax
  mov    0x48(%rsp),%rcx
  addl   $0x1,(%rcx)
  test   %eax,%eax
  js     L203
  mov    0x8(%rsp),%rsi
  mov    0xf0(%rsp),%edi
  xor    %eax,%eax
  call   <enorm@plt>
  pxor   %xmm6,%xmm6
  movsd  D24(%rip),%xmm5
  movsd  0x58(%rsp),%xmm4
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x110(%rsp)
  mulsd  %xmm6,%xmm5
  comisd %xmm5,%xmm4
  jbe    L256
  divsd  %xmm4,%xmm6
  movsd  D15(%rip),%xmm3
  movapd %xmm3,%xmm4
  movapd %xmm6,%xmm0
  mulsd  %xmm6,%xmm0
  subsd  %xmm0,%xmm4
  movapd %xmm4,%xmm6
  andpd  D232(%rip),%xmm6
  movsd  %xmm6,0x88(%rsp)
L1055:
  mov    %rbp,0xc0(%rsp)
  mov    %r15,%rdx
  xor    %ecx,%ecx
  xor    %edi,%edi
  mov    0xd8(%rsp),%r10
  mov    0x1e0(%rsp),%ebp
  mov    $0x1,%esi
  mov    0xa8(%rsp),%r11
  nopl   0x0(%rax)
L1384:
  movq   $0x0,-0x8(%rbx,%rsi,8)
  mov    -0x4(%r11,%rsi,4),%eax
  sub    $0x1,%eax
  cltq
  movsd  0x0(%r13,%rax,8),%xmm1
  lea    0x8(%rdx),%rax
  cmp    %rax,%rbx
  je     L457
  test   %edi,%edi
  je     L457
  mov    %esi,%r8d
  movapd %xmm1,%xmm2
  mov    %esi,%r9d
  xor    %eax,%eax
  shr    %r8d
  unpcklpd %xmm2,%xmm2
  shl    $0x4,%r8
  xchg   %ax,%ax
L1149:
  movupd (%rdx,%rax,1),%xmm0
  movupd (%rbx,%rax,1),%xmm7
  mulpd  %xmm2,%xmm0
  addpd  %xmm7,%xmm0
  movups %xmm0,(%rbx,%rax,1)
  add    $0x10,%rax
  cmp    %rax,%r8
  jne    L1149
  mov    %r9d,%eax
  and    $0xfffffffe,%eax
  and    $0x1,%r9d
  je     L1382
  mov    %eax,%r8d
  add    %ecx,%eax
  cltq
  lea    (%rbx,%r8,8),%r8
  mulsd  (%r15,%rax,8),%xmm1
  movsd  (%r8),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%r8)
L1382:
  add    $0x1,%edi
  add    $0x1,%rsi
  add    %r10,%rdx
  add    %ebp,%ecx
  cmp    %edi,%r14d
  jg     L1384
  xor    %eax,%eax
  mov    %rbx,%rsi
  mov    %r14d,%edi
  mov    0xc0(%rsp),%rbp
  movsd  %xmm5,0xd0(%rsp)
  movsd  %xmm4,0xc8(%rsp)
  movsd  %xmm3,0xc0(%rsp)
  call   <enorm@plt>
  pxor   %xmm6,%xmm6
  pxor   %xmm1,%xmm1
  movsd  0x160(%rsp),%xmm2
  movsd  0xc0(%rsp),%xmm3
  cvtsi2sd %eax,%xmm1
  movsd  0xc8(%rsp),%xmm4
  divsd  0x58(%rsp),%xmm1
  movsd  0xd0(%rsp),%xmm5
  ucomisd %xmm2,%xmm6
  ja     L1265
  movapd %xmm2,%xmm0
  movapd %xmm6,%xmm7
  sqrtsd %xmm0,%xmm0
L650:
  mulsd  0x78(%rsp),%xmm0
  divsd  0x58(%rsp),%xmm0
  mulsd  %xmm0,%xmm0
  mulsd  %xmm1,%xmm1
  movapd %xmm0,%xmm6
  addsd  %xmm0,%xmm6
  addsd  %xmm1,%xmm6
  ucomisd %xmm7,%xmm6
  jp     L962
  pxor   %xmm7,%xmm7
  je     L482
L962:
  movsd  D181(%rip),%xmm8
  movapd %xmm4,%xmm7
  divsd  %xmm6,%xmm7
  comisd %xmm7,%xmm8
  jae    L482
  pxor   %xmm4,%xmm4
  ucomisd %xmm4,%xmm2
  jp     L1112
  je     L1147
L1112:
  comisd D49(%rip),%xmm7
  jb     L400
L1147:
  mulsd  D128(%rip),%xmm2
  movsd  0x78(%rsp),%xmm5
  addsd  %xmm5,%xmm5
  movsd  %xmm2,0x160(%rsp)
  movsd  %xmm5,0x28(%rsp)
L400:
  movsd  D168(%rip),%xmm1
  comisd %xmm1,%xmm7
  jae    L1263
L1142:
  movsd  0x98(%rsp),%xmm0
  movsd  0x70(%rsp),%xmm5
  comisd 0x88(%rsp),%xmm5
  mulsd  0x80(%rsp),%xmm0
  jb     L53
  comisd %xmm6,%xmm5
  jb     L53
  comisd 0x28(%rsp),%xmm0
  movsd  D128(%rip),%xmm2
  mulsd  %xmm7,%xmm2
  jb     L1041
  xor    %eax,%eax
  comisd %xmm2,%xmm3
  mov    0x90(%rsp),%rbp
  setae  %al
  add    $0x2,%eax
  mov    %eax,0x10(%rsp)
  jmp    L351
  nopw   0x0(%rax,%rax,1)
L457:
  lea    0x0(,%rsi,8),%r8
  xor    %eax,%eax
  nopw   0x0(%rax,%rax,1)
L919:
  movsd  (%rdx,%rax,1),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  (%rbx,%rax,1),%xmm0
  movsd  %xmm0,(%rbx,%rax,1)
  add    $0x8,%rax
  cmp    %rax,%r8
  jne    L919
  jmp    L1382
  nopl   0x0(%rax)
L53:
  comisd 0x28(%rsp),%xmm0
  jb     L223
  movl   $0x2,0x10(%rsp)
  mov    0x90(%rsp),%rbp
  jmp    L351
L1041:
  comisd %xmm2,%xmm3
  jae    L363
L223:
  movsd  D231(%rip),%xmm0
  mov    0x48(%rsp),%rax
  movsd  0x98(%rsp),%xmm2
  mov    0x1b0(%rsp),%edi
  mulsd  %xmm0,%xmm2
  cmp    %edi,(%rax)
  jl     L193
  comisd 0x88(%rsp),%xmm0
  jae    L1135
  comisd 0x28(%rsp),%xmm2
  mov    0x90(%rsp),%rbp
  jae    L676
  comisd 0x118(%rsp),%xmm0
  sbb    %eax,%eax
  and    $0xfffffffd,%eax
  add    $0x8,%eax
  mov    %eax,0x10(%rsp)
  jmp    L351
L256:
  movsd  D15(%rip),%xmm3
  movsd  D264(%rip),%xmm4
  movsd  %xmm3,0x88(%rsp)
  jmp    L1055
L482:
  pxor   %xmm9,%xmm9
  mov    D24(%rip),%rax
  comisd %xmm9,%xmm4
  movq   %rax,%xmm8
  jb     L320
  comisd 0x58(%rsp),%xmm5
  jae    L1269
  movsd  D128(%rip),%xmm8
L1269:
  divsd  %xmm8,%xmm2
  movsd  0x28(%rsp),%xmm5
  movsd  0x78(%rsp),%xmm1
  divsd  D24(%rip),%xmm1
  movapd %xmm5,%xmm0
  cmplesd %xmm1,%xmm0
  andpd  %xmm0,%xmm5
  andnpd %xmm1,%xmm0
  movsd  D168(%rip),%xmm1
  orpd   %xmm5,%xmm0
  mulsd  %xmm8,%xmm0
  comisd %xmm1,%xmm7
  movsd  %xmm0,0x28(%rsp)
  movsd  %xmm2,0x160(%rsp)
  jb     L1142
L1263:
  xor    %eax,%eax
  cmpb   $0x0,0x132(%rsp)
  je     L823
  mov    0x100(%rsp),%rcx
  mov    0x90(%rsp),%r10
  mov    0x68(%rsp),%rdx
  nopl   0x0(%rax)
L987:
  movupd (%rdx,%rax,1),%xmm0
  movups %xmm0,(%r10,%rax,1)
  movupd (%r12,%rax,1),%xmm5
  mulpd  %xmm5,%xmm0
  movups %xmm0,(%rdx,%rax,1)
  add    $0x10,%rax
  cmp    %rax,%rcx
  jne    L987
  mov    0x10c(%rsp),%ecx
  cmp    %ecx,0x108(%rsp)
  je     L259
  mov    0x18(%rsp),%rax
  mov    0x20(%rsp),%rcx
  mov    0x10(%rsp),%rdi
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rcx)
  mulsd  (%rdi),%xmm0
  movsd  %xmm0,(%rax)
L259:
  xor    %eax,%eax
  cmpb   $0x0,0x133(%rsp)
  je     L1313
  mov    0x128(%rsp),%rdx
  mov    0x50(%rsp),%rcx
  mov    0x8(%rsp),%rsi
  nopw   0x0(%rax,%rax,1)
L545:
  movupd (%rsi,%rax,1),%xmm5
  movups %xmm5,(%rcx,%rax,1)
  add    $0x10,%rax
  cmp    %rax,%rdx
  jne    L545
  mov    0x148(%rsp),%ecx
  cmp    %ecx,0x134(%rsp)
  je     L38
  mov    0xe8(%rsp),%rax
  movsd  (%rax),%xmm0
  mov    0xe0(%rsp),%rax
  movsd  %xmm0,(%rax)
L38:
  mov    0x68(%rsp),%rsi
  mov    %r14d,%edi
  xor    %eax,%eax
  movsd  %xmm6,0x78(%rsp)
  movsd  %xmm3,0xc8(%rsp)
  movsd  %xmm7,0xc0(%rsp)
  call   <enorm@plt>
  pxor   %xmm3,%xmm3
  movsd  0x110(%rsp),%xmm6
  addl   $0x1,0xf4(%rsp)
  movsd  0xc0(%rsp),%xmm7
  cvtsi2sd %eax,%xmm3
  mov    D168(%rip),%rax
  movsd  %xmm6,0x58(%rsp)
  movsd  0x78(%rsp),%xmm6
  movq   %rax,%xmm1
  movsd  %xmm3,0x98(%rsp)
  movsd  0xc8(%rsp),%xmm3
  jmp    L1142
L193:
  comisd 0x88(%rsp),%xmm0
  jae    L1144
  comisd 0x28(%rsp),%xmm2
  jae    L1250
  comisd 0x118(%rsp),%xmm0
  jae    L174
L238:
  comisd %xmm7,%xmm1
  ja     L1143
  mov    %r12,%rbp
  mov    0x90(%rsp),%r10
  mov    0x68(%rsp),%r11
  mov    0xa8(%rsp),%r12
  jmp    L975
  nopw   0x0(%rax,%rax,1)
L1250:
  mov    0x90(%rsp),%rbp
L676:
  comisd 0x118(%rsp),%xmm0
  sbb    %eax,%eax
  add    $0x8,%eax
  mov    %eax,0x10(%rsp)
  jmp    L351
L1135:
  mov    $0x5,%eax
L267:
  comisd %xmm6,%xmm0
  jb     L1023
  movsd  D128(%rip),%xmm4
  mulsd  %xmm7,%xmm4
  comisd %xmm4,%xmm3
  jae    L1290
L1023:
  comisd 0x28(%rsp),%xmm2
  jae    L1250
  comisd 0x118(%rsp),%xmm0
  jae    L174
  test   %eax,%eax
  je     L238
L203:
  mov    %eax,0x10(%rsp)
  mov    0x90(%rsp),%rbp
  jmp    L351
L1144:
  xor    %eax,%eax
  jmp    L267
L320:
  comisd 0x58(%rsp),%xmm5
  jae    L1269
  addsd  %xmm0,%xmm1
  movsd  D128(%rip),%xmm0
  mulsd  %xmm0,%xmm4
  movapd %xmm1,%xmm8
  xorpd  D102(%rip),%xmm8
  mulsd  %xmm0,%xmm8
  subsd  %xmm1,%xmm4
  divsd  %xmm4,%xmm8
  movq   %rax,%xmm4
  maxsd  %xmm8,%xmm4
  movapd %xmm4,%xmm8
  jmp    L1269
L490:
  mov    0x90(%rsp),%r10
  mov    0x68(%rsp),%rdx
  nopl   (%rax)
L1276:
  movsd  0x0(%r13,%rax,8),%xmm1
  movapd %xmm1,%xmm0
  xorpd  D102(%rip),%xmm0
  movsd  %xmm0,0x0(%r13,%rax,8)
  movsd  (%r10,%rax,8),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rdx,%rax,8)
  movsd  (%r12,%rax,8),%xmm0
  mulsd  0x0(%r13,%rax,8),%xmm0
  movsd  %xmm0,(%rbx,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L1276
  jmp    L691
L1290:
  comisd 0x28(%rsp),%xmm2
  mov    0x90(%rsp),%rbp
  jae    L676
  comisd 0x118(%rsp),%xmm0
  sbb    %eax,%eax
  and    $0xfffffffe,%eax
  add    $0x8,%eax
  mov    %eax,0x10(%rsp)
  jmp    L351
L1313:
  mov    0xf0(%rsp),%edx
  mov    0x50(%rsp),%rcx
  mov    0x8(%rsp),%rsi
L425:
  movsd  (%rsi,%rax,8),%xmm0
  movsd  %xmm0,(%rcx,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%edx
  jg     L425
  jmp    L38
L823:
  mov    0x90(%rsp),%r10
  mov    0x68(%rsp),%rdx
L674:
  movsd  (%rdx,%rax,8),%xmm0
  movsd  %xmm0,(%r10,%rax,8)
  mulsd  (%r12,%rax,8),%xmm0
  movsd  %xmm0,(%rdx,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L674
  jmp    L259
L1418:
  xor    %eax,%eax
  cmpb   $0x0,0x14c(%rsp)
  je     L446
  mov    0x100(%rsp),%rdx
L784:
  movupd 0x0(%rbp,%rax,1),%xmm6
  movupd (%r11,%rax,1),%xmm0
  cmplepd %xmm6,%xmm0
  movapd %xmm6,%xmm1
  movupd (%r11,%rax,1),%xmm6
  andpd  %xmm0,%xmm1
  andnpd %xmm6,%xmm0
  orpd   %xmm1,%xmm0
  movups %xmm0,0x0(%rbp,%rax,1)
  add    $0x10,%rax
  cmp    %rdx,%rax
  jne    L784
  mov    0x10c(%rsp),%ecx
  cmp    %ecx,0x108(%rsp)
  je     L1375
  mov    0x18(%rsp),%rcx
  mov    0x10(%rsp),%rax
  movsd  (%rcx),%xmm2
  movsd  (%rax),%xmm0
  movapd %xmm2,%xmm1
  cmplesd %xmm0,%xmm1
  andpd  %xmm1,%xmm0
  andnpd %xmm2,%xmm1
  orpd   %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  jmp    L1375
L446:
  movsd  (%r11,%rax,8),%xmm2
  movsd  0x0(%rbp,%rax,8),%xmm0
  movapd %xmm2,%xmm1
  cmplesd %xmm0,%xmm1
  andpd  %xmm1,%xmm0
  andnpd %xmm2,%xmm1
  orpd   %xmm1,%xmm0
  movsd  %xmm0,0x0(%rbp,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L446
  jmp    L1375
L450:
  mov    0xf0(%rsp),%edi
  mov    %rdx,%rax
L1177:
  movsd  (%rbx,%rax,8),%xmm1
  mulsd  %xmm0,%xmm1
  addsd  (%r10,%rax,8),%xmm1
  movsd  %xmm1,(%r10,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%edi
  jg     L1177
  jmp    L1035
L1131:
  movsd  0x58(%rsp),%xmm6
  mov    0x60(%rsp),%r8
  xor    %edx,%edx
  xor    %ecx,%ecx
  mov    $0x1,%eax
  pxor   %xmm5,%xmm5
  movapd %xmm6,%xmm4
  unpcklpd %xmm4,%xmm4
  jmp    L731
L870:
  add    $0x1,%ecx
  add    $0x1,%rax
  add    0x1e0(%rsp),%edx
  cmp    %ecx,%r14d
  jle    L748
L731:
  mov    -0x4(%r12,%rax,4),%edi
  pxor   %xmm7,%xmm7
  lea    -0x1(%rdi),%esi
  movslq %esi,%rsi
  movsd  (%r11,%rsi,8),%xmm3
  ucomisd %xmm7,%xmm3
  jp     L531
  je     L870
L531:
  mov    %eax,0x68(%rsp)
  test   %ecx,%ecx
  je     L646
  mov    %eax,%edi
  movslq %edx,%rsi
  pxor   %xmm0,%xmm0
  shr    %edi
  lea    (%r15,%rsi,8),%r9
  xor    %esi,%esi
  shl    $0x4,%rdi
L335:
  movupd (%r8,%rsi,1),%xmm2
  movupd (%r9,%rsi,1),%xmm7
  add    $0x10,%rsi
  divpd  %xmm4,%xmm2
  mulpd  %xmm7,%xmm2
  addsd  %xmm2,%xmm0
  unpckhpd %xmm2,%xmm2
  addsd  %xmm2,%xmm0
  cmp    %rdi,%rsi
  jne    L335
  mov    0x68(%rsp),%edi
  mov    %edi,%esi
  and    $0xfffffffe,%esi
  and    $0x1,%edi
  je     L892
L1371:
  lea    (%rdx,%rsi,1),%edi
  movslq %esi,%rsi
  movsd  (%r8,%rsi,8),%xmm1
  movslq %edi,%rdi
  divsd  %xmm6,%xmm1
  mulsd  (%r15,%rdi,8),%xmm1
  addsd  %xmm1,%xmm0
L892:
  divsd  %xmm3,%xmm0
  andpd  D232(%rip),%xmm0
  movapd %xmm0,%xmm1
  cmplesd %xmm5,%xmm1
  andpd  %xmm1,%xmm5
  andnpd %xmm0,%xmm1
  orpd   %xmm1,%xmm5
  jmp    L870
L1116:
  mov    0x68(%rsp),%rdx
  mov    0xf8(%rsp),%rcx
  mov    0x60(%rsp),%rsi
  mov    0x8(%rsp),%rdi
  add    %r15,%rdx
L670:
  movsd  0x0(%r13,%rax,8),%xmm0
  movsd  %xmm0,(%rdx)
  movsd  (%rdi,%rax,8),%xmm0
  add    %rcx,%rdx
  movsd  %xmm0,(%rsi,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L670
  jmp    L145
L748:
  movsd  %xmm5,0x118(%rsp)
  jmp    L147
L791:
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  jmp    L596
L389:
  mov    0x50(%rsp),%rdx
  mov    0x8(%rsp),%rcx
L1178:
  movsd  (%rdx,%rax,8),%xmm0
  movsd  %xmm0,(%rcx,%rax,8)
  add    $0x1,%rax
  cmp    %eax,0xf0(%rsp)
  jg     L1178
  jmp    L1098
L246:
  cmpl   $0x2,0x1c0(%rsp)
  jne    L1100
L116:
  xor    %eax,%eax
  cmpb   $0x0,0x14e(%rsp)
  je     L811
L41:
  movupd 0x0(%rbp,%rax,1),%xmm0
  movupd (%r10,%rax,1),%xmm3
  mulpd  %xmm3,%xmm0
  movups %xmm0,(%rbx,%rax,1)
  add    $0x10,%rax
  cmp    0x100(%rsp),%rax
  jne    L41
  mov    0x10c(%rsp),%edi
  cmp    %edi,0x108(%rsp)
  je     L702
  mov    0x10(%rsp),%rax
  movsd  (%rax),%xmm0
  mov    0x20(%rsp),%rax
  mulsd  (%rax),%xmm0
  mov    0x30(%rsp),%rax
  movsd  %xmm0,(%rax)
L702:
  xor    %eax,%eax
  mov    %rbx,%rsi
  mov    %r14d,%edi
  mov    %r11,0x78(%rsp)
  mov    %r10,0x68(%rsp)
  call   <enorm@plt>
  pxor   %xmm6,%xmm6
  pxor   %xmm4,%xmm4
  mov    0x68(%rsp),%r10
  cvtsi2sd %eax,%xmm6
  mov    0x78(%rsp),%r11
  movsd  %xmm6,0x98(%rsp)
  movapd %xmm6,%xmm5
  movsd  0xa0(%rsp),%xmm6
  movapd %xmm6,%xmm3
  mulsd  %xmm5,%xmm3
  ucomisd %xmm4,%xmm3
  movsd  %xmm3,0x28(%rsp)
  jp     L1492
  movq   %xmm3,%rax
  movq   %xmm6,%rcx
  cmove  %rcx,%rax
  mov    %rax,0x28(%rsp)
  jmp    L1492
L811:
  movsd  0x0(%rbp,%rax,8),%xmm0
  mulsd  (%r10,%rax,8),%xmm0
  movsd  %xmm0,(%rbx,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L811
  jmp    L702
L1100:
  xor    %eax,%eax
  cmpb   $0x0,0x14f(%rsp)
  je     L1322
  pxor   %xmm2,%xmm2
L1466:
  movupd (%r11,%rax,1),%xmm0
  movupd (%r11,%rax,1),%xmm1
  cmpneqpd %xmm2,%xmm0
  andpd  %xmm0,%xmm1
  andnpd D15(%rip),%xmm0
  orpd   %xmm1,%xmm0
  movups %xmm0,0x0(%rbp,%rax,1)
  add    $0x10,%rax
  cmp    0x100(%rsp),%rax
  jne    L1466
  mov    0x10c(%rsp),%edi
  cmp    %edi,0x108(%rsp)
  je     L116
  mov    0x18(%rsp),%rax
  pxor   %xmm6,%xmm6
  mov    (%rax),%rax
  movq   %rax,%xmm3
  ucomisd %xmm6,%xmm3
  jp     L1325
  cmove  D15(%rip),%rax
L1325:
  mov    0x10(%rsp),%rcx
  mov    %rax,(%rcx)
  jmp    L116
L174:
  movl   $0x8,0x10(%rsp)
  mov    0x90(%rsp),%rbp
  jmp    L351
L646:
  xor    %esi,%esi
  pxor   %xmm0,%xmm0
  jmp    L1371
L578:
  movl   $0x4,0x10(%rsp)
  mov    %r10,%rbp
  jmp    L351
L1322:
  movsd  D15(%rip),%xmm1
L838:
  movsd  (%r11,%rax,8),%xmm0
  pxor   %xmm3,%xmm3
  ucomisd %xmm3,%xmm0
  jp     L773
  jne    L773
  movsd  %xmm1,0x0(%rbp,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L838
  jmp    L116
L773:
  movsd  %xmm0,0x0(%rbp,%rax,8)
  add    $0x1,%rax
  cmp    %eax,%r14d
  jg     L838
  jmp    L116
L363:
  movl   $0x1,0x10(%rsp)
  mov    0x90(%rsp),%rbp
  jmp    L351
L1265:
  movsd  %xmm3,0x158(%rsp)
  movapd %xmm2,%xmm0
  movsd  %xmm1,0x150(%rsp)
  movsd  %xmm4,0xd0(%rsp)
  movsd  %xmm5,0xc8(%rsp)
  movsd  %xmm2,0xc0(%rsp)
  call   <sqrt@plt>
  pxor   %xmm7,%xmm7
  movsd  0x158(%rsp),%xmm3
  movsd  0x150(%rsp),%xmm1
  movsd  0xd0(%rsp),%xmm4
  movsd  0xc8(%rsp),%xmm5
  movsd  0xc0(%rsp),%xmm2
  jmp    L650
L1134:
  call   <__stack_chk_fail@plt>
L607:
  mov    %eax,0x10(%rsp)
  mov    %r10,%rbp
  jmp    L351
L228:
  mov    %eax,0x10(%rsp)
  mov    %r10,%rbp
  jmp    L1535
```

tool_calls: name: disassemble_data
arguments: data_tag: D102
type_infered: f32[4]
name: disassemble_data
arguments: data_tag: D208
type_infered: f32[4]
name: disassemble_data
arguments: data_tag: D24
type_infered: byte[8]
name: disassemble_data
arguments: data_tag: D15
type_infered: f64[2]
name: disassemble_data
arguments: data_tag: D232
type_infered: qword[2]
name: disassemble_data
arguments: data_tag: D181
type_infered: f32[2]
name: disassemble_data
arguments: data_tag: D49
type_infered: f32[4]
name: disassemble_data
arguments: data_tag: D128
type_infered: f32[2]
name: disassemble_data
arguments: data_tag: D168
type_infered: byte[8]
name: disassemble_data
arguments: data_tag: D231
type_infered: f32[2]
name: disassemble_data
arguments: data_tag: D264
type_infered: f32[2]

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

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

tool: {"D24": [0x9a,0x99,0x99,0x99,0x99,0x99,0xb9,0x3f]}

tool: {"D15": [1.0,1.0]}

tool: {"D232": [0x7fffffffffffffff,0x0000000000000000]}

tool: {"D181": [0.0,1.625]}

tool: {"D49": [0.0,1.8125,-1.8890965651771773e26,0.6023999452590942]}

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

tool: {"D168": [0x2d,0x43,0x1c,0xeb,0xe2,0x36,0x1a,0x3f]}

tool: {"D231": [0.0,0.021484375]}

tool: {"D264": [0.0,-1.875]}

assistant: ```c
int lmdif(int (*func)(void *d, int n, int m, double *p, double *hx, int iflag), void *d, int m, int n, double *x, double *fvec, double ftol, double xtol, double gtol, int maxfev, double epsfcn, double *diag, int mode, double factor, int nprint, int *nfev, double *fjac, int ldfjac, int *ipvt, double *qtf, double *wa1, double *wa2, double *wa3, double *wa4) {
  double d1, d2;
  int i, j, l;
  double par, sum;
  int iter;
  double temp, temp1, temp2;
  int iflag;
  double delta = 0.;
  double ratio;
  double fnorm, gnorm;
  double pnorm, xnorm = 0., fnorm1, actred, dirder, epsmch, prered;
  int info;
  epsmch = 2.2204460492503131e-16;
  info = 0;
  iflag = 0;
  *nfev = 0;
  if (n <= 0 || m < n || ldfjac < m || ftol < 0. || xtol < 0. || gtol < 0. || maxfev <= 0 || factor <= 0.) {
    goto TERMINATE;
  }
  if (mode == 2) {
    for (j = 0; j < n; ++j) {
      if (diag[j] <= 0.) {
        goto TERMINATE;
      }
    }
  }
  iflag = func(d, m, n, x, fvec, 1);
  *nfev = 1;
  if (iflag < 0) {
    goto TERMINATE;
  }
  fnorm = enorm(m, fvec);
  par = 0.;
  iter = 1;
  for (;;) {
    iflag = fdjac2(func, d, m, n, x, fvec, fjac, ldfjac, epsfcn, wa4);
    *nfev += n;
    if (iflag < 0) {
      goto TERMINATE;
    }
    if (nprint > 0) {
      iflag = 0;
      if ((iter - 1) % nprint == 0) {
        iflag = func(d, m, n, x, fvec, 0);
      }
      if (iflag < 0) {
        goto TERMINATE;
      }
    }
    qrfac(m, n, fjac, ldfjac, 1, ipvt, n, wa1, wa2, wa3);
    if (iter == 1) {
      if (mode != 2) {
        for (j = 0; j < n; ++j) {
          diag[j] = wa2[j];
          if (wa2[j] == 0.) {
            diag[j] = 1.;
          }
        }
      }
      for (j = 0; j < n; ++j) {
        wa3[j] = diag[j] * x[j];
      }
      xnorm = enorm(n, wa3);
      delta = factor * xnorm;
      if (delta == 0.) {
        delta = factor;
      }
    }
    for (i = 0; i < m; ++i) {
      wa4[i] = fvec[i];
    }
    for (j = 0; j < n; ++j) {
      if (fjac[j + j * ldfjac] != 0.) {
        sum = 0.;
        for (i = j; i < m; ++i) {
          sum += fjac[i + j * ldfjac] * wa4[i];
        }
        temp = -sum / fjac[j + j * ldfjac];
        for (i = j; i < m; ++i) {
          wa4[i] += fjac[i + j * ldfjac] * temp;
        }
      }
      fjac[j + j * ldfjac] = wa1[j];
      qtf[j] = wa4[j];
    }
    gnorm = 0.;
    if (fnorm != 0.) {
      for (j = 0; j < n; ++j) {
        l = ipvt[j] - 1;
        if (wa2[l] != 0.) {
          sum = 0.;
          for (i = 0; i <= j; ++i) {
            sum += fjac[i + j * ldfjac] * (qtf[i] / fnorm);
          }
          d1 = fabs(sum / wa2[l]);
          gnorm = ((gnorm) >= (d1) ? (gnorm) : (d1));
        }
      }
    }
    if (gnorm <= gtol) {
      info = 4;
    }
    if (info != 0) {
      goto TERMINATE;
    }
    if (mode != 2) {
      for (j = 0; j < n; ++j) {
        d1 = diag[j], d2 = wa2[j];
        diag[j] = ((d1) >= (d2) ? (d1) : (d2));
      }
    }
    do {
      lmpar(n, fjac, ldfjac, ipvt, diag, qtf, delta, &par, wa1, wa2, wa3, wa4);
      for (j = 0; j < n; ++j) {
        wa1[j] = -wa1[j];
        wa2[j] = x[j] + wa1[j];
        wa3[j] = diag[j] * wa1[j];
      }
      pnorm = enorm(n, wa3);
      if (iter == 1) {
        delta = ((delta) <= (pnorm) ? (delta) : (pnorm));
      }
      iflag = func(d, m, n, wa2, wa4, 1);
      ++(*nfev);
      if (iflag < 0) {
        goto TERMINATE;
      }
      fnorm1 = enorm(m, wa4);
      actred = -1.;
      if (.1 * fnorm1 < fnorm) {
        d1 = fnorm1 / fnorm;
        actred = 1. - d1 * d1;
      }
      for (j = 0; j < n; ++j) {
        wa3[j] = 0.;
        l = ipvt[j] - 1;
        temp = wa1[l];
        for (i = 0; i <= j; ++i) {
          wa3[i] += fjac[i + j * ldfjac] * temp;
        }
      }
      temp1 = enorm(n, wa3) / fnorm;
      temp2 = (sqrt(par) * pnorm) / fnorm;
      prered = temp1 * temp1 + temp2 * temp2 / .5;
      dirder = -(temp1 * temp1 + temp2 * temp2);
      ratio = 0.;
      if (prered != 0.) {
        ratio = actred / prered;
      }
      if (ratio <= .25) {
        if (actred >= 0.) {
          temp = .5;
        } else {
          temp = .5 * dirder / (dirder + .5 * actred);
        }
        if (.1 * fnorm1 >= fnorm || temp < .1) {
          temp = .1;
        }
        d1 = pnorm / .1;
        delta = temp * ((delta) <= (d1) ? (delta) : (d1));
        par /= temp;
      } else {
        if (par == 0. || ratio >= .75) {
          delta = pnorm / .5;
          par = .5 * par;
        }
      }
      if (ratio >= 1e-4) {
        for (j = 0; j < n; ++j) {
          x[j] = wa2[j];
          wa2[j] = diag[j] * x[j];
        }
        for (i = 0; i < m; ++i) {
          fvec[i] = wa4[i];
        }
        xnorm = enorm(n, wa2);
        fnorm = fnorm1;
        ++iter;
      }
      if (fabs(actred) <= ftol && prered <= ftol && .5 * ratio <= 1.) {
        info = 1;
      }
      if (delta <= xtol * xnorm) {
        info = 2;
      }
      if (fabs(actred) <= ftol && prered <= ftol && .5 * ratio <= 1. && info == 2) {
        info = 3;
      }
      if (info != 0) {
        goto TERMINATE;
      }
      if (*nfev >= maxfev) {
        info = 5;
      }
      if (fabs(actred) <= epsmch && prered <= epsmch && .5 * ratio <= 1.) {
        info = 6;
      }
      if (delta <= epsmch * xnorm) {
        info = 7;
      }
      if (gnorm <= epsmch) {
        info = 8;
      }
      if (info != 0) {
        goto TERMINATE;
      }
    } while (ratio < 1e-4);
  }
TERMINATE:
  if (iflag < 0) {
    info = iflag;
  }
  if (nprint > 0) {
    func(d, m, n, x, fvec, 0);
  }
  return info;
}
```