user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<inv4>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm0,%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm4,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  mulsd  %xmm3,%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm4,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  movq   D58(%rip),%xmm4
  xorpd  %xmm4,%xmm0
  mulsd  %xmm3,%xmm0
  addsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm4,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  movq   D58(%rip),%xmm4
  xorpd  %xmm4,%xmm0
  mulsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  movq   D58(%rip),%xmm5
  xorpd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm4,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  movq   D58(%rip),%xmm4
  xorpd  %xmm4,%xmm0
  mulsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  movq   D58(%rip),%xmm5
  xorpd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm4,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  movq   D58(%rip),%xmm4
  xorpd  %xmm4,%xmm0
  mulsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm6
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm6,%xmm5
  subsd  %xmm5,%xmm0
  movq   D58(%rip),%xmm5
  xorpd  %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x8(%rbp),%xmm0
  movq   D44(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D209(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L10
  mov    $0xffffffff,%eax
  jmp    L18
L10:
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  divsd  -0x8(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x20,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x40,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x60,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x8,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x28,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x48,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x68,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x10,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x30,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x50,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x70,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x18,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x38,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movq   D58(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x58,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm3,%xmm2
  subsd  %xmm2,%xmm0
  movq   D58(%rip),%xmm2
  xorpd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm2
  mov    -0x18(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm0
  movq   D58(%rip),%xmm3
  xorpd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x20(%rbp),%rax
  add    $0x78,%rax
  divsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    $0x0,%eax
L18:
  pop    %rbp
  ret
```

tool_calls: name: read_data
arguments: label: D58
data_type: f32[2]
name: read_data
arguments: label: D44
data_type: qword
name: read_data
arguments: label: D209
data_type: byte[8]

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

tool: D44: 9223372036854775807

tool: {"D209": [0x26,0xa6,0xac,0xaa,0x04,0xb6,0x79,0x33]}

assistant: ```c
int inv4(const double *a, double *b) {
  double det = (((a[4 * 1 + 0] * -((a[4 * 2 + 1] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1])) + a[4 * 2 + 3] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1])) + a[4 * 1 + 1] * ((a[4 * 2 + 0] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0]))) + a[4 * 1 + 2] * -((a[4 * 2 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0]))) + a[4 * 1 + 3] * ((a[4 * 2 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0])) + a[4 * 2 + 2] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0])));
  if (fabs(det) < (1e-60))
    return -1;
  b[4 * 0 + 0] = ((a[4 * 2 + 1] * -(a[4 * 1 + 2] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 1 + 1] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 1])) + a[4 * 2 + 3] * -(a[4 * 1 + 1] * a[4 * 3 + 2] - a[4 * 1 + 2] * a[4 * 3 + 1])) / det;
  b[4 * 1 + 0] = -((a[4 * 2 + 0] * -(a[4 * 1 + 2] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 1 + 0] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 1 + 0] * a[4 * 3 + 2] - a[4 * 1 + 2] * a[4 * 3 + 0])) / det;
  b[4 * 2 + 0] = ((a[4 * 2 + 0] * -(a[4 * 1 + 1] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 1 + 0] * a[4 * 3 + 3] - a[4 * 1 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 1 + 0] * a[4 * 3 + 1] - a[4 * 1 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 3 + 0] = -((a[4 * 2 + 0] * -(a[4 * 1 + 1] * a[4 * 3 + 2] - a[4 * 1 + 2] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 1 + 0] * a[4 * 3 + 2] - a[4 * 1 + 2] * a[4 * 3 + 0])) + a[4 * 2 + 2] * -(a[4 * 1 + 0] * a[4 * 3 + 1] - a[4 * 1 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 0 + 1] = -((a[4 * 2 + 1] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1])) + a[4 * 2 + 3] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1])) / det;
  b[4 * 1 + 1] = ((a[4 * 2 + 0] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 2 + 2] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0])) / det;
  b[4 * 2 + 1] = -((a[4 * 2 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 2 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 3 + 1] = ((a[4 * 2 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1]) + a[4 * 2 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0])) + a[4 * 2 + 2] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 0 + 2] = ((a[4 * 1 + 1] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 1 + 2] * (a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1])) + a[4 * 1 + 3] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1])) / det;
  b[4 * 1 + 2] = -((a[4 * 1 + 0] * -(a[4 * 0 + 2] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 2]) + a[4 * 1 + 2] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 1 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0])) / det;
  b[4 * 2 + 2] = ((a[4 * 1 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 1]) + a[4 * 1 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 3] - a[4 * 0 + 3] * a[4 * 3 + 0])) + a[4 * 1 + 3] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 3 + 2] = -((a[4 * 1 + 0] * -(a[4 * 0 + 1] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 1]) + a[4 * 1 + 1] * (a[4 * 0 + 0] * a[4 * 3 + 2] - a[4 * 0 + 2] * a[4 * 3 + 0])) + a[4 * 1 + 2] * -(a[4 * 0 + 0] * a[4 * 3 + 1] - a[4 * 0 + 1] * a[4 * 3 + 0])) / det;
  b[4 * 0 + 3] = -((a[4 * 1 + 1] * -(a[4 * 0 + 2] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 2]) + a[4 * 1 + 2] * (a[4 * 0 + 1] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 1])) + a[4 * 1 + 3] * -(a[4 * 0 + 1] * a[4 * 2 + 2] - a[4 * 0 + 2] * a[4 * 2 + 1])) / det;
  b[4 * 1 + 3] = ((a[4 * 1 + 0] * -(a[4 * 0 + 2] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 2]) + a[4 * 1 + 2] * (a[4 * 0 + 0] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 0])) + a[4 * 1 + 3] * -(a[4 * 0 + 0] * a[4 * 2 + 2] - a[4 * 0 + 2] * a[4 * 2 + 0])) / det;
  b[4 * 2 + 3] = -((a[4 * 1 + 0] * -(a[4 * 0 + 1] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 1]) + a[4 * 1 + 1] * (a[4 * 0 + 0] * a[4 * 2 + 3] - a[4 * 0 + 3] * a[4 * 2 + 0])) + a[4 * 1 + 3] * -(a[4 * 0 + 0] * a[4 * 2 + 1] - a[4 * 0 + 1] * a[4 * 2 + 0])) / det;
  b[4 * 3 + 3] = ((a[4 * 1 + 0] * -(a[4 * 0 + 1] * a[4 * 2 + 2] - a[4 * 0 + 2] * a[4 * 2 + 1]) + a[4 * 1 + 1] * (a[4 * 0 + 0] * a[4 * 2 + 2] - a[4 * 0 + 2] * a[4 * 2 + 0])) + a[4 * 1 + 2] * -(a[4 * 0 + 0] * a[4 * 2 + 1] - a[4 * 0 + 1] * a[4 * 2 + 0])) / det;
  return 0;
}
```