user: 请从给定的汇编指令推导出C源代码:

```asm
<d2S3D>:
  endbr64
  push   %r15
  mov    %rdx,%r15
  mov    %r9,%rax
  push   %r14
  push   %r13
  mov    %rcx,%r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rsi,%rbx
  sub    $0x948,%rsp
  movsd  0x8(%rax),%xmm6
  mov    %rdx,0x398(%rsp)
  mov    0x980(%rsp),%rdx
  mov    %rsi,0x390(%rsp)
  mov    0x988(%rsp),%rcx
  movsd  (%rdx),%xmm0
  mulsd  0x8(%rdx),%xmm0
  mov    %r8,0x28(%rsp)
  mulsd  0x10(%rdx),%xmm0
  cvttsd2si 0x8(%rcx),%r11d
  cvttsd2si 0x10(%rcx),%r9d
  mov    %fs:0x28,%rsi
  mov    %rsi,0x938(%rsp)
  xor    %esi,%esi
  cvttsd2si (%rcx),%esi
  lea    0x1(%r11),%edx
  mov    %r11d,0x264(%rsp)
  mulsd  %xmm0,%xmm6
  mov    %r9d,0x214(%rsp)
  mulsd  0x10(%rax),%xmm0
  lea    0x1(%rsi),%ecx
  lea    0x1(%r9),%eax
  imul   %ecx,%edx
  movsd  %xmm6,0x8(%rsp)
  imul   %edx,%eax
  movsd  %xmm0,0x20(%rsp)
  test   %esi,%esi
  jle    L0
  movslq %edx,%rdx
  movslq %ecx,%rcx
  mov    %rdi,%r12
  lea    0x0(,%rdx,8),%r14
  lea    0x0(,%rcx,8),%rdi
  mov    %r14,%r10
  mov    %rdi,0x238(%rsp)
  lea    0x8(%rdi),%rcx
  sub    %rdi,%r10
  lea    (%rax,%rax,1),%edi
  movslq %edi,%r8
  test   %r11d,%r11d
  jle    L0
  test   %r9d,%r9d
  jle    L0
  movslq %esi,%rsi
  cltq
  shl    $0x3,%r8
  pxor   %xmm5,%xmm5
  lea    0x0(,%rsi,8),%r9
  mov    %r14,0x208(%rsp)
  lea    (%rdx,%rsi,1),%r11
  add    %rax,%rsi
  mov    %r9,0x298(%rsp)
  lea    (%r14,%rcx,1),%r9
  lea    0x0(,%rax,8),%rdi
  add    %rax,%rdx
  lea    (%r12,%r9,1),%r14
  mov    %r12,0x290(%rsp)
  shl    $0x3,%rdx
  lea    (%r14,%rdi,1),%rbp
  mov    %r14,0x288(%rsp)
  lea    (%r12,%rcx,1),%r14
  mov    %rbp,0x2a0(%rsp)
  lea    (%r10,%r14,1),%rbp
  mov    %rbp,0x280(%rsp)
  add    %rdi,%rbp
  mov    %rbp,0x2a8(%rsp)
  lea    (%r12,%r8,1),%rbp
  lea    0x0(,%rsi,8),%r12
  mov    %rbp,0x2b0(%rsp)
  lea    (%r14,%r8,1),%rbp
  mov    %r14,0x278(%rsp)
  mov    0x288(%rsp),%r14
  mov    %rbp,0x2b8(%rsp)
  lea    (%r14,%r8,1),%rbp
  add    0x280(%rsp),%r8
  mov    %rbx,%r14
  mov    %r8,0x2c8(%rsp)
  mov    0x238(%rsp),%r8
  mov    %r14,%rsi
  mov    %rbp,0x2c0(%rsp)
  lea    (%rbx,%rdi,1),%rbp
  sub    $0x8,%r8
  mov    %rbp,0x2d0(%rsp)
  lea    (%rbx,%r8,1),%rbp
  add    %r12,%rbx
  add    %r15,%r8
  mov    %rbx,0x2e0(%rsp)
  lea    0x0(,%r11,8),%rbx
  add    %rbx,%rsi
  mov    %rbp,0x2d8(%rsp)
  add    %r15,%rbx
  mov    %rsi,0x2e8(%rsp)
  lea    (%r11,%rax,1),%rsi
  mov    %r14,%r11
  shl    $0x4,%rax
  shl    $0x3,%rsi
  mov    %rbx,0x320(%rsp)
  mov    0x208(%rsp),%rbx
  lea    (%r14,%rsi,1),%rbp
  add    %r15,%rsi
  mov    %r8,0x310(%rsp)
  mov    %r12,%r8
  mov    %rbp,0x2f0(%rsp)
  lea    (%r11,%rdx,1),%rbp
  add    %r15,%rdx
  add    %r15,%r8
  mov    %rdx,0x338(%rsp)
  lea    (%r11,%rax,1),%rdx
  add    %r15,%rbx
  add    0x208(%rsp),%r14
  mov    %rdx,0x340(%rsp)
  lea    (%r11,%rcx,1),%rdx
  add    %r15,%rcx
  mov    %rsi,0x328(%rsp)
  lea    (%rdx,%rax,1),%rsi
  add    %r10,%rdx
  add    %rax,%rdx
  mov    %rbp,0x300(%rsp)
  lea    (%r15,%rdi,1),%rbp
  mov    %r14,0x2f8(%rsp)
  mov    %rbp,0x308(%rsp)
  mov    %r8,0x318(%rsp)
  mov    %rbx,0x330(%rsp)
  mov    %rsi,0x348(%rsp)
  lea    (%r11,%r9,1),%rsi
  mov    0x290(%rsp),%r12
  add    %r15,%r9
  add    %rax,%rsi
  mov    %rdx,0x358(%rsp)
  lea    (%r15,%rax,1),%rdx
  movapd D309(%rip),%xmm3
  mov    %rdx,0x360(%rsp)
  lea    (%rcx,%rax,1),%rdx
  add    %r10,%rcx
  movapd D123(%rip),%xmm6
  mov    %rdx,0x368(%rsp)
  lea    (%r9,%rax,1),%rdx
  add    %rcx,%rax
  movsd  D309(%rip),%xmm4
  mov    %rax,0x378(%rsp)
  lea    (%r12,%rdi,1),%rax
  add    0x278(%rsp),%rdi
  mov    %rsi,0x350(%rsp)
  movsd  D123(%rip),%xmm14
  mov    %rdx,0x370(%rsp)
  mov    %rax,0x380(%rsp)
  mov    %rdi,0x388(%rsp)
  movq   $0x0,0x268(%rsp)
  movq   $0x0,0x270(%rsp)
  mov    %r13,0x40(%rsp)
L84:
  mov    0x268(%rsp),%rax
  mov    0x290(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1c8(%rsp)
  mov    0x278(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1d0(%rsp)
  mov    0x2a0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1d8(%rsp)
  mov    0x2a8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1e0(%rsp)
  mov    0x2b0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1e8(%rsp)
  mov    0x2b8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1f0(%rsp)
  mov    0x2c0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1f8(%rsp)
  mov    0x2c8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x200(%rsp)
  mov    0x390(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x228(%rsp)
  mov    0x2d0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x50(%rsp)
  mov    0x2d8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x58(%rsp)
  mov    0x2e0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x60(%rsp)
  mov    0x2e8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x68(%rsp)
  mov    0x2f0(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x70(%rsp)
  mov    0x2f8(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x78(%rsp)
  mov    0x300(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x80(%rsp)
  mov    0x398(%rsp),%rdi
  mov    0x370(%rsp),%r11
  add    %rax,%rdi
  mov    %rdi,0x88(%rsp)
  mov    0x308(%rsp),%rdi
  add    %rax,%r11
  add    %rax,%rdi
  mov    %rdi,0x90(%rsp)
  mov    0x310(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x98(%rsp)
  mov    0x318(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xa0(%rsp)
  mov    0x320(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xa8(%rsp)
  mov    0x328(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xb0(%rsp)
  mov    0x330(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xb8(%rsp)
  mov    0x338(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xc0(%rsp)
  mov    0x340(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xc8(%rsp)
  mov    0x348(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xd0(%rsp)
  mov    0x350(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xd8(%rsp)
  mov    0x358(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xe0(%rsp)
  mov    0x360(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0xe8(%rsp)
  mov    0x368(%rsp),%rdi
  add    %rax,%rdi
  add    0x378(%rsp),%rax
  mov    %rax,%r10
  mov    0x270(%rsp),%rax
  mov    %rdi,0xf0(%rsp)
  mov    0x288(%rsp),%rdi
  shl    $0x3,%rax
  add    %rax,%rdi
  mov    %rdi,0x240(%rsp)
  mov    0x280(%rsp),%rdi
  movq   $0x0,0x230(%rsp)
  add    %rax,%rdi
  mov    %r11,0xf8(%rsp)
  mov    %r10,%r11
  mov    %rdi,0x248(%rsp)
  mov    0x380(%rsp),%rdi
  movl   $0x0,0x260(%rsp)
  add    %rax,%rdi
  add    0x388(%rsp),%rax
  mov    %rdi,0x250(%rsp)
  mov    %rax,0x258(%rsp)
  nopl   0x0(%rax,%rax,1)
L28:
  mov    0x230(%rsp),%rax
  xor    %r10d,%r10d
  mov    0x240(%rsp),%rdi
  movl   $0x0,0x114(%rsp)
  mov    %r10,%rbx
  mov    %r11,%r10
  mov    0x228(%rsp),%r11
  add    %rax,%rdi
  mov    %rdi,0x1b0(%rsp)
  mov    0x248(%rsp),%rdi
  add    %rax,%rdi
  mov    %rdi,0x1b8(%rsp)
  mov    0x250(%rsp),%rdi
  add    %rax,%rdi
  add    0x258(%rsp),%rax
  mov    %rax,0x1a8(%rsp)
  lea    0x680(%rsp),%rax
  mov    %rdi,0x1a0(%rsp)
  mov    %rax,0x48(%rsp)
  nopw   0x0(%rax,%rax,1)
L98:
  movsd  (%r11,%rbx,1),%xmm11
  mov    0x50(%rsp),%rax
  mov    0x60(%rsp),%rdx
  mov    0x70(%rsp),%rdi
  movhpd (%rax,%rbx,1),%xmm11
  mov    0x80(%rsp),%rsi
  movaps %xmm11,0x3a0(%rsp)
  movsd  0x8(%r11,%rbx,1),%xmm2
  movhpd 0x8(%rbx,%rax,1),%xmm2
  mov    0x58(%rsp),%rax
  movaps %xmm2,0x3c0(%rsp)
  movapd %xmm2,%xmm13
  movsd  0x10(%rax,%rbx,1),%xmm12
  addpd  %xmm11,%xmm13
  movhpd 0x10(%rbx,%rdx,1),%xmm12
  movaps %xmm12,0x400(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm1
  mov    0x68(%rsp),%rax
  movapd %xmm13,%xmm7
  addpd  %xmm12,%xmm2
  addpd  %xmm12,%xmm7
  movhpd 0x8(%rbx,%rdx,1),%xmm1
  movaps %xmm1,0x3e0(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm8
  addpd  %xmm1,%xmm11
  addpd  %xmm1,%xmm7
  addpd  %xmm12,%xmm1
  movhpd 0x8(%rbx,%rdi,1),%xmm8
  movaps %xmm8,0x460(%rsp)
  movsd  0x10(%rax,%rbx,1),%xmm9
  mov    0x78(%rsp),%rax
  mulpd  %xmm3,%xmm7
  addpd  %xmm8,%xmm1
  movhpd 0x10(%rbx,%rdi,1),%xmm9
  movaps %xmm9,0x480(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm10
  addpd  %xmm9,%xmm2
  addpd  %xmm9,%xmm1
  movhpd 0x8(%rbx,%rsi,1),%xmm10
  movaps %xmm10,0x440(%rsp)
  addpd  %xmm10,%xmm13
  movsd  (%rax,%rbx,1),%xmm0
  addpd  %xmm10,%xmm2
  mulpd  %xmm3,%xmm1
  movhpd (%rsi,%rbx,1),%xmm0
  movaps %xmm7,0x4a0(%rsp)
  addpd  %xmm0,%xmm13
  addpd  %xmm0,%xmm11
  movaps %xmm0,0x420(%rsp)
  mulpd  %xmm3,%xmm2
  addpd  %xmm10,%xmm0
  addpd  %xmm8,%xmm11
  mulpd  %xmm3,%xmm13
  addpd  %xmm9,%xmm0
  movaps %xmm2,0x4c0(%rsp)
  mov    0x88(%rsp),%rax
  mov    0x90(%rsp),%rcx
  mulpd  %xmm3,%xmm11
  movaps %xmm1,0x520(%rsp)
  mov    0xa0(%rsp),%rdx
  mov    0xb0(%rsp),%rdi
  addpd  %xmm8,%xmm0
  mov    0xc0(%rsp),%rsi
  movaps %xmm13,0x4e0(%rsp)
  mulpd  %xmm3,%xmm0
  movaps %xmm11,0x500(%rsp)
  movaps %xmm0,0x540(%rsp)
  addpd  %xmm7,%xmm0
  mulpd  %xmm6,%xmm0
  movaps %xmm0,0x560(%rsp)
  movsd  (%rax,%rbx,1),%xmm11
  movhpd (%rcx,%rbx,1),%xmm11
  movaps %xmm11,0x580(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm2
  mov    0x98(%rsp),%rax
  movhpd 0x8(%rbx,%rcx,1),%xmm2
  movaps %xmm2,0x5a0(%rsp)
  movsd  0x10(%rax,%rbx,1),%xmm12
  movapd %xmm2,%xmm13
  addpd  %xmm11,%xmm13
  movhpd 0x10(%rbx,%rdx,1),%xmm12
  movaps %xmm12,0x5e0(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm1
  mov    0xa8(%rsp),%rax
  addpd  %xmm12,%xmm2
  movapd %xmm13,%xmm7
  movhpd 0x8(%rbx,%rdx,1),%xmm1
  addpd  %xmm12,%xmm7
  movaps %xmm1,0x5c0(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm8
  addpd  %xmm1,%xmm11
  movhpd 0x8(%rbx,%rdi,1),%xmm8
  addpd  %xmm1,%xmm7
  addpd  %xmm12,%xmm1
  movaps %xmm8,0x640(%rsp)
  movsd  0x10(%rax,%rbx,1),%xmm9
  mov    0xb8(%rsp),%rax
  mulpd  %xmm3,%xmm7
  movhpd 0x10(%rbx,%rdi,1),%xmm9
  addpd  %xmm8,%xmm1
  movaps %xmm9,0x660(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm10
  addpd  %xmm9,%xmm2
  movhpd 0x8(%rbx,%rsi,1),%xmm10
  addpd  %xmm9,%xmm1
  movaps %xmm10,0x620(%rsp)
  addpd  %xmm10,%xmm13
  movsd  (%rax,%rbx,1),%xmm0
  addpd  %xmm10,%xmm2
  mov    0xc8(%rsp),%rax
  mulpd  %xmm3,%xmm1
  movhpd (%rsi,%rbx,1),%xmm0
  movaps %xmm7,0x680(%rsp)
  addpd  %xmm0,%xmm13
  addpd  %xmm0,%xmm11
  mulpd  %xmm3,%xmm2
  movaps %xmm0,0x600(%rsp)
  addpd  %xmm10,%xmm0
  movsd  0x8(%rax,%rbx,1),%xmm12
  movsd  (%rax,%rbx,1),%xmm10
  movaps %xmm5,0x760(%rsp)
  movaps %xmm5,0x780(%rsp)
  addpd  %xmm8,%xmm11
  mulpd  %xmm3,%xmm13
  movsd  %xmm10,0x3b0(%rsp)
  addpd  %xmm9,%xmm0
  movaps %xmm1,0x700(%rsp)
  movaps %xmm2,0x6a0(%rsp)
  mulpd  %xmm3,%xmm11
  movaps %xmm5,0x7a0(%rsp)
  addpd  %xmm8,%xmm0
  movaps %xmm5,0x7c0(%rsp)
  movaps %xmm13,0x6c0(%rsp)
  movapd %xmm12,%xmm13
  addsd  %xmm10,%xmm13
  movaps %xmm5,0x7e0(%rsp)
  mulpd  %xmm3,%xmm0
  movaps %xmm5,0x800(%rsp)
  movaps %xmm11,0x6e0(%rsp)
  movsd  %xmm12,0x3d0(%rsp)
  movapd %xmm13,%xmm2
  movaps %xmm5,0x820(%rsp)
  movaps %xmm5,0x840(%rsp)
  movaps %xmm0,0x720(%rsp)
  addpd  %xmm7,%xmm0
  movaps %xmm5,0x860(%rsp)
  movaps %xmm5,0x880(%rsp)
  mulpd  %xmm6,%xmm0
  movaps %xmm5,0x8a0(%rsp)
  movaps %xmm5,0x8c0(%rsp)
  movaps %xmm5,0x8e0(%rsp)
  movaps %xmm5,0x900(%rsp)
  movaps %xmm5,0x920(%rsp)
  movaps %xmm0,0x740(%rsp)
  mov    0xd0(%rsp),%rax
  movsd  (%rax,%rbx,1),%xmm11
  movsd  -0x8(%rax,%rbx,1),%xmm1
  mov    0xd8(%rsp),%rax
  addsd  %xmm11,%xmm2
  addsd  %xmm1,%xmm10
  movsd  %xmm1,0x3f0(%rsp)
  movsd  -0x8(%rax,%rbx,1),%xmm7
  movsd  (%rax,%rbx,1),%xmm8
  addsd  %xmm11,%xmm12
  movsd  %xmm11,0x410(%rsp)
  mov    0xe0(%rsp),%rax
  movsd  %xmm7,0x470(%rsp)
  addsd  %xmm1,%xmm2
  addsd  %xmm11,%xmm1
  movsd  -0x8(%rax,%rbx,1),%xmm0
  movsd  (%rax,%rbx,1),%xmm9
  addsd  %xmm8,%xmm12
  movsd  %xmm8,0x490(%rsp)
  mov    0xe8(%rsp),%rax
  addsd  %xmm7,%xmm1
  addsd  %xmm0,%xmm10
  movsd  %xmm0,0x430(%rsp)
  mulsd  %xmm4,%xmm2
  addsd  %xmm9,%xmm13
  addsd  %xmm9,%xmm12
  movsd  %xmm9,0x450(%rsp)
  addsd  %xmm8,%xmm1
  addsd  %xmm7,%xmm10
  addsd  %xmm0,%xmm13
  mulsd  %xmm4,%xmm12
  movsd  %xmm2,0x4b0(%rsp)
  mulsd  %xmm4,%xmm1
  mulsd  %xmm4,%xmm10
  mulsd  %xmm4,%xmm13
  movsd  %xmm12,0x4d0(%rsp)
  movsd  0x8(%rax,%rbx,1),%xmm12
  movsd  %xmm1,0x530(%rsp)
  movapd %xmm0,%xmm1
  movsd  %xmm10,0x510(%rsp)
  addsd  %xmm9,%xmm1
  movsd  (%rax,%rbx,1),%xmm10
  mov    0xf0(%rsp),%rax
  movsd  %xmm13,0x4f0(%rsp)
  movapd %xmm12,%xmm13
  addsd  %xmm10,%xmm13
  movsd  (%rax,%rbx,1),%xmm11
  movsd  %xmm10,0x590(%rsp)
  movsd  %xmm12,0x5b0(%rsp)
  addsd  %xmm8,%xmm1
  movsd  %xmm11,0x5f0(%rsp)
  addsd  %xmm11,%xmm12
  addsd  %xmm7,%xmm1
  movapd %xmm1,%xmm0
  movsd  -0x8(%rax,%rbx,1),%xmm1
  mulsd  %xmm4,%xmm0
  movsd  %xmm1,0x5d0(%rsp)
  addsd  %xmm1,%xmm10
  movsd  %xmm0,0x550(%rsp)
  addsd  %xmm2,%xmm0
  movapd %xmm13,%xmm2
  addsd  %xmm11,%xmm2
  mulsd  %xmm14,%xmm0
  addsd  %xmm1,%xmm2
  addsd  %xmm11,%xmm1
  mulsd  %xmm4,%xmm2
  movsd  %xmm0,0x570(%rsp)
  mov    0xf8(%rsp),%rax
  movsd  -0x8(%r10,%rbx,1),%xmm0
  movsd  (%r10,%rbx,1),%xmm9
  movq   $0x0,0x770(%rsp)
  movsd  -0x8(%rax,%rbx,1),%xmm7
  movsd  (%rax,%rbx,1),%xmm8
  addsd  %xmm0,%xmm10
  movsd  %xmm0,0x610(%rsp)
  addsd  %xmm9,%xmm13
  movq   $0x0,0x790(%rsp)
  addsd  %xmm7,%xmm1
  addsd  %xmm8,%xmm12
  movsd  %xmm7,0x650(%rsp)
  addsd  %xmm7,%xmm10
  movq   $0x0,0x7b0(%rsp)
  addsd  %xmm0,%xmm13
  movq   $0x0,0x7d0(%rsp)
  addsd  %xmm8,%xmm1
  addsd  %xmm9,%xmm12
  movq   $0x0,0x7f0(%rsp)
  mulsd  %xmm4,%xmm10
  movq   $0x0,0x810(%rsp)
  mulsd  %xmm4,%xmm13
  movq   $0x0,0x830(%rsp)
  movq   $0x0,0x850(%rsp)
  mulsd  %xmm4,%xmm1
  mulsd  %xmm4,%xmm12
  movq   $0x0,0x870(%rsp)
  movq   $0x0,0x890(%rsp)
  movq   $0x0,0x8b0(%rsp)
  movq   $0x0,0x8d0(%rsp)
  movsd  %xmm1,0x710(%rsp)
  movapd %xmm0,%xmm1
  addsd  %xmm9,%xmm1
  movq   $0x0,0x8f0(%rsp)
  movq   $0x0,0x910(%rsp)
  movq   $0x0,0x930(%rsp)
  movsd  %xmm8,0x670(%rsp)
  addsd  %xmm8,%xmm1
  movsd  %xmm9,0x630(%rsp)
  movsd  %xmm2,0x690(%rsp)
  movsd  %xmm12,0x6b0(%rsp)
  addsd  %xmm7,%xmm1
  pxor   %xmm7,%xmm7
  movsd  %xmm13,0x6d0(%rsp)
  movsd  %xmm10,0x6f0(%rsp)
  movapd %xmm1,%xmm0
  movsd  0x8(%rsp),%xmm1
  mulsd  %xmm4,%xmm0
  comisd %xmm7,%xmm1
  movsd  %xmm0,0x730(%rsp)
  addsd  %xmm2,%xmm0
  mulsd  %xmm14,%xmm0
  movsd  %xmm0,0x750(%rsp)
  ja     L69
L85:
  movsd  0x20(%rsp),%xmm2
  pxor   %xmm7,%xmm7
  comisd %xmm7,%xmm2
  jbe    L95
  lea    0x920(%rsp),%rax
  lea    0x560(%rsp),%r12
  mov    %r10,0x220(%rsp)
  mov    D178(%rip),%rcx
  lea    0x5a0(%rsp),%r14
  lea    0x3c0(%rsp),%r15
  mov    %r11,0x218(%rsp)
  lea    0x4a0(%rsp),%r13
  lea    0x3a0(%rsp),%r10
  mov    %rax,0x30(%rsp)
  mov    %r14,%r9
  lea    0x580(%rsp),%rdx
  push   %rax
  movq   %rcx,%xmm1
  mov    %r12,%rcx
  mov    %rdx,%r8
  lea    0x868(%rsp),%rbp
  push   %rbp
  lea    0x790(%rsp),%rdi
  mov    %rdi,0x110(%rsp)
  push   %rdi
  lea    0x778(%rsp),%rsi
  mov    %rsi,0x130(%rsp)
  push   %rsi
  lea    0x760(%rsp),%rdi
  mov    %rdi,0x30(%rsp)
  push   %rdi
  mov    %r10,%rdi
  push   0x70(%rsp)
  mov    0x58(%rsp),%rsi
  movsd  (%rsi),%xmm0
  mov    %r15,%rsi
  mov    %rdx,0x170(%rsp)
  mov    %r13,%rdx
  mov    %r10,0x178(%rsp)
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rsi
  mov    %r14,%r8
  mov    %r13,%rdx
  add    $0x30,%rsp
  mov    D178(%rip),%rax
  mov    %r15,%rdi
  mov    %r12,%rcx
  lea    0x5e0(%rsp),%r10
  lea    0x400(%rsp),%r11
  movsd  0x8(%rsi),%xmm0
  push   0x30(%rsp)
  push   %rbp
  mov    %r11,%rsi
  movq   %rax,%xmm1
  lea    0x7d0(%rsp),%r9
  mov    %r9,0x130(%rsp)
  push   %r9
  mov    %r10,%r9
  push   0x118(%rsp)
  push   0x30(%rsp)
  push   0x70(%rsp)
  movsd  0x50(%rsp),%xmm2
  mov    %r10,0x180(%rsp)
  mov    %r11,0x188(%rsp)
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  add    $0x30,%rsp
  mov    D178(%rip),%r8
  lea    0x3e0(%rsp),%r11
  lea    0x5c0(%rsp),%rdx
  movsd  0x10(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r11,%rsi
  mov    %rdx,%r9
  push   %rbp
  movq   %r8,%xmm1
  mov    %r12,%rcx
  lea    0x7b0(%rsp),%rax
  mov    %rax,0x138(%rsp)
  push   %rax
  push   0x138(%rsp)
  push   0x30(%rsp)
  push   0x70(%rsp)
  movsd  0x50(%rsp),%xmm2
  mov    0x180(%rsp),%r8
  mov    0x188(%rsp),%rdi
  mov    %rdx,0x190(%rsp)
  mov    %r13,%rdx
  mov    %r11,0x198(%rsp)
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  add    $0x30,%rsp
  mov    %r13,%rdx
  mov    D178(%rip),%rax
  movsd  0x18(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r12,%rcx
  push   %rbp
  movq   %rax,%xmm1
  push   0x128(%rsp)
  push   0x140(%rsp)
  mov    0x30(%rsp),%rbp
  push   %rbp
  push   0x70(%rsp)
  mov    0x190(%rsp),%r8
  mov    0x198(%rsp),%rdi
  movsd  0x50(%rsp),%xmm2
  mov    0x170(%rsp),%r9
  mov    0x178(%rsp),%rsi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  mov    %r14,%r8
  mov    %r15,%rdi
  add    $0x30,%rsp
  mov    D322(%rip),%rdx
  lea    0x4c0(%rsp),%r13
  movsd  0x20(%rcx),%xmm0
  mov    %r12,%rcx
  push   0x30(%rsp)
  movq   %rdx,%xmm1
  mov    %r13,%rdx
  lea    0x888(%rsp),%rax
  mov    %rax,0x198(%rsp)
  push   %rax
  push   0x130(%rsp)
  push   0x118(%rsp)
  mov    %rbp,0x30(%rsp)
  push   %rbp
  lea    0x6c8(%rsp),%rbp
  push   %rbp
  mov    0x180(%rsp),%r9
  mov    0x188(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  add    $0x30,%rsp
  mov    D322(%rip),%rdx
  lea    0x660(%rsp),%r10
  lea    0x480(%rsp),%r11
  movsd  0x28(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r10,%r9
  mov    %r11,%rsi
  push   0x198(%rsp)
  movq   %rdx,%xmm1
  mov    %r12,%rcx
  mov    %r13,%rdx
  lea    0x850(%rsp),%rax
  mov    %rax,0x140(%rsp)
  push   %rax
  push   0x138(%rsp)
  push   0x30(%rsp)
  push   %rbp
  movsd  0x50(%rsp),%xmm2
  mov    0x180(%rsp),%r8
  mov    0x188(%rsp),%rdi
  mov    %r10,0x1a0(%rsp)
  mov    %r11,0x1a8(%rsp)
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  add    $0x30,%rsp
  mov    D322(%rip),%rax
  lea    0x440(%rsp),%r10
  lea    0x620(%rsp),%rdx
  movsd  0x30(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r10,%rsi
  mov    %rdx,%r9
  push   0x198(%rsp)
  movq   %rax,%xmm1
  mov    %r12,%rcx
  lea    0x810(%rsp),%r11
  mov    %r11,0x148(%rsp)
  push   %r11
  push   0x148(%rsp)
  push   0x30(%rsp)
  push   %rbp
  movsd  0x50(%rsp),%xmm2
  mov    0x1a0(%rsp),%r8
  mov    0x1a8(%rsp),%rdi
  mov    %rdx,0x1b0(%rsp)
  mov    %r13,%rdx
  mov    %r10,0x1b8(%rsp)
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  mov    %r14,%r9
  mov    %r13,%rdx
  add    $0x30,%rsp
  mov    %r15,%rsi
  movsd  0x38(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r12,%rcx
  push   0x198(%rsp)
  push   0x110(%rsp)
  push   0x150(%rsp)
  push   0x30(%rsp)
  push   %rbp
  mov    D322(%rip),%rbp
  movsd  0x50(%rsp),%xmm2
  mov    0x1b0(%rsp),%r8
  mov    0x1b8(%rsp),%rdi
  movq   %rbp,%xmm1
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  add    $0x30,%rsp
  mov    %r15,%rsi
  lea    0x4e0(%rsp),%r13
  mov    D322(%rip),%r9
  movsd  0x40(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r13,%rdx
  mov    %r12,%rcx
  movq   %r9,%xmm1
  mov    %r14,%r9
  lea    0x8a8(%rsp),%rbp
  mov    %rbp,0x1c8(%rsp)
  push   %rbp
  push   0x110(%rsp)
  push   0x130(%rsp)
  push   0x30(%rsp)
  lea    0x6e8(%rsp),%rbp
  push   %rbp
  mov    0x170(%rsp),%r8
  mov    0x178(%rsp),%rdi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rcx
  mov    %r14,%r8
  mov    %r13,%rdx
  add    $0x30,%rsp
  mov    D322(%rip),%r9
  mov    %r15,%rdi
  movsd  0x48(%rcx),%xmm0
  push   0x30(%rsp)
  mov    %r12,%rcx
  push   0x1c8(%rsp)
  movq   %r9,%xmm1
  push   0x148(%rsp)
  push   0x118(%rsp)
  push   0x30(%rsp)
  push   %rbp
  mov    0x1b0(%rsp),%r9
  mov    0x1b8(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%r15
  add    $0x30,%rsp
  mov    0x30(%rsp),%r14
  lea    0x420(%rsp),%r10
  lea    0x600(%rsp),%rcx
  mov    D322(%rip),%r9
  movsd  0x50(%r15),%xmm0
  push   %r14
  mov    %r10,%rsi
  push   0x1c8(%rsp)
  movq   %r9,%xmm1
  mov    %rcx,%r9
  lea    0x7f0(%rsp),%rdx
  mov    %rdx,0x110(%rsp)
  push   %rdx
  mov    %r13,%rdx
  push   0x150(%rsp)
  push   0x30(%rsp)
  push   %rbp
  movsd  0x50(%rsp),%xmm2
  mov    0x1b0(%rsp),%r8
  mov    0x1b8(%rsp),%rdi
  mov    %rcx,0x1c0(%rsp)
  mov    %r12,%rcx
  mov    %r10,0x1c8(%rsp)
  call   <d2SvolTetra3D@plt>
  add    $0x30,%rsp
  mov    %r13,%rdx
  mov    %r12,%rcx
  movsd  0x58(%r15),%xmm0
  mov    %r15,0x28(%rsp)
  mov    %r14,%r15
  push   %r14
  mov    D322(%rip),%r14
  push   0x1c8(%rsp)
  push   0x128(%rsp)
  movq   %r14,%xmm1
  push   0x118(%rsp)
  push   0x30(%rsp)
  push   %rbp
  mov    %r15,%rbp
  mov    0x178(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x170(%rsp),%r9
  mov    0x1c0(%rsp),%r8
  mov    0x1c8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    D322(%rip),%rsi
  lea    0x500(%rsp),%r14
  movsd  0x60(%rax),%xmm0
  push   %r15
  movq   %rsi,%xmm1
  mov    %r14,%rdx
  lea    0x8c8(%rsp),%r15
  push   %r15
  push   0x128(%rsp)
  push   0x140(%rsp)
  mov    0x30(%rsp),%r13
  push   %r13
  lea    0x708(%rsp),%rcx
  mov    %rcx,0x1e8(%rsp)
  push   %rcx
  movsd  0x50(%rsp),%xmm2
  mov    %r12,%rcx
  mov    0x170(%rsp),%r9
  mov    0x190(%rsp),%r8
  mov    0x178(%rsp),%rsi
  mov    0x198(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    %r12,%rcx
  mov    %rbp,0x30(%rsp)
  mov    D322(%rip),%rdx
  movsd  0x68(%rax),%xmm0
  push   %rbp
  push   %r15
  movq   %rdx,%xmm1
  mov    %r14,%rdx
  push   0x110(%rsp)
  push   0x130(%rsp)
  mov    %r13,0x30(%rsp)
  push   %r13
  push   0x1e8(%rsp)
  mov    0x1c0(%rsp),%r9
  mov    0x1c8(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x170(%rsp),%r8
  mov    0x178(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    D322(%rip),%rdx
  lea    0x640(%rsp),%r13
  lea    0x460(%rsp),%rbp
  movsd  0x70(%rax),%xmm0
  push   0x30(%rsp)
  mov    %r13,%r9
  mov    %rbp,%rsi
  push   %r15
  movq   %rdx,%xmm1
  mov    %r14,%rdx
  lea    0x830(%rsp),%rcx
  mov    %rcx,0x128(%rsp)
  push   %rcx
  mov    %r12,%rcx
  push   0x118(%rsp)
  push   0x30(%rsp)
  push   0x1e8(%rsp)
  mov    0x1c0(%rsp),%r8
  mov    0x1c8(%rsp),%rdi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r14,%rdx
  mov    %r13,%r8
  add    $0x30,%rsp
  mov    D322(%rip),%rsi
  mov    %r12,%rcx
  mov    %rbp,%rdi
  movsd  0x78(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  movq   %rsi,%xmm1
  push   0x138(%rsp)
  push   0x130(%rsp)
  push   0x30(%rsp)
  push   0x1e8(%rsp)
  movsd  0x50(%rsp),%xmm2
  mov    0x190(%rsp),%r9
  mov    0x198(%rsp),%rsi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    %r12,%rcx
  lea    0x520(%rsp),%r14
  mov    D322(%rip),%r10
  movsd  0x80(%rax),%xmm0
  push   0x30(%rsp)
  movq   %r10,%xmm1
  lea    0x8e8(%rsp),%r15
  push   %r15
  push   0x138(%rsp)
  push   0x138(%rsp)
  push   0x30(%rsp)
  lea    0x728(%rsp),%rdx
  mov    %rdx,0x168(%rsp)
  push   %rdx
  mov    0x190(%rsp),%r9
  mov    %r14,%rdx
  mov    0x198(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x180(%rsp),%r8
  mov    0x188(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r14,%rdx
  mov    %r13,%r9
  add    $0x30,%rsp
  mov    D322(%rip),%rcx
  mov    %rbp,%rsi
  movsd  0x88(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  movq   %rcx,%xmm1
  mov    %r12,%rcx
  push   0x128(%rsp)
  push   0x140(%rsp)
  push   0x30(%rsp)
  push   0x168(%rsp)
  mov    0x190(%rsp),%r8
  mov    0x198(%rsp),%rdi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r14,%rdx
  mov    %r13,%r8
  add    $0x30,%rsp
  mov    D322(%rip),%rcx
  mov    %rbp,%rdi
  movsd  0x90(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  movq   %rcx,%xmm1
  mov    %r12,%rcx
  push   0x140(%rsp)
  push   0x130(%rsp)
  push   0x30(%rsp)
  push   0x168(%rsp)
  movsd  0x50(%rsp),%xmm2
  mov    0x1a0(%rsp),%r9
  mov    0x1a8(%rsp),%rsi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r14,%rdx
  mov    %r12,%rcx
  add    $0x30,%rsp
  movsd  0x98(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  mov    D322(%rip),%r15
  push   0x130(%rsp)
  push   0x148(%rsp)
  push   0x30(%rsp)
  movq   %r15,%xmm1
  push   0x168(%rsp)
  mov    0x180(%rsp),%r9
  mov    0x188(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x1a0(%rsp),%r8
  mov    0x1a8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    %r12,%rcx
  lea    0x540(%rsp),%r14
  mov    D322(%rip),%r9
  movsd  0xa0(%rax),%xmm0
  push   0x30(%rsp)
  mov    %r14,%rdx
  movq   %r9,%xmm1
  lea    0x908(%rsp),%r15
  push   %r15
  push   0x148(%rsp)
  push   0x118(%rsp)
  push   0x30(%rsp)
  lea    0x748(%rsp),%rsi
  mov    %rsi,0x148(%rsp)
  push   %rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x1b0(%rsp),%r9
  mov    0x1c0(%rsp),%r8
  mov    0x1b8(%rsp),%rsi
  mov    0x1c8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  add    $0x30,%rsp
  mov    %r12,%rcx
  mov    D322(%rip),%rdx
  movsd  0xa8(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  movq   %rdx,%xmm1
  mov    %r14,%rdx
  push   0x140(%rsp)
  push   0x150(%rsp)
  push   0x30(%rsp)
  push   0x148(%rsp)
  mov    0x1a0(%rsp),%r9
  mov    0x1a8(%rsp),%rsi
  movsd  0x50(%rsp),%xmm2
  mov    0x1b0(%rsp),%r8
  mov    0x1b8(%rsp),%rdi
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r13,%r9
  mov    %r12,%rcx
  add    $0x30,%rsp
  mov    D322(%rip),%r11
  mov    %r14,%rdx
  mov    %rbp,%rsi
  movsd  0xb0(%rax),%xmm0
  push   0x30(%rsp)
  push   %r15
  movq   %r11,%xmm1
  push   0x128(%rsp)
  push   0x148(%rsp)
  push   0x30(%rsp)
  push   0x148(%rsp)
  mov    0x1a0(%rsp),%r8
  mov    0x1a8(%rsp),%rdi
  movsd  0x50(%rsp),%xmm2
  call   <d2SvolTetra3D@plt>
  mov    0x58(%rsp),%rax
  mov    %r13,%r8
  mov    %r12,%rcx
  add    $0x30,%rsp
  mov    %r14,%rdx
  mov    %rbp,%rdi
  movsd  0xb8(%rax),%xmm0
  push   0x30(%rsp)
  mov    D322(%rip),%rax
  push   %r15
  push   0x110(%rsp)
  push   0x130(%rsp)
  movq   %rax,%xmm1
  push   0x30(%rsp)
  push   0x148(%rsp)
  movsd  0x50(%rsp),%xmm2
  mov    0x1c0(%rsp),%r9
  mov    0x1c8(%rsp),%rsi
  call   <d2SvolTetra3D@plt>
  mov    D123(%rip),%rax
  movapd D123(%rip),%xmm6
  add    $0x30,%rsp
  movapd D309(%rip),%xmm3
  mov    0x220(%rsp),%r10
  pxor   %xmm5,%xmm5
  movq   %rax,%xmm14
  mov    D309(%rip),%rax
  mov    0x218(%rsp),%r11
  movq   %rax,%xmm4
L95:
  movsd  0x8a0(%rsp),%xmm0
  movsd  0x8c0(%rsp),%xmm1
  movapd 0x8c0(%rsp),%xmm2
  movsd  0x860(%rsp),%xmm9
  movapd %xmm0,%xmm7
  movapd %xmm1,%xmm8
  unpcklpd %xmm0,%xmm1
  movsd  0x8e0(%rsp),%xmm0
  mulpd  %xmm3,%xmm2
  mov    0x1c8(%rsp),%rax
  movhpd 0x880(%rsp),%xmm7
  movhpd 0x880(%rsp),%xmm8
  mulsd  %xmm4,%xmm0
  movapd 0x860(%rsp),%xmm15
  movapd 0x880(%rsp),%xmm13
  mulsd  %xmm4,%xmm9
  movapd 0x8a0(%rsp),%xmm12
  mulpd  %xmm3,%xmm7
  mulpd  %xmm3,%xmm1
  movaps %xmm2,0x10(%rsp)
  mulpd  %xmm3,%xmm8
  movsd  %xmm0,0x8e0(%rsp)
  mulpd  %xmm3,%xmm15
  movapd %xmm0,%xmm11
  movsd  0x900(%rsp),%xmm0
  mulpd  %xmm3,%xmm13
  unpcklpd %xmm9,%xmm9
  unpcklpd %xmm11,%xmm11
  mulsd  %xmm4,%xmm0
  mulpd  %xmm3,%xmm12
  movsd  %xmm0,0x900(%rsp)
  movapd %xmm0,%xmm10
  movsd  D172(%rip),%xmm0
  mulsd  0x920(%rsp),%xmm0
  unpcklpd %xmm10,%xmm10
  movsd  %xmm0,0x920(%rsp)
  movapd %xmm0,%xmm2
  movsd  0x760(%rsp),%xmm0
  unpcklpd %xmm2,%xmm2
  movhpd 0x780(%rsp),%xmm0
  addpd  %xmm9,%xmm0
  addpd  %xmm7,%xmm0
  addpd  %xmm1,%xmm0
  addpd  %xmm2,%xmm0
  movaps %xmm0,0x30(%rsp)
  movupd (%rax,%rbx,1),%xmm0
  movaps %xmm0,0x100(%rsp)
  movapd 0x30(%rsp),%xmm0
  addpd  0x100(%rsp),%xmm0
  movups %xmm0,(%rax,%rbx,1)
  mov    0x1d0(%rsp),%rax
  movsd  0x7a0(%rsp),%xmm0
  movhpd 0x7c0(%rsp),%xmm0
  addpd  %xmm9,%xmm0
  movupd -0x8(%rax,%rbx,1),%xmm9
  addpd  %xmm8,%xmm0
  addpd  %xmm11,%xmm0
  addpd  %xmm2,%xmm0
  addpd  %xmm9,%xmm0
  movups %xmm0,-0x8(%rax,%rbx,1)
  movsd  0x820(%rsp),%xmm0
  movhpd 0x840(%rsp),%xmm0
  mov    0x1b0(%rsp),%rax
  mov    0x1b8(%rsp),%rdx
  addpd  %xmm8,%xmm0
  mov    0x1a0(%rsp),%rdi
  movsd  0x888(%rsp),%xmm8
  movaps %xmm13,0x880(%rsp)
  movupd -0x8(%rax),%xmm9
  addpd  %xmm11,%xmm0
  movsd  D172(%rip),%xmm11
  mulsd  0x928(%rsp),%xmm11
  addpd  %xmm10,%xmm0
  movsd  %xmm11,0x928(%rsp)
  addpd  %xmm2,%xmm0
  addpd  %xmm9,%xmm0
  movups %xmm0,-0x8(%rax)
  movsd  0x7e0(%rsp),%xmm0
  movhpd 0x800(%rsp),%xmm0
  addpd  %xmm7,%xmm0
  movupd -0x8(%rdx),%xmm7
  movaps %xmm7,0x30(%rsp)
  addpd  %xmm1,%xmm0
  movsd  0x8c8(%rsp),%xmm1
  movapd %xmm1,%xmm9
  addpd  %xmm10,%xmm0
  unpcklpd %xmm8,%xmm9
  mulpd  %xmm3,%xmm9
  addpd  %xmm2,%xmm0
  movsd  0x8a8(%rsp),%xmm2
  movaps %xmm12,0x8a0(%rsp)
  unpcklpd %xmm2,%xmm1
  addpd  %xmm7,%xmm0
  mulpd  %xmm3,%xmm1
  movapd %xmm2,%xmm7
  movapd 0x10(%rsp),%xmm2
  unpcklpd %xmm8,%xmm7
  movaps %xmm2,0x8c0(%rsp)
  mulpd  %xmm3,%xmm7
  movsd  0x8e8(%rsp),%xmm2
  movups %xmm0,-0x8(%rdx)
  movsd  0x868(%rsp),%xmm0
  movaps %xmm15,0x860(%rsp)
  mulsd  %xmm4,%xmm2
  movupd (%rdi),%xmm15
  mulsd  %xmm4,%xmm0
  movsd  %xmm2,0x8e8(%rsp)
  movapd %xmm2,%xmm10
  movsd  0x908(%rsp),%xmm2
  unpcklpd %xmm0,%xmm0
  unpcklpd %xmm10,%xmm10
  mulsd  %xmm4,%xmm2
  movsd  %xmm2,0x908(%rsp)
  movapd %xmm2,%xmm8
  movapd %xmm11,%xmm2
  movsd  0x768(%rsp),%xmm11
  unpcklpd %xmm2,%xmm2
  unpcklpd %xmm8,%xmm8
  movhpd 0x788(%rsp),%xmm11
  addpd  %xmm0,%xmm11
  addpd  %xmm7,%xmm11
  addpd  %xmm1,%xmm11
  addpd  %xmm2,%xmm11
  addpd  %xmm15,%xmm11
  movups %xmm11,(%rdi)
  movsd  0x7a8(%rsp),%xmm11
  movhpd 0x7c8(%rsp),%xmm11
  mov    0x1a8(%rsp),%rsi
  mov    0x1d8(%rsp),%rcx
  addpd  %xmm11,%xmm0
  movupd -0x8(%rsi),%xmm15
  addpd  %xmm9,%xmm0
  addpd  %xmm10,%xmm0
  addpd  %xmm2,%xmm0
  addpd  %xmm15,%xmm0
  movups %xmm0,-0x8(%rsi)
  movupd -0x8(%rcx,%rbx,1),%xmm15
  movsd  0x828(%rsp),%xmm0
  movhpd 0x848(%rsp),%xmm0
  addpd  %xmm9,%xmm0
  addpd  %xmm10,%xmm0
  addpd  %xmm8,%xmm0
  addpd  %xmm2,%xmm0
  addpd  %xmm15,%xmm0
  movups %xmm0,-0x8(%rcx,%rbx,1)
  mov    0x1e0(%rsp),%rcx
  movsd  0x7e8(%rsp),%xmm0
  movhpd 0x808(%rsp),%xmm0
  addpd  %xmm7,%xmm0
  movupd -0x8(%rcx,%rbx,1),%xmm7
  addpd  %xmm1,%xmm0
  movsd  0x890(%rsp),%xmm1
  addpd  %xmm8,%xmm0
  addpd  %xmm2,%xmm0
  addpd  %xmm7,%xmm0
  movsd  0x8d0(%rsp),%xmm7
  movapd %xmm7,%xmm10
  movups %xmm0,-0x8(%rcx,%rbx,1)
  unpcklpd %xmm1,%xmm10
  movsd  0x870(%rsp),%xmm0
  mov    0x1e8(%rsp),%rcx
  mulpd  %xmm3,%xmm10
  mulsd  %xmm4,%xmm0
  movsd  %xmm0,0x870(%rsp)
  movapd %xmm0,%xmm11
  movapd %xmm1,%xmm0
  mulsd  %xmm4,%xmm0
  unpcklpd %xmm11,%xmm11
  movsd  %xmm0,0x890(%rsp)
  movsd  0x8b0(%rsp),%xmm0
  movapd %xmm0,%xmm8
  movapd %xmm0,%xmm2
  unpcklpd %xmm0,%xmm7
  movsd  0x8f0(%rsp),%xmm0
  mulsd  %xmm4,%xmm2
  unpcklpd %xmm1,%xmm8
  mulsd  %xmm4,%xmm0
  mulpd  %xmm3,%xmm8
  mulpd  %xmm3,%xmm7
  movsd  %xmm2,0x8b0(%rsp)
  movsd  %xmm0,0x8f0(%rsp)
  movapd %xmm0,%xmm9
  movsd  0x910(%rsp),%xmm0
  unpcklpd %xmm9,%xmm9
  movlpd %xmm7,0x8d0(%rsp)
  mulsd  %xmm4,%xmm0
  movsd  %xmm0,0x910(%rsp)
  movapd %xmm0,%xmm2
  movsd  D172(%rip),%xmm0
  mulsd  0x930(%rsp),%xmm0
  unpcklpd %xmm2,%xmm2
  movsd  %xmm0,0x930(%rsp)
  movapd %xmm0,%xmm1
  movsd  0x770(%rsp),%xmm0
  unpcklpd %xmm1,%xmm1
  movhpd 0x790(%rsp),%xmm0
  movupd (%rcx,%rbx,1),%xmm15
  addl   $0x1,0x114(%rsp)
  addpd  %xmm11,%xmm0
  mov    0x114(%rsp),%r14d
  addpd  %xmm8,%xmm0
  addpd  %xmm7,%xmm0
  addpd  %xmm1,%xmm0
  addpd  %xmm15,%xmm0
  movups %xmm0,(%rcx,%rbx,1)
  mov    0x1f0(%rsp),%rcx
  movsd  0x7b0(%rsp),%xmm0
  movhpd 0x7d0(%rsp),%xmm0
  movupd -0x8(%rcx,%rbx,1),%xmm15
  addpd  %xmm11,%xmm0
  addpd  %xmm10,%xmm0
  addpd  %xmm9,%xmm0
  addpd  %xmm1,%xmm0
  addpd  %xmm15,%xmm0
  movups %xmm0,-0x8(%rcx,%rbx,1)
  mov    0x1f8(%rsp),%rcx
  movsd  0x830(%rsp),%xmm0
  movhpd 0x850(%rsp),%xmm0
  movupd -0x8(%rcx,%rbx,1),%xmm15
  addpd  %xmm10,%xmm0
  addpd  %xmm9,%xmm0
  addpd  %xmm2,%xmm0
  addpd  %xmm1,%xmm0
  addpd  %xmm15,%xmm0
  movups %xmm0,-0x8(%rcx,%rbx,1)
  mov    0x200(%rsp),%rcx
  movsd  0x7f0(%rsp),%xmm0
  movhpd 0x810(%rsp),%xmm0
  addpd  %xmm8,%xmm0
  addpd  %xmm7,%xmm0
  movupd -0x8(%rcx,%rbx,1),%xmm7
  movaps %xmm7,0x10(%rsp)
  addpd  %xmm2,%xmm0
  addpd  %xmm1,%xmm0
  addpd  %xmm7,%xmm0
  movups %xmm0,-0x8(%rcx,%rbx,1)
  mov    %rax,%rcx
  mov    0x208(%rsp),%rax
  add    %rax,%rcx
  add    %rax,%rdx
  add    %rax,%rdi
  add    %rax,%rsi
  mov    %rcx,0x1b0(%rsp)
  add    %rax,%rbx
  mov    %rdx,0x1b8(%rsp)
  mov    %rdi,0x1a0(%rsp)
  mov    %rsi,0x1a8(%rsp)
  cmp    %r14d,0x214(%rsp)
  jne    L98
  mov    0x238(%rsp),%rax
  mov    %r10,%r11
  addl   $0x1,0x260(%rsp)
  add    %rax,0x1c8(%rsp)
  mov    0x260(%rsp),%edi
  add    %rax,0x1d0(%rsp)
  add    %rax,0x1d8(%rsp)
  add    %rax,0x1e0(%rsp)
  add    %rax,0x1e8(%rsp)
  add    %rax,0x1f0(%rsp)
  add    %rax,0x1f8(%rsp)
  add    %rax,0x200(%rsp)
  add    %rax,0x228(%rsp)
  add    %rax,0x50(%rsp)
  add    %rax,0x58(%rsp)
  add    %rax,0x60(%rsp)
  add    %rax,0x68(%rsp)
  add    %rax,0x70(%rsp)
  add    %rax,0x78(%rsp)
  add    %rax,0x80(%rsp)
  add    %rax,0x88(%rsp)
  add    %rax,0x90(%rsp)
  add    %rax,0x98(%rsp)
  add    %rax,0xa0(%rsp)
  add    %rax,0xa8(%rsp)
  add    %rax,0xb0(%rsp)
  add    %rax,0xb8(%rsp)
  add    %rax,0xc0(%rsp)
  add    %rax,0xc8(%rsp)
  add    %rax,0xd0(%rsp)
  add    %rax,0xd8(%rsp)
  add    %rax,0xe0(%rsp)
  add    %rax,0xe8(%rsp)
  add    %rax,0xf0(%rsp)
  add    %rax,0xf8(%rsp)
  add    %rax,%r11
  add    %rax,0x230(%rsp)
  cmp    %edi,0x264(%rsp)
  jne    L28
  addq   $0x8,0x268(%rsp)
  mov    0x268(%rsp),%rax
  addq   $0x1,0x270(%rsp)
  cmp    0x298(%rsp),%rax
  jne    L84
L0:
  mov    0x938(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L83
  add    $0x948,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax,%rax,1)
L69:
  mov    %r10,0x188(%rsp)
  lea    0x5a0(%rsp),%r14
  lea    0x580(%rsp),%r13
  mov    %r11,0x180(%rsp)
  mov    %r14,%r8
  mov    %r13,%rcx
  lea    0x3c0(%rsp),%r12
  lea    0x3a0(%rsp),%rbp
  lea    0x4a0(%rsp),%r15
  sub    $0x8,%rsp
  mov    %r12,%rsi
  lea    0x868(%rsp),%rax
  mov    %rbp,%rdi
  mov    %rax,0x128(%rsp)
  push   %rax
  lea    0x790(%rsp),%rax
  mov    %rax,0x20(%rsp)
  push   %rax
  lea    0x778(%rsp),%rdx
  mov    %rdx,0x48(%rsp)
  push   %rdx
  mov    0x60(%rsp),%rax
  mov    %r15,%rdx
  mov    0x68(%rsp),%r9
  movsd  (%rax),%xmm0
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  mov    %r15,%rdx
  lea    0x5e0(%rsp),%rdi
  lea    0x400(%rsp),%rsi
  sub    $0x8,%rsp
  movsd  0x8(%rax),%xmm0
  push   0x128(%rsp)
  mov    %rdi,%r8
  lea    0x7d0(%rsp),%rcx
  mov    %rcx,0x110(%rsp)
  push   %rcx
  mov    %r14,%rcx
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x68(%rsp),%r9
  mov    %rdi,0x150(%rsp)
  mov    %r12,%rdi
  mov    %rsi,0x158(%rsp)
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  mov    %r15,%rdx
  lea    0x5c0(%rsp),%r10
  lea    0x3e0(%rsp),%r11
  sub    $0x8,%rsp
  movsd  0x10(%rax),%xmm0
  push   0x128(%rsp)
  mov    %r10,%r8
  mov    %r11,%rsi
  lea    0x7b0(%rsp),%rdi
  mov    %rdi,0x128(%rsp)
  push   %rdi
  push   0x118(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x68(%rsp),%r9
  mov    0x150(%rsp),%rcx
  mov    0x158(%rsp),%rdi
  mov    %r10,0x160(%rsp)
  mov    %r11,0x168(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r13,%r8
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %rbp,%rsi
  movsd  0x18(%rax),%xmm0
  push   0x128(%rsp)
  push   0x40(%rsp)
  push   0x130(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x68(%rsp),%r9
  mov    0x160(%rsp),%rcx
  mov    0x168(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %r14,%rcx
  mov    %r12,%rdi
  lea    0x4c0(%rsp),%r15
  lea    0x6a0(%rsp),%r9
  mov    0x40(%rsp),%rax
  sub    $0x8,%rsp
  lea    0x888(%rsp),%r8
  mov    %r15,%rdx
  mov    %r8,0x178(%rsp)
  movsd  0x20(%rax),%xmm0
  push   %r8
  push   0x110(%rsp)
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x150(%rsp),%r8
  mov    0x158(%rsp),%rsi
  mov    %r9,0x148(%rsp)
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  mov    %r15,%rdx
  lea    0x660(%rsp),%r10
  lea    0x480(%rsp),%r11
  sub    $0x8,%rsp
  movsd  0x28(%rax),%xmm0
  push   0x178(%rsp)
  mov    %r10,%r8
  mov    %r11,%rsi
  lea    0x850(%rsp),%r9
  mov    %r9,0x130(%rsp)
  push   %r9
  push   0x118(%rsp)
  mov    0x148(%rsp),%r9
  movsd  0x28(%rsp),%xmm1
  mov    0x150(%rsp),%rcx
  mov    0x158(%rsp),%rdi
  mov    %r10,0x170(%rsp)
  mov    %r11,0x178(%rsp)
  mov    %r9,0x180(%rsp)
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  lea    0x620(%rsp),%rdx
  lea    0x440(%rsp),%rsi
  sub    $0x8,%rsp
  movsd  0x30(%rax),%xmm0
  push   0x178(%rsp)
  lea    0x810(%rsp),%r8
  mov    %r8,0x138(%rsp)
  push   %r8
  mov    %rdx,%r8
  push   0x138(%rsp)
  mov    0x180(%rsp),%r9
  movsd  0x28(%rsp),%xmm1
  mov    0x170(%rsp),%rcx
  mov    0x178(%rsp),%rdi
  mov    %rdx,0x180(%rsp)
  mov    %r15,%rdx
  mov    %rsi,0x188(%rsp)
  mov    %r9,0x198(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r14,%r8
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %r12,%rsi
  movsd  0x38(%rax),%xmm0
  push   0x178(%rsp)
  push   0x20(%rsp)
  push   0x140(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  mov    0x180(%rsp),%rcx
  mov    0x188(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %r14,%r8
  mov    %r13,%rcx
  lea    0x4e0(%rsp),%r15
  lea    0x6c0(%rsp),%r9
  mov    0x40(%rsp),%rax
  sub    $0x8,%rsp
  lea    0x8a8(%rsp),%rsi
  mov    %r15,%rdx
  mov    %rbp,%rdi
  mov    %rsi,0x178(%rsp)
  movsd  0x40(%rax),%xmm0
  push   %rsi
  mov    %r12,%rsi
  push   0x20(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    %r9,0x198(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r14,%rcx
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %r12,%rdi
  movsd  0x48(%rax),%xmm0
  push   0x178(%rsp)
  push   0x138(%rsp)
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  mov    0x180(%rsp),%r8
  mov    0x188(%rsp),%rsi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  lea    0x600(%rsp),%r14
  lea    0x420(%rsp),%r12
  sub    $0x8,%rsp
  movsd  0x50(%rax),%xmm0
  push   0x178(%rsp)
  mov    %r14,%r8
  mov    %r12,%rsi
  lea    0x7f0(%rsp),%rdx
  mov    %rdx,0x20(%rsp)
  push   %rdx
  mov    %r15,%rdx
  push   0x140(%rsp)
  mov    0x180(%rsp),%rcx
  mov    0x188(%rsp),%rdi
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r13,%r8
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %rbp,%rsi
  mov    %r14,%rcx
  mov    %r12,%rdi
  movsd  0x58(%rax),%xmm0
  push   0x178(%rsp)
  push   0x40(%rsp)
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  mov    %rbp,%rsi
  lea    0x500(%rsp),%r15
  lea    0x6e0(%rsp),%r9
  sub    $0x8,%rsp
  lea    0x8c8(%rsp),%r8
  movsd  0x60(%rax),%xmm0
  mov    %r15,%rdx
  mov    %r8,0x178(%rsp)
  push   %r8
  mov    %r13,%r8
  push   0x40(%rsp)
  push   0x130(%rsp)
  mov    0x160(%rsp),%rcx
  mov    0x168(%rsp),%rdi
  movsd  0x28(%rsp),%xmm1
  mov    %r9,0x198(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r13,%rcx
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %rbp,%rdi
  mov    %r14,%r8
  mov    %r12,%rsi
  movsd  0x68(%rax),%xmm0
  push   0x178(%rsp)
  push   0x20(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %r15,%rdx
  mov    %r14,%rcx
  mov    0x40(%rsp),%rax
  lea    0x640(%rsp),%r13
  lea    0x460(%rsp),%rbp
  sub    $0x8,%rsp
  mov    %rbp,%rsi
  mov    %r12,%rdi
  movsd  0x70(%rax),%xmm0
  push   0x178(%rsp)
  lea    0x830(%rsp),%r8
  mov    %r8,0x40(%rsp)
  push   %r8
  mov    %r13,%r8
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r15,%rdx
  mov    %r13,%rcx
  add    $0x18,%rsp
  mov    %rbp,%rdi
  movsd  0x78(%rax),%xmm0
  push   0x178(%rsp)
  push   0x128(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x198(%rsp),%r9
  mov    0x160(%rsp),%r8
  mov    0x168(%rsp),%rsi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    0x40(%rsp),%rax
  lea    0x520(%rsp),%r15
  lea    0x700(%rsp),%r9
  sub    $0x8,%rsp
  lea    0x8e8(%rsp),%rdx
  movsd  0x80(%rax),%xmm0
  mov    %rdx,0x178(%rsp)
  push   %rdx
  mov    %r15,%rdx
  push   0x128(%rsp)
  push   0x118(%rsp)
  mov    0x160(%rsp),%r8
  mov    0x168(%rsp),%rsi
  movsd  0x28(%rsp),%xmm1
  mov    0x150(%rsp),%rcx
  mov    0x158(%rsp),%rdi
  mov    %r9,0x198(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r15,%rdx
  mov    %r13,%r8
  add    $0x18,%rsp
  mov    %rbp,%rsi
  movsd  0x88(%rax),%xmm0
  push   0x178(%rsp)
  push   0x40(%rsp)
  push   0x130(%rsp)
  mov    0x198(%rsp),%r9
  mov    0x160(%rsp),%rcx
  mov    0x168(%rsp),%rdi
  movsd  0x28(%rsp),%xmm1
  mov    %r9,0x138(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r15,%rdx
  mov    %r13,%rcx
  add    $0x18,%rsp
  mov    %rbp,%rdi
  movsd  0x90(%rax),%xmm0
  push   0x178(%rsp)
  push   0x130(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x138(%rsp),%r9
  mov    0x170(%rsp),%r8
  mov    0x178(%rsp),%rsi
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  add    $0x18,%rsp
  mov    %r15,%rdx
  movsd  0x98(%rax),%xmm0
  push   0x178(%rsp)
  push   0x110(%rsp)
  push   0x138(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x138(%rsp),%r9
  mov    0x150(%rsp),%r8
  mov    0x170(%rsp),%rcx
  mov    0x158(%rsp),%rsi
  mov    0x178(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  add    $0x20,%rsp
  mov    %r14,%rcx
  mov    %r12,%rdi
  lea    0x540(%rsp),%r15
  lea    0x720(%rsp),%r9
  mov    0x40(%rsp),%rax
  sub    $0x8,%rsp
  lea    0x908(%rsp),%rsi
  mov    %r15,%rdx
  mov    %rsi,0x108(%rsp)
  movsd  0xa0(%rax),%xmm0
  push   %rsi
  push   0x138(%rsp)
  push   0x28(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x180(%rsp),%r8
  mov    0x188(%rsp),%rsi
  mov    %r9,0x138(%rsp)
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  add    $0x18,%rsp
  mov    %r15,%rdx
  movsd  0xa8(%rax),%xmm0
  push   0x108(%rsp)
  push   0x130(%rsp)
  push   0x140(%rsp)
  mov    0x170(%rsp),%r8
  mov    0x178(%rsp),%rsi
  movsd  0x28(%rsp),%xmm1
  mov    0x138(%rsp),%r9
  mov    0x180(%rsp),%rcx
  mov    0x188(%rsp),%rdi
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r13,%r8
  mov    %r15,%rdx
  add    $0x18,%rsp
  mov    %rbp,%rsi
  movsd  0xb0(%rax),%xmm0
  push   0x108(%rsp)
  push   0x40(%rsp)
  push   0x138(%rsp)
  mov    0x170(%rsp),%rcx
  mov    0x178(%rsp),%rdi
  movsd  0x28(%rsp),%xmm1
  mov    0x138(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  mov    0x60(%rsp),%rax
  mov    %r14,%r8
  mov    %r13,%rcx
  add    $0x18,%rsp
  mov    %r15,%rdx
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  0xb8(%rax),%xmm0
  push   0x108(%rsp)
  push   0x20(%rsp)
  push   0x48(%rsp)
  movsd  0x28(%rsp),%xmm1
  mov    0x138(%rsp),%r9
  call   <d2SarTriangle3D@plt>
  mov    D123(%rip),%rax
  add    $0x20,%rsp
  movapd D123(%rip),%xmm6
  movapd D309(%rip),%xmm3
  pxor   %xmm5,%xmm5
  mov    0x188(%rsp),%r10
  movq   %rax,%xmm14
  mov    D309(%rip),%rax
  mov    0x180(%rsp),%r11
  movq   %rax,%xmm4
  jmp    L85
L83:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: tag: D309
data_type: f64[2]
name: parse_data
arguments: tag: D123
data_type: f64[2]
name: parse_data
arguments: tag: D178
data_type: f32[2]
name: parse_data
arguments: tag: D322
data_type: f64
name: parse_data
arguments: tag: D172
data_type: f64

tool: {"D309": [0.25,0.25]}

tool: {"D123": [0.5,0.5]}

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

tool: D322: 1

tool: D172: 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;
        }
      }
    }
  }
}
```