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

```asm
<d2S3D>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x6c8,%rsp
  mov    %rdi,0x110(%rsp)
  mov    %rsi,%r13
  mov    %rdx,%r15
  mov    %rcx,%rbx
  mov    0x700(%rsp),%rdx
  mov    0x708(%rsp),%rcx
  mov    %fs:0x28,%rsi
  mov    %rsi,0x6b8(%rsp)
  xor    %esi,%esi
  cvttsd2si (%rcx),%edi
  mov    %edi,0x11c(%rsp)
  cvttsd2si 0x8(%rcx),%esi
  mov    %esi,0x108(%rsp)
  cvttsd2si 0x10(%rcx),%r11d
  mov    %r11d,0xfc(%rsp)
  movsd  (%rdx),%xmm0
  mulsd  0x8(%rdx),%xmm0
  mulsd  0x10(%rdx),%xmm0
  movapd %xmm0,%xmm7
  mulsd  0x8(%r9),%xmm7
  movsd  %xmm7,0x8(%rsp)
  mulsd  0x10(%r9),%xmm0
  movsd  %xmm0,0x10(%rsp)
  lea    0x1(%rdi),%ecx
  mov    %ecx,0x10c(%rsp)
  lea    0x1(%rsi),%eax
  imul   %ecx,%eax
  lea    0x1(%r11),%edx
  imul   %eax,%edx
  test   %edi,%edi
  jle    L37
  movslq %ecx,%rcx
  lea    0x8(,%rcx,8),%rdi
  mov    %rdi,0xd8(%rsp)
  cltq
  shl    $0x3,%rax
  mov    %rax,0xd0(%rsp)
  movslq %edx,%rax
  shl    $0x3,%rax
  mov    %rax,(%rsp)
  movl   $0x0,0x118(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    %r8,0x18(%rsp)
  jmp    L28
L41:
  lea    0x400(%rsp),%rbp
  lea    0x320(%rsp),%rdx
  lea    0x300(%rsp),%rdi
  lea    0x220(%rsp),%rbx
  lea    0x140(%rsp),%rsi
  lea    0x120(%rsp),%r11
  sub    $0x8,%rsp
  lea    0x5e8(%rsp),%r12
  push   %r12
  lea    0x510(%rsp),%r15
  push   %r15
  lea    0x4f8(%rsp),%rax
  mov    %rax,0x38(%rsp)
  push   %rax
  mov    0x48(%rsp),%rax
  movsd  (%rax),%xmm0
  mov    %rbp,%r9
  mov    %rdx,0x70(%rsp)
  mov    %rdx,%r8
  mov    %rdi,0x78(%rsp)
  mov    %rdi,%rcx
  mov    %rbx,%rdx
  mov    %rsi,0x80(%rsp)
  mov    %r11,0x88(%rsp)
  mov    %r11,%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x8(%rax),%xmm0
  lea    0x360(%rsp),%r11
  lea    0x180(%rsp),%r10
  sub    $0x8,%rsp
  push   %r12
  lea    0x550(%rsp),%r9
  mov    %r9,0x40(%rsp)
  push   %r9
  push   %r15
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    %r11,0x90(%rsp)
  mov    %r11,%r8
  mov    0x70(%rsp),%rcx
  mov    %rbx,%rdx
  mov    %r10,0x98(%rsp)
  mov    %r10,%rsi
  mov    0x80(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x10(%rax),%xmm0
  lea    0x340(%rsp),%rdx
  lea    0x160(%rsp),%r10
  sub    $0x8,%rsp
  push   %r12
  lea    0x530(%rsp),%r11
  mov    %r11,0x48(%rsp)
  push   %r11
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    %rdx,0xa0(%rsp)
  mov    %rdx,%r8
  mov    0x90(%rsp),%rcx
  mov    %rbx,%rdx
  mov    %r10,0xa8(%rsp)
  mov    %r10,%rsi
  mov    0x98(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x18(%rax),%xmm0
  push   %r12
  push   0x30(%rsp)
  push   0x50(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0x78(%rsp),%r8
  mov    0xa0(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0x88(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x20(%rax),%xmm0
  lea    0x420(%rsp),%rbp
  lea    0x240(%rsp),%rbx
  sub    $0x8,%rsp
  lea    0x608(%rsp),%r12
  push   %r12
  push   0x40(%rsp)
  push   %r15
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0x90(%rsp),%r8
  mov    0x70(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0x98(%rsp),%rsi
  mov    0x80(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x28(%rax),%xmm0
  lea    0x3e0(%rsp),%rdx
  lea    0x200(%rsp),%r10
  sub    $0x8,%rsp
  push   %r12
  lea    0x5d0(%rsp),%r9
  mov    %r9,0x50(%rsp)
  push   %r9
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    %rdx,0xb0(%rsp)
  mov    %rdx,%r8
  mov    0x90(%rsp),%rcx
  mov    %rbx,%rdx
  mov    %r10,0xb8(%rsp)
  mov    %r10,%rsi
  mov    0x98(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x30(%rax),%xmm0
  lea    0x3a0(%rsp),%r11
  lea    0x1c0(%rsp),%r10
  sub    $0x8,%rsp
  push   %r12
  lea    0x590(%rsp),%r9
  mov    %r9,0x58(%rsp)
  push   %r9
  push   0x58(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    %r11,0xc0(%rsp)
  mov    %r11,%r8
  mov    0xb0(%rsp),%rcx
  mov    %rbx,%rdx
  mov    %r10,0xc8(%rsp)
  mov    %r10,%rsi
  mov    0xb8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x38(%rax),%xmm0
  push   %r12
  push   %r15
  push   0x60(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0x70(%rsp),%r8
  mov    0xc0(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0x80(%rsp),%rsi
  mov    0xc8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x40(%rax),%xmm0
  lea    0x440(%rsp),%rbp
  lea    0x260(%rsp),%rbx
  sub    $0x8,%rsp
  lea    0x628(%rsp),%r12
  push   %r12
  push   %r15
  push   0x38(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0x70(%rsp),%r8
  mov    0x78(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0x80(%rsp),%rsi
  mov    0x88(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x48(%rax),%xmm0
  push   %r12
  push   0x58(%rsp)
  push   %r15
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0xc0(%rsp),%r8
  mov    0x70(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0xc8(%rsp),%rsi
  mov    0x80(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%r15
  movsd  0x50(%r15),%xmm0
  lea    0x380(%rsp),%rax
  lea    0x1a0(%rsp),%rsi
  sub    $0x8,%rsp
  push   %r12
  lea    0x570(%rsp),%rdx
  mov    %rdx,0x60(%rsp)
  push   %rdx
  push   0x60(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    %rax,0x80(%rsp)
  mov    %rax,%r8
  mov    0xc0(%rsp),%rcx
  mov    %rbx,%rdx
  mov    %rsi,0xd0(%rsp)
  mov    0xc8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  movsd  0x58(%r15),%xmm0
  push   %r12
  push   0x30(%rsp)
  push   0x68(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %rbp,%r9
  mov    0x78(%rsp),%r8
  mov    0x80(%rsp),%rcx
  mov    %rbx,%rdx
  mov    0x88(%rsp),%rsi
  mov    0xd0(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %r15,%rbx
  movsd  0x60(%r15),%xmm0
  lea    0x460(%rsp),%r12
  lea    0x280(%rsp),%rbp
  sub    $0x8,%rsp
  lea    0x648(%rsp),%r15
  push   %r15
  push   0x30(%rsp)
  push   0x50(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x78(%rsp),%r8
  mov    0xa0(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0x88(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  movsd  0x68(%rbx),%xmm0
  push   %r15
  push   0x60(%rsp)
  push   0x38(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x80(%rsp),%r8
  mov    0x78(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xd0(%rsp),%rsi
  mov    0x88(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %rbx,0x28(%rsp)
  movsd  0x70(%rbx),%xmm0
  lea    0x3c0(%rsp),%r11
  lea    0x1e0(%rsp),%r10
  sub    $0x8,%rsp
  push   %r15
  lea    0x5b0(%rsp),%rbx
  push   %rbx
  push   0x68(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    %r11,0x40(%rsp)
  mov    %r11,%r8
  mov    0x80(%rsp),%rcx
  mov    %rbp,%rdx
  mov    %r10,0x78(%rsp)
  mov    %r10,%rsi
  mov    0xd0(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x78(%rax),%xmm0
  push   %r15
  push   0x48(%rsp)
  push   %rbx
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0xa0(%rsp),%r8
  mov    0x40(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xa8(%rsp),%rsi
  mov    0x78(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0x80(%rax),%xmm0
  lea    0x480(%rsp),%r12
  lea    0x2a0(%rsp),%rbp
  sub    $0x8,%rsp
  lea    0x668(%rsp),%r15
  push   %r15
  push   0x48(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0xa0(%rsp),%r8
  mov    0x90(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xa8(%rsp),%rsi
  mov    0x98(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x88(%rax),%xmm0
  push   %r15
  push   %rbx
  push   0x50(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x40(%rsp),%r8
  mov    0xa0(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0x78(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x90(%rax),%xmm0
  push   %r15
  push   0x50(%rsp)
  push   %rbx
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0xb0(%rsp),%r8
  mov    0x40(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xb8(%rsp),%rsi
  mov    0x78(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0x98(%rax),%xmm0
  push   %r15
  push   0x40(%rsp)
  push   0x58(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x90(%rsp),%r8
  mov    0xb0(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0x98(%rsp),%rsi
  mov    0xb8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x28(%rsp),%rax
  movsd  0xa0(%rax),%xmm0
  lea    0x4a0(%rsp),%r12
  lea    0x2c0(%rsp),%rbp
  sub    $0x8,%rsp
  lea    0x688(%rsp),%r15
  push   %r15
  push   0x58(%rsp)
  push   0x68(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0xc0(%rsp),%r8
  mov    0x80(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xc8(%rsp),%rsi
  mov    0xd0(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0xa8(%rax),%xmm0
  push   %r15
  push   0x50(%rsp)
  push   0x60(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0xb0(%rsp),%r8
  mov    0xc0(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xb8(%rsp),%rsi
  mov    0xc8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0xb0(%rax),%xmm0
  push   %r15
  push   %rbx
  push   0x58(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x40(%rsp),%r8
  mov    0xb0(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0x78(%rsp),%rsi
  mov    0xb8(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x18,%rsp
  mov    0x30(%rsp),%rax
  movsd  0xb8(%rax),%xmm0
  push   %r15
  push   0x60(%rsp)
  push   %rbx
  movsd  0x28(%rsp),%xmm1
  mov    %r12,%r9
  mov    0x80(%rsp),%r8
  mov    0x40(%rsp),%rcx
  mov    %rbp,%rdx
  mov    0xd0(%rsp),%rsi
  mov    0x78(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  jmp    L113
L8:
  mov    0xd8(%rsp),%rdi
  mov    0xc0(%rsp),%rax
  add    %rax,%rdi
  mov    0xe0(%rsp),%rcx
  add    %rax,%rcx
  mov    0xe8(%rsp),%rdx
  add    %rax,%rdx
  mov    %rax,%rsi
  mov    $0x0,%eax
  movsd  D194(%rip),%xmm3
  movsd  D72(%rip),%xmm4
  lea    0x4e0(%rsp),%r15
  lea    0x500(%rsp),%r12
  lea    0x540(%rsp),%rbp
  lea    0x520(%rsp),%rbx
  lea    0x5a0(%rsp),%r11
  lea    0x5c0(%rsp),%r10
  lea    0x580(%rsp),%r9
  lea    0x560(%rsp),%r8
L10:
  movapd %xmm3,%xmm6
  mulsd  0x5e0(%rsp,%rax,1),%xmm6
  movsd  %xmm6,0x5e0(%rsp,%rax,1)
  movapd %xmm3,%xmm1
  mulsd  0x600(%rsp,%rax,1),%xmm1
  movsd  %xmm1,0x600(%rsp,%rax,1)
  movapd %xmm3,%xmm0
  mulsd  0x620(%rsp,%rax,1),%xmm0
  movsd  %xmm0,0x620(%rsp,%rax,1)
  movapd %xmm3,%xmm8
  mulsd  0x640(%rsp,%rax,1),%xmm8
  movsd  %xmm8,0x640(%rsp,%rax,1)
  movapd %xmm3,%xmm9
  mulsd  0x660(%rsp,%rax,1),%xmm9
  movsd  %xmm9,0x660(%rsp,%rax,1)
  movapd %xmm3,%xmm7
  mulsd  0x680(%rsp,%rax,1),%xmm7
  movsd  %xmm7,0x680(%rsp,%rax,1)
  movapd %xmm4,%xmm5
  mulsd  0x6a0(%rsp,%rax,1),%xmm5
  movsd  %xmm5,0x6a0(%rsp,%rax,1)
  movapd %xmm6,%xmm2
  addsd  (%rax,%r15,1),%xmm2
  addsd  %xmm0,%xmm2
  addsd  %xmm8,%xmm2
  addsd  %xmm5,%xmm2
  addsd  (%rsi),%xmm2
  movsd  %xmm2,(%rsi)
  movapd %xmm6,%xmm2
  addsd  (%rax,%r12,1),%xmm2
  addsd  %xmm1,%xmm2
  addsd  %xmm0,%xmm2
  addsd  %xmm5,%xmm2
  addsd  0x8(%rsi),%xmm2
  movsd  %xmm2,0x8(%rsi)
  movapd %xmm6,%xmm2
  addsd  (%rax,%rbp,1),%xmm2
  addsd  %xmm1,%xmm2
  addsd  %xmm9,%xmm2
  addsd  %xmm5,%xmm2
  addsd  (%rdi),%xmm2
  movsd  %xmm2,(%rdi)
  addsd  (%rax,%rbx,1),%xmm6
  addsd  %xmm8,%xmm6
  addsd  %xmm9,%xmm6
  addsd  %xmm5,%xmm6
  addsd  -0x8(%rdi),%xmm6
  movsd  %xmm6,-0x8(%rdi)
  movapd %xmm8,%xmm2
  addsd  (%rax,%r11,1),%xmm2
  addsd  %xmm9,%xmm2
  addsd  %xmm7,%xmm2
  addsd  %xmm5,%xmm2
  addsd  -0x8(%rcx),%xmm2
  movsd  %xmm2,-0x8(%rcx)
  movapd %xmm1,%xmm2
  addsd  (%rax,%r10,1),%xmm2
  addsd  %xmm9,%xmm2
  addsd  %xmm7,%xmm2
  addsd  %xmm5,%xmm2
  addsd  (%rcx),%xmm2
  movsd  %xmm2,(%rcx)
  addsd  (%rax,%r9,1),%xmm1
  addsd  %xmm0,%xmm1
  addsd  %xmm7,%xmm1
  addsd  %xmm5,%xmm1
  addsd  (%rdx),%xmm1
  movsd  %xmm1,(%rdx)
  addsd  (%rax,%r8,1),%xmm0
  addsd  %xmm8,%xmm0
  addsd  %xmm7,%xmm0
  addsd  %xmm5,%xmm0
  addsd  -0x8(%rdx),%xmm0
  movsd  %xmm0,-0x8(%rdx)
  add    (%rsp),%rsi
  add    (%rsp),%rdi
  add    (%rsp),%rcx
  add    (%rsp),%rdx
  add    $0x8,%rax
  cmp    $0x18,%rax
  jne    L10
  addl   $0x1,0xf8(%rsp)
  mov    0xf8(%rsp),%eax
  mov    0xd0(%rsp),%rsi
  add    %rsi,0xc0(%rsp)
  add    %rsi,0xc8(%rsp)
  cmp    %eax,0xfc(%rsp)
  je     L95
L90:
  mov    0xd8(%rsp),%rsi
  mov    %rsi,%rdi
  mov    0xc8(%rsp),%rdx
  add    %rdx,%rdi
  mov    0xd0(%rsp),%rbx
  mov    %rbx,%rcx
  add    %rsi,%rcx
  mov    %rcx,0xe0(%rsp)
  mov    %rdx,%rsi
  add    %rcx,%rsi
  add    $0x8,%rbx
  mov    %rbx,0xe8(%rsp)
  mov    %rdx,%rcx
  add    %rbx,%rcx
  mov    $0x0,%eax
  mov    (%rsp),%r8
L21:
  movsd  (%r14,%rdx,1),%xmm2
  movsd  %xmm2,0x120(%rsp,%rax,1)
  movsd  0x8(%r14,%rdx,1),%xmm3
  movsd  %xmm3,0x140(%rsp,%rax,1)
  movsd  (%r14,%rdi,1),%xmm1
  movsd  %xmm1,0x180(%rsp,%rax,1)
  movsd  -0x8(%r14,%rdi,1),%xmm8
  movsd  %xmm8,0x160(%rsp,%rax,1)
  movsd  -0x8(%r14,%rsi,1),%xmm5
  movsd  %xmm5,0x1e0(%rsp,%rax,1)
  movsd  (%r14,%rsi,1),%xmm6
  movsd  %xmm6,0x200(%rsp,%rax,1)
  movsd  (%r14,%rcx,1),%xmm0
  movsd  %xmm0,0x1c0(%rsp,%rax,1)
  movsd  -0x8(%r14,%rcx,1),%xmm7
  movsd  %xmm7,0x1a0(%rsp,%rax,1)
  movapd %xmm2,%xmm9
  addsd  %xmm3,%xmm9
  movapd %xmm1,%xmm4
  addsd  %xmm9,%xmm4
  addsd  %xmm8,%xmm4
  mulsd  D194(%rip),%xmm4
  movsd  %xmm4,0x220(%rsp,%rax,1)
  addsd  %xmm1,%xmm3
  addsd  %xmm6,%xmm3
  addsd  %xmm0,%xmm3
  mulsd  D194(%rip),%xmm3
  movsd  %xmm3,0x240(%rsp,%rax,1)
  addsd  %xmm0,%xmm9
  addsd  %xmm7,%xmm9
  mulsd  D194(%rip),%xmm9
  movsd  %xmm9,0x260(%rsp,%rax,1)
  addsd  %xmm8,%xmm2
  addsd  %xmm7,%xmm2
  addsd  %xmm5,%xmm2
  mulsd  D194(%rip),%xmm2
  movsd  %xmm2,0x280(%rsp,%rax,1)
  addsd  %xmm8,%xmm1
  addsd  %xmm5,%xmm1
  addsd  %xmm6,%xmm1
  mulsd  D194(%rip),%xmm1
  movsd  %xmm1,0x2a0(%rsp,%rax,1)
  addsd  %xmm7,%xmm0
  addsd  %xmm6,%xmm0
  addsd  %xmm5,%xmm0
  mulsd  D194(%rip),%xmm0
  movsd  %xmm0,0x2c0(%rsp,%rax,1)
  addsd  %xmm0,%xmm4
  mulsd  D10(%rip),%xmm4
  movsd  %xmm4,0x2e0(%rsp,%rax,1)
  movsd  0x0(%r13,%rdx,1),%xmm2
  movsd  %xmm2,0x300(%rsp,%rax,1)
  movsd  0x8(%r13,%rdx,1),%xmm3
  movsd  %xmm3,0x320(%rsp,%rax,1)
  movsd  0x0(%r13,%rdi,1),%xmm1
  movsd  %xmm1,0x360(%rsp,%rax,1)
  movsd  -0x8(%r13,%rdi,1),%xmm8
  movsd  %xmm8,0x340(%rsp,%rax,1)
  movsd  -0x8(%r13,%rsi,1),%xmm5
  movsd  %xmm5,0x3c0(%rsp,%rax,1)
  movsd  0x0(%r13,%rsi,1),%xmm6
  movsd  %xmm6,0x3e0(%rsp,%rax,1)
  movsd  0x0(%r13,%rcx,1),%xmm0
  movsd  %xmm0,0x3a0(%rsp,%rax,1)
  movsd  -0x8(%r13,%rcx,1),%xmm7
  movsd  %xmm7,0x380(%rsp,%rax,1)
  movapd %xmm2,%xmm9
  addsd  %xmm3,%xmm9
  movapd %xmm1,%xmm4
  addsd  %xmm9,%xmm4
  addsd  %xmm8,%xmm4
  mulsd  D194(%rip),%xmm4
  movsd  %xmm4,0x400(%rsp,%rax,1)
  addsd  %xmm1,%xmm3
  addsd  %xmm6,%xmm3
  addsd  %xmm0,%xmm3
  mulsd  D194(%rip),%xmm3
  movsd  %xmm3,0x420(%rsp,%rax,1)
  addsd  %xmm0,%xmm9
  addsd  %xmm7,%xmm9
  mulsd  D194(%rip),%xmm9
  movsd  %xmm9,0x440(%rsp,%rax,1)
  addsd  %xmm8,%xmm2
  addsd  %xmm7,%xmm2
  addsd  %xmm5,%xmm2
  mulsd  D194(%rip),%xmm2
  movsd  %xmm2,0x460(%rsp,%rax,1)
  addsd  %xmm8,%xmm1
  addsd  %xmm5,%xmm1
  addsd  %xmm6,%xmm1
  mulsd  D194(%rip),%xmm1
  movsd  %xmm1,0x480(%rsp,%rax,1)
  addsd  %xmm7,%xmm0
  addsd  %xmm6,%xmm0
  addsd  %xmm5,%xmm0
  mulsd  D194(%rip),%xmm0
  movsd  %xmm0,0x4a0(%rsp,%rax,1)
  addsd  %xmm0,%xmm4
  mulsd  D10(%rip),%xmm4
  movsd  %xmm4,0x4c0(%rsp,%rax,1)
  movq   $0x0,0x4e0(%rsp,%rax,1)
  movq   $0x0,0x500(%rsp,%rax,1)
  movq   $0x0,0x520(%rsp,%rax,1)
  movq   $0x0,0x540(%rsp,%rax,1)
  movq   $0x0,0x560(%rsp,%rax,1)
  movq   $0x0,0x580(%rsp,%rax,1)
  movq   $0x0,0x5a0(%rsp,%rax,1)
  movq   $0x0,0x5c0(%rsp,%rax,1)
  movq   $0x0,0x5e0(%rsp,%rax,1)
  movq   $0x0,0x600(%rsp,%rax,1)
  movq   $0x0,0x620(%rsp,%rax,1)
  movq   $0x0,0x640(%rsp,%rax,1)
  movq   $0x0,0x660(%rsp,%rax,1)
  movq   $0x0,0x680(%rsp,%rax,1)
  movq   $0x0,0x6a0(%rsp,%rax,1)
  add    $0x8,%rax
  add    %r8,%rdx
  add    %r8,%rdi
  add    %r8,%rsi
  add    %r8,%rcx
  cmp    $0x18,%rax
  jne    L21
  movsd  0x8(%rsp),%xmm1
  comisd D46(%rip),%xmm1
  ja     L41
L113:
  movsd  0x10(%rsp),%xmm2
  comisd D46(%rip),%xmm2
  jbe    L8
  lea    0x320(%rsp),%rcx
  lea    0x300(%rsp),%rdx
  lea    0x2e0(%rsp),%rax
  lea    0x220(%rsp),%r10
  lea    0x140(%rsp),%rsi
  lea    0x120(%rsp),%r11
  lea    0x6a0(%rsp),%rbp
  push   %rbp
  lea    0x5e8(%rsp),%r15
  push   %r15
  lea    0x510(%rsp),%rbx
  mov    %rbx,0x40(%rsp)
  push   %rbx
  lea    0x4f8(%rsp),%rdi
  mov    %rdi,0x50(%rsp)
  push   %rdi
  lea    0x4e0(%rsp),%rbx
  push   %rbx
  lea    0x428(%rsp),%r12
  push   %r12
  mov    D344(%rip),%r9
  movq   %r9,%xmm1
  mov    0x48(%rsp),%rdi
  movsd  (%rdi),%xmm0
  mov    %rcx,0x90(%rsp)
  mov    %rcx,%r9
  mov    %rdx,0x98(%rsp)
  mov    %rdx,%r8
  mov    %rax,0x50(%rsp)
  mov    %rax,%rcx
  mov    %r10,0x80(%rsp)
  mov    %r10,%rdx
  mov    %rsi,0xa0(%rsp)
  mov    %r11,0xa8(%rsp)
  mov    %r11,%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x8(%r10),%xmm0
  lea    0x360(%rsp),%r11
  lea    0x180(%rsp),%rax
  push   %rbp
  push   %r15
  lea    0x550(%rsp),%r9
  mov    %r9,0x50(%rsp)
  push   %r9
  push   0x48(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D344(%rip),%r8
  movq   %r8,%xmm1
  mov    %r11,0xb0(%rsp)
  mov    %r11,%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x80(%rsp),%rdx
  mov    %rax,0xb8(%rsp)
  mov    %rax,%rsi
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x10(%r10),%xmm0
  lea    0x340(%rsp),%r11
  lea    0x160(%rsp),%rsi
  push   %rbp
  push   %r15
  lea    0x530(%rsp),%rax
  mov    %rax,0x58(%rsp)
  push   %rax
  push   0x58(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D344(%rip),%rcx
  movq   %rcx,%xmm1
  mov    %r11,0xc0(%rsp)
  mov    %r11,%r9
  mov    0xb0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x80(%rsp),%rdx
  mov    %rsi,0xc8(%rsp)
  mov    0xb8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x18(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x48(%rsp)
  push   0x60(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D344(%rip),%r15
  movq   %r15,%xmm1
  mov    0x98(%rsp),%r9
  mov    0xc0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x80(%rsp),%rdx
  mov    0xa8(%rsp),%rsi
  mov    0xc8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x20(%r10),%xmm0
  lea    0x240(%rsp),%rdx
  push   %rbp
  lea    0x608(%rsp),%r15
  push   %r15
  push   0x50(%rsp)
  push   0x48(%rsp)
  push   %rbx
  lea    0x448(%rsp),%r12
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    0xb0(%rsp),%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    %rdx,0x120(%rsp)
  mov    0xb8(%rsp),%rsi
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x28(%r10),%xmm0
  lea    0x3e0(%rsp),%r11
  lea    0x200(%rsp),%rax
  push   %rbp
  push   %r15
  lea    0x5d0(%rsp),%rcx
  mov    %rcx,0x60(%rsp)
  push   %rcx
  push   0x58(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r8
  movq   %r8,%xmm1
  mov    %r11,0xd0(%rsp)
  mov    %r11,%r9
  mov    0xb0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    %rax,0xd8(%rsp)
  mov    %rax,%rsi
  mov    0xb8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x30(%r10),%xmm0
  lea    0x3a0(%rsp),%rdx
  lea    0x1c0(%rsp),%rax
  push   %rbp
  push   %r15
  lea    0x590(%rsp),%r11
  mov    %r11,0x68(%rsp)
  push   %r11
  push   0x68(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rcx
  movq   %rcx,%xmm1
  mov    %rdx,0xe0(%rsp)
  mov    %rdx,%r9
  mov    0xd0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    %rax,0xe8(%rsp)
  mov    %rax,%rsi
  mov    0xd8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x38(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x40(%rsp)
  push   0x70(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r15
  movq   %r15,%xmm1
  mov    0x90(%rsp),%r9
  mov    0xe0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xa0(%rsp),%rsi
  mov    0xe8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x40(%r10),%xmm0
  lea    0x260(%rsp),%rdx
  push   %rbp
  lea    0x628(%rsp),%r15
  push   %r15
  push   0x40(%rsp)
  push   0x50(%rsp)
  push   %rbx
  lea    0x468(%rsp),%r12
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    0x90(%rsp),%r9
  mov    0x98(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    %rdx,0x120(%rsp)
  mov    0xa0(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x48(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x68(%rsp)
  push   0x48(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r9
  movq   %r9,%xmm1
  mov    0xe0(%rsp),%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xe8(%rsp),%rsi
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x50(%r10),%xmm0
  lea    0x380(%rsp),%r9
  lea    0x1a0(%rsp),%rsi
  push   %rbp
  push   %r15
  lea    0x570(%rsp),%r11
  mov    %r11,0x40(%rsp)
  push   %r11
  push   0x70(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    %r9,0x90(%rsp)
  mov    0xe0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    %rsi,0xa0(%rsp)
  mov    0xe8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x58(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x48(%rsp)
  push   0x48(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r15
  movq   %r15,%xmm1
  mov    0x98(%rsp),%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xa8(%rsp),%rsi
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x60(%r10),%xmm0
  lea    0x280(%rsp),%rdx
  push   %rbp
  lea    0x648(%rsp),%r15
  push   %r15
  push   0x48(%rsp)
  push   0x60(%rsp)
  push   %rbx
  lea    0x488(%rsp),%r12
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    0x98(%rsp),%r9
  mov    0xc0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    %rdx,0x120(%rsp)
  mov    0xa8(%rsp),%rsi
  mov    0xc8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x68(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x40(%rsp)
  push   0x50(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    0x90(%rsp),%r9
  mov    0x98(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xa0(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x70(%r10),%xmm0
  lea    0x3c0(%rsp),%rax
  lea    0x1e0(%rsp),%rsi
  push   %rbp
  push   %r15
  lea    0x5b0(%rsp),%rdx
  mov    %rdx,0x48(%rsp)
  push   %rdx
  push   0x48(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    %rax,0x98(%rsp)
  mov    %rax,%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    %rsi,0xa8(%rsp)
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x78(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x58(%rsp)
  push   0x50(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r15
  movq   %r15,%xmm1
  mov    0xc0(%rsp),%r9
  mov    0x98(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xc8(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x80(%r10),%xmm0
  lea    0x2a0(%rsp),%rdx
  push   %rbp
  lea    0x668(%rsp),%r15
  push   %r15
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   %rbx
  lea    0x4a8(%rsp),%r12
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    0xc0(%rsp),%r9
  mov    0xb0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    %rdx,0x120(%rsp)
  mov    0xc8(%rsp),%rsi
  mov    0xb8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x88(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x48(%rsp)
  push   0x60(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    0x98(%rsp),%r9
  mov    0xc0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xa8(%rsp),%rsi
  mov    0xc8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x90(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x60(%rsp)
  push   0x50(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    0xd0(%rsp),%r9
  mov    0x98(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xd8(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0x98(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x50(%rsp)
  push   0x68(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r15
  movq   %r15,%xmm1
  mov    0xb0(%rsp),%r9
  mov    0xd0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x120(%rsp),%rdx
  mov    0xb8(%rsp),%rsi
  mov    0xd8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0xa0(%r10),%xmm0
  lea    0x2c0(%rsp),%rsi
  push   %rbp
  lea    0x688(%rsp),%r15
  push   %r15
  push   0x68(%rsp)
  push   0x48(%rsp)
  push   %rbx
  lea    0x4c8(%rsp),%r12
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r9
  movq   %r9,%xmm1
  mov    0xe0(%rsp),%r9
  mov    0x90(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    %rsi,0x70(%rsp)
  mov    %rsi,%rdx
  mov    0xe8(%rsp),%rsi
  mov    0xa0(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0xa8(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x60(%rsp)
  push   0x70(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    0xd0(%rsp),%r9
  mov    0xe0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x70(%rsp),%rdx
  mov    0xd8(%rsp),%rsi
  mov    0xe8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0xb0(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x48(%rsp)
  push   0x68(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%r11
  movq   %r11,%xmm1
  mov    0x98(%rsp),%r9
  mov    0xd0(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x70(%rsp),%rdx
  mov    0xa8(%rsp),%rsi
  mov    0xd8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    0x18(%rsp),%r10
  movsd  0xb8(%r10),%xmm0
  push   %rbp
  push   %r15
  push   0x40(%rsp)
  push   0x50(%rsp)
  push   %rbx
  push   %r12
  movsd  0x40(%rsp),%xmm2
  mov    D227(%rip),%rax
  movq   %rax,%xmm1
  mov    0x90(%rsp),%r9
  mov    0x98(%rsp),%r8
  mov    0x50(%rsp),%rcx
  mov    0x70(%rsp),%rdx
  mov    0xa0(%rsp),%rsi
  mov    0xa8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  jmp    L8
L95:
  addl   $0x1,0x100(%rsp)
  mov    0x100(%rsp),%eax
  mov    0x10c(%rsp),%edi
  add    %edi,0x104(%rsp)
  cmp    %eax,0x108(%rsp)
  je     L112
L58:
  cmpl   $0x0,0xfc(%rsp)
  jle    L95
  movslq 0x104(%rsp),%rax
  shl    $0x3,%rax
  mov    %rax,0xc8(%rsp)
  mov    0x110(%rsp),%rbx
  add    %rax,%rbx
  mov    %rbx,0xc0(%rsp)
  movl   $0x0,0xf8(%rsp)
  jmp    L90
L112:
  mov    %r13,%r15
  mov    %r14,%r13
L154:
  addl   $0x1,0x118(%rsp)
  mov    0x118(%rsp),%eax
  cmp    %eax,0x11c(%rsp)
  je     L37
L28:
  cmpl   $0x0,0x108(%rsp)
  jle    L154
  mov    0x118(%rsp),%eax
  mov    %eax,0x104(%rsp)
  movl   $0x0,0x100(%rsp)
  mov    %r13,%r14
  mov    %r15,%r13
  jmp    L58
L37:
  mov    0x6b8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L155
  add    $0x6c8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L155:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: label: D194
datatype: f64
name: unpack_data
arguments: label: D72
datatype: f64
name: unpack_data
arguments: label: D10
datatype: f64
name: unpack_data
arguments: label: D46
datatype: f64[2]
name: unpack_data
arguments: label: D344
datatype: byte[8]
name: unpack_data
arguments: label: D227
datatype: f64

tool: D194: 0.25

tool: D72: 0.125

tool: D10: 0.5

tool: {"D46": [0.0,-1.0]}

tool: {"D344": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xbf]}

tool: D227: 1

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;
        }
      }
    }
  }
}
```