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

```asm
<DSlater_2S_2S>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %rbx
  sub    $0x68,%rsp
  movsd  %xmm0,-0x28(%rbp)
  movsd  %xmm1,-0x30(%rbp)
  movsd  %xmm2,-0x38(%rbp)
  movsd  -0x38(%rbp),%xmm0
  ucomisd -0x30(%rbp),%xmm0
  jp     L15
  movsd  -0x38(%rbp),%xmm0
  ucomisd -0x30(%rbp),%xmm0
  jne    L15
  movsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D681(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D681(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm2
  movsd  D1471(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1471(%rip),%xmm1
  movapd %xmm0,%xmm7
  mulsd  %xmm1,%xmm7
  movsd  %xmm7,-0x48(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D250(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1334(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D130(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D574(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D130(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D900(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D787(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1146(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D787(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D30(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x40(%rbp)
  movsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D681(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x48(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x48(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x40(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  jmp    L9
L15:
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  %xmm0,%xmm1
  movsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  mulsd  %xmm1,%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D14(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rbx
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %rbx,%xmm6
  subsd  %xmm0,%xmm6
  movq   %xmm6,%rax
  movsd  D787(%rip),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm7
  mulsd  -0x40(%rbp),%xmm7
  movsd  %xmm7,-0x40(%rbp)
  movsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm5
  mulsd  -0x48(%rbp),%xmm5
  movsd  %xmm5,-0x48(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D979(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm4
  mulsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1589(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  D14(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D86(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  addsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  addsd  %xmm0,%xmm6
  movsd  %xmm6,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  addsd  -0x58(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm4
  mulsd  -0x58(%rbp),%xmm4
  movsd  %xmm4,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1141(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  D861(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1021(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x68(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D353(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x68(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x60(%rbp),%xmm4
  subsd  %xmm0,%xmm4
  movsd  %xmm4,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x68(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x60(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  addsd  %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1163(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  D1261(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D711(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x68(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm6
  addsd  -0x60(%rbp),%xmm6
  movsd  %xmm6,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D13(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x68(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm3
  addsd  -0x60(%rbp),%xmm3
  movsd  %xmm3,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  mulsd  -0x58(%rbp),%xmm0
  addsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1589(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  D14(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1589(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x68(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm2
  addsd  -0x60(%rbp),%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x68(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm6
  addsd  -0x60(%rbp),%xmm6
  movsd  %xmm6,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movsd  -0x50(%rbp),%xmm7
  subsd  %xmm0,%xmm7
  movsd  %xmm7,-0x50(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm4
  mulsd  -0x58(%rbp),%xmm4
  movsd  %xmm4,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D314(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  D970(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D314(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D941(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x68(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm3
  addsd  -0x60(%rbp),%xmm3
  movsd  %xmm3,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  mulsd  -0x58(%rbp),%xmm0
  addsd  -0x50(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  addsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  mulsd  -0x30(%rbp),%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x48(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm5
  mulsd  -0x48(%rbp),%xmm5
  movsd  %xmm5,-0x48(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1337(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  D13(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  addsd  %xmm0,%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D244(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x58(%rbp),%xmm0
  movsd  -0x50(%rbp),%xmm2
  subsd  %xmm0,%xmm2
  movsd  %xmm2,-0x50(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D14(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1589(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0x38(%rbp),%xmm2
  movsd  %xmm2,-0x58(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm3
  addsd  -0x50(%rbp),%xmm3
  movsd  %xmm3,-0x50(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D86(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm2
  mulsd  -0x58(%rbp),%xmm2
  movsd  %xmm2,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  movsd  D1395(%rip),%xmm1
  subsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D14(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x58(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  mulsd  -0x58(%rbp),%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm2
  addsd  %xmm0,%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  movsd  D787(%rip),%xmm1
  subsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm3
  addsd  -0x50(%rbp),%xmm3
  movsd  %xmm3,-0x50(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm4
  addsd  %xmm0,%xmm4
  movsd  %xmm4,-0x58(%rbp)
  movsd  D302(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  mulsd  -0x58(%rbp),%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D787(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  movsd  D1163(%rip),%xmm1
  subsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D1589(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  %xmm1,-0x58(%rbp)
  movsd  D787(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm3
  mulsd  -0x58(%rbp),%xmm3
  movsd  %xmm3,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  mulsd  -0x58(%rbp),%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D787(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x60(%rbp),%xmm0
  movsd  D1050(%rip),%xmm1
  subsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  addsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1589(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D456(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x60(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  D138(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movsd  -0x50(%rbp),%xmm4
  subsd  %xmm0,%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  mulsd  -0x58(%rbp),%xmm6
  movsd  %xmm6,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D314(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x60(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  D523(%rip),%xmm0
  movapd %xmm0,%xmm2
  subsd  %xmm1,%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm3
  addsd  %xmm0,%xmm3
  movsd  %xmm3,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm6
  addsd  -0x50(%rbp),%xmm6
  movsd  %xmm6,-0x50(%rbp)
  movsd  D130(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D260(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm6
  mulsd  -0x60(%rbp),%xmm6
  movsd  %xmm6,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D941(%rip),%xmm1
  movapd %xmm0,%xmm7
  mulsd  %xmm1,%xmm7
  movsd  %xmm7,-0x68(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x68(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x60(%rbp),%xmm6
  subsd  %xmm1,%xmm6
  movapd %xmm6,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x50(%rbp),%xmm4
  movsd  %xmm4,-0x50(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D1143(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x60(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D20(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x68(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm5
  addsd  -0x60(%rbp),%xmm5
  movsd  %xmm5,-0x60(%rbp)
  movsd  D940(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x68(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x68(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x60(%rbp),%xmm5
  subsd  %xmm1,%xmm5
  movapd %xmm5,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  movapd %xmm0,%xmm6
  addsd  -0x50(%rbp),%xmm6
  movsd  %xmm6,-0x50(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D765(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  D1589(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm4
  mulsd  -0x60(%rbp),%xmm4
  movsd  %xmm4,-0x60(%rbp)
  movsd  D14(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D940(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x68(%rbp)
  movsd  D1434(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x68(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  mulsd  -0x58(%rbp),%xmm0
  addsd  -0x50(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  addsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  %xmm0,%xmm1
  movsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  mulsd  %xmm1,%xmm0
  mov    D1582(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D14(%rip),%xmm1
  movapd %xmm0,%xmm7
  mulsd  %xmm1,%xmm7
  movsd  %xmm7,-0x48(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movapd %xmm0,%xmm4
  mulsd  -0x48(%rbp),%xmm4
  movsd  %xmm4,-0x48(%rbp)
  movsd  D1194(%rip),%xmm0
  mov    -0x38(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rbx
  movsd  D1194(%rip),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %rbx,%xmm5
  subsd  %xmm0,%xmm5
  movq   %xmm5,%rax
  movsd  D787(%rip),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  -0x48(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x40(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
L9:
  movsd  -0x18(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  mov    -0x8(%rbp),%rbx
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: label: D1582
data_type: f64
name: retrieve_data
arguments: label: D681
data_type: f64
name: retrieve_data
arguments: label: D1471
data_type: f64
name: retrieve_data
arguments: label: D1194
data_type: f64
name: retrieve_data
arguments: label: D14
data_type: f64
name: retrieve_data
arguments: label: D250
data_type: f64
name: retrieve_data
arguments: label: D940
data_type: f64
name: retrieve_data
arguments: label: D1334
data_type: f64
name: retrieve_data
arguments: label: D130
data_type: f64
name: retrieve_data
arguments: label: D574
data_type: f64
name: retrieve_data
arguments: label: D1589
data_type: f64
name: retrieve_data
arguments: label: D900
data_type: f64
name: retrieve_data
arguments: label: D787
data_type: f64
name: retrieve_data
arguments: label: D1146
data_type: f64
name: retrieve_data
arguments: label: D1434
data_type: f64
name: retrieve_data
arguments: label: D30
data_type: f64
name: retrieve_data
arguments: label: D979
data_type: byte[8]
name: retrieve_data
arguments: label: D86
data_type: f64
name: retrieve_data
arguments: label: D1141
data_type: f64
name: retrieve_data
arguments: label: D861
data_type: f64
name: retrieve_data
arguments: label: D1021
data_type: f64
name: retrieve_data
arguments: label: D353
data_type: f64
name: retrieve_data
arguments: label: D1163
data_type: f64
name: retrieve_data
arguments: label: D1261
data_type: f64
name: retrieve_data
arguments: label: D711
data_type: f64
name: retrieve_data
arguments: label: D13
data_type: f64
name: retrieve_data
arguments: label: D314
data_type: f64
name: retrieve_data
arguments: label: D970
data_type: f64
name: retrieve_data
arguments: label: D941
data_type: f64
name: retrieve_data
arguments: label: D1337
data_type: byte[8]
name: retrieve_data
arguments: label: D244
data_type: f64
name: retrieve_data
arguments: label: D1395
data_type: f64
name: retrieve_data
arguments: label: D302
data_type: f64
name: retrieve_data
arguments: label: D1050
data_type: f64
name: retrieve_data
arguments: label: D456
data_type: f64
name: retrieve_data
arguments: label: D138
data_type: f64
name: retrieve_data
arguments: label: D523
data_type: f64
name: retrieve_data
arguments: label: D260
data_type: f64
name: retrieve_data
arguments: label: D1143
data_type: byte[8]
name: retrieve_data
arguments: label: D20
data_type: f64
name: retrieve_data
arguments: label: D765
data_type: byte[8]

tool: D1582: 2.718281828459045

tool: D681: 20160

tool: D1471: 40320

tool: D1194: 2

tool: D14: 3

tool: D250: 26355

tool: D940: 4

tool: D1334: 12390

tool: D130: 5

tool: D574: 4368

tool: D1589: 6

tool: D900: 1176

tool: D787: 7

tool: D1146: 240

tool: D1434: 8

tool: D30: 32

tool: {"D979": [0x00,0x00,0x00,0x00,0x00,0x00,0x35,0xc0]}

tool: D86: 10

tool: D1141: 390

tool: D861: 195

tool: D1021: 78

tool: D353: 14

tool: D1163: 90

tool: D1261: 45

tool: D711: 48

tool: D13: 11

tool: D314: 42

tool: D970: 21

tool: D941: 38

tool: {"D1337": [0x00,0x00,0x00,0x00,0x00,0x00,0x36,0xc0]}

tool: D244: 12

tool: D1395: 24

tool: D302: 9

tool: D1050: 65

tool: D456: 13

tool: D138: 15

tool: D523: 63

tool: D260: 126

tool: {"D1143": [0x00,0x00,0x00,0x00,0x00,0x60,0x68,0xc0]}

tool: D20: 210

tool: {"D765": [0x00,0x00,0x00,0x00,0x00,0x00,0x45,0xc0]}

assistant: ```c
double DSlater_2S_2S(double rij, double xij, double xii) {
  double S;
  if (xii == xij) {
    S = (-20160.0 + 20160.0 * (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xii))) - 40320.0 * rij * xii - 40320.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xii), (double)(2.0))) - 26355.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xii), (double)(3.0))) - 12390.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xii), (double)(4.0))) - 4368.0 * (pow((double)(rij), (double)(5.0))) * (pow((double)(xii), (double)(5.0))) - 1176.0 * (pow((double)(rij), (double)(6.0))) * (pow((double)(xii), (double)(6.0))) - 240.0 * (pow((double)(rij), (double)(7.0))) * (pow((double)(xii), (double)(7.0))) - 32.0 * (pow((double)(rij), (double)(8.0))) * (pow((double)(xii), (double)(8.0)))) / (20160. * (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xii))) * (pow((double)(rij), (double)(2.0))));
  } else {
    S = (3.0 * (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * (xii + xij)))) * (pow((double)((pow((double)(xii), (double)(2.0))) - (pow((double)(xij), (double)(2.0)))), (double)(7.0))) + (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xii))) * (pow((double)(xii), (double)(6.0))) * (-21.0 * (pow((double)(xii), (double)(4.0))) * (pow((double)(xij), (double)(4.0))) * (3.0 + 6.0 * rij * xij + 10.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) + 2.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(3.0)))) + (pow((double)(xii), (double)(2.0))) * (pow((double)(xij), (double)(6.0))) * (195.0 + 390.0 * rij * xij + 78.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) - 14.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(3.0))) - 4.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(4.0)))) + 2.0 * (pow((double)(xij), (double)(8.0))) * (45.0 + 90.0 * rij * xij + 48.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) + 11.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(3.0))) + (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(4.0)))) - (pow((double)(xii), (double)(8.0))) * (3.0 + 6.0 * rij * xij + 6.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) + 4.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(3.0))) + 2.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(4.0)))) + (pow((double)(xii), (double)(6.0))) * (pow((double)(xij), (double)(2.0))) * (21.0 + 42.0 * rij * xij + 42.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) + 38.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(3.0))) + 4.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(4.0))))) + (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xij))) * (pow((double)(xij), (double)(6.0))) * (-22.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xii), (double)(11.0))) - 2.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xii), (double)(12.0))) + 3.0 * (pow((double)(xij), (double)(8.0))) + 6.0 * rij * xii * (pow((double)(xij), (double)(8.0))) + 4.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xii), (double)(10.0))) * (-24.0 + (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0)))) + 3.0 * (pow((double)(xii), (double)(2.0))) * (pow((double)(xij), (double)(6.0))) * (-7.0 + 2.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0)))) + 2.0 * rij * (pow((double)(xii), (double)(9.0))) * (-90.0 + 7.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0)))) + 6.0 * rij * (pow((double)(xii), (double)(7.0))) * (pow((double)(xij), (double)(2.0))) * (-65.0 + 7.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0)))) - 6.0 * (pow((double)(xii), (double)(8.0))) * (15.0 + 13.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0)))) + (pow((double)(xii), (double)(4.0))) * (pow((double)(xij), (double)(4.0))) * (63.0 - 42.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(2.0))) + 2.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(4.0)))) + (pow((double)(xii), (double)(5.0))) * (126.0 * rij * (pow((double)(xij), (double)(4.0))) - 38.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(6.0)))) + (pow((double)(xii), (double)(6.0))) * (-195.0 * (pow((double)(xij), (double)(2.0))) + 210.0 * (pow((double)(rij), (double)(2.0))) * (pow((double)(xij), (double)(4.0))) - 4.0 * (pow((double)(rij), (double)(4.0))) * (pow((double)(xij), (double)(6.0)))) + (pow((double)(xii), (double)(3.0))) * (-42.0 * rij * (pow((double)(xij), (double)(6.0))) + 4.0 * (pow((double)(rij), (double)(3.0))) * (pow((double)(xij), (double)(8.0)))))) / (3. * (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * (xii + xij)))) * (pow((double)(rij), (double)(2.0))) * (pow((double)((pow((double)(xii), (double)(2.0))) - (pow((double)(xij), (double)(2.0)))), (double)(7.0))));
  }
  return S;
}
```