double Slater_2S_2S(double rij, double xij, double xii) {
  double S;
  if (xii == xij) {
    S = (-80640.0 +
         80640.0 * (pow((double)(2.71828182845904523536029),
                        (double)(2.0 * rij * xii))) -
         131985.0 * rij * xii -
         102690.0 * (pow((double)(rij), (double)(2.0))) *
             (pow((double)(xii), (double)(2.0))) -
         49980.0 * (pow((double)(rij), (double)(3.0))) *
             (pow((double)(xii), (double)(3.0))) -
         16800.0 * (pow((double)(rij), (double)(4.0))) *
             (pow((double)(xii), (double)(4.0))) -
         4032.0 * (pow((double)(rij), (double)(5.0))) *
             (pow((double)(xii), (double)(5.0))) -
         672.0 * (pow((double)(rij), (double)(6.0))) *
             (pow((double)(xii), (double)(6.0))) -
         64.0 * (pow((double)(rij), (double)(7.0))) *
             (pow((double)(xii), (double)(7.0)))) /
        (80640. *
         (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xii))) *
         rij);
  } else {
    S = (6.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))) *
                  (6.0 + 11.0 * rij * xij +
                   2.0 * (pow((double)(rij), (double)(2.0))) *
                       (pow((double)(xij), (double)(2.0)))) -
              2.0 * (pow((double)(xij), (double)(8.0))) *
                  (90.0 + 54.0 * rij * xij +
                   12.0 * (pow((double)(rij), (double)(2.0))) *
                       (pow((double)(xij), (double)(2.0))) +
                   (pow((double)(rij), (double)(3.0))) *
                       (pow((double)(xij), (double)(3.0)))) +
              (pow((double)(xii), (double)(8.0))) *
                  (6.0 + 9.0 * rij * xij +
                   6.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))) *
                  (-390.0 - 69.0 * rij * xij +
                   18.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)))) -
              (pow((double)(xii), (double)(6.0))) *
                  (pow((double)(xij), (double)(2.0))) *
                  (42.0 + 63.0 * rij * xij +
                   42.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))))) +
         (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xij))) *
             (pow((double)(xij), (double)(6.0))) *
             (-24.0 * (pow((double)(rij), (double)(2.0))) *
                  (pow((double)(xii), (double)(10.0))) -
              2.0 * (pow((double)(rij), (double)(3.0))) *
                  (pow((double)(xii), (double)(11.0))) -
              69.0 * rij * (pow((double)(xii), (double)(7.0))) *
                  (pow((double)(xij), (double)(2.0))) +
              6.0 * (pow((double)(xij), (double)(8.0))) +
              9.0 * rij * xii * (pow((double)(xij), (double)(8.0))) +
              4.0 * rij * (pow((double)(xii), (double)(9.0))) *
                  (-27.0 + (pow((double)(rij), (double)(2.0))) *
                               (pow((double)(xij), (double)(2.0)))) +
              18.0 * (pow((double)(xii), (double)(8.0))) *
                  (-10.0 + (pow((double)(rij), (double)(2.0))) *
                               (pow((double)(xij), (double)(2.0)))) +
              6.0 * (pow((double)(xii), (double)(2.0))) *
                  (pow((double)(xij), (double)(6.0))) *
                  (-7.0 + (pow((double)(rij), (double)(2.0))) *
                              (pow((double)(xij), (double)(2.0)))) -
              42.0 * (pow((double)(xii), (double)(4.0))) *
                  (pow((double)(xij), (double)(4.0))) *
                  (-3.0 + (pow((double)(rij), (double)(2.0))) *
                              (pow((double)(xij), (double)(2.0)))) +
              rij * (pow((double)(xii), (double)(3.0))) *
                  (pow((double)(xij), (double)(6.0))) *
                  (-63.0 + 2.0 * (pow((double)(rij), (double)(2.0))) *
                               (pow((double)(xij), (double)(2.0)))) +
              6.0 * (pow((double)(xii), (double)(6.0))) *
                  (pow((double)(xij), (double)(2.0))) *
                  (-65.0 + 7.0 * (pow((double)(rij), (double)(2.0))) *
                               (pow((double)(xij), (double)(2.0)))) +
              (pow((double)(xii), (double)(5.0))) *
                  (231.0 * rij * (pow((double)(xij), (double)(4.0))) -
                   4.0 * (pow((double)(rij), (double)(3.0))) *
                       (pow((double)(xij), (double)(6.0)))))) /
        (6. *
         (pow((double)(2.71828182845904523536029),
              (double)(2.0 * rij * (xii + xij)))) *
         rij *
         (pow((double)((pow((double)(xii), (double)(2.0))) -
                       (pow((double)(xij), (double)(2.0)))),
              (double)(7.0))));
  }
  return S;
}


