user: 下面的汇编指令对应的C源代码是什么:

```asm
<ssvdinv>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xc0,%rsp
  mov    %rdi,-0xa8(%rbp)
  mov    %rsi,-0xb0(%rbp)
  mov    %edx,-0xb4(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  movss  -0x5c(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
  movss  -0x60(%rbp),%xmm0
  movss  %xmm0,-0x64(%rbp)
  movss  D117(%rip),%xmm0
  movss  %xmm0,-0x50(%rbp)
  movss  -0x50(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
  mov    -0xb4(%rbp),%eax
  cltq
  shl    $0x2,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x20(%rbp)
  mov    -0xb4(%rbp),%eax
  cltq
  shl    $0x2,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x18(%rbp)
  mov    -0xb4(%rbp),%eax
  imul   %eax,%eax
  cltq
  shl    $0x2,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x10(%rbp)
  mov    -0xb4(%rbp),%eax
  cltq
  shl    $0x2,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x8(%rbp)
  movl   $0x0,-0x7c(%rbp)
  mov    -0x7c(%rbp),%eax
  mov    %eax,-0x80(%rbp)
  movl   $0x0,-0x94(%rbp)
  jmp    L86
L588:
  mov    -0x94(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x80(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  -0x5c(%rbp),%xmm0
  mulss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  movss  -0x5c(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L294
L1320:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  -0x5c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  addl   $0x1,-0x84(%rbp)
L294:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L1320
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  jp     L24
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  je     L934
L24:
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L1167
L996:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  divss  -0x5c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L1167:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L996
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x70(%rbp)
  movss  -0x70(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comiss %xmm1,%xmm0
  jb     L434
  pxor   %xmm6,%xmm6
  cvtss2sd -0x6c(%rbp),%xmm6
  movq   %xmm6,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  movss  D136(%rip),%xmm0
  movd   %eax,%xmm3
  xorps  %xmm0,%xmm3
  movd   %xmm3,%eax
  jmp    L594
L434:
  pxor   %xmm7,%xmm7
  cvtss2sd -0x6c(%rbp),%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
L594:
  mov    %eax,-0x60(%rbp)
  movss  -0x70(%rbp),%xmm0
  mulss  -0x60(%rbp),%xmm0
  subss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x70(%rbp),%xmm0
  subss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L173
L1052:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L1118
L177:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L1118:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L177
  movss  -0x6c(%rbp),%xmm0
  divss  -0x3c(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L692
L520:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x70(%rbp),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L692:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L520
  addl   $0x1,-0x8c(%rbp)
L173:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L1052
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L782
L404:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mulss  -0x5c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L782:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L404
L934:
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x5c(%rbp),%xmm0
  mulss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  movss  -0x5c(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x80(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  je     L457
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L823
L683:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  -0x5c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  addl   $0x1,-0x84(%rbp)
L823:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L683
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  jp     L1093
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  je     L457
L1093:
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L1351
L213:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  divss  -0x5c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L1351:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L213
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x70(%rbp)
  movss  -0x70(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comiss %xmm1,%xmm0
  jb     L127
  pxor   %xmm6,%xmm6
  cvtss2sd -0x6c(%rbp),%xmm6
  movq   %xmm6,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  movss  D136(%rip),%xmm0
  movd   %eax,%xmm4
  xorps  %xmm0,%xmm4
  movd   %xmm4,%eax
  jmp    L329
L127:
  pxor   %xmm7,%xmm7
  cvtss2sd -0x6c(%rbp),%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
L329:
  mov    %eax,-0x60(%rbp)
  movss  -0x70(%rbp),%xmm0
  mulss  -0x60(%rbp),%xmm0
  subss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x70(%rbp),%xmm0
  subss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L511
L423:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  divss  -0x3c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L511:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L423
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L891
L1150:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L315
L431:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L315:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L431
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L353
L497:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L353:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L497
  addl   $0x1,-0x8c(%rbp)
L891:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L1150
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L959
L246:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mulss  -0x5c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L959:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L246
L457:
  movss  -0x64(%rbp),%xmm0
  movss  %xmm0,-0x30(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  %xmm0,-0xb8(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  addss  -0xb8(%rbp),%xmm0
  movss  %xmm0,-0x2c(%rbp)
  movss  -0x30(%rbp),%xmm0
  comiss -0x2c(%rbp),%xmm0
  jbe    L583
  movss  -0x30(%rbp),%xmm0
  jmp    L620
L583:
  movss  -0x2c(%rbp),%xmm0
L620:
  movss  %xmm0,-0x64(%rbp)
  movss  -0x50(%rbp),%xmm0
  mulss  -0x64(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
  addl   $0x1,-0x94(%rbp)
L86:
  mov    -0x94(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L588
  mov    -0xb4(%rbp),%eax
  mov    %eax,-0x94(%rbp)
  jmp    L180
L337:
  mov    -0xb4(%rbp),%eax
  sub    $0x1,%eax
  cmp    %eax,-0x94(%rbp)
  jge    L825
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  jp     L13
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  je     L654
L13:
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L356
L327:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  divss  %xmm1,%xmm0
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  divss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L356:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L327
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L744
L732:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L753
L397:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L753:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L397
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L1264
L197:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L1264:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L197
  addl   $0x1,-0x8c(%rbp)
L744:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L732
L654:
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L481
L346:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x94(%rbp),%edx
  mov    %edx,%ecx
  imul   -0xb4(%rbp),%ecx
  mov    -0x8c(%rbp),%edx
  add    %ecx,%edx
  movslq %edx,%rdx
  lea    0x0(,%rdx,4),%rcx
  mov    -0x10(%rbp),%rdx
  add    %rcx,%rdx
  movss  (%rax),%xmm0
  movss  %xmm0,(%rdx)
  addl   $0x1,-0x8c(%rbp)
L481:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L346
L825:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  D202(%rip),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x80(%rbp)
L180:
  mov    -0x94(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x94(%rbp)
  test   %eax,%eax
  jne    L337
  mov    -0xb4(%rbp),%eax
  mov    %eax,-0x94(%rbp)
  jmp    L780
L295:
  mov    -0x94(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x80(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L1065
L200:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L1065:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L200
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  jp     L636
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  je     L759
L636:
  movss  D202(%rip),%xmm0
  divss  -0x60(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L841
L763:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L351
L1233:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L351:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L1233
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  movss  -0x6c(%rbp),%xmm0
  divss  %xmm1,%xmm0
  movss  -0x60(%rbp),%xmm1
  mulss  %xmm1,%xmm0
  movss  %xmm0,-0x70(%rbp)
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L848
L331:
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x70(%rbp),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x84(%rbp)
L848:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L331
  addl   $0x1,-0x8c(%rbp)
L841:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L763
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L1216
L277:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mulss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L1216:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L277
  jmp    L470
L759:
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L1309
L160:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L1309:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L160
L470:
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  movss  D202(%rip),%xmm0
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
L780:
  mov    -0x94(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x94(%rbp)
  test   %eax,%eax
  jne    L295
  mov    -0xb4(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  jmp    L112
L292:
  movl   $0x0,-0x90(%rbp)
  jmp    L1302
L1053:
  movl   $0x1,-0x98(%rbp)
  mov    -0x84(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x80(%rbp)
  jmp    L730
L1286:
  mov    -0x80(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x7c(%rbp)
  mov    -0x80(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  -0x54(%rbp),%xmm1
  comiss %xmm0,%xmm1
  jae    L85
  cmpl   $0x0,-0x80(%rbp)
  jne    L671
L85:
  movl   $0x0,-0x98(%rbp)
  jmp    L1049
L671:
  mov    -0x7c(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  -0x54(%rbp),%xmm1
  comiss %xmm0,%xmm1
  jae    L159
L730:
  mov    -0x80(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x80(%rbp)
  test   %eax,%eax
  jne    L1286
  jmp    L1049
L159:
  nop
L1049:
  cmpl   $0x0,-0x98(%rbp)
  je     L451
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x74(%rbp)
  movss  D202(%rip),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x94(%rbp)
  jmp    L1021
L282:
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  -0x6c(%rbp),%xmm1
  mulss  %xmm1,%xmm0
  movss  %xmm0,-0x70(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mulss  -0x74(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x70(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movss  -0x54(%rbp),%xmm1
  comiss %xmm0,%xmm1
  jae    L612
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x70(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x60(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x44(%rbp)
  movss  -0x48(%rbp),%xmm0
  comiss -0x44(%rbp),%xmm0
  jbe    L954
  movss  -0x44(%rbp),%xmm0
  divss  -0x48(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x48(%rbp),%xmm0
  jmp    L787
L954:
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  jp     L174
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  je     L349
L174:
  movss  -0x48(%rbp),%xmm0
  divss  -0x44(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x44(%rbp),%xmm0
  jmp    L787
L349:
  pxor   %xmm0,%xmm0
L787:
  movss  %xmm0,-0x3c(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x3c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  movss  D202(%rip),%xmm0
  divss  -0x3c(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  movss  -0x60(%rbp),%xmm0
  mulss  -0x3c(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
  movss  -0x70(%rbp),%xmm0
  movss  D136(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x3c(%rbp),%xmm1
  mulss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movl   $0x0,-0x8c(%rbp)
  jmp    L187
L149:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x7c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x38(%rbp)
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x34(%rbp)
  movss  -0x38(%rbp),%xmm0
  movaps %xmm0,%xmm1
  mulss  -0x74(%rbp),%xmm1
  movss  -0x34(%rbp),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x7c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  movss  -0x34(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  -0x38(%rbp),%xmm1
  mulss  -0x6c(%rbp),%xmm1
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L187:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L149
  addl   $0x1,-0x94(%rbp)
L1021:
  mov    -0x94(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jle    L282
  jmp    L451
L612:
  nop
L451:
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x34(%rbp)
  mov    -0x80(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jne    L906
  pxor   %xmm0,%xmm0
  comiss -0x34(%rbp),%xmm0
  jbe    L976
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x34(%rbp),%xmm0
  movss  D136(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  movl   $0x0,-0x8c(%rbp)
  jmp    L1260
L201:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  D136(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x8c(%rbp)
L1260:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L201
L976:
  jmp    L112
L906:
  cmpl   $0x1d,-0x90(%rbp)
  jne    L803
  mov    $0x0,%eax
  jmp    L642
L803:
  mov    -0x80(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x68(%rbp)
  mov    -0x84(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x7c(%rbp)
  mov    -0x7c(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x38(%rbp)
  mov    -0x7c(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  movss  -0x38(%rbp),%xmm0
  movaps %xmm0,%xmm1
  subss  -0x34(%rbp),%xmm1
  movss  -0x38(%rbp),%xmm0
  addss  -0x34(%rbp),%xmm0
  mulss  %xmm0,%xmm1
  movss  -0x60(%rbp),%xmm0
  movaps %xmm0,%xmm2
  subss  -0x3c(%rbp),%xmm2
  movss  -0x60(%rbp),%xmm0
  addss  -0x3c(%rbp),%xmm0
  mulss  %xmm2,%xmm0
  addss  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtss2sd -0x3c(%rbp),%xmm0
  movapd %xmm0,%xmm2
  addsd  %xmm0,%xmm2
  pxor   %xmm0,%xmm0
  cvtss2sd -0x38(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  divsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsd2ss %xmm1,%xmm0
  movss  %xmm0,-0x70(%rbp)
  mov    -0x70(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x48(%rbp)
  mov    D202(%rip),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x44(%rbp)
  movss  -0x48(%rbp),%xmm0
  comiss -0x44(%rbp),%xmm0
  jbe    L25
  movss  -0x44(%rbp),%xmm0
  divss  -0x48(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x48(%rbp),%xmm0
  jmp    L709
L25:
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  jp     L64
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  je     L1174
L64:
  movss  -0x48(%rbp),%xmm0
  divss  -0x44(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x44(%rbp),%xmm0
  jmp    L709
L1174:
  pxor   %xmm0,%xmm0
L709:
  movss  %xmm0,-0x60(%rbp)
  movss  -0x68(%rbp),%xmm0
  movaps %xmm0,%xmm1
  subss  -0x34(%rbp),%xmm1
  movss  -0x68(%rbp),%xmm0
  addss  -0x34(%rbp),%xmm0
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0xb8(%rbp)
  movss  -0x70(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comiss %xmm1,%xmm0
  jb     L392
  mov    -0x60(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  jmp    L334
L392:
  mov    -0x60(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  movss  D136(%rip),%xmm0
  movd   %eax,%xmm5
  xorps  %xmm0,%xmm5
  movd   %xmm5,%eax
L334:
  movd   %eax,%xmm1
  addss  -0x70(%rbp),%xmm1
  movss  -0x38(%rbp),%xmm0
  divss  %xmm1,%xmm0
  subss  -0x3c(%rbp),%xmm0
  mulss  -0x3c(%rbp),%xmm0
  addss  -0xb8(%rbp),%xmm0
  divss  -0x68(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
  movss  D202(%rip),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
  mov    -0x80(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L1020
L1025:
  mov    -0x8c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x94(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x38(%rbp)
  movss  -0x6c(%rbp),%xmm0
  mulss  -0x60(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  movss  -0x60(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
  mov    -0x70(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x3c(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x44(%rbp)
  movss  -0x48(%rbp),%xmm0
  comiss -0x44(%rbp),%xmm0
  jbe    L1337
  movss  -0x44(%rbp),%xmm0
  divss  -0x48(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x48(%rbp),%xmm0
  jmp    L697
L1337:
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  jp     L887
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  je     L376
L887:
  movss  -0x48(%rbp),%xmm0
  divss  -0x44(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x44(%rbp),%xmm0
  jmp    L697
L376:
  pxor   %xmm0,%xmm0
L697:
  movss  %xmm0,-0x34(%rbp)
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  -0x34(%rbp),%xmm0
  movss  %xmm0,(%rax)
  movss  -0x70(%rbp),%xmm0
  divss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
  movss  -0x3c(%rbp),%xmm0
  divss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movss  -0x68(%rbp),%xmm0
  movaps %xmm0,%xmm1
  mulss  -0x74(%rbp),%xmm1
  movss  -0x60(%rbp),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x70(%rbp)
  movss  -0x60(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  -0x68(%rbp),%xmm1
  mulss  -0x6c(%rbp),%xmm1
  subss  %xmm1,%xmm0
  movss  %xmm0,-0x60(%rbp)
  movss  -0x38(%rbp),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
  movss  -0x38(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  %xmm0,-0x38(%rbp)
  movl   $0x0,-0x88(%rbp)
  jmp    L789
L752:
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x68(%rbp)
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x34(%rbp)
  movss  -0x68(%rbp),%xmm0
  movaps %xmm0,%xmm1
  mulss  -0x74(%rbp),%xmm1
  movss  -0x34(%rbp),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  movss  -0x34(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  -0x68(%rbp),%xmm1
  mulss  -0x6c(%rbp),%xmm1
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  subss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x88(%rbp)
L789:
  mov    -0x88(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L752
  mov    -0x70(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x3c(%rbp),%eax
  movd   %eax,%xmm0
  call   <fabs@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x44(%rbp)
  movss  -0x48(%rbp),%xmm0
  comiss -0x44(%rbp),%xmm0
  jbe    L289
  movss  -0x44(%rbp),%xmm0
  divss  -0x48(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x48(%rbp),%xmm0
  jmp    L969
L289:
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  jp     L1169
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  je     L167
L1169:
  movss  -0x48(%rbp),%xmm0
  divss  -0x44(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
  movss  -0x40(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D46(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movd   %xmm0,%eax
  movd   %eax,%xmm0
  mulss  -0x44(%rbp),%xmm0
  jmp    L969
L167:
  pxor   %xmm0,%xmm0
L969:
  movss  %xmm0,-0x34(%rbp)
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x34(%rbp),%xmm0
  movss  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  ucomiss -0x34(%rbp),%xmm0
  jp     L258
  pxor   %xmm0,%xmm0
  ucomiss -0x34(%rbp),%xmm0
  je     L643
L258:
  movss  D202(%rip),%xmm0
  divss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x34(%rbp)
  movss  -0x70(%rbp),%xmm0
  mulss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
  movss  -0x3c(%rbp),%xmm0
  mulss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
L643:
  movss  -0x74(%rbp),%xmm0
  movaps %xmm0,%xmm1
  mulss  -0x60(%rbp),%xmm1
  movss  -0x6c(%rbp),%xmm0
  mulss  -0x38(%rbp),%xmm0
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x70(%rbp)
  movss  -0x74(%rbp),%xmm0
  mulss  -0x38(%rbp),%xmm0
  movss  -0x6c(%rbp),%xmm1
  mulss  -0x60(%rbp),%xmm1
  subss  %xmm1,%xmm0
  movss  %xmm0,-0x68(%rbp)
  movl   $0x0,-0x88(%rbp)
  jmp    L437
L751:
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x38(%rbp)
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x34(%rbp)
  movss  -0x38(%rbp),%xmm0
  movaps %xmm0,%xmm1
  mulss  -0x74(%rbp),%xmm1
  movss  -0x34(%rbp),%xmm0
  mulss  -0x6c(%rbp),%xmm0
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  movss  -0x34(%rbp),%xmm0
  mulss  -0x74(%rbp),%xmm0
  movss  -0x38(%rbp),%xmm1
  mulss  -0x6c(%rbp),%xmm1
  mov    -0x88(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x88(%rbp)
L437:
  mov    -0x88(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L751
  addl   $0x1,-0x8c(%rbp)
L1020:
  mov    -0x8c(%rbp),%eax
  cmp    -0x7c(%rbp),%eax
  jle    L1025
  mov    -0x80(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  -0x70(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x68(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x90(%rbp)
L1302:
  cmpl   $0x1d,-0x90(%rbp)
  jle    L1053
L112:
  mov    -0x84(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x84(%rbp)
  test   %eax,%eax
  jne    L292
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x58(%rbp)
  mov    -0x8(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0xb4(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L1238
L723:
  mov    -0x28(%rbp),%rax
  movss  (%rax),%xmm0
  comiss -0x58(%rbp),%xmm0
  jbe    L550
  mov    -0x28(%rbp),%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x58(%rbp)
L550:
  addq   $0x4,-0x28(%rbp)
L1238:
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x8c(%rbp)
  test   %eax,%eax
  jne    L723
  movss  -0x50(%rbp),%xmm0
  mulss  -0x58(%rbp),%xmm0
  movss  %xmm0,-0x4c(%rbp)
  movl   $0x0,-0x78(%rbp)
  mov    -0x8(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0xb4(%rbp),%eax
  mov    %eax,-0x8c(%rbp)
  jmp    L83
L460:
  mov    -0x28(%rbp),%rax
  movss  (%rax),%xmm1
  movss  -0x4c(%rbp),%xmm0
  comiss %xmm1,%xmm0
  jb     L172
  mov    -0x28(%rbp),%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  jmp    L142
L172:
  addl   $0x1,-0x78(%rbp)
  mov    -0x28(%rbp),%rax
  movss  (%rax),%xmm1
  movss  D202(%rip),%xmm0
  divss  %xmm1,%xmm0
  mov    -0x28(%rbp),%rax
  movss  %xmm0,(%rax)
L142:
  addq   $0x4,-0x28(%rbp)
L83:
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    %edx,-0x8c(%rbp)
  test   %eax,%eax
  jne    L460
  movl   $0x0,-0x8c(%rbp)
  jmp    L1364
L402:
  movl   $0x0,-0x94(%rbp)
  jmp    L901
L1210:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  movl   $0x0,-0x84(%rbp)
  jmp    L476
L851:
  mov    -0x8c(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x84(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm0,%xmm1
  mov    -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x8(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x6c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  addl   $0x1,-0x84(%rbp)
L476:
  mov    -0x84(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L851
  mov    -0x94(%rbp),%eax
  imul   -0xb4(%rbp),%eax
  mov    %eax,%edx
  mov    -0x8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movss  -0x6c(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x94(%rbp)
L901:
  mov    -0x94(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L1210
  addl   $0x1,-0x8c(%rbp)
L1364:
  mov    -0x8c(%rbp),%eax
  cmp    -0xb4(%rbp),%eax
  jl     L402
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x10(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x78(%rbp),%eax
L642:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D117
datatype: byte[4]
name: extract_symbolic_data
arguments: tag: D136
datatype: byte[4]
name: extract_symbolic_data
arguments: tag: D202
datatype: f32
name: extract_symbolic_data
arguments: tag: D46
datatype: f32[2]

tool: {"D117": [0xbd,0x37,0x86,0x35]}

tool: {"D136": [0x00,0x00,0x00,0x80]}

tool: D202: 1

tool: {"D46": [0.0,1.875]}

assistant: ```c
int ssvdinv(float *a, float *b, int m) {
  int flag, i, its, j, jj, k, l, nm, rank;
  float *vmat, *wmat, *w, *rv1, *tmp, c, f, h, s, x, y, z, anorm, g, scale, at, bt, ct, maxarg1, maxarg2, thresh, wmax, tol, tanorm;
  anorm = g = scale = 0.0;
  tanorm = tol = sizeof(anorm) > 4 ? 1.0e-9 : 1.0e-6;
  rv1 = (float *)malloc(m * sizeof(float));
  tmp = (float *)malloc(m * sizeof(float));
  vmat = (float *)malloc(m * m * sizeof(float));
  wmat = (float *)malloc(m * sizeof(float));
  l = nm = 0;
  for (i = 0; i < m; i++) {
    l = i + 1;
    rv1[i] = scale * g;
    g = s = scale = 0.0;
    for (k = i; k < m; k++)
      scale += fabs(a[k * m + i]);
    if (scale) {
      for (k = i; k < m; k++) {
        a[k * m + i] /= scale;
        s += a[k * m + i] * a[k * m + i];
      }
      f = a[i * m + i];
      g = -((f) >= 0.0 ? fabs(sqrt(s)) : -fabs(sqrt(s)));
      h = f * g - s;
      a[i * m + i] = f - g;
      for (j = l; j < m; j++) {
        s = 0.0;
        for (k = i; k < m; k++)
          s += a[k * m + i] * a[k * m + j];
        f = s / h;
        for (k = i; k < m; k++)
          a[k * m + j] += f * a[k * m + i];
      }
      for (k = i; k < m; k++)
        a[k * m + i] *= scale;
    }
    wmat[i] = scale * g;
    g = s = scale = 0.0;
    if (l != m) {
      for (k = l; k < m; k++)
        scale += fabs(a[i * m + k]);
      if (scale) {
        for (k = l; k < m; k++) {
          a[i * m + k] /= scale;
          s += a[i * m + k] * a[i * m + k];
        }
        f = a[i * m + l];
        g = -((f) >= 0.0 ? fabs(sqrt(s)) : -fabs(sqrt(s)));
        h = f * g - s;
        a[i * m + l] = f - g;
        for (k = l; k < m; k++)
          rv1[k] = a[i * m + k] / h;
        for (j = l; j < m; j++) {
          s = 0.0;
          for (k = l; k < m; k++)
            s += a[j * m + k] * a[i * m + k];
          for (k = l; k < m; k++)
            a[j * m + k] += s * rv1[k];
        }
        for (k = l; k < m; k++)
          a[i * m + k] *= scale;
      }
    }
    anorm = (maxarg1 = (anorm), maxarg2 = ((fabs(wmat[i]) + fabs(rv1[i]))), (maxarg1) > (maxarg2) ? (maxarg1) : (maxarg2));
    tanorm = tol * anorm;
  }
  for (i = m; i--;) {
    if (i < m - 1) {
      if (g) {
        for (j = l; j < m; j++)
          vmat[j * m + i] = (a[i * m + j] / a[i * m + l]) / g;
        for (j = l; j < m; j++) {
          s = 0.0;
          for (k = l; k < m; k++)
            s += a[i * m + k] * vmat[k * m + j];
          for (k = l; k < m; k++)
            vmat[k * m + j] += s * vmat[k * m + i];
        }
      }
      for (j = l; j < m; j++)
        vmat[i * m + j] = vmat[j * m + i] = 0.0;
    }
    vmat[i * m + i] = 1.0;
    g = rv1[i];
    l = i;
  }
  for (i = m; i--;) {
    l = i + 1;
    g = wmat[i];
    for (j = l; j < m; j++)
      a[i * m + j] = 0.0;
    if (g) {
      g = 1.0 / g;
      for (j = l; j < m; j++) {
        s = 0.0;
        for (k = l; k < m; k++)
          s += a[k * m + i] * a[k * m + j];
        f = (s / a[i * m + i]) * g;
        for (k = i; k < m; k++)
          a[k * m + j] += f * a[k * m + i];
      }
      for (j = i; j < m; j++)
        a[j * m + i] *= g;
    } else
      for (j = i; j < m; j++)
        a[j * m + i] = 0.0;
    ++a[i * m + i];
  }
  for (k = m; k--;) {
    for (its = 0; its < 30; its++) {
      flag = 1;
      for (l = k + 1; l--;) {
        nm = l - 1;
        if (fabs(rv1[l]) <= tanorm || !l) {
          flag = 0;
          break;
        }
        if (fabs(wmat[nm]) <= tanorm)
          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 (fabs(f) <= tanorm)
            break;
          g = wmat[i];
          h = ((at = fabs(f)) > (bt = fabs(g)) ? (ct = bt / at, at * sqrt(1.0 + ct * ct)) : (bt ? (ct = at / bt, bt * sqrt(1.0 + ct * ct)) : 0.0));
          wmat[i] = h;
          h = 1.0 / h;
          c = g * h;
          s = -f * h;
          for (j = 0; j < m; j++) {
            y = a[j * m + nm];
            z = a[j * m + i];
            a[j * m + nm] = y * c + z * s;
            a[j * m + i] = z * c - y * s;
          }
        }
      }
      z = wmat[k];
      if (l == k) {
        if (z < 0.0) {
          wmat[k] = -z;
          for (j = 0; j < m; j++)
            vmat[j * m + k] = -vmat[j * m + k];
        }
        break;
      }
      if (its == 29)
        return 0;
      x = wmat[l];
      nm = k - 1;
      y = wmat[nm];
      g = rv1[nm];
      h = rv1[k];
      f = ((y - z) * (y + z) + (g - h) * (g + h)) / (2.0 * h * y);
      g = ((at = fabs(f)) > (bt = fabs(1.0)) ? (ct = bt / at, at * sqrt(1.0 + ct * ct)) : (bt ? (ct = at / bt, bt * sqrt(1.0 + ct * ct)) : 0.0));
      f = ((x - z) * (x + z) + h * ((y / (f + ((f) >= 0.0 ? fabs(g) : -fabs(g)))) - h)) / x;
      c = s = 1.0;
      for (j = l; j <= nm; j++) {
        i = j + 1;
        g = rv1[i];
        y = wmat[i];
        h = s * g;
        g = c * g;
        z = ((at = fabs(f)) > (bt = fabs(h)) ? (ct = bt / at, at * sqrt(1.0 + ct * ct)) : (bt ? (ct = at / bt, bt * sqrt(1.0 + ct * ct)) : 0.0));
        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 < m; jj++) {
          x = vmat[jj * m + j];
          z = vmat[jj * m + i];
          vmat[jj * m + j] = x * c + z * s;
          vmat[jj * m + i] = z * c - x * s;
        }
        z = ((at = fabs(f)) > (bt = fabs(h)) ? (ct = bt / at, at * sqrt(1.0 + ct * ct)) : (bt ? (ct = at / bt, bt * sqrt(1.0 + ct * ct)) : 0.0));
        wmat[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 * m + j];
          z = a[jj * m + i];
          a[jj * m + j] = y * c + z * s;
          a[jj * m + i] = z * c - y * s;
        }
      }
      rv1[l] = 0.0;
      rv1[k] = f;
      wmat[k] = x;
    }
  }
  wmax = 0.0;
  w = wmat;
  for (j = m; j--; w++)
    if (*w > wmax)
      wmax = *w;
  thresh = tol * wmax;
  rank = 0;
  w = wmat;
  for (j = m; j--; w++)
    if (*w <= thresh)
      *w = 0.0;
    else {
      rank++;
      *w = 1.0 / *w;
    }
  for (j = 0; j < m; j++)
    for (i = 0; i < m; i++) {
      s = 0.0;
      for (k = 0; k < m; k++)
        s += vmat[k + j * m] * a[k + i * m] * wmat[k];
      b[j + i * m] = s;
    }
  free(tmp);
  free(rv1);
  free(vmat);
  free(wmat);
  return rank;
}
```