user: Converte this assembly snippet into its equivalent C code:

```asm
<d2S3D>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x650,%rsp
  mov    %rdi,-0x618(%rbp)
  mov    %rsi,-0x620(%rbp)
  mov    %rdx,-0x628(%rbp)
  mov    %rcx,-0x630(%rbp)
  mov    %r8,-0x638(%rbp)
  mov    %r9,-0x640(%rbp)
  mov    0x10(%rbp),%rax
  mov    %rax,-0x648(%rbp)
  mov    0x18(%rbp),%rax
  mov    %rax,-0x650(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x650(%rbp),%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x5f0(%rbp)
  mov    -0x650(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x5ec(%rbp)
  mov    -0x650(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x5e8(%rbp)
  mov    -0x648(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x648(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x648(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x5d0(%rbp)
  mov    -0x640(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  -0x5d0(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x5c8(%rbp)
  mov    -0x640(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movsd  -0x5d0(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x5c0(%rbp)
  mov    -0x640(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movsd  -0x5d0(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x5b8(%rbp)
  mov    -0x5f0(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x5ec(%rbp),%eax
  add    $0x1,%eax
  imul   %edx,%eax
  mov    -0x5e8(%rbp),%edx
  add    $0x1,%edx
  imul   %edx,%eax
  mov    %eax,-0x5e4(%rbp)
  movl   $0x1,-0x5e0(%rbp)
  mov    -0x5f0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x5dc(%rbp)
  mov    -0x5f0(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x5ec(%rbp),%eax
  add    $0x1,%eax
  imul   %edx,%eax
  mov    %eax,-0x5d8(%rbp)
  movl   $0x0,-0x604(%rbp)
  jmp    L74
L71:
  movl   $0x0,-0x600(%rbp)
  jmp    L96
L98:
  movl   $0x0,-0x5fc(%rbp)
  jmp    L19
L46:
  mov    -0x600(%rbp),%eax
  imul   -0x5dc(%rbp),%eax
  mov    %eax,%edx
  mov    -0x604(%rbp),%eax
  add    %eax,%edx
  mov    -0x5fc(%rbp),%eax
  imul   -0x5d8(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x5d4(%rbp)
  movl   $0x0,-0x5f4(%rbp)
  movl   $0x0,-0x5f8(%rbp)
  jmp    L81
L128:
  mov    -0x5d4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x5f4(%rbp),%eax
  cltq
  add    %rdx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x620(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x5a0(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x580(%rbp,%rax,8)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x540(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x560(%rbp,%rax,8)
  mov    -0x5d8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x4e0(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x4c0(%rbp,%rax,8)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x500(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x520(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x5a0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x580(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x540(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x560(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x4a0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x580(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x540(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4c0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x500(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x480(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x5a0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x580(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x500(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x520(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x460(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x560(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x5a0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x520(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x440(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x540(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x560(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4c0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x420(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x520(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x500(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4c0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x400(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x4a0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x400(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D394(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3e0(%rbp,%rax,8)
  mov    -0x5d4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x5f4(%rbp),%eax
  cltq
  add    %rdx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x628(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3c0(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3a0(%rbp,%rax,8)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x360(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x380(%rbp,%rax,8)
  mov    -0x5d8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x300(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2e0(%rbp,%rax,8)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x320(%rbp,%rax,8)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5a8(%rbp)
  mov    -0x5a8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x340(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2c0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2a0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x280(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x260(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x240(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x220(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x2c0(%rbp,%rax,8),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x220(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D394(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x200(%rbp,%rax,8)
  mov    -0x5e4(%rbp),%eax
  add    %eax,-0x5f4(%rbp)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1e0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1c0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1a0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x180(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x160(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x140(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x120(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x100(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xe0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xc0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x80(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x20(%rbp,%rax,8)
  addl   $0x1,-0x5f8(%rbp)
L81:
  cmpl   $0x2,-0x5f8(%rbp)
  jle    L128
  movsd  -0x5c0(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L6
  mov    -0x630(%rbp),%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2c0(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x3c0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2c0(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x3a0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2c0(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x360(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2c0(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x380(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2a0(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x3a0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2a0(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x360(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2a0(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x2e0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x2a0(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x320(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x40,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x280(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x3c0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x280(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x3a0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x280(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x320(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x58,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x280(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x340(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x60,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x260(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x380(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x68,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x260(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x3c0(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x70,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x260(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x340(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x78,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x260(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x300(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x240(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x360(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x88,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x240(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x380(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x90,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x240(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x300(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0x98,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x240(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x2e0(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0xa0,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x220(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x340(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0xa8,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x220(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x320(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0xb0,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x220(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x2e0(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    -0x630(%rbp),%rax
  add    $0xb8,%rax
  mov    (%rax),%rdi
  movsd  -0x5c0(%rbp),%xmm0
  lea    -0x220(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x300(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  sub    $0x8,%rsp
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
L6:
  movsd  -0x5b8(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L79
  mov    -0x638(%rbp),%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D289(%rip),%xmm0
  lea    -0x3a0(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2c0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D289(%rip),%xmm0
  lea    -0x360(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2c0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D289(%rip),%xmm0
  lea    -0x380(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2c0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D289(%rip),%xmm0
  lea    -0x3c0(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x4a0(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2c0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x360(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2a0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x2e0(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2a0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x320(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2a0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x3a0(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x480(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x2a0(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x40,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x3a0(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x580(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x280(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x320(%rbp),%r9
  lea    -0x3a0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x580(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x1c0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x280(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x340(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x280(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x58,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x3c0(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x460(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x280(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x60,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x3c0(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x5a0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x260(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x68,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x340(%rbp),%r9
  lea    -0x3c0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x5a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x1e0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x260(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x70,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x300(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x260(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x78,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x380(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x440(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x260(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x380(%rbp),%r9
  lea    -0x360(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x560(%rbp),%rsi
  lea    -0x540(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x240(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x88,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x300(%rbp),%r9
  lea    -0x380(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x560(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x1a0(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x240(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x90,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x2e0(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x240(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0x98,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x360(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x420(%rbp),%rdx
  lea    -0x540(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  lea    -0x180(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x240(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0xa0,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x320(%rbp),%r9
  lea    -0x340(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x500(%rbp),%rsi
  lea    -0x520(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x220(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0xa8,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x2e0(%rbp),%r9
  lea    -0x320(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x4c0(%rbp),%rsi
  lea    -0x500(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x140(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x220(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0xb0,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x300(%rbp),%r9
  lea    -0x2e0(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x4e0(%rbp),%rsi
  lea    -0x4c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x100(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x220(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    -0x638(%rbp),%rax
  add    $0xb8,%rax
  mov    (%rax),%rdi
  movsd  -0x5b8(%rbp),%xmm1
  movsd  D313(%rip),%xmm0
  lea    -0x340(%rbp),%r9
  lea    -0x300(%rbp),%r10
  lea    -0x3e0(%rbp),%rcx
  lea    -0x400(%rbp),%rdx
  lea    -0x520(%rbp),%rsi
  lea    -0x4e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  lea    -0x160(%rbp),%r8
  push   %r8
  lea    -0x120(%rbp),%r8
  push   %r8
  lea    -0x200(%rbp),%r8
  push   %r8
  lea    -0x220(%rbp),%r8
  push   %r8
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rdi,%xmm0
  mov    %r10,%r8
  mov    %rax,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
L79:
  movl   $0x0,-0x5f4(%rbp)
  movl   $0x0,-0x5f8(%rbp)
  jmp    L64
L119:
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0xe0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0xc0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0xa0(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x80(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm1
  movsd  D40(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x40(%rbp,%rax,8)
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm1
  movsd  D54(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x20(%rbp,%rax,8)
  mov    -0x5d4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x5f4(%rbp),%eax
  cltq
  add    %rdx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x618(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x1e0(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x1c0(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x180(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x1a0(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5d8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x120(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x100(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5dc(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x140(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5e0(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x160(%rbp,%rax,8),%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x5f8(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x5b0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x5e4(%rbp),%eax
  add    %eax,-0x5f4(%rbp)
  addl   $0x1,-0x5f8(%rbp)
L64:
  cmpl   $0x2,-0x5f8(%rbp)
  jle    L119
  addl   $0x1,-0x5fc(%rbp)
L19:
  mov    -0x5fc(%rbp),%eax
  cmp    -0x5e8(%rbp),%eax
  jl     L46
  addl   $0x1,-0x600(%rbp)
L96:
  mov    -0x600(%rbp),%eax
  cmp    -0x5ec(%rbp),%eax
  jl     L98
  addl   $0x1,-0x604(%rbp)
L74:
  mov    -0x604(%rbp),%eax
  cmp    -0x5f0(%rbp),%eax
  jl     L71
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L90
  call   <__stack_chk_fail@plt>
L90:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D40
data_type: f64
name: extract_symbolic_data
arguments: label: D394
data_type: f64
name: extract_symbolic_data
arguments: label: D289
data_type: f32[2]
name: extract_symbolic_data
arguments: label: D313
data_type: f64
name: extract_symbolic_data
arguments: label: D54
data_type: f64

tool: D40: 0.25

tool: D394: 0.5

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

tool: D313: 1

tool: D54: 0.125

assistant: ```c
void d2S3D(double *prod, const double *yc, const double *x, const double *ARef, const double *VRef, const double *alpha, const double *h, const double *m, int n) {
  const int m1 = m[0], m2 = m[1], m3 = m[2];
  double yA[3], yB[3], yC[3], yD[3], yE[3], yF[3], yG[3], yH[3], yABDC[3], yBDHF[3], yABFE[3], yCAEG[3], yDCGH[3], yEFHG[3], yM[3];
  double xA[3], xB[3], xC[3], xD[3], xE[3], xF[3], xG[3], xH[3], xABDC[3], xBDHF[3], xABFE[3], xCAEG[3], xDCGH[3], xEFHG[3], xM[3];
  double rA[3], rB[3], rC[3], rD[3], rE[3], rF[3], rG[3], rH[3], rABDC[3], rBDHF[3], rABFE[3], rCAEG[3], rDCGH[3], rEFHG[3], rM[3];
  int id, i1, i2, i3, r, comp, idn;
  const double hd = h[0] * h[1] * h[2];
  const double alphaLength = alpha[0] * hd;
  const double alphaArea = alpha[1] * hd;
  const double alphaVolume = alpha[2] * hd;
  const int nn = (m1 + 1) * (m2 + 1) * (m3 + 1);
  const int inc_x = 1;
  const int inc_y = m1 + 1;
  const int inc_z = (m1 + 1) * (m2 + 1);
  const double *rptr;
  double *wptr;
#pragma omp parallel for default(shared) private(rptr, wptr, id, i1, i2, i3, r, comp, idn, yA, yB, yC, yD, yE, yF, yG, yH, yABDC, yBDHF, yABFE, yCAEG, yDCGH, yEFHG, yM, rA, rB, rC, rD, rE, rF, rG, rH, rABDC, rBDHF, rABFE, rCAEG, rDCGH, rEFHG, rM, xA, xB, xC, xD, xE, xF, xG, xH, xABDC, xBDHF, xABFE, xCAEG, xDCGH, xEFHG, xM)
  for (i1 = 0; i1 < m1; i1++) {
    for (i2 = 0; i2 < m2; i2++) {
      for (i3 = 0; i3 < m3; i3++) {
        idn = i1 + i2 * inc_y + i3 * inc_z;
        comp = 0;
        for (r = 0; r < 3; r++) {
          rptr = yc + idn + comp;
          yA[r] = *rptr;
          rptr += inc_x;
          yB[r] = *rptr;
          rptr += inc_y;
          yD[r] = *rptr;
          rptr -= inc_x;
          yC[r] = *rptr;
          rptr += inc_z;
          yG[r] = *rptr;
          rptr += inc_x;
          yH[r] = *rptr;
          rptr -= inc_y;
          yF[r] = *rptr;
          rptr -= inc_x;
          yE[r] = *rptr;
          yABDC[r] = 0.25 * (yA[r] + yB[r] + yD[r] + yC[r]);
          yBDHF[r] = 0.25 * (yB[r] + yD[r] + yH[r] + yF[r]);
          yABFE[r] = 0.25 * (yA[r] + yB[r] + yF[r] + yE[r]);
          yCAEG[r] = 0.25 * (yC[r] + yA[r] + yE[r] + yG[r]);
          yDCGH[r] = 0.25 * (yD[r] + yC[r] + yG[r] + yH[r]);
          yEFHG[r] = 0.25 * (yE[r] + yF[r] + yH[r] + yG[r]);
          yM[r] = 0.5 * (yABDC[r] + yEFHG[r]);
          rptr = x + idn + comp;
          xA[r] = *rptr;
          rptr += inc_x;
          xB[r] = *rptr;
          rptr += inc_y;
          xD[r] = *rptr;
          rptr -= inc_x;
          xC[r] = *rptr;
          rptr += inc_z;
          xG[r] = *rptr;
          rptr += inc_x;
          xH[r] = *rptr;
          rptr -= inc_y;
          xF[r] = *rptr;
          rptr -= inc_x;
          xE[r] = *rptr;
          xABDC[r] = 0.25 * (xA[r] + xB[r] + xD[r] + xC[r]);
          xBDHF[r] = 0.25 * (xB[r] + xD[r] + xH[r] + xF[r]);
          xABFE[r] = 0.25 * (xA[r] + xB[r] + xF[r] + xE[r]);
          xCAEG[r] = 0.25 * (xC[r] + xA[r] + xE[r] + xG[r]);
          xDCGH[r] = 0.25 * (xD[r] + xC[r] + xG[r] + xH[r]);
          xEFHG[r] = 0.25 * (xE[r] + xF[r] + xH[r] + xG[r]);
          xM[r] = 0.5 * (xABDC[r] + xEFHG[r]);
          comp += nn;
          rA[r] = 0.0;
          rB[r] = 0.0;
          rC[r] = 0.0;
          rD[r] = 0.0;
          rE[r] = 0.0;
          rF[r] = 0.0;
          rG[r] = 0.0;
          rH[r] = 0.0;
          rABDC[r] = 0.0;
          rBDHF[r] = 0.0;
          rABFE[r] = 0.0;
          rCAEG[r] = 0.0;
          rDCGH[r] = 0.0;
          rEFHG[r] = 0.0;
          rM[r] = 0.0;
        }
        if (alphaArea > 0) {
          d2SarTriangle3D(yA, yB, yABDC, xA, xB, xABDC, ARef[0], rA, rB, rABDC, alphaArea);
          d2SarTriangle3D(yB, yD, yABDC, xB, xD, xABDC, ARef[1], rB, rD, rABDC, alphaArea);
          d2SarTriangle3D(yD, yC, yABDC, xD, xC, xABDC, ARef[2], rD, rC, rABDC, alphaArea);
          d2SarTriangle3D(yC, yA, yABDC, xC, xA, xABDC, ARef[3], rC, rA, rABDC, alphaArea);
          d2SarTriangle3D(yB, yD, yBDHF, xB, xD, xBDHF, ARef[4], rB, rD, rBDHF, alphaArea);
          d2SarTriangle3D(yD, yH, yBDHF, xD, xH, xBDHF, ARef[5], rD, rH, rBDHF, alphaArea);
          d2SarTriangle3D(yH, yF, yBDHF, xH, xF, xBDHF, ARef[6], rH, rF, rBDHF, alphaArea);
          d2SarTriangle3D(yF, yB, yBDHF, xF, xB, xBDHF, ARef[7], rF, rB, rBDHF, alphaArea);
          d2SarTriangle3D(yA, yB, yABFE, xA, xB, xABFE, ARef[8], rA, rB, rABFE, alphaArea);
          d2SarTriangle3D(yB, yF, yABFE, xB, xF, xABFE, ARef[9], rB, rF, rABFE, alphaArea);
          d2SarTriangle3D(yF, yE, yABFE, xF, xE, xABFE, ARef[10], rF, rE, rABFE, alphaArea);
          d2SarTriangle3D(yE, yA, yABFE, xE, xA, xABFE, ARef[11], rE, rA, rABFE, alphaArea);
          d2SarTriangle3D(yC, yA, yCAEG, xC, xA, xCAEG, ARef[12], rC, rA, rCAEG, alphaArea);
          d2SarTriangle3D(yA, yE, yCAEG, xA, xE, xCAEG, ARef[13], rA, rE, rCAEG, alphaArea);
          d2SarTriangle3D(yE, yG, yCAEG, xE, xG, xCAEG, ARef[14], rE, rG, rCAEG, alphaArea);
          d2SarTriangle3D(yG, yC, yCAEG, xG, xC, xCAEG, ARef[15], rG, rC, rCAEG, alphaArea);
          d2SarTriangle3D(yD, yC, yDCGH, xD, xC, xDCGH, ARef[16], rD, rC, rDCGH, alphaArea);
          d2SarTriangle3D(yC, yG, yDCGH, xC, xG, xDCGH, ARef[17], rC, rG, rDCGH, alphaArea);
          d2SarTriangle3D(yG, yH, yDCGH, xG, xH, xDCGH, ARef[18], rG, rH, rDCGH, alphaArea);
          d2SarTriangle3D(yH, yD, yDCGH, xH, xD, xDCGH, ARef[19], rH, rD, rDCGH, alphaArea);
          d2SarTriangle3D(yE, yF, yEFHG, xE, xF, xEFHG, ARef[20], rE, rF, rEFHG, alphaArea);
          d2SarTriangle3D(yF, yH, yEFHG, xF, xH, xEFHG, ARef[21], rF, rH, rEFHG, alphaArea);
          d2SarTriangle3D(yH, yG, yEFHG, xH, xG, xEFHG, ARef[22], rH, rG, rEFHG, alphaArea);
          d2SarTriangle3D(yG, yE, yEFHG, xG, xE, xEFHG, ARef[23], rG, rE, rEFHG, alphaArea);
        }
        if (alphaVolume > 0) {
          d2SvolTetra3D(yA, yB, yABDC, yM, xA, xB, xABDC, xM, VRef[0], rA, rB, rABDC, rM, -1.0, alphaVolume);
          d2SvolTetra3D(yB, yD, yABDC, yM, xB, xD, xABDC, xM, VRef[1], rB, rD, rABDC, rM, -1.0, alphaVolume);
          d2SvolTetra3D(yD, yC, yABDC, yM, xD, xC, xABDC, xM, VRef[2], rD, rC, rABDC, rM, -1.0, alphaVolume);
          d2SvolTetra3D(yC, yA, yABDC, yM, xC, xA, xABDC, xM, VRef[3], rC, rA, rABDC, rM, -1.0, alphaVolume);
          d2SvolTetra3D(yB, yD, yBDHF, yM, xB, xD, xBDHF, xM, VRef[4], rB, rD, rBDHF, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yD, yH, yBDHF, yM, xD, xH, xBDHF, xM, VRef[5], rD, rH, rBDHF, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yH, yF, yBDHF, yM, xH, xF, xBDHF, xM, VRef[6], rH, rF, rBDHF, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yF, yB, yBDHF, yM, xF, xB, xBDHF, xM, VRef[7], rF, rB, rBDHF, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yA, yB, yABFE, yM, xA, xB, xABFE, xM, VRef[8], rA, rB, rABFE, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yB, yF, yABFE, yM, xB, xF, xABFE, xM, VRef[9], rB, rF, rABFE, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yF, yE, yABFE, yM, xF, xE, xABFE, xM, VRef[10], rF, rE, rABFE, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yE, yA, yABFE, yM, xE, xA, xABFE, xM, VRef[11], rE, rA, rABFE, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yC, yA, yCAEG, yM, xC, xA, xCAEG, xM, VRef[12], rC, rA, rCAEG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yA, yE, yCAEG, yM, xA, xE, xCAEG, xM, VRef[13], rA, rE, rCAEG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yE, yG, yCAEG, yM, xE, xG, xCAEG, xM, VRef[14], rE, rG, rCAEG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yG, yC, yCAEG, yM, xG, xC, xCAEG, xM, VRef[15], rG, rC, rCAEG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yD, yC, yDCGH, yM, xD, xC, xDCGH, xM, VRef[16], rD, rC, rDCGH, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yC, yG, yDCGH, yM, xC, xG, xDCGH, xM, VRef[17], rC, rG, rDCGH, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yG, yH, yDCGH, yM, xG, xH, xDCGH, xM, VRef[18], rG, rH, rDCGH, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yH, yD, yDCGH, yM, xH, xD, xDCGH, xM, VRef[19], rH, rD, rDCGH, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yE, yF, yEFHG, yM, xE, xF, xEFHG, xM, VRef[20], rE, rF, rEFHG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yF, yH, yEFHG, yM, xF, xH, xEFHG, xM, VRef[21], rF, rH, rEFHG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yH, yG, yEFHG, yM, xH, xG, xEFHG, xM, VRef[22], rH, rG, rEFHG, rM, 1.0, alphaVolume);
          d2SvolTetra3D(yG, yE, yEFHG, yM, xG, xE, xEFHG, xM, VRef[23], rG, rE, rEFHG, rM, 1.0, alphaVolume);
        }
        comp = 0;
        for (r = 0; r < 3; r++) {
          rABDC[r] *= 0.25;
          rBDHF[r] *= 0.25;
          rABFE[r] *= 0.25;
          rCAEG[r] *= 0.25;
          rDCGH[r] *= 0.25;
          rEFHG[r] *= 0.25;
          rM[r] *= 0.125;
          wptr = prod + idn + comp;
#pragma omp atomic
          *wptr += rA[r] + rABDC[r] + rABFE[r] + rCAEG[r] + rM[r];
          wptr += inc_x;
#pragma omp atomic
          *wptr += rB[r] + rABDC[r] + rBDHF[r] + rABFE[r] + rM[r];
          wptr += inc_y;
#pragma omp atomic
          *wptr += rD[r] + rABDC[r] + rBDHF[r] + rDCGH[r] + rM[r];
          wptr -= inc_x;
#pragma omp atomic
          *wptr += rC[r] + rABDC[r] + rCAEG[r] + rDCGH[r] + rM[r];
          wptr += inc_z;
#pragma omp atomic
          *wptr += rG[r] + rCAEG[r] + rDCGH[r] + rEFHG[r] + rM[r];
          wptr += inc_x;
#pragma omp atomic
          *wptr += rH[r] + rBDHF[r] + rDCGH[r] + rEFHG[r] + rM[r];
          wptr -= inc_y;
#pragma omp atomic
          *wptr += rF[r] + rBDHF[r] + rABFE[r] + rEFHG[r] + rM[r];
          wptr -= inc_x;
#pragma omp atomic
          *wptr += rE[r] + rABFE[r] + rCAEG[r] + rEFHG[r] + rM[r];
          comp += nn;
        }
      }
    }
  }
}
```