user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<dJacTx3D>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x440,%rsp
  mov    %rdi,-0x418(%rbp)
  mov    %rsi,-0x420(%rbp)
  mov    %rdx,-0x428(%rbp)
  mov    %rcx,-0x430(%rbp)
  mov    %r8d,-0x434(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x430(%rbp),%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x3fc(%rbp)
  mov    -0x430(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x3f8(%rbp)
  mov    -0x430(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x3f4(%rbp)
  mov    -0x3fc(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x3f8(%rbp),%eax
  add    $0x1,%eax
  imul   %edx,%eax
  mov    -0x3f4(%rbp),%edx
  add    $0x1,%edx
  imul   %edx,%eax
  mov    %eax,-0x3f0(%rbp)
  movl   $0x1,-0x3ec(%rbp)
  mov    -0x3fc(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x3e8(%rbp)
  mov    -0x3fc(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x3f8(%rbp),%eax
  add    $0x1,%eax
  imul   %edx,%eax
  mov    %eax,-0x3e4(%rbp)
  movl   $0x0,-0x410(%rbp)
  jmp    L69
L19:
  movl   $0x0,-0x40c(%rbp)
  jmp    L2
L106:
  movl   $0x0,-0x408(%rbp)
  jmp    L20
L84:
  mov    -0x40c(%rbp),%eax
  imul   -0x3e8(%rbp),%eax
  mov    %eax,%edx
  mov    -0x410(%rbp),%eax
  add    %eax,%edx
  mov    -0x408(%rbp),%eax
  imul   -0x3e4(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x3e0(%rbp)
  mov    -0x408(%rbp),%eax
  imul   -0x3f8(%rbp),%eax
  mov    %eax,%edx
  mov    -0x40c(%rbp),%eax
  add    %edx,%eax
  imul   -0x3fc(%rbp),%eax
  mov    %eax,%edx
  mov    -0x410(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x3dc(%rbp)
  movl   $0x0,-0x400(%rbp)
  movl   $0x0,-0x404(%rbp)
  jmp    L36
L28:
  mov    -0x3e0(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x400(%rbp),%eax
  cltq
  add    %rdx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x420(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3c0(%rbp,%rax,8)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3a0(%rbp,%rax,8)
  mov    -0x3e8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x360(%rbp,%rax,8)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x380(%rbp,%rax,8)
  mov    -0x3e4(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x300(%rbp,%rax,8)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2e0(%rbp,%rax,8)
  mov    -0x3e8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x320(%rbp,%rax,8)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3c8(%rbp)
  mov    -0x3c8(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x340(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2c0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x2a0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3a0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x280(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x3c0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x260(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x360(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x380(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x240(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x340(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x320(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x2e0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x300(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x220(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x2c0(%rbp,%rax,8),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x220(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D89(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x200(%rbp,%rax,8)
  mov    -0x3f0(%rbp),%eax
  add    %eax,-0x400(%rbp)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1e0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1c0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x1a0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x180(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x160(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x140(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x120(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x100(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xe0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xc0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x80(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x20(%rbp,%rax,8)
  addl   $0x1,-0x404(%rbp)
L36:
  cmpl   $0x2,-0x404(%rbp)
  jle    L28
  mov    -0x3dc(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x428(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x3d8(%rbp)
  movsd  -0x3d8(%rbp),%xmm0
  movq   D96(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rdi
  lea    -0x1c0(%rbp),%r9
  lea    -0x1e0(%rbp),%r10
  lea    -0x200(%rbp),%rcx
  lea    -0x2c0(%rbp),%rdx
  lea    -0x3a0(%rbp),%rsi
  lea    -0x3c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  movsd  -0x3d8(%rbp),%xmm0
  movq   D96(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rdi
  lea    -0x180(%rbp),%r9
  lea    -0x1c0(%rbp),%r10
  lea    -0x200(%rbp),%rcx
  lea    -0x2c0(%rbp),%rdx
  lea    -0x360(%rbp),%rsi
  lea    -0x3a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  movsd  -0x3d8(%rbp),%xmm0
  movq   D96(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rdi
  lea    -0x1a0(%rbp),%r9
  lea    -0x180(%rbp),%r10
  lea    -0x200(%rbp),%rcx
  lea    -0x2c0(%rbp),%rdx
  lea    -0x380(%rbp),%rsi
  lea    -0x360(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  movsd  -0x3d8(%rbp),%xmm0
  movq   D96(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rdi
  lea    -0x1e0(%rbp),%r9
  lea    -0x1a0(%rbp),%r10
  lea    -0x200(%rbp),%rcx
  lea    -0x2c0(%rbp),%rdx
  lea    -0x3c0(%rbp),%rsi
  lea    -0x380(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xe0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x180(%rbp),%r9
  lea    -0x1c0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x2a0(%rbp),%rdx
  lea    -0x360(%rbp),%rsi
  lea    -0x3a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x100(%rbp),%r9
  lea    -0x180(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x2a0(%rbp),%rdx
  lea    -0x2e0(%rbp),%rsi
  lea    -0x360(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x140(%rbp),%r9
  lea    -0x100(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x2a0(%rbp),%rdx
  lea    -0x320(%rbp),%rsi
  lea    -0x2e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1c0(%rbp),%r9
  lea    -0x140(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x2a0(%rbp),%rdx
  lea    -0x3a0(%rbp),%rsi
  lea    -0x320(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xc0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1c0(%rbp),%r9
  lea    -0x1e0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x280(%rbp),%rdx
  lea    -0x3a0(%rbp),%rsi
  lea    -0x3c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x140(%rbp),%r9
  lea    -0x1c0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x280(%rbp),%rdx
  lea    -0x320(%rbp),%rsi
  lea    -0x3a0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x160(%rbp),%r9
  lea    -0x140(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x280(%rbp),%rdx
  lea    -0x340(%rbp),%rsi
  lea    -0x320(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1e0(%rbp),%r9
  lea    -0x160(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x280(%rbp),%rdx
  lea    -0x3c0(%rbp),%rsi
  lea    -0x340(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0xa0(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1e0(%rbp),%r9
  lea    -0x1a0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x260(%rbp),%rdx
  lea    -0x3c0(%rbp),%rsi
  lea    -0x380(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x160(%rbp),%r9
  lea    -0x1e0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x260(%rbp),%rdx
  lea    -0x340(%rbp),%rsi
  lea    -0x3c0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x120(%rbp),%r9
  lea    -0x160(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x260(%rbp),%rdx
  lea    -0x300(%rbp),%rsi
  lea    -0x340(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1a0(%rbp),%r9
  lea    -0x120(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x260(%rbp),%rdx
  lea    -0x380(%rbp),%rsi
  lea    -0x300(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x80(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x1a0(%rbp),%r9
  lea    -0x180(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x240(%rbp),%rdx
  lea    -0x380(%rbp),%rsi
  lea    -0x360(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x120(%rbp),%r9
  lea    -0x1a0(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x240(%rbp),%rdx
  lea    -0x300(%rbp),%rsi
  lea    -0x380(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x100(%rbp),%r9
  lea    -0x120(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x240(%rbp),%rdx
  lea    -0x2e0(%rbp),%rsi
  lea    -0x300(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x180(%rbp),%r9
  lea    -0x100(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x240(%rbp),%rdx
  lea    -0x360(%rbp),%rsi
  lea    -0x2e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x60(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x140(%rbp),%r9
  lea    -0x160(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x220(%rbp),%rdx
  lea    -0x320(%rbp),%rsi
  lea    -0x340(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x100(%rbp),%r9
  lea    -0x140(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x220(%rbp),%rdx
  lea    -0x2e0(%rbp),%rsi
  lea    -0x320(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x120(%rbp),%r9
  lea    -0x100(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x220(%rbp),%rdx
  lea    -0x300(%rbp),%rsi
  lea    -0x2e0(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  lea    -0x160(%rbp),%r9
  lea    -0x120(%rbp),%r10
  mov    -0x3d8(%rbp),%rdi
  lea    -0x200(%rbp),%rcx
  lea    -0x220(%rbp),%rdx
  lea    -0x340(%rbp),%rsi
  lea    -0x300(%rbp),%rax
  lea    -0x20(%rbp),%r8
  push   %r8
  lea    -0x40(%rbp),%r8
  push   %r8
  mov    %r10,%r8
  movq   %rdi,%xmm0
  mov    %rax,%rdi
  call   <dVTTetra3D@plt>
  add    $0x10,%rsp
  movl   $0x0,-0x400(%rbp)
  movl   $0x0,-0x404(%rbp)
  jmp    L99
L101:
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0xe0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0xc0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0xa0(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x80(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x60(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm1
  movsd  D65(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x40(%rbp,%rax,8)
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm1
  movsd  D20(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x404(%rbp),%eax
  cltq
  movsd  %xmm0,-0x20(%rbp,%rax,8)
  mov    -0x3e0(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x400(%rbp),%eax
  cltq
  add    %rdx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x418(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x1e0(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x1c0(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3e8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x180(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x1a0(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xe0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3e4(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x120(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x100(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x60(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3e8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x140(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xc0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3ec(%rbp),%eax
  cltq
  shl    $0x3,%rax
  neg    %rax
  add    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x160(%rbp,%rax,8),%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0xa0(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x80(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x40(%rbp,%rax,8),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0x404(%rbp),%eax
  cltq
  movsd  -0x20(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x3d0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x3f0(%rbp),%eax
  add    %eax,-0x400(%rbp)
  addl   $0x1,-0x404(%rbp)
L99:
  cmpl   $0x2,-0x404(%rbp)
  jle    L101
  addl   $0x1,-0x408(%rbp)
L20:
  mov    -0x408(%rbp),%eax
  cmp    -0x3f4(%rbp),%eax
  jl     L84
  addl   $0x1,-0x40c(%rbp)
L2:
  mov    -0x40c(%rbp),%eax
  cmp    -0x3f8(%rbp),%eax
  jl     L106
  addl   $0x1,-0x410(%rbp)
L69:
  mov    -0x410(%rbp),%eax
  cmp    -0x3fc(%rbp),%eax
  jl     L19
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L56
  call   <__stack_chk_fail@plt>
L56:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_tag: D65
type_guessed: f64
name: parse_data
arguments: data_tag: D89
type_guessed: f64
name: parse_data
arguments: data_tag: D96
type_guessed: f32[2]
name: parse_data
arguments: data_tag: D20
type_guessed: f64

tool: D65: 0.25

tool: D89: 0.5

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

tool: D20: 0.125

assistant: ```c
void dJacTx3D(double *prod, const double *yc, const double *x, 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 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];
  double xp;
  int id, i1, i2, i3, r, comp, idn;
  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, xp, 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)
  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;
        id = i1 + m1 * (i2 + i3 * m2);
        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]);
          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;
        }
        xp = x[id];
        dVTTetra3D(yA, yB, yABDC, yM, -xp, rA, rB, rABDC, rM);
        dVTTetra3D(yB, yD, yABDC, yM, -xp, rB, rD, rABDC, rM);
        dVTTetra3D(yD, yC, yABDC, yM, -xp, rD, rC, rABDC, rM);
        dVTTetra3D(yC, yA, yABDC, yM, -xp, rC, rA, rABDC, rM);
        dVTTetra3D(yB, yD, yBDHF, yM, xp, rB, rD, rBDHF, rM);
        dVTTetra3D(yD, yH, yBDHF, yM, xp, rD, rH, rBDHF, rM);
        dVTTetra3D(yH, yF, yBDHF, yM, xp, rH, rF, rBDHF, rM);
        dVTTetra3D(yF, yB, yBDHF, yM, xp, rF, rB, rBDHF, rM);
        dVTTetra3D(yA, yB, yABFE, yM, xp, rA, rB, rABFE, rM);
        dVTTetra3D(yB, yF, yABFE, yM, xp, rB, rF, rABFE, rM);
        dVTTetra3D(yF, yE, yABFE, yM, xp, rF, rE, rABFE, rM);
        dVTTetra3D(yE, yA, yABFE, yM, xp, rE, rA, rABFE, rM);
        dVTTetra3D(yC, yA, yCAEG, yM, xp, rC, rA, rCAEG, rM);
        dVTTetra3D(yA, yE, yCAEG, yM, xp, rA, rE, rCAEG, rM);
        dVTTetra3D(yE, yG, yCAEG, yM, xp, rE, rG, rCAEG, rM);
        dVTTetra3D(yG, yC, yCAEG, yM, xp, rG, rC, rCAEG, rM);
        dVTTetra3D(yD, yC, yDCGH, yM, xp, rD, rC, rDCGH, rM);
        dVTTetra3D(yC, yG, yDCGH, yM, xp, rC, rG, rDCGH, rM);
        dVTTetra3D(yG, yH, yDCGH, yM, xp, rG, rH, rDCGH, rM);
        dVTTetra3D(yH, yD, yDCGH, yM, xp, rH, rD, rDCGH, rM);
        dVTTetra3D(yE, yF, yEFHG, yM, xp, rE, rF, rEFHG, rM);
        dVTTetra3D(yF, yH, yEFHG, yM, xp, rF, rH, rEFHG, rM);
        dVTTetra3D(yH, yG, yEFHG, yM, xp, rH, rG, rEFHG, rM);
        dVTTetra3D(yG, yE, yEFHG, yM, xp, rG, rE, rEFHG, rM);
        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;
        }
      }
    }
  }
}
```