x86 assembly (clang, -O0):
<Slater_2S_2S>:
push   %rbp
mov    %rsp,%rbp
sub    $0x300,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  -0x18(%rbp),%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    1472 <Slater_2S_2S+0x362>
jp     1472 <Slater_2S_2S+0x362>
movsd  0x1ec0(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0x1ebe(%rip),%xmm0
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1f76(%rip),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1faa(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  0x1f96(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1e48(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1f40(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1e22(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x88(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1dfc(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1ecc(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1dd6(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x78(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x70(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1d8b(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1e5b(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1d65(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x68(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x60(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1d3a(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1dea(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1d14(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x58(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1ca9(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1d79(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1c83(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x48(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1c30(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1d08(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x1c0a(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x38(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x30(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0x1bd4(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0x1bd2(%rip),%xmm0
call   1030 <pow@plt>
movaps %xmm0,%xmm2
movsd  -0x28(%rbp),%xmm0
movsd  0x1c85(%rip),%xmm1
mulsd  %xmm2,%xmm1
mulsd  -0x8(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2389 <Slater_2S_2S+0x1279>
movsd  0x1b8e(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1b83(%rip),%xmm0
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1b6b(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1b4a(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1b30(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x300(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  0x1b0c(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x1f8(%rbp)
movsd  0x1aff(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0x1afd(%rip),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1adb(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x2f8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1ac2(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1b6a(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1a99(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x2f0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0x1aed(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1a4f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1a2e(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1a1e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1a05(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x2e8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x2e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1a40(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x19c0(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0x1a74(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1a56(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x197d(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1a25(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1954(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x2d8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x2d0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x193f(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1925(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x2c8(%rbp),%xmm3
ff
movsd  -0x2c0(%rbp),%xmm4
ff
movsd  -0x2b8(%rbp),%xmm1
ff
movsd  -0x2b0(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x2a8(%rbp),%xmm0
ff
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1905(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x278(%rbp)
ff
movsd  0x1900(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1872(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1851(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1849(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1828(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x2a0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x298(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1813(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x17e3(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x17ea(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x290(%rbp),%xmm2
ff
movsd  -0x288(%rbp),%xmm3
ff
movsd  -0x280(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x278(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x177d(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x176b(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x270(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x17c7(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm1,%xmm0
movsd  0x17c2(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x16f9(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1751(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x16d0(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x268(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x260(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x16bb(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x16a3(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1692(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x258(%rbp),%xmm2
ff
movsd  -0x250(%rbp),%xmm3
ff
movsd  -0x248(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x240(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x162d(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x160b(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x238(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  0x168f(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1621(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x15b8(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x15f8(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x158f(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x230(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x228(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x157a(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1562(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1551(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x220(%rbp),%xmm5
ff
movsd  -0x218(%rbp),%xmm6
ff
movsd  -0x210(%rbp),%xmm3
ff
movsd  -0x208(%rbp),%xmm4
ff
movsd  -0x200(%rbp),%xmm1
ff
movsd  -0x1f8(%rbp),%xmm2
ff
movaps %xmm0,%xmm7
movsd  -0x1f0(%rbp),%xmm0
ff
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x1497(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x10(%rbp),%xmm1
movsd  0x1495(%rip),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1473(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x1e8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1442(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x14d2(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x14b1(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x141f(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x13ef(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1466(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1e0(%rbp),%xmm1
ff
movsd  -0x1d8(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x1d0(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  0x140b(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x1361(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x1c8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1340(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1c0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1b8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1364(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1b0(%rbp),%xmm1
ff
movsd  0x12e7(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  0x1347(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1318(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1a8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1a0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  0x1290(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x12de(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x198(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1235(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x121b(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x190(%rbp),%xmm2
ff
movsd  -0x188(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x180(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
movsd  0x1267(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x123e(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1226(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x11a5(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x118b(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x178(%rbp),%xmm2
ff
movsd  -0x170(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x168(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
movsd  0x11bf(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x113e(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x1136(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x111d(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x160(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x10ec(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x10d2(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x150(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x148(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
movsd  0x10fe(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x109d(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x10c5(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1074(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x140(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1033(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1019(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x138(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm1
movaps %xmm0,%xmm3
movsd  -0x128(%rbp),%xmm0
mulsd  %xmm3,%xmm2
movsd  0x1035(%rip),%xmm3
addsd  %xmm3,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xfc8(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x120(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xf87(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0xf56(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0xf46(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xf2d(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x100(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
movsd  0xf41(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xee8(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0xed8(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xeb7(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0xe8e(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0xe76(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xe65(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xf0(%rbp),%xmm2
ff
movsd  -0xe8(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
movsd  0xe71(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xe48(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0xe2b(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xe01(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0xdef(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0xdd7(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xdae(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xd8(%rbp),%xmm5
ff
movsd  -0xd0(%rbp),%xmm4
ff
movsd  -0xc8(%rbp),%xmm6
ff
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm3
ff
movsd  -0xb0(%rbp),%xmm1
ff
movaps %xmm0,%xmm7
movsd  -0xa8(%rbp),%xmm0
ff
mulsd  %xmm7,%xmm5
movq   %xmm5,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm5
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0xd23(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xd18(%rip),%xmm0
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  0xd00(%rip),%xmm0
mulsd  %xmm1,%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xcda(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xcc0(%rip),%xmm1
call   1030 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  0xc9c(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x98(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x90(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
add    $0x300,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Slater_2S_2S>:
sub    $0xa8,%rsp
movapd %xmm0,%xmm3
ucomisd %xmm1,%xmm2
movsd  %xmm0,0x28(%rsp)
addsd  %xmm0,%xmm3
movsd  %xmm2,0x10(%rsp)
jne    1342 <Slater_2S_2S+0x232>
jp     1342 <Slater_2S_2S+0x232>
mulsd  %xmm2,%xmm3
movsd  %xmm3,0x18(%rsp)
movsd  0xeb3(%rip),%xmm0
movapd %xmm3,%xmm1
call   1030 <pow@plt>
mulsd  0xf92(%rip),%xmm0
addsd  0xf92(%rip),%xmm0
movsd  0xf92(%rip),%xmm1
movsd  0x28(%rsp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x10(%rsp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm2,%xmm4
mulsd  %xmm2,%xmm4
movapd %xmm3,%xmm0
mulsd  %xmm3,%xmm0
mulsd  0xf6a(%rip),%xmm4
mulsd  %xmm0,%xmm4
addsd  %xmm1,%xmm4
movsd  %xmm4,0x20(%rsp)
movsd  0xe9c(%rip),%xmm1
movapd %xmm2,%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xe7f(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x8(%rsp),%xmm1
mulsd  0xf2c(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x20(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
movsd  0xe1c(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xdfd(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x20(%rsp),%xmm1
mulsd  0xeea(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0xe92(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xe73(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x8(%rsp),%xmm1
mulsd  0xea8(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x20(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
movsd  0xd78(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x30(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xd59(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x30(%rsp),%xmm1
mulsd  0xe66(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movsd  0xd36(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xd17(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x20(%rsp),%xmm1
mulsd  0xe24(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x30(%rsp),%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0xcdc(%rip),%xmm0
movsd  0x18(%rsp),%xmm1
call   1030 <pow@plt>
mulsd  0xdb9(%rip),%xmm0
mulsd  0x28(%rsp),%xmm0
jmp    1b88 <Slater_2S_2S+0xa78>
movsd  %xmm1,0x8(%rsp)
addsd  %xmm2,%xmm1
mulsd  %xmm3,%xmm1
movsd  %xmm1,0xa0(%rsp)
movsd  0xc9f(%rip),%xmm0
movsd  %xmm3,0x18(%rsp)
call   1030 <pow@plt>
mulsd  0xc94(%rip),%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x10(%rsp),%xmm0
mulsd  %xmm0,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm1
mulsd  %xmm1,%xmm1
movsd  %xmm1,0x20(%rsp)
subsd  %xmm1,%xmm0
movsd  %xmm0,0x98(%rsp)
movsd  0xc61(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x80(%rsp)
movsd  0x18(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
movsd  0xc2f(%rip),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x70(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xc1e(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x90(%rsp)
movsd  0xc18(%rip),%xmm1
movsd  0x10(%rsp),%xmm0
call   1030 <pow@plt>
mulsd  0xc0d(%rip),%xmm0
movsd  %xmm0,0x30(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xbf1(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x30(%rsp),%xmm0
movsd  0x28(%rsp),%xmm2
movapd %xmm2,%xmm1
mulsd  0xbe4(%rip),%xmm1
movsd  0x8(%rsp),%xmm4
mulsd  %xmm4,%xmm1
addsd  0xbb2(%rip),%xmm1
movapd %xmm2,%xmm3
mulsd  %xmm2,%xmm3
movsd  %xmm3,0x30(%rsp)
addsd  %xmm3,%xmm3
mulsd  0x20(%rsp),%xmm3
movsd  %xmm3,0x88(%rsp)
addsd  %xmm3,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x38(%rsp)
movsd  0xba3(%rip),%xmm1
movapd %xmm4,%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x48(%rsp)
movsd  0xb94(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  0x8(%rsp),%xmm1
addsd  0xb84(%rip),%xmm1
movsd  0xb84(%rip),%xmm2
mulsd  0x30(%rsp),%xmm2
mulsd  0x20(%rsp),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x60(%rsp)
movsd  0xb6e(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x50(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xb55(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x50(%rsp),%xmm0
addsd  0x60(%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
mulsd  0xb3e(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x38(%rsp),%xmm1
movsd  %xmm1,0x48(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0xaf8(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x60(%rsp)
movsd  0x28(%rsp),%xmm2
movapd %xmm2,%xmm0
mulsd  0xb0b(%rip),%xmm0
movsd  %xmm0,0x38(%rsp)
mulsd  0x8(%rsp),%xmm0
movsd  0xa9f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  0x30(%rsp),%xmm3
mulsd  %xmm1,%xmm3
mulsd  0x20(%rsp),%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,0x50(%rsp)
movapd %xmm2,%xmm0
movsd  0xabd(%rip),%xmm1
call   1030 <pow@plt>
addsd  %xmm0,%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xaa0(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x58(%rsp),%xmm0
addsd  0x50(%rsp),%xmm0
mulsd  0x60(%rsp),%xmm0
addsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xa27(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0xa6e(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x60(%rsp)
mulsd  0x8(%rsp),%xmm1
addsd  0xa58(%rip),%xmm1
movsd  0x30(%rsp),%xmm2
mulsd  0xa52(%rip),%xmm2
mulsd  0x20(%rsp),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x58(%rsp)
movsd  0xa12(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x9cd(%rip),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x9f1(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x68(%rsp),%xmm0
addsd  0x58(%rsp),%xmm0
mulsd  0x50(%rsp),%xmm0
addsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x978(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x50(%rsp)
movsd  0x9dd(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  0x8(%rsp),%xmm1
movsd  0x9cd(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  0x30(%rsp),%xmm2
mulsd  0x20(%rsp),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x58(%rsp)
movsd  0x973(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x92e(%rip),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x952(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x68(%rsp),%xmm0
addsd  0x58(%rsp),%xmm0
movsd  0x50(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
movsd  0x48(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x90(%rsp),%xmm0
mulsd  0x70(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movsd  0x80(%rsp),%xmm0
mulsd  0x78(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x80(%rsp)
movsd  0x18(%rsp),%xmm1
mulsd  0x8(%rsp),%xmm1
movsd  0x88c(%rip),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x87b(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8ea(%rip),%xmm0
mulsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x8de(%rip),%xmm1
movsd  0x10(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x877(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x70(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x836(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x70(%rsp),%xmm1
mulsd  0x853(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x18(%rsp),%xmm0
mulsd  0x78(%rsp),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x7e3(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x60(%rsp),%xmm0
mulsd  0x20(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x7d8(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x7a3(%rip),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x38(%rsp),%xmm0
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x79f(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x38(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x28(%rsp),%xmm0
mulsd  0x762(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x796(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x18(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  0x7b1(%rip),%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm0,%xmm2
addsd  0x38(%rsp),%xmm2
movsd  %xmm2,0x38(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x71f(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x75a(%rip),%xmm0
movsd  0x782(%rip),%xmm1
addsd  0x18(%rsp),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x38(%rsp),%xmm1
movsd  %xmm1,0x38(%rsp)
movsd  0x6c4(%rip),%xmm1
movsd  0x40(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
call   1030 <pow@plt>
mulsd  0x40(%rsp),%xmm0
movsd  0x743(%rip),%xmm1
addsd  0x18(%rsp),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x38(%rsp),%xmm1
movsd  %xmm1,0x38(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x687(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x66e(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x18(%rsp),%xmm1
addsd  0x6fb(%rip),%xmm1
movsd  0x40(%rsp),%xmm2
mulsd  0x6f5(%rip),%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm1,%xmm2
addsd  0x38(%rsp),%xmm2
movsd  %xmm2,0x40(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x663(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x5fc(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x18(%rsp),%xmm0
movsd  0x88(%rsp),%xmm1
addsd  0x6a0(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x40(%rsp),%xmm1
movsd  %xmm1,0x88(%rsp)
movsd  0x10(%rsp),%xmm0
movsd  0x5bf(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x5b2(%rip),%xmm0
movsd  0x20(%rsp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x30(%rsp),%xmm1
mulsd  0x5a2(%rip),%xmm1
mulsd  %xmm2,%xmm1
addsd  0x656(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x88(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movsd  0x643(%rip),%xmm1
movsd  0x10(%rsp),%xmm0
call   1030 <pow@plt>
movsd  %xmm0,0x10(%rsp)
movsd  0x632(%rip),%xmm0
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x550(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x56f(%rip),%xmm1
call   1030 <pow@plt>
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x50e(%rip),%xmm1
call   1030 <pow@plt>
movsd  0x40(%rsp),%xmm1
mulsd  0x5db(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x20(%rsp),%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  %xmm1,%xmm0
mulsd  0x10(%rsp),%xmm0
addsd  0x30(%rsp),%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x80(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x4b6(%rip),%xmm0
movsd  0xa0(%rsp),%xmm1
call   1030 <pow@plt>
mulsd  0x4a8(%rip),%xmm0
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x98(%rsp),%xmm0
movsd  0x493(%rip),%xmm1
call   1030 <pow@plt>
mulsd  0x10(%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
add    $0xa8,%rsp
ret

LLVM IR (-O0):
define double @Slater_2S_2S(double %0, double %1, double %2) {
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca double
store double %0, double* %4
store double %1, double* %5
store double %2, double* %6
%8 = load double, double* %6
%9 = load double, double* %5
%10 = fcmp oeq double %8, %9
br i1 %10, label %11, label %74
11: ; preds = %3
%12 = load double, double* %4
%13 = fmul double 2.000000e+00, %12
%14 = load double, double* %6
%15 = fmul double %13, %14
%16 = call double @pow(double 0x4005BF0A8B145769, double %15)
%17 = call double @llvm.fmuladd.f64(double 8.064000e+04, double %16, double -8.064000e+04)
%18 = load double, double* %4
%19 = fmul double 1.319850e+05, %18
%20 = load double, double* %6
%21 = fneg double %19
%22 = call double @llvm.fmuladd.f64(double %21, double %20, double %17)
%23 = load double, double* %4
%24 = call double @pow(double %23, double 2.000000e+00)
%25 = fmul double 1.026900e+05, %24
%26 = load double, double* %6
%27 = call double @pow(double %26, double 2.000000e+00)
%28 = fneg double %25
%29 = call double @llvm.fmuladd.f64(double %28, double %27, double %22)
%30 = load double, double* %4
%31 = call double @pow(double %30, double 3.000000e+00)
%32 = fmul double 4.998000e+04, %31
%33 = load double, double* %6
%34 = call double @pow(double %33, double 3.000000e+00)
%35 = fneg double %32
%36 = call double @llvm.fmuladd.f64(double %35, double %34, double %29)
%37 = load double, double* %4
%38 = call double @pow(double %37, double 4.000000e+00)
%39 = fmul double 1.680000e+04, %38
%40 = load double, double* %6
%41 = call double @pow(double %40, double 4.000000e+00)
%42 = fneg double %39
%43 = call double @llvm.fmuladd.f64(double %42, double %41, double %36)
%44 = load double, double* %4
%45 = call double @pow(double %44, double 5.000000e+00)
%46 = fmul double 4.032000e+03, %45
%47 = load double, double* %6
%48 = call double @pow(double %47, double 5.000000e+00)
%49 = fneg double %46
%50 = call double @llvm.fmuladd.f64(double %49, double %48, double %43)
%51 = load double, double* %4
%52 = call double @pow(double %51, double 6.000000e+00)
%53 = fmul double 6.720000e+02, %52
%54 = load double, double* %6
%55 = call double @pow(double %54, double 6.000000e+00)
%56 = fneg double %53
%57 = call double @llvm.fmuladd.f64(double %56, double %55, double %50)
%58 = load double, double* %4
%59 = call double @pow(double %58, double 7.000000e+00)
%60 = fmul double 6.400000e+01, %59
%61 = load double, double* %6
%62 = call double @pow(double %61, double 7.000000e+00)
%63 = fneg double %60
%64 = call double @llvm.fmuladd.f64(double %63, double %62, double %57)
%65 = load double, double* %4
%66 = fmul double 2.000000e+00, %65
%67 = load double, double* %6
%68 = fmul double %66, %67
%69 = call double @pow(double 0x4005BF0A8B145769, double %68)
%70 = fmul double 8.064000e+04, %69
%71 = load double, double* %4
%72 = fmul double %70, %71
%73 = fdiv double %64, %72
store double %73, double* %7
br label %348
74: ; preds = %3
%75 = load double, double* %4
%76 = fmul double 2.000000e+00, %75
%77 = load double, double* %6
%78 = load double, double* %5
%79 = fadd double %77, %78
%80 = fmul double %76, %79
%81 = call double @pow(double 0x4005BF0A8B145769, double %80)
%82 = fmul double 6.000000e+00, %81
%83 = load double, double* %6
%84 = call double @pow(double %83, double 2.000000e+00)
%85 = load double, double* %5
%86 = call double @pow(double %85, double 2.000000e+00)
%87 = fsub double %84, %86
%88 = call double @pow(double %87, double 7.000000e+00)
%89 = load double, double* %4
%90 = fmul double 2.000000e+00, %89
%91 = load double, double* %6
%92 = fmul double %90, %91
%93 = call double @pow(double 0x4005BF0A8B145769, double %92)
%94 = load double, double* %6
%95 = call double @pow(double %94, double 6.000000e+00)
%96 = fmul double %93, %95
%97 = load double, double* %6
%98 = call double @pow(double %97, double 4.000000e+00)
%99 = fmul double 2.100000e+01, %98
%100 = load double, double* %5
%101 = call double @pow(double %100, double 4.000000e+00)
%102 = fmul double %99, %101
%103 = load double, double* %4
%104 = fmul double 1.100000e+01, %103
%105 = load double, double* %5
%106 = call double @llvm.fmuladd.f64(double %104, double %105, double 6.000000e+00)
%107 = load double, double* %4
%108 = call double @pow(double %107, double 2.000000e+00)
%109 = fmul double 2.000000e+00, %108
%110 = load double, double* %5
%111 = call double @pow(double %110, double 2.000000e+00)
%112 = call double @llvm.fmuladd.f64(double %109, double %111, double %106)
%113 = load double, double* %5
%114 = call double @pow(double %113, double 8.000000e+00)
%115 = fmul double 2.000000e+00, %114
%116 = load double, double* %4
%117 = fmul double 5.400000e+01, %116
%118 = load double, double* %5
%119 = call double @llvm.fmuladd.f64(double %117, double %118, double 9.000000e+01)
%120 = load double, double* %4
%121 = call double @pow(double %120, double 2.000000e+00)
%122 = fmul double 1.200000e+01, %121
%123 = load double, double* %5
%124 = call double @pow(double %123, double 2.000000e+00)
%125 = call double @llvm.fmuladd.f64(double %122, double %124, double %119)
%126 = load double, double* %4
%127 = call double @pow(double %126, double 3.000000e+00)
%128 = load double, double* %5
%129 = call double @pow(double %128, double 3.000000e+00)
%130 = call double @llvm.fmuladd.f64(double %127, double %129, double %125)
%131 = fmul double %115, %130
%132 = fneg double %131
%133 = call double @llvm.fmuladd.f64(double %102, double %112, double %132)
%134 = load double, double* %6
%135 = call double @pow(double %134, double 8.000000e+00)
%136 = load double, double* %4
%137 = fmul double 9.000000e+00, %136
%138 = load double, double* %5
%139 = call double @llvm.fmuladd.f64(double %137, double %138, double 6.000000e+00)
%140 = load double, double* %4
%141 = call double @pow(double %140, double 2.000000e+00)
%142 = fmul double 6.000000e+00, %141
%143 = load double, double* %5
%144 = call double @pow(double %143, double 2.000000e+00)
%145 = call double @llvm.fmuladd.f64(double %142, double %144, double %139)
%146 = load double, double* %4
%147 = call double @pow(double %146, double 3.000000e+00)
%148 = fmul double 2.000000e+00, %147
%149 = load double, double* %5
%150 = call double @pow(double %149, double 3.000000e+00)
%151 = call double @llvm.fmuladd.f64(double %148, double %150, double %145)
%152 = call double @llvm.fmuladd.f64(double %135, double %151, double %133)
%153 = load double, double* %6
%154 = call double @pow(double %153, double 2.000000e+00)
%155 = load double, double* %5
%156 = call double @pow(double %155, double 6.000000e+00)
%157 = fmul double %154, %156
%158 = load double, double* %4
%159 = fmul double 6.900000e+01, %158
%160 = load double, double* %5
%161 = fneg double %159
%162 = call double @llvm.fmuladd.f64(double %161, double %160, double -3.900000e+02)
%163 = load double, double* %4
%164 = call double @pow(double %163, double 2.000000e+00)
%165 = fmul double 1.800000e+01, %164
%166 = load double, double* %5
%167 = call double @pow(double %166, double 2.000000e+00)
%168 = call double @llvm.fmuladd.f64(double %165, double %167, double %162)
%169 = load double, double* %4
%170 = call double @pow(double %169, double 3.000000e+00)
%171 = fmul double 4.000000e+00, %170
%172 = load double, double* %5
%173 = call double @pow(double %172, double 3.000000e+00)
%174 = call double @llvm.fmuladd.f64(double %171, double %173, double %168)
%175 = call double @llvm.fmuladd.f64(double %157, double %174, double %152)
%176 = load double, double* %6
%177 = call double @pow(double %176, double 6.000000e+00)
%178 = load double, double* %5
%179 = call double @pow(double %178, double 2.000000e+00)
%180 = fmul double %177, %179
%181 = load double, double* %4
%182 = fmul double 6.300000e+01, %181
%183 = load double, double* %5
%184 = call double @llvm.fmuladd.f64(double %182, double %183, double 4.200000e+01)
%185 = load double, double* %4
%186 = call double @pow(double %185, double 2.000000e+00)
%187 = fmul double 4.200000e+01, %186
%188 = load double, double* %5
%189 = call double @pow(double %188, double 2.000000e+00)
%190 = call double @llvm.fmuladd.f64(double %187, double %189, double %184)
%191 = load double, double* %4
%192 = call double @pow(double %191, double 3.000000e+00)
%193 = fmul double 4.000000e+00, %192
%194 = load double, double* %5
%195 = call double @pow(double %194, double 3.000000e+00)
%196 = call double @llvm.fmuladd.f64(double %193, double %195, double %190)
%197 = fneg double %180
%198 = call double @llvm.fmuladd.f64(double %197, double %196, double %175)
%199 = fmul double %96, %198
%200 = fneg double %199
%201 = call double @llvm.fmuladd.f64(double %82, double %88, double %200)
%202 = load double, double* %4
%203 = fmul double 2.000000e+00, %202
%204 = load double, double* %5
%205 = fmul double %203, %204
%206 = call double @pow(double 0x4005BF0A8B145769, double %205)
%207 = load double, double* %5
%208 = call double @pow(double %207, double 6.000000e+00)
%209 = fmul double %206, %208
%210 = load double, double* %4
%211 = call double @pow(double %210, double 2.000000e+00)
%212 = fmul double -2.400000e+01, %211
%213 = load double, double* %6
%214 = call double @pow(double %213, double 1.000000e+01)
%215 = load double, double* %4
%216 = call double @pow(double %215, double 3.000000e+00)
%217 = fmul double 2.000000e+00, %216
%218 = load double, double* %6
%219 = call double @pow(double %218, double 1.100000e+01)
%220 = fmul double %217, %219
%221 = fneg double %220
%222 = call double @llvm.fmuladd.f64(double %212, double %214, double %221)
%223 = load double, double* %4
%224 = fmul double 6.900000e+01, %223
%225 = load double, double* %6
%226 = call double @pow(double %225, double 7.000000e+00)
%227 = fmul double %224, %226
%228 = load double, double* %5
%229 = call double @pow(double %228, double 2.000000e+00)
%230 = fneg double %227
%231 = call double @llvm.fmuladd.f64(double %230, double %229, double %222)
%232 = load double, double* %5
%233 = call double @pow(double %232, double 8.000000e+00)
%234 = call double @llvm.fmuladd.f64(double 6.000000e+00, double %233, double %231)
%235 = load double, double* %4
%236 = fmul double 9.000000e+00, %235
%237 = load double, double* %6
%238 = fmul double %236, %237
%239 = load double, double* %5
%240 = call double @pow(double %239, double 8.000000e+00)
%241 = call double @llvm.fmuladd.f64(double %238, double %240, double %234)
%242 = load double, double* %4
%243 = fmul double 4.000000e+00, %242
%244 = load double, double* %6
%245 = call double @pow(double %244, double 9.000000e+00)
%246 = fmul double %243, %245
%247 = load double, double* %4
%248 = call double @pow(double %247, double 2.000000e+00)
%249 = load double, double* %5
%250 = call double @pow(double %249, double 2.000000e+00)
%251 = call double @llvm.fmuladd.f64(double %248, double %250, double -2.700000e+01)
%252 = call double @llvm.fmuladd.f64(double %246, double %251, double %241)
%253 = load double, double* %6
%254 = call double @pow(double %253, double 8.000000e+00)
%255 = fmul double 1.800000e+01, %254
%256 = load double, double* %4
%257 = call double @pow(double %256, double 2.000000e+00)
%258 = load double, double* %5
%259 = call double @pow(double %258, double 2.000000e+00)
%260 = call double @llvm.fmuladd.f64(double %257, double %259, double -1.000000e+01)
%261 = call double @llvm.fmuladd.f64(double %255, double %260, double %252)
%262 = load double, double* %6
%263 = call double @pow(double %262, double 2.000000e+00)
%264 = fmul double 6.000000e+00, %263
%265 = load double, double* %5
%266 = call double @pow(double %265, double 6.000000e+00)
%267 = fmul double %264, %266
%268 = load double, double* %4
%269 = call double @pow(double %268, double 2.000000e+00)
%270 = load double, double* %5
%271 = call double @pow(double %270, double 2.000000e+00)
%272 = call double @llvm.fmuladd.f64(double %269, double %271, double -7.000000e+00)
%273 = call double @llvm.fmuladd.f64(double %267, double %272, double %261)
%274 = load double, double* %6
%275 = call double @pow(double %274, double 4.000000e+00)
%276 = fmul double 4.200000e+01, %275
%277 = load double, double* %5
%278 = call double @pow(double %277, double 4.000000e+00)
%279 = fmul double %276, %278
%280 = load double, double* %4
%281 = call double @pow(double %280, double 2.000000e+00)
%282 = load double, double* %5
%283 = call double @pow(double %282, double 2.000000e+00)
%284 = call double @llvm.fmuladd.f64(double %281, double %283, double -3.000000e+00)
%285 = fneg double %279
%286 = call double @llvm.fmuladd.f64(double %285, double %284, double %273)
%287 = load double, double* %4
%288 = load double, double* %6
%289 = call double @pow(double %288, double 3.000000e+00)
%290 = fmul double %287, %289
%291 = load double, double* %5
%292 = call double @pow(double %291, double 6.000000e+00)
%293 = fmul double %290, %292
%294 = load double, double* %4
%295 = call double @pow(double %294, double 2.000000e+00)
%296 = fmul double 2.000000e+00, %295
%297 = load double, double* %5
%298 = call double @pow(double %297, double 2.000000e+00)
%299 = call double @llvm.fmuladd.f64(double %296, double %298, double -6.300000e+01)
%300 = call double @llvm.fmuladd.f64(double %293, double %299, double %286)
%301 = load double, double* %6
%302 = call double @pow(double %301, double 6.000000e+00)
%303 = fmul double 6.000000e+00, %302
%304 = load double, double* %5
%305 = call double @pow(double %304, double 2.000000e+00)
%306 = fmul double %303, %305
%307 = load double, double* %4
%308 = call double @pow(double %307, double 2.000000e+00)
%309 = fmul double 7.000000e+00, %308
%310 = load double, double* %5
%311 = call double @pow(double %310, double 2.000000e+00)
%312 = call double @llvm.fmuladd.f64(double %309, double %311, double -6.500000e+01)
%313 = call double @llvm.fmuladd.f64(double %306, double %312, double %300)
%314 = load double, double* %6
%315 = call double @pow(double %314, double 5.000000e+00)
%316 = load double, double* %4
%317 = fmul double 2.310000e+02, %316
%318 = load double, double* %5
%319 = call double @pow(double %318, double 4.000000e+00)
%320 = load double, double* %4
%321 = call double @pow(double %320, double 3.000000e+00)
%322 = fmul double 4.000000e+00, %321
%323 = load double, double* %5
%324 = call double @pow(double %323, double 6.000000e+00)
%325 = fmul double %322, %324
%326 = fneg double %325
%327 = call double @llvm.fmuladd.f64(double %317, double %319, double %326)
%328 = call double @llvm.fmuladd.f64(double %315, double %327, double %313)
%329 = call double @llvm.fmuladd.f64(double %209, double %328, double %201)
%330 = load double, double* %4
%331 = fmul double 2.000000e+00, %330
%332 = load double, double* %6
%333 = load double, double* %5
%334 = fadd double %332, %333
%335 = fmul double %331, %334
%336 = call double @pow(double 0x4005BF0A8B145769, double %335)
%337 = fmul double 6.000000e+00, %336
%338 = load double, double* %4
%339 = fmul double %337, %338
%340 = load double, double* %6
%341 = call double @pow(double %340, double 2.000000e+00)
%342 = load double, double* %5
%343 = call double @pow(double %342, double 2.000000e+00)
%344 = fsub double %341, %343
%345 = call double @pow(double %344, double 7.000000e+00)
%346 = fmul double %339, %345
%347 = fdiv double %329, %346
store double %347, double* %7
br label %348
348: ; preds = %74, %11
%349 = load double, double* %7
ret double %349
}

LLVM IR (-O2):
define double @Slater_2S_2S(double %0, double %1, double %2) {
%4 = fcmp oeq double %2, %1
%5 = fmul double %0, 2.000000e+00
br i1 %4, label %6, label %40
6: ; preds = %3
%7 = fmul double %5, %2
%8 = tail call double @pow(double 0x4005BF0A8B145769, double %7)
%9 = tail call double @llvm.fmuladd.f64(double %8, double 8.064000e+04, double -8.064000e+04)
%10 = fmul double %0, -1.319850e+05
%11 = tail call double @llvm.fmuladd.f64(double %10, double %2, double %9)
%12 = fmul double %0, %0
%13 = fmul double %2, %2
%14 = fmul double %12, -1.026900e+05
%15 = tail call double @llvm.fmuladd.f64(double %14, double %13, double %11)
%16 = tail call double @pow(double %0, double 3.000000e+00)
%17 = tail call double @pow(double %2, double 3.000000e+00)
%18 = fmul double %16, -4.998000e+04
%19 = tail call double @llvm.fmuladd.f64(double %18, double %17, double %15)
%20 = tail call double @pow(double %0, double 4.000000e+00)
%21 = tail call double @pow(double %2, double 4.000000e+00)
%22 = fmul double %20, -1.680000e+04
%23 = tail call double @llvm.fmuladd.f64(double %22, double %21, double %19)
%24 = tail call double @pow(double %0, double 5.000000e+00)
%25 = tail call double @pow(double %2, double 5.000000e+00)
%26 = fmul double %24, -4.032000e+03
%27 = tail call double @llvm.fmuladd.f64(double %26, double %25, double %23)
%28 = tail call double @pow(double %0, double 6.000000e+00)
%29 = tail call double @pow(double %2, double 6.000000e+00)
%30 = fmul double %28, -6.720000e+02
%31 = tail call double @llvm.fmuladd.f64(double %30, double %29, double %27)
%32 = tail call double @pow(double %0, double 7.000000e+00)
%33 = tail call double @pow(double %2, double 7.000000e+00)
%34 = fmul double %32, -6.400000e+01
%35 = tail call double @llvm.fmuladd.f64(double %34, double %33, double %31)
%36 = tail call double @pow(double 0x4005BF0A8B145769, double %7)
%37 = fmul double %36, 8.064000e+04
%38 = fmul double %37, %0
%39 = fdiv double %35, %38
br label %176
40: ; preds = %3
%41 = fadd double %1, %2
%42 = fmul double %5, %41
%43 = tail call double @pow(double 0x4005BF0A8B145769, double %42)
%44 = fmul double %43, 6.000000e+00
%45 = fmul double %2, %2
%46 = fmul double %1, %1
%47 = fsub double %45, %46
%48 = tail call double @pow(double %47, double 7.000000e+00)
%49 = fmul double %5, %2
%50 = tail call double @pow(double 0x4005BF0A8B145769, double %49)
%51 = tail call double @pow(double %2, double 6.000000e+00)
%52 = tail call double @pow(double %2, double 4.000000e+00)
%53 = fmul double %52, 2.100000e+01
%54 = tail call double @pow(double %1, double 4.000000e+00)
%55 = fmul double %53, %54
%56 = fmul double %0, 1.100000e+01
%57 = tail call double @llvm.fmuladd.f64(double %56, double %1, double 6.000000e+00)
%58 = fmul double %0, %0
%59 = fmul double %58, 2.000000e+00
%60 = tail call double @llvm.fmuladd.f64(double %59, double %46, double %57)
%61 = tail call double @pow(double %1, double 8.000000e+00)
%62 = fmul double %0, 5.400000e+01
%63 = tail call double @llvm.fmuladd.f64(double %62, double %1, double 9.000000e+01)
%64 = fmul double %58, 1.200000e+01
%65 = tail call double @llvm.fmuladd.f64(double %64, double %46, double %63)
%66 = tail call double @pow(double %0, double 3.000000e+00)
%67 = tail call double @pow(double %1, double 3.000000e+00)
%68 = tail call double @llvm.fmuladd.f64(double %66, double %67, double %65)
%69 = fmul double %61, -2.000000e+00
%70 = fmul double %69, %68
%71 = tail call double @llvm.fmuladd.f64(double %55, double %60, double %70)
%72 = tail call double @pow(double %2, double 8.000000e+00)
%73 = fmul double %0, 9.000000e+00
%74 = tail call double @llvm.fmuladd.f64(double %73, double %1, double 6.000000e+00)
%75 = fmul double %58, 6.000000e+00
%76 = tail call double @llvm.fmuladd.f64(double %75, double %46, double %74)
%77 = tail call double @pow(double %0, double 3.000000e+00)
%78 = fmul double %77, 2.000000e+00
%79 = tail call double @pow(double %1, double 3.000000e+00)
%80 = tail call double @llvm.fmuladd.f64(double %78, double %79, double %76)
%81 = tail call double @llvm.fmuladd.f64(double %72, double %80, double %71)
%82 = tail call double @pow(double %1, double 6.000000e+00)
%83 = fmul double %45, %82
%84 = fmul double %0, -6.900000e+01
%85 = tail call double @llvm.fmuladd.f64(double %84, double %1, double -3.900000e+02)
%86 = fmul double %58, 1.800000e+01
%87 = tail call double @llvm.fmuladd.f64(double %86, double %46, double %85)
%88 = tail call double @pow(double %0, double 3.000000e+00)
%89 = fmul double %88, 4.000000e+00
%90 = tail call double @pow(double %1, double 3.000000e+00)
%91 = tail call double @llvm.fmuladd.f64(double %89, double %90, double %87)
%92 = tail call double @llvm.fmuladd.f64(double %83, double %91, double %81)
%93 = tail call double @pow(double %2, double 6.000000e+00)
%94 = fmul double %0, 6.300000e+01
%95 = tail call double @llvm.fmuladd.f64(double %94, double %1, double 4.200000e+01)
%96 = fmul double %58, 4.200000e+01
%97 = tail call double @llvm.fmuladd.f64(double %96, double %46, double %95)
%98 = tail call double @pow(double %0, double 3.000000e+00)
%99 = fmul double %98, 4.000000e+00
%100 = tail call double @pow(double %1, double 3.000000e+00)
%101 = tail call double @llvm.fmuladd.f64(double %99, double %100, double %97)
%102 = fneg double %93
%103 = fmul double %46, %102
%104 = tail call double @llvm.fmuladd.f64(double %103, double %101, double %92)
%105 = fneg double %50
%106 = fmul double %51, %105
%107 = fmul double %106, %104
%108 = tail call double @llvm.fmuladd.f64(double %44, double %48, double %107)
%109 = fmul double %5, %1
%110 = tail call double @pow(double 0x4005BF0A8B145769, double %109)
%111 = tail call double @pow(double %1, double 6.000000e+00)
%112 = fmul double %110, %111
%113 = fmul double %58, -2.400000e+01
%114 = tail call double @pow(double %2, double 1.000000e+01)
%115 = tail call double @pow(double %0, double 3.000000e+00)
%116 = tail call double @pow(double %2, double 1.100000e+01)
%117 = fmul double %115, -2.000000e+00
%118 = fmul double %117, %116
%119 = tail call double @llvm.fmuladd.f64(double %113, double %114, double %118)
%120 = tail call double @pow(double %2, double 7.000000e+00)
%121 = fmul double %84, %120
%122 = tail call double @llvm.fmuladd.f64(double %121, double %46, double %119)
%123 = tail call double @pow(double %1, double 8.000000e+00)
%124 = tail call double @llvm.fmuladd.f64(double %123, double 6.000000e+00, double %122)
%125 = fmul double %73, %2
%126 = tail call double @pow(double %1, double 8.000000e+00)
%127 = tail call double @llvm.fmuladd.f64(double %125, double %126, double %124)
%128 = fmul double %0, 4.000000e+00
%129 = tail call double @pow(double %2, double 9.000000e+00)
%130 = fmul double %128, %129
%131 = tail call double @llvm.fmuladd.f64(double %58, double %46, double -2.700000e+01)
%132 = tail call double @llvm.fmuladd.f64(double %130, double %131, double %127)
%133 = tail call double @pow(double %2, double 8.000000e+00)
%134 = fmul double %133, 1.800000e+01
%135 = tail call double @llvm.fmuladd.f64(double %58, double %46, double -1.000000e+01)
%136 = tail call double @llvm.fmuladd.f64(double %134, double %135, double %132)
%137 = fmul double %45, 6.000000e+00
%138 = tail call double @pow(double %1, double 6.000000e+00)
%139 = fmul double %137, %138
%140 = tail call double @llvm.fmuladd.f64(double %58, double %46, double -7.000000e+00)
%141 = tail call double @llvm.fmuladd.f64(double %139, double %140, double %136)
%142 = tail call double @pow(double %2, double 4.000000e+00)
%143 = tail call double @pow(double %1, double 4.000000e+00)
%144 = tail call double @llvm.fmuladd.f64(double %58, double %46, double -3.000000e+00)
%145 = fmul double %142, -4.200000e+01
%146 = fmul double %145, %143
%147 = tail call double @llvm.fmuladd.f64(double %146, double %144, double %141)
%148 = tail call double @pow(double %2, double 3.000000e+00)
%149 = fmul double %148, %0
%150 = tail call double @pow(double %1, double 6.000000e+00)
%151 = fmul double %149, %150
%152 = tail call double @llvm.fmuladd.f64(double %59, double %46, double -6.300000e+01)
%153 = tail call double @llvm.fmuladd.f64(double %151, double %152, double %147)
%154 = tail call double @pow(double %2, double 6.000000e+00)
%155 = fmul double %154, 6.000000e+00
%156 = fmul double %46, %155
%157 = fmul double %58, 7.000000e+00
%158 = tail call double @llvm.fmuladd.f64(double %157, double %46, double -6.500000e+01)
%159 = tail call double @llvm.fmuladd.f64(double %156, double %158, double %153)
%160 = tail call double @pow(double %2, double 5.000000e+00)
%161 = fmul double %0, 2.310000e+02
%162 = tail call double @pow(double %1, double 4.000000e+00)
%163 = tail call double @pow(double %0, double 3.000000e+00)
%164 = tail call double @pow(double %1, double 6.000000e+00)
%165 = fmul double %163, -4.000000e+00
%166 = fmul double %165, %164
%167 = tail call double @llvm.fmuladd.f64(double %161, double %162, double %166)
%168 = tail call double @llvm.fmuladd.f64(double %160, double %167, double %159)
%169 = tail call double @llvm.fmuladd.f64(double %112, double %168, double %108)
%170 = tail call double @pow(double 0x4005BF0A8B145769, double %42)
%171 = fmul double %170, 6.000000e+00
%172 = fmul double %171, %0
%173 = tail call double @pow(double %47, double 7.000000e+00)
%174 = fmul double %173, %172
%175 = fdiv double %169, %174
br label %176
176: ; preds = %40, %6
%177 = phi double [ %39, %6 ], [ %175, %40 ]
ret double %177
}