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

```asm
<invertMatrix>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1a0,%rsp
  mov    %rdi,-0x198(%rbp)
  mov    %rsi,-0x1a0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x110(%rbp),%rax
  mov    %rax,-0x188(%rbp)
  lea    -0x110(%rbp),%rax
  add    $0x40,%rax
  mov    %rax,-0x180(%rbp)
  lea    -0x110(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  mov    %rax,-0x178(%rbp)
  lea    -0x110(%rbp),%rax
  add    $0xc0,%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x1a0(%rbp),%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  mov    -0x188(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x4,%rax
  movss  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x8,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x8,%rax
  movss  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x10,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0xc,%rax
  movss  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x18,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  movsd  D147(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  lea    0x38(%rax),%rdx
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rdx
  add    $0x28,%rdx
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x1a0(%rbp),%rax
  add    $0x10,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  mov    -0x180(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x14,%rax
  movss  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x18,%rax
  movss  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x10,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x1c,%rax
  movss  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x18,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  D147(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  lea    0x38(%rax),%rdx
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rdx
  add    $0x20,%rdx
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x1a0(%rbp),%rax
  add    $0x20,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  mov    -0x178(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x24,%rax
  movss  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x28,%rax
  movss  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x2c,%rax
  movss  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  D147(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  lea    0x38(%rax),%rdx
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rdx
  add    $0x20,%rdx
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x1a0(%rbp),%rax
  add    $0x30,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  mov    -0x170(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x34,%rax
  movss  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x8,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x38,%rax
  movss  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x1a0(%rbp),%rax
  add    $0x3c,%rax
  movss  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  D147(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  lea    0x30(%rax),%rdx
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rdx
  add    $0x20,%rdx
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0x170(%rbp),%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L203
  mov    -0x170(%rbp),%rax
  mov    %rax,-0x168(%rbp)
  mov    -0x178(%rbp),%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x168(%rbp),%rax
  mov    %rax,-0x178(%rbp)
L203:
  mov    -0x178(%rbp),%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L241
  mov    -0x178(%rbp),%rax
  mov    %rax,-0x160(%rbp)
  mov    -0x180(%rbp),%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x160(%rbp),%rax
  mov    %rax,-0x180(%rbp)
L241:
  mov    -0x180(%rbp),%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L184
  mov    -0x180(%rbp),%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x188(%rbp),%rax
  mov    %rax,-0x180(%rbp)
  mov    -0x158(%rbp),%rax
  mov    %rax,-0x188(%rbp)
L184:
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L276
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L276
  mov    $0x0,%edi
  mov    $0x0,%eax
  call   <assert@plt>
L276:
  mov    -0x180(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x150(%rbp)
  mov    -0x178(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x148(%rbp)
  mov    -0x170(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  mov    -0x188(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x8,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L306
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L201
L306:
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L201:
  mov    -0x188(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L79
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L166
L79:
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L166:
  mov    -0x188(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L223
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L188
L223:
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L188:
  mov    -0x188(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L222
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L33
L222:
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L33:
  mov    -0x170(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L234
  mov    -0x170(%rbp),%rax
  mov    %rax,-0x130(%rbp)
  mov    -0x178(%rbp),%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x130(%rbp),%rax
  mov    %rax,-0x178(%rbp)
L234:
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L180
  mov    -0x178(%rbp),%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x180(%rbp),%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x128(%rbp),%rax
  mov    %rax,-0x180(%rbp)
L180:
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L50
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L50
  mov    $0x0,%edi
  mov    $0x0,%eax
  call   <assert@plt>
L50:
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x148(%rbp)
  mov    -0x170(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L70
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L167
L70:
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L167:
  mov    -0x180(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L160
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L168
L160:
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L168:
  mov    -0x180(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L220
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L159
L220:
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L159:
  mov    -0x180(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  jp     L230
  pxor   %xmm0,%xmm0
  ucomisd -0x138(%rbp),%xmm0
  je     L165
L230:
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x138(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L165:
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movq   D59(%rip),%xmm1
  andpd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movq   D59(%rip),%xmm2
  andpd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L217
  mov    -0x170(%rbp),%rax
  mov    %rax,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x120(%rbp),%rax
  mov    %rax,-0x178(%rbp)
L217:
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L85
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L85
  mov    $0x0,%edi
  mov    $0x0,%eax
  call   <assert@plt>
L85:
  mov    -0x170(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x140(%rbp),%xmm1
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L206
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L206
  mov    $0x0,%edi
  mov    $0x0,%eax
  call   <assert@plt>
L206:
  mov    -0x170(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  movsd  D147(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x148(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  D147(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x148(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x150(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x150(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movsd  D147(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x150(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x188(%rbp),%rax
  movsd  (%rax),%xmm1
  movsd  D147(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  mulsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  cvtsd2ss %xmm0,%xmm0
  mov    -0x198(%rbp),%rax
  movss  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x4,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x8,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0xc,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x10,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x14,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x18,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x180(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x1c,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x20,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x24,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x28,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x2c,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x30,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x34,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x38,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x170(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x198(%rbp),%rax
  add    $0x3c,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L211
  call   <__stack_chk_fail@plt>
L211:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D147
type_infered: f64
name: extract_symbolic_data
arguments: label: D59
type_infered: qword

tool: D147: 1

tool: D59: 9223372036854775807

assistant: ```c
void invertMatrix(float *out, const float *m) {
  double wtmp[4][8];
  double m0, m1, m2, m3, s;
  double *r0, *r1, *r2, *r3;
  r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];
  r0[0] = (m)[(0) * 4 + (0)], r0[1] = (m)[(0) * 4 + (1)], r0[2] = (m)[(0) * 4 + (2)], r0[3] = (m)[(0) * 4 + (3)], r0[4] = 1.0, r0[5] = r0[6] = r0[7] = 0.0, r1[0] = (m)[(1) * 4 + (0)], r1[1] = (m)[(1) * 4 + (1)], r1[2] = (m)[(1) * 4 + (2)], r1[3] = (m)[(1) * 4 + (3)], r1[5] = 1.0, r1[4] = r1[6] = r1[7] = 0.0, r2[0] = (m)[(2) * 4 + (0)], r2[1] = (m)[(2) * 4 + (1)], r2[2] = (m)[(2) * 4 + (2)], r2[3] = (m)[(2) * 4 + (3)], r2[6] = 1.0, r2[4] = r2[5] = r2[7] = 0.0, r3[0] = (m)[(3) * 4 + (0)], r3[1] = (m)[(3) * 4 + (1)], r3[2] = (m)[(3) * 4 + (2)], r3[3] = (m)[(3) * 4 + (3)], r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;
  if (fabs(r3[0]) > fabs(r2[0])) {
    double *_tmp = r3;
    (r3) = (r2);
    (r2) = _tmp;
  };
  if (fabs(r2[0]) > fabs(r1[0])) {
    double *_tmp = r2;
    (r2) = (r1);
    (r1) = _tmp;
  };
  if (fabs(r1[0]) > fabs(r0[0])) {
    double *_tmp = r1;
    (r1) = (r0);
    (r0) = _tmp;
  };
  if (0.0 == r0[0]) {
    assert(!"could not invert matrix");
  }
  m1 = r1[0] / r0[0];
  m2 = r2[0] / r0[0];
  m3 = r3[0] / r0[0];
  s = r0[1];
  r1[1] -= m1 * s;
  r2[1] -= m2 * s;
  r3[1] -= m3 * s;
  s = r0[2];
  r1[2] -= m1 * s;
  r2[2] -= m2 * s;
  r3[2] -= m3 * s;
  s = r0[3];
  r1[3] -= m1 * s;
  r2[3] -= m2 * s;
  r3[3] -= m3 * s;
  s = r0[4];
  if (s != 0.0) {
    r1[4] -= m1 * s;
    r2[4] -= m2 * s;
    r3[4] -= m3 * s;
  }
  s = r0[5];
  if (s != 0.0) {
    r1[5] -= m1 * s;
    r2[5] -= m2 * s;
    r3[5] -= m3 * s;
  }
  s = r0[6];
  if (s != 0.0) {
    r1[6] -= m1 * s;
    r2[6] -= m2 * s;
    r3[6] -= m3 * s;
  }
  s = r0[7];
  if (s != 0.0) {
    r1[7] -= m1 * s;
    r2[7] -= m2 * s;
    r3[7] -= m3 * s;
  }
  if (fabs(r3[1]) > fabs(r2[1])) {
    double *_tmp = r3;
    (r3) = (r2);
    (r2) = _tmp;
  };
  if (fabs(r2[1]) > fabs(r1[1])) {
    double *_tmp = r2;
    (r2) = (r1);
    (r1) = _tmp;
  };
  if (0.0 == r1[1]) {
    assert(!"could not invert matrix");
  }
  m2 = r2[1] / r1[1];
  m3 = r3[1] / r1[1];
  r2[2] -= m2 * r1[2];
  r3[2] -= m3 * r1[2];
  r2[3] -= m2 * r1[3];
  r3[3] -= m3 * r1[3];
  s = r1[4];
  if (0.0 != s) {
    r2[4] -= m2 * s;
    r3[4] -= m3 * s;
  }
  s = r1[5];
  if (0.0 != s) {
    r2[5] -= m2 * s;
    r3[5] -= m3 * s;
  }
  s = r1[6];
  if (0.0 != s) {
    r2[6] -= m2 * s;
    r3[6] -= m3 * s;
  }
  s = r1[7];
  if (0.0 != s) {
    r2[7] -= m2 * s;
    r3[7] -= m3 * s;
  }
  if (fabs(r3[2]) > fabs(r2[2])) {
    double *_tmp = r3;
    (r3) = (r2);
    (r2) = _tmp;
  };
  if (0.0 == r2[2]) {
    assert(!"could not invert matrix");
  }
  m3 = r3[2] / r2[2];
  r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4], r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6], r3[7] -= m3 * r2[7];
  if (0.0 == r3[3]) {
    assert(!"could not invert matrix");
  }
  s = 1.0 / r3[3];
  r3[4] *= s;
  r3[5] *= s;
  r3[6] *= s;
  r3[7] *= s;
  m2 = r2[3];
  s = 1.0 / r2[2];
  r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2), r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);
  m1 = r1[3];
  r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1, r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;
  m0 = r0[3];
  r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0, r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;
  m1 = r1[2];
  s = 1.0 / r1[1];
  r1[4] = s * (r1[4] - r2[4] * m1), r1[5] = s * (r1[5] - r2[5] * m1), r1[6] = s * (r1[6] - r2[6] * m1), r1[7] = s * (r1[7] - r2[7] * m1);
  m0 = r0[2];
  r0[4] -= r2[4] * m0, r0[5] -= r2[5] * m0, r0[6] -= r2[6] * m0, r0[7] -= r2[7] * m0;
  m0 = r0[1];
  s = 1.0 / r0[0];
  r0[4] = s * (r0[4] - r1[4] * m0), r0[5] = s * (r0[5] - r1[5] * m0), r0[6] = s * (r0[6] - r1[6] * m0), r0[7] = s * (r0[7] - r1[7] * m0);
  (out)[(0) * 4 + (0)] = (float)r0[4];
  (out)[(0) * 4 + (1)] = (float)r0[5], (out)[(0) * 4 + (2)] = (float)r0[6];
  (out)[(0) * 4 + (3)] = (float)r0[7], (out)[(1) * 4 + (0)] = (float)r1[4];
  (out)[(1) * 4 + (1)] = (float)r1[5], (out)[(1) * 4 + (2)] = (float)r1[6];
  (out)[(1) * 4 + (3)] = (float)r1[7], (out)[(2) * 4 + (0)] = (float)r2[4];
  (out)[(2) * 4 + (1)] = (float)r2[5], (out)[(2) * 4 + (2)] = (float)r2[6];
  (out)[(2) * 4 + (3)] = (float)r2[7], (out)[(3) * 4 + (0)] = (float)r3[4];
  (out)[(3) * 4 + (1)] = (float)r3[5], (out)[(3) * 4 + (2)] = (float)r3[6];
  (out)[(3) * 4 + (3)] = (float)r3[7];
}
```