user: What would the C source look like for the assembly code provided here?

```asm
<dsvdcmp0>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xa0,%rsp
  mov    %rdi,-0x88(%rbp)
  mov    %esi,-0x8c(%rbp)
  mov    %edx,-0x90(%rbp)
  mov    %rcx,-0x98(%rbp)
  mov    %r8,-0xa0(%rbp)
  mov    -0x90(%rbp),%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x20(%rbp)
  cmpq   $0x0,-0x20(%rbp)
  jne    L112
  mov    $0x0,%eax
  call   <svd_errm@plt>
L112:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movl   $0x0,-0x74(%rbp)
  jmp    L1083
L437:
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x60(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x74(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jge    L635
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L761
L906:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  -0x30(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  addl   $0x1,-0x64(%rbp)
L761:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L906
  pxor   %xmm0,%xmm0
  ucomisd -0x30(%rbp),%xmm0
  jp     L417
  pxor   %xmm0,%xmm0
  ucomisd -0x30(%rbp),%xmm0
  je     L635
L417:
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L616
L597:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  divsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L616:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L597
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L829
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  movq   D205(%rip),%xmm0
  movq   %rax,%xmm3
  andpd  %xmm0,%xmm3
  movapd %xmm3,%xmm0
  movq   D180(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  jmp    L744
L829:
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  movq   D205(%rip),%xmm0
  movq   %rax,%xmm4
  andpd  %xmm0,%xmm4
  movapd %xmm4,%xmm0
L744:
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  subsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  subsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L879
L676:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L1066
L179:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L1066:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L179
  movsd  -0x38(%rbp),%xmm0
  divsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L86
L825:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L86:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L825
  addl   $0x1,-0x6c(%rbp)
L879:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L676
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L766
L52:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mulsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L766:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L52
L635:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x74(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jge    L606
  mov    -0x90(%rbp),%eax
  sub    $0x1,%eax
  cmp    %eax,-0x74(%rbp)
  je     L606
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L1041
L644:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  -0x30(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  addl   $0x1,-0x64(%rbp)
L1041:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L644
  pxor   %xmm0,%xmm0
  ucomisd -0x30(%rbp),%xmm0
  jp     L529
  pxor   %xmm0,%xmm0
  ucomisd -0x30(%rbp),%xmm0
  je     L606
L529:
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L212
L98:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  divsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L212:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L98
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x60(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L539
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  movq   D205(%rip),%xmm0
  movq   %rax,%xmm5
  andpd  %xmm0,%xmm5
  movapd %xmm5,%xmm0
  movq   D180(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  jmp    L251
L539:
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  movq   D205(%rip),%xmm0
  movq   %rax,%xmm6
  andpd  %xmm0,%xmm6
  movapd %xmm6,%xmm0
L251:
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  subsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x60(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  subsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L459
L836:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  divsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L459:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L836
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L193
L106:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L928
L334:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L928:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L334
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L814
L610:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L814:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L610
  addl   $0x1,-0x6c(%rbp)
L193:
  mov    -0x6c(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L106
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L271
L805:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mulsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L271:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L805
L606:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm0,%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x58(%rbp),%xmm0
  comisd %xmm1,%xmm0
  jbe    L767
  movsd  -0x58(%rbp),%xmm0
  jmp    L752
L767:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm0,%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
L752:
  movsd  %xmm0,-0x58(%rbp)
  addl   $0x1,-0x74(%rbp)
L1083:
  mov    -0x74(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L437
  mov    -0x90(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  jmp    L28
L611:
  mov    -0x90(%rbp),%eax
  sub    $0x1,%eax
  cmp    %eax,-0x74(%rbp)
  jge    L555
  pxor   %xmm0,%xmm0
  ucomisd -0x40(%rbp),%xmm0
  jp     L931
  pxor   %xmm0,%xmm0
  ucomisd -0x40(%rbp),%xmm0
  je     L839
L931:
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L1109
L0:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x60(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  divsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L1109:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L0
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L991
L734:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L692
L1024:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L692:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L1024
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L303
L6:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L303:
  mov    -0x64(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L6
  addl   $0x1,-0x6c(%rbp)
L991:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L734
L839:
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L63
L194:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x74(%rbp),%edx
  movslq %edx,%rdx
  lea    0x0(,%rdx,8),%rcx
  mov    -0xa0(%rbp),%rdx
  add    %rcx,%rdx
  mov    (%rdx),%rcx
  mov    -0x6c(%rbp),%edx
  movslq %edx,%rdx
  shl    $0x3,%rdx
  add    %rcx,%rdx
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rdx)
  addl   $0x1,-0x6c(%rbp)
L63:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L194
L555:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  D59(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x60(%rbp)
  subl   $0x1,-0x74(%rbp)
L28:
  cmpl   $0x0,-0x74(%rbp)
  jns    L611
  mov    -0x8c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jge    L742
  mov    -0x8c(%rbp),%eax
  sub    $0x1,%eax
  jmp    L47
L742:
  mov    -0x90(%rbp),%eax
  sub    $0x1,%eax
L47:
  mov    %eax,-0x74(%rbp)
  jmp    L651
L1035:
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x60(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L641
L797:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L641:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L797
  pxor   %xmm0,%xmm0
  ucomisd -0x40(%rbp),%xmm0
  jp     L490
  pxor   %xmm0,%xmm0
  ucomisd -0x40(%rbp),%xmm0
  je     L543
L490:
  movsd  D59(%rip),%xmm0
  divsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L262
L993:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L142
L813:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  addl   $0x1,-0x64(%rbp)
L142:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L813
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x38(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x64(%rbp)
  jmp    L72
L1044:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x64(%rbp)
L72:
  mov    -0x64(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L1044
  addl   $0x1,-0x6c(%rbp)
L262:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L993
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L865
L306:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mulsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L865:
  mov    -0x6c(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L306
  jmp    L523
L543:
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L556
L965:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L556:
  mov    -0x6c(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L965
L523:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  D59(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  subl   $0x1,-0x74(%rbp)
L651:
  cmpl   $0x0,-0x74(%rbp)
  jns    L1035
  mov    -0x90(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x64(%rbp)
  jmp    L257
L598:
  movl   $0x0,-0x70(%rbp)
  jmp    L750
L414:
  movl   $0x1,-0x78(%rbp)
  mov    -0x64(%rbp),%eax
  mov    %eax,-0x60(%rbp)
  jmp    L613
L819:
  mov    -0x60(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x5c(%rbp)
  mov    -0x60(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm1,%xmm0
  addsd  -0x58(%rbp),%xmm0
  ucomisd -0x58(%rbp),%xmm0
  jp     L1069
  ucomisd -0x58(%rbp),%xmm0
  jne    L1069
  movl   $0x0,-0x78(%rbp)
  jmp    L629
L1069:
  mov    -0x5c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm1,%xmm0
  addsd  -0x58(%rbp),%xmm0
  ucomisd -0x58(%rbp),%xmm0
  jp     L232
  ucomisd -0x58(%rbp),%xmm0
  je     L528
L232:
  subl   $0x1,-0x60(%rbp)
L613:
  cmpl   $0x0,-0x60(%rbp)
  jg     L819
  jmp    L629
L528:
  nop
L629:
  cmpl   $0x0,-0x78(%rbp)
  je     L544
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D59(%rip),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x74(%rbp)
  jmp    L549
L101:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  -0x38(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mulsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x48(%rbp),%xmm0
  movq   D205(%rip),%xmm1
  andpd  %xmm1,%xmm0
  addsd  -0x58(%rbp),%xmm0
  ucomisd -0x58(%rbp),%xmm0
  jp     L60
  ucomisd -0x58(%rbp),%xmm0
  je     L773
L60:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mov    -0x48(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pythag@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  D59(%rip),%xmm0
  divsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  movq   D180(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  -0x18(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L160
L275:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x5c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x50(%rbp),%xmm1
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x5c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  -0x10(%rbp),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L160:
  mov    -0x6c(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L275
  addl   $0x1,-0x74(%rbp)
L549:
  mov    -0x74(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jle    L101
  jmp    L544
L773:
  nop
L544:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x60(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jne    L545
  pxor   %xmm0,%xmm0
  comisd -0x8(%rbp),%xmm0
  ja     L228
  jmp    L509
L228:
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x8(%rbp),%xmm0
  movq   D180(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movl   $0x0,-0x6c(%rbp)
  jmp    L209
L603:
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x64(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movq   D180(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L209:
  mov    -0x6c(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L603
  jmp    L509
L545:
  cmpl   $0x1d,-0x70(%rbp)
  jle    L395
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
L395:
  mov    -0x60(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x64(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x5c(%rbp)
  mov    -0x5c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x5c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  addsd  -0x8(%rbp),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  -0x40(%rbp),%xmm0
  movapd %xmm0,%xmm2
  subsd  -0x18(%rbp),%xmm2
  movsd  -0x40(%rbp),%xmm0
  addsd  -0x18(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x18(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  divsd  %xmm2,%xmm1
  movapd %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D59(%rip),%xmm0
  mov    -0x48(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pythag@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x40(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x8(%rbp),%xmm1
  movsd  -0x28(%rbp),%xmm0
  addsd  -0x8(%rbp),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  -0x48(%rbp),%xmm0
  pxor   %xmm2,%xmm2
  comisd %xmm2,%xmm0
  jbe    L802
  movsd  -0x40(%rbp),%xmm0
  movq   D205(%rip),%xmm2
  andpd  %xmm2,%xmm0
  jmp    L90
L802:
  movsd  -0x40(%rbp),%xmm0
  movq   D205(%rip),%xmm2
  andpd  %xmm2,%xmm0
  movq   D180(%rip),%xmm2
  xorpd  %xmm2,%xmm0
L90:
  movapd %xmm0,%xmm2
  addsd  -0x48(%rbp),%xmm2
  movsd  -0x10(%rbp),%xmm0
  divsd  %xmm2,%xmm0
  subsd  -0x18(%rbp),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  divsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D59(%rip),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x60(%rbp),%eax
  mov    %eax,-0x6c(%rbp)
  jmp    L325
L258:
  mov    -0x6c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x38(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mov    -0x48(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pythag@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x48(%rbp),%xmm0
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x18(%rbp),%xmm0
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x50(%rbp),%xmm1
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x10(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x10(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movl   $0x0,-0x68(%rbp)
  jmp    L574
L313:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x50(%rbp),%xmm1
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x68(%rbp)
L574:
  mov    -0x68(%rbp),%eax
  cmp    -0x90(%rbp),%eax
  jl     L313
  movsd  -0x18(%rbp),%xmm0
  mov    -0x48(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pythag@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  ucomisd -0x8(%rbp),%xmm0
  jp     L45
  pxor   %xmm0,%xmm0
  ucomisd -0x8(%rbp),%xmm0
  je     L64
L45:
  movsd  D59(%rip),%xmm0
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
L64:
  movsd  -0x50(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x40(%rbp),%xmm1
  movsd  -0x38(%rbp),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movsd  -0x38(%rbp),%xmm1
  mulsd  -0x40(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movl   $0x0,-0x68(%rbp)
  jmp    L20
L324:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x50(%rbp),%xmm1
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x6c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x8(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  -0x10(%rbp),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rdx
  mov    -0x74(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x68(%rbp)
L20:
  mov    -0x68(%rbp),%eax
  cmp    -0x8c(%rbp),%eax
  jl     L324
  addl   $0x1,-0x6c(%rbp)
L325:
  mov    -0x6c(%rbp),%eax
  cmp    -0x5c(%rbp),%eax
  jle    L258
  mov    -0x60(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x64(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x70(%rbp)
L750:
  cmpl   $0x1d,-0x70(%rbp)
  jle    L414
L509:
  subl   $0x1,-0x64(%rbp)
L257:
  cmpl   $0x0,-0x64(%rbp)
  jns    L598
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  nop
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D205
type_guessed: qword
name: extract_symbolic_data
arguments: data_tag: D180
type_guessed: f32[2]
name: extract_symbolic_data
arguments: data_tag: D59
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D132
type_guessed: string

tool: D205: 9223372036854775807

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

tool: D59: 1

tool: D132: dsvdcmp0: no convergence in 30 iterations


assistant: ```c
void dsvdcmp0(double **a, int m, int n, double *w, double **v) {
  int flag, i, its, j, jj, k, l, nm;
  double anorm, c, f, g, h, s, scale, x, y, z, *rv1;
  if (!(rv1 = (double *)malloc(n * sizeof(double))))
    svd_errm();
  g = scale = anorm = 0.0;
  for (i = 0; i < n; i++) {
    l = i + 1;
    rv1[i] = scale * g;
    g = s = scale = 0.0;
    if (i < m) {
      for (k = i; k < m; k++)
        scale += fabs(a[k][i]);
      if (scale) {
        for (k = i; k < m; k++) {
          a[k][i] /= scale;
          s += a[k][i] * a[k][i];
        }
        f = a[i][i];
        g = -((f) > 0 ? fabs(sqrt(s)) : -fabs(sqrt(s)));
        h = f * g - s;
        a[i][i] = f - g;
        for (j = l; j < n; j++) {
          for (s = 0.0, k = i; k < m; k++)
            s += a[k][i] * a[k][j];
          f = s / h;
          for (k = i; k < m; k++)
            a[k][j] += f * a[k][i];
        }
        for (k = i; k < m; k++)
          a[k][i] *= scale;
      }
    }
    w[i] = scale * g;
    g = s = scale = 0.0;
    if (i < m && i != n - 1) {
      for (k = l; k < n; k++)
        scale += fabs(a[i][k]);
      if (scale) {
        for (k = l; k < n; k++) {
          a[i][k] /= scale;
          s += a[i][k] * a[i][k];
        }
        f = a[i][l];
        g = -((f) > 0 ? fabs(sqrt(s)) : -fabs(sqrt(s)));
        h = f * g - s;
        a[i][l] = f - g;
        for (k = l; k < n; k++)
          rv1[k] = a[i][k] / h;
        for (j = l; j < m; j++) {
          for (s = 0.0, k = l; k < n; k++)
            s += a[j][k] * a[i][k];
          for (k = l; k < n; k++)
            a[j][k] += s * rv1[k];
        }
        for (k = l; k < n; k++)
          a[i][k] *= scale;
      }
    }
    anorm = ((anorm) > ((fabs(w[i]) + fabs(rv1[i]))) ? (anorm) : ((fabs(w[i]) + fabs(rv1[i]))));
  }
  for (i = n - 1; i >= 0; i--) {
    if (i < n - 1) {
      if (g) {
        for (j = l; j < n; j++)
          v[j][i] = (a[i][j] / a[i][l]) / g;
        for (j = l; j < n; j++) {
          for (s = 0.0, k = l; k < n; k++)
            s += a[i][k] * v[k][j];
          for (k = l; k < n; k++)
            v[k][j] += s * v[k][i];
        }
      }
      for (j = l; j < n; j++)
        v[i][j] = v[j][i] = 0.0;
    }
    v[i][i] = 1.0;
    g = rv1[i];
    l = i;
  }
  for (i = ((m - 1) < (n - 1) ? (m - 1) : (n - 1)); i >= 0; i--) {
    l = i + 1;
    g = w[i];
    for (j = l; j < n; j++)
      a[i][j] = 0.0;
    if (g) {
      g = 1.0 / g;
      for (j = l; j < n; j++) {
        for (s = 0.0, k = l; k < m; k++)
          s += a[k][i] * a[k][j];
        f = (s / a[i][i]) * g;
        for (k = i; k < m; k++)
          a[k][j] += f * a[k][i];
      }
      for (j = i; j < m; j++)
        a[j][i] *= g;
    } else
      for (j = i; j < m; j++)
        a[j][i] = 0.0;
    a[i][i] += 1.0;
  }
  for (k = n - 1; k >= 0; k--) {
    for (its = 0; its < 30; its++) {
      flag = 1;
      for (l = k; l > 0; l--) {
        nm = l - 1;
        if ((double)(fabs(rv1[l]) + anorm) == anorm) {
          flag = 0;
          break;
        }
        if ((double)(fabs(w[nm]) + anorm) == anorm)
          break;
      }
      if (flag) {
        c = 0.0;
        s = 1.0;
        for (i = l; i <= k; i++) {
          f = s * rv1[i];
          rv1[i] = c * rv1[i];
          if ((double)(fabs(f) + anorm) == anorm)
            break;
          g = w[i];
          h = pythag(f, g);
          w[i] = h;
          h = 1.0 / h;
          c = g * h;
          s = -f * h;
          for (j = 0; j < m; j++) {
            y = a[j][nm];
            z = a[j][i];
            a[j][nm] = y * c + z * s;
            a[j][i] = z * c - y * s;
          }
        }
      }
      z = w[k];
      if (l == k) {
        if (z < 0.0) {
          w[k] = -z;
          for (j = 0; j < n; j++)
            v[j][k] = -v[j][k];
        }
        break;
      }
      if (its >= 30) {
        printf("dsvdcmp0: no convergence in 30 iterations\n");
      }
      x = w[l];
      nm = k - 1;
      y = w[nm];
      g = rv1[nm];
      h = rv1[k];
      f = ((y - z) * (y + z) + (g - h) * (g + h)) / (2.0 * h * y);
      g = pythag(f, 1.0);
      f = ((x - z) * (x + z) + h * ((y / (f + ((f) > 0 ? fabs(g) : -fabs(g)))) - h)) / x;
      c = s = 1.0;
      for (j = l; j <= nm; j++) {
        i = j + 1;
        g = rv1[i];
        y = w[i];
        h = s * g;
        g = c * g;
        z = pythag(f, h);
        rv1[j] = z;
        c = f / z;
        s = h / z;
        f = x * c + g * s;
        g = g * c - x * s;
        h = y * s;
        y *= c;
        for (jj = 0; jj < n; jj++) {
          x = v[jj][j];
          z = v[jj][i];
          v[jj][j] = x * c + z * s;
          v[jj][i] = z * c - x * s;
        }
        z = pythag(f, h);
        w[j] = z;
        if (z) {
          z = 1.0 / z;
          c = f * z;
          s = h * z;
        }
        f = c * g + s * y;
        x = c * y - s * g;
        for (jj = 0; jj < m; jj++) {
          y = a[jj][j];
          z = a[jj][i];
          a[jj][j] = y * c + z * s;
          a[jj][i] = z * c - y * s;
        }
      }
      rv1[l] = 0.0;
      rv1[k] = f;
      w[k] = x;
    }
  }
  free(rv1);
}
```