#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int pow(double, double);
double DSlater_1S_2S(double rij, double xij, double xii) {
  double S;
  if (xii == xij) {
    S = (-120.0 +
         120.0 * (pow((double)(2.71828182845904523536029),
                      (double)(2.0 * rij * xii))) -
         240.0 * rij * xii -
         240.0 * (pow((double)(rij), (double)(2.0))) *
             (pow((double)(xii), (double)(2.0))) -
         155.0 * (pow((double)(rij), (double)(3.0))) *
             (pow((double)(xii), (double)(3.0))) -
         70.0 * (pow((double)(rij), (double)(4.0))) *
             (pow((double)(xii), (double)(4.0))) -
         22.0 * (pow((double)(rij), (double)(5.0))) *
             (pow((double)(xii), (double)(5.0))) -
         4.0 * (pow((double)(rij), (double)(6.0))) *
             (pow((double)(xii), (double)(6.0)))) /
        (120. *
         (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)(5.0))) +
         3.0 *
             (pow((double)(2.71828182845904523536029),
                  (double)(2.0 * rij * xij))) *
             (pow((double)(xij), (double)(6.0))) *
             (-4.0 * (pow((double)(xii), (double)(4.0))) -
              8.0 * rij * (pow((double)(xii), (double)(5.0))) -
              2.0 * (pow((double)(rij), (double)(2.0))) *
                  (pow((double)(xii), (double)(6.0))) -
              10.0 * rij * (pow((double)(xii), (double)(3.0))) *
                  (pow((double)(xij), (double)(2.0))) +
              (pow((double)(xij), (double)(4.0))) +
              2.0 * rij * xii * (pow((double)(xij), (double)(4.0))) +
              (pow((double)(xii), (double)(2.0))) *
                  (pow((double)(xij), (double)(2.0))) *
                  (-5.0 + 2.0 * (pow((double)(rij), (double)(2.0))) *
                              (pow((double)(xij), (double)(2.0))))) +
         (pow((double)(2.71828182845904523536029), (double)(2.0 * rij * xii))) *
             (pow((double)(xii), (double)(4.0))) *
             (-6.0 * (pow((double)(xii), (double)(2.0))) *
                  (pow((double)(xij), (double)(4.0))) *
                  (5.0 + 10.0 * rij * xij +
                   13.0 * (pow((double)(rij), (double)(2.0))) *
                       (pow((double)(xij), (double)(2.0))) +
                   6.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)))) +
              2.0 * (pow((double)(xij), (double)(6.0))) *
                  (21.0 + 42.0 * rij * xij +
                   27.0 * (pow((double)(rij), (double)(2.0))) *
                       (pow((double)(xij), (double)(2.0))) +
                   8.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)(6.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)))) +
              3.0 * (pow((double)(xii), (double)(4.0))) *
                  (pow((double)(xij), (double)(2.0))) *
                  (5.0 + 10.0 * rij * xij +
                   10.0 * (pow((double)(rij), (double)(2.0))) *
                       (pow((double)(xij), (double)(2.0))) +
                   8.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)))))) /
        (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)(5.0))));
  }
  return S;
}


x86 assembly (clang, -O0):
<DSlater_1S_2S>:
push   %rbp
mov    %rsp,%rbp
sub    $0x260,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  -0x18(%rbp),%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    142e <DSlater_1S_2S+0x31e>
jp     142e <DSlater_1S_2S+0x31e>
movsd  0xec0(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0xebe(%rip),%xmm0
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xf0d(%rip),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xf29(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  0xf15(%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,-0x78(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0xe4a(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xec9(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xe23(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x80(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm1
cvtsi2sd %eax,%xmm2
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  0xde7(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xe56(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xdc0(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x70(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
cvtsi2sd %eax,%xmm2
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  0xd8c(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xde3(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xd65(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x60(%rbp),%xmm0
movsd  -0x58(%rbp),%xmm1
cvtsi2sd %eax,%xmm2
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  0xd01(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xd70(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xcda(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x50(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm1
cvtsi2sd %eax,%xmm2
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  0xcce(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xca5(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xca7(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x40(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
cvtsi2sd %eax,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0xc38(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0xc36(%rip),%xmm0
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xc85(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0xbff(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x30(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm0
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    1f99 <DSlater_1S_2S+0xe89>
movsd  0xbd2(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xbc7(%rip),%xmm0
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xbae(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xb8d(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,-0x254(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xb75(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ecx
mov    -0x254(%rbp),%eax
sub    %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  0xb52(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  0xb41(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x10(%rbp),%xmm1
movsd  0xb3f(%rip),%xmm0
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xb26(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xb35(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x250(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xaf3(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0xae2(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xaa0(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x248(%rbp),%xmm1
ff
movsd  -0x240(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xad4(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0xa4f(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0xa3e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xa55(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x238(%rbp),%xmm0
ff
movsd  -0x230(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0xa05(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x9cb(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x228(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x999(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x220(%rbp),%xmm0
ff
movsd  -0x218(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x964(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x210(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x927(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x920(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x208(%rbp),%xmm0
ff
movsd  -0x200(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x8d2(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,-0x1f4(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x8ba(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ecx
mov    -0x1f4(%rbp),%eax
imul   %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x891(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x880(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x867(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1f0(%rbp),%xmm5
ff
movsd  -0x1e8(%rbp),%xmm3
ff
movsd  -0x1e0(%rbp),%xmm4
ff
movsd  -0x1d8(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm0
ff
movsd  -0x1c8(%rbp),%xmm2
ff
cvtsi2sd %eax,%xmm6
mulsd  %xmm6,%xmm5
movsd  0x882(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x7fa(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
movsd  0x7f8(%rip),%xmm0
call   1030 <pow@plt>
mov    %eax,-0x1bc(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0x7e8(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ecx
mov    -0x1bc(%rbp),%eax
imul   %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x7a7(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x7ee(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x795(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1b8(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  0x780(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x73a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x729(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x768(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x6ff(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1b0(%rbp),%xmm0
ff
movsd  -0x1a8(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x6d1(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x6e8(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x6a7(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x1a0(%rbp),%xmm0
ff
movsd  -0x198(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x681(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,-0x184(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x669(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x190(%rbp),%xmm0
ff
mov    %eax,%ecx
mov    -0x184(%rbp),%eax
imul   %ecx,%eax
cvtsi2sd %eax,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x64c(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x60b(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  0x63f(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x621(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x5c8(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x5ef(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x59e(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x180(%rbp),%xmm0
ff
movsd  -0x178(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x570(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x577(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x546(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x170(%rbp),%xmm0
ff
movsd  -0x168(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x520(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,-0x13c(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x508(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x160(%rbp),%xmm3
ff
movsd  -0x158(%rbp),%xmm1
ff
movsd  -0x150(%rbp),%xmm0
ff
movsd  -0x148(%rbp),%xmm2
ff
mov    %eax,%ecx
mov    -0x13c(%rbp),%eax
imul   %ecx,%eax
cvtsi2sd %eax,%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x4c7(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x4ae(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x470(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x44f(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x46e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x425(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x138(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x3f7(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x3f6(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x3cd(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x128(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x3a7(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x37e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x37d(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x118(%rbp),%xmm2
ff
movsd  -0x110(%rbp),%xmm3
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0x318(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x2f7(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x2d6(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xf8(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x2d9(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x293(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x282(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x299(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x258(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x22a(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x231(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x200(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xd8(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0x1da(%rip),%xmm1
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x1b1(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1b0(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xd0(%rbp),%xmm4
ff
movsd  -0xc8(%rbp),%xmm5
ff
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm3
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
cvtsi2sd %eax,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x137(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x12c(%rip),%xmm0
call   1030 <pow@plt>
cvtsi2sd %eax,%xmm1
movsd  0x113(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  0xf2(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0xa0(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xc8(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,-0x94(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xb0(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ecx
mov    -0x94(%rbp),%eax
sub    %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  0x8d(%rip),%xmm1
call   1030 <pow@plt>
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
add    $0x260,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<DSlater_1S_2S>:
push   %rbx
sub    $0x60,%rsp
ucomisd %xmm1,%xmm2
movsd  %xmm0,0x28(%rsp)
addsd  %xmm0,%xmm0
movsd  %xmm2,0x30(%rsp)
jne    137a <DSlater_1S_2S+0x26a>
jp     137a <DSlater_1S_2S+0x26a>
mulsd  %xmm2,%xmm0
movsd  0xebf(%rip),%xmm3
movapd %xmm0,%xmm1
movsd  %xmm0,0x20(%rsp)
movapd %xmm3,%xmm0
call   1030 <pow@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mulsd  0xf25(%rip),%xmm1
addsd  0xf25(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
movapd %xmm0,%xmm2
mulsd  0xf1b(%rip),%xmm2
mulsd  0x30(%rsp),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x10(%rsp)
movsd  0xe7b(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xe5b(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x8(%rsp),%xmm1
mulsd  0xec9(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x10(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
movsd  0xe21(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xdfb(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x10(%rsp),%xmm1
mulsd  0xe79(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  0xde9(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xdc3(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x8(%rsp),%xmm1
mulsd  0xe29(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x10(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
movsd  0xd81(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xd5b(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x40(%rsp),%xmm1
mulsd  0xdd9(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movsd  %xmm1,0x40(%rsp)
movsd  0xd31(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xd0b(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x10(%rsp),%xmm1
mulsd  0xd09(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x40(%rsp),%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  0xcb9(%rip),%xmm0
movsd  0x20(%rsp),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0xd27(%rip),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0xc9b(%rip),%xmm1
jmp    1c80 <DSlater_1S_2S+0xb70>
movapd %xmm1,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm0,%xmm3
movsd  %xmm3,0x58(%rsp)
movsd  %xmm0,0x20(%rsp)
movsd  0xc66(%rip),%xmm0
movsd  %xmm1,0x8(%rsp)
movapd %xmm3,%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0xc50(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0xc4a(%rip),%xmm1
movsd  0x30(%rsp),%xmm0
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x8(%rsp),%xmm0
movsd  0xc2f(%rip),%xmm1
call   1030 <pow@plt>
sub    %eax,%ebx
xorps  %xmm0,%xmm0
cvtsi2sd %ebx,%xmm0
movsd  0xc21(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x20(%rsp),%xmm1
mulsd  0x8(%rsp),%xmm1
movsd  0xbdd(%rip),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0xbd1(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0xbdb(%rip),%xmm1
movsd  0x8(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0xbbd(%rip),%xmm1
movsd  0x30(%rsp),%xmm0
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xb87(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm2,%xmm2
cvtsi2sd %eax,%xmm2
movsd  0xb8b(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  %xmm2,%xmm1
movsd  0x10(%rsp),%xmm2
mulsd  0xb77(%rip),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x10(%rsp)
movsd  0xb3d(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xb2d(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x40(%rsp),%xmm1
mulsd  0xb33(%rip),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x10(%rsp),%xmm1
movsd  %xmm1,0x40(%rsp)
movsd  0x28(%rsp),%xmm0
mulsd  0xb1d(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xac9(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xab1(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x18(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x40(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xa8f(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x20(%rsp),%xmm0
mulsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xa57(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x20(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0xa13(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x8(%rsp),%xmm0
movsd  0x9fe(%rip),%xmm1
call   1030 <pow@plt>
imul   %ebx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x9db(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  %xmm0,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x9b7(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x9dd(%rip),%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
mulsd  0x38(%rsp),%xmm0
addsd  0x50(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x967(%rip),%xmm0
movsd  0x20(%rsp),%xmm1
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x30(%rsp),%xmm0
movsd  0x974(%rip),%xmm1
call   1030 <pow@plt>
imul   %ebx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0x939(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x96d(%rip),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x929(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x10(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
addsd  0x8ed(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x8d1(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x90d(%rip),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x8a9(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x38(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x875(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x879(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x84d(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x841(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x8(%rsp),%xmm0
movsd  0x82c(%rip),%xmm1
call   1030 <pow@plt>
imul   %ebx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x38(%rsp),%xmm0
mulsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x7f5(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  %xmm0,%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x81f(%rip),%xmm1
movsd  0x28(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  0x8(%rsp),%xmm1
addsd  0x80f(%rip),%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  0x7a1(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x7f5(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x779(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x745(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x7a9(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x71d(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x711(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x8(%rsp),%xmm0
movsd  0x6fc(%rip),%xmm1
call   1030 <pow@plt>
imul   %ebx,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x18(%rsp),%xmm0
mulsd  0x38(%rsp),%xmm0
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0x6bf(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x28(%rsp),%xmm0
movapd %xmm0,%xmm1
mulsd  0x69b(%rip),%xmm1
mulsd  0x8(%rsp),%xmm1
addsd  0x675(%rip),%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  0x66f(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x66b(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x647(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x613(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x61f(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x5eb(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x5df(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  %xmm0,%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x5bb(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x48(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
mulsd  0x38(%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0x57f(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x54b(%rip),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x53f(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x38(%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x519(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x53d(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x4f1(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x4bd(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x521(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x495(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x489(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  %xmm0,%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x465(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x18(%rsp),%xmm0
addsd  0x10(%rsp),%xmm0
mulsd  0x38(%rsp),%xmm0
addsd  0x20(%rsp),%xmm0
mulsd  0x50(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x3ff(%rip),%xmm0
movsd  0x58(%rsp),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x3ed(%rip),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  0x3e1(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x30(%rsp),%xmm0
movsd  0x3bb(%rip),%xmm1
call   1030 <pow@plt>
mov    %eax,%ebx
movsd  0x8(%rsp),%xmm0
movsd  0x3a6(%rip),%xmm1
call   1030 <pow@plt>
sub    %eax,%ebx
xorps  %xmm0,%xmm0
cvtsi2sd %ebx,%xmm0
movsd  0x398(%rip),%xmm1
call   1030 <pow@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mulsd  0x20(%rsp),%xmm1
movsd  0x10(%rsp),%xmm0
divsd  %xmm1,%xmm0
add    $0x60,%rsp
pop    %rbx
ret

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

LLVM IR (-O2):
define double @DSlater_1S_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 %47
6: ; preds = %3
%7 = fmul double %5, %2
%8 = tail call i32 @pow(double 0x4005BF0A8B145769, double %7)
%9 = sitofp i32 %8 to double
%10 = tail call double @llvm.fmuladd.f64(double %9, double 1.200000e+02, double -1.200000e+02)
%11 = fmul double %0, -2.400000e+02
%12 = tail call double @llvm.fmuladd.f64(double %11, double %2, double %10)
%13 = tail call i32 @pow(double %0, double 2.000000e+00)
%14 = sitofp i32 %13 to double
%15 = tail call i32 @pow(double %2, double 2.000000e+00)
%16 = sitofp i32 %15 to double
%17 = fmul double %14, -2.400000e+02
%18 = tail call double @llvm.fmuladd.f64(double %17, double %16, double %12)
%19 = tail call i32 @pow(double %0, double 3.000000e+00)
%20 = sitofp i32 %19 to double
%21 = tail call i32 @pow(double %2, double 3.000000e+00)
%22 = sitofp i32 %21 to double
%23 = fmul double %20, -1.550000e+02
%24 = tail call double @llvm.fmuladd.f64(double %23, double %22, double %18)
%25 = tail call i32 @pow(double %0, double 4.000000e+00)
%26 = sitofp i32 %25 to double
%27 = tail call i32 @pow(double %2, double 4.000000e+00)
%28 = sitofp i32 %27 to double
%29 = fmul double %26, -7.000000e+01
%30 = tail call double @llvm.fmuladd.f64(double %29, double %28, double %24)
%31 = tail call i32 @pow(double %0, double 5.000000e+00)
%32 = sitofp i32 %31 to double
%33 = tail call i32 @pow(double %2, double 5.000000e+00)
%34 = sitofp i32 %33 to double
%35 = fmul double %32, -2.200000e+01
%36 = tail call double @llvm.fmuladd.f64(double %35, double %34, double %30)
%37 = tail call i32 @pow(double %0, double 6.000000e+00)
%38 = sitofp i32 %37 to double
%39 = tail call i32 @pow(double %2, double 6.000000e+00)
%40 = sitofp i32 %39 to double
%41 = fmul double %38, -4.000000e+00
%42 = tail call double @llvm.fmuladd.f64(double %41, double %40, double %36)
%43 = tail call i32 @pow(double 0x4005BF0A8B145769, double %7)
%44 = sitofp i32 %43 to double
%45 = fmul double %44, 1.200000e+02
%46 = tail call i32 @pow(double %0, double 2.000000e+00)
br label %220
47: ; preds = %3
%48 = fadd double %1, %2
%49 = fmul double %5, %48
%50 = tail call i32 @pow(double 0x4005BF0A8B145769, double %49)
%51 = sitofp i32 %50 to double
%52 = fmul double %51, 3.000000e+00
%53 = tail call i32 @pow(double %2, double 2.000000e+00)
%54 = tail call i32 @pow(double %1, double 2.000000e+00)
%55 = sub nsw i32 %53, %54
%56 = sitofp i32 %55 to double
%57 = tail call i32 @pow(double %56, double 5.000000e+00)
%58 = sitofp i32 %57 to double
%59 = fmul double %5, %1
%60 = tail call i32 @pow(double 0x4005BF0A8B145769, double %59)
%61 = sitofp i32 %60 to double
%62 = fmul double %61, 3.000000e+00
%63 = tail call i32 @pow(double %1, double 6.000000e+00)
%64 = sitofp i32 %63 to double
%65 = fmul double %62, %64
%66 = tail call i32 @pow(double %2, double 4.000000e+00)
%67 = sitofp i32 %66 to double
%68 = tail call i32 @pow(double %2, double 5.000000e+00)
%69 = sitofp i32 %68 to double
%70 = fmul double %0, -8.000000e+00
%71 = fmul double %70, %69
%72 = tail call double @llvm.fmuladd.f64(double %67, double -4.000000e+00, double %71)
%73 = tail call i32 @pow(double %0, double 2.000000e+00)
%74 = sitofp i32 %73 to double
%75 = tail call i32 @pow(double %2, double 6.000000e+00)
%76 = sitofp i32 %75 to double
%77 = fmul double %74, -2.000000e+00
%78 = tail call double @llvm.fmuladd.f64(double %77, double %76, double %72)
%79 = fmul double %0, 1.000000e+01
%80 = tail call i32 @pow(double %2, double 3.000000e+00)
%81 = sitofp i32 %80 to double
%82 = tail call i32 @pow(double %1, double 2.000000e+00)
%83 = sitofp i32 %82 to double
%84 = fneg double %79
%85 = fmul double %84, %81
%86 = tail call double @llvm.fmuladd.f64(double %85, double %83, double %78)
%87 = tail call i32 @pow(double %1, double 4.000000e+00)
%88 = sitofp i32 %87 to double
%89 = fadd double %86, %88
%90 = fmul double %5, %2
%91 = tail call i32 @pow(double %1, double 4.000000e+00)
%92 = sitofp i32 %91 to double
%93 = tail call double @llvm.fmuladd.f64(double %90, double %92, double %89)
%94 = tail call i32 @pow(double %2, double 2.000000e+00)
%95 = tail call i32 @pow(double %1, double 2.000000e+00)
%96 = mul nsw i32 %95, %94
%97 = sitofp i32 %96 to double
%98 = tail call i32 @pow(double %0, double 2.000000e+00)
%99 = sitofp i32 %98 to double
%100 = fmul double %99, 2.000000e+00
%101 = tail call i32 @pow(double %1, double 2.000000e+00)
%102 = sitofp i32 %101 to double
%103 = tail call double @llvm.fmuladd.f64(double %100, double %102, double -5.000000e+00)
%104 = tail call double @llvm.fmuladd.f64(double %97, double %103, double %93)
%105 = fmul double %65, %104
%106 = tail call double @llvm.fmuladd.f64(double %52, double %58, double %105)
%107 = tail call i32 @pow(double 0x4005BF0A8B145769, double %90)
%108 = tail call i32 @pow(double %2, double 4.000000e+00)
%109 = mul nsw i32 %108, %107
%110 = sitofp i32 %109 to double
%111 = tail call i32 @pow(double %2, double 2.000000e+00)
%112 = sitofp i32 %111 to double
%113 = fmul double %112, -6.000000e+00
%114 = tail call i32 @pow(double %1, double 4.000000e+00)
%115 = sitofp i32 %114 to double
%116 = fmul double %113, %115
%117 = tail call double @llvm.fmuladd.f64(double %79, double %1, double 5.000000e+00)
%118 = tail call i32 @pow(double %0, double 2.000000e+00)
%119 = sitofp i32 %118 to double
%120 = fmul double %119, 1.300000e+01
%121 = tail call i32 @pow(double %1, double 2.000000e+00)
%122 = sitofp i32 %121 to double
%123 = tail call double @llvm.fmuladd.f64(double %120, double %122, double %117)
%124 = tail call i32 @pow(double %0, double 3.000000e+00)
%125 = sitofp i32 %124 to double
%126 = fmul double %125, 6.000000e+00
%127 = tail call i32 @pow(double %1, double 3.000000e+00)
%128 = sitofp i32 %127 to double
%129 = tail call double @llvm.fmuladd.f64(double %126, double %128, double %123)
%130 = tail call i32 @pow(double %0, double 4.000000e+00)
%131 = tail call i32 @pow(double %1, double 4.000000e+00)
%132 = mul nsw i32 %131, %130
%133 = sitofp i32 %132 to double
%134 = fadd double %129, %133
%135 = tail call i32 @pow(double %1, double 6.000000e+00)
%136 = sitofp i32 %135 to double
%137 = fmul double %136, 2.000000e+00
%138 = fmul double %0, 4.200000e+01
%139 = tail call double @llvm.fmuladd.f64(double %138, double %1, double 2.100000e+01)
%140 = tail call i32 @pow(double %0, double 2.000000e+00)
%141 = sitofp i32 %140 to double
%142 = fmul double %141, 2.700000e+01
%143 = tail call i32 @pow(double %1, double 2.000000e+00)
%144 = sitofp i32 %143 to double
%145 = tail call double @llvm.fmuladd.f64(double %142, double %144, double %139)
%146 = tail call i32 @pow(double %0, double 3.000000e+00)
%147 = sitofp i32 %146 to double
%148 = fmul double %147, 8.000000e+00
%149 = tail call i32 @pow(double %1, double 3.000000e+00)
%150 = sitofp i32 %149 to double
%151 = tail call double @llvm.fmuladd.f64(double %148, double %150, double %145)
%152 = tail call i32 @pow(double %0, double 4.000000e+00)
%153 = tail call i32 @pow(double %1, double 4.000000e+00)
%154 = mul nsw i32 %153, %152
%155 = sitofp i32 %154 to double
%156 = fadd double %151, %155
%157 = fmul double %137, %156
%158 = tail call double @llvm.fmuladd.f64(double %116, double %134, double %157)
%159 = tail call i32 @pow(double %2, double 6.000000e+00)
%160 = sitofp i32 %159 to double
%161 = fmul double %0, 6.000000e+00
%162 = tail call double @llvm.fmuladd.f64(double %161, double %1, double 3.000000e+00)
%163 = tail call i32 @pow(double %0, double 2.000000e+00)
%164 = sitofp i32 %163 to double
%165 = fmul double %164, 6.000000e+00
%166 = tail call i32 @pow(double %1, double 2.000000e+00)
%167 = sitofp i32 %166 to double
%168 = tail call double @llvm.fmuladd.f64(double %165, double %167, double %162)
%169 = tail call i32 @pow(double %0, double 3.000000e+00)
%170 = sitofp i32 %169 to double
%171 = fmul double %170, 4.000000e+00
%172 = tail call i32 @pow(double %1, double 3.000000e+00)
%173 = sitofp i32 %172 to double
%174 = tail call double @llvm.fmuladd.f64(double %171, double %173, double %168)
%175 = tail call i32 @pow(double %0, double 4.000000e+00)
%176 = sitofp i32 %175 to double
%177 = fmul double %176, 2.000000e+00
%178 = tail call i32 @pow(double %1, double 4.000000e+00)
%179 = sitofp i32 %178 to double
%180 = tail call double @llvm.fmuladd.f64(double %177, double %179, double %174)
%181 = fneg double %160
%182 = tail call double @llvm.fmuladd.f64(double %181, double %180, double %158)
%183 = tail call i32 @pow(double %2, double 4.000000e+00)
%184 = sitofp i32 %183 to double
%185 = fmul double %184, 3.000000e+00
%186 = tail call i32 @pow(double %1, double 2.000000e+00)
%187 = sitofp i32 %186 to double
%188 = fmul double %185, %187
%189 = tail call i32 @pow(double %0, double 2.000000e+00)
%190 = sitofp i32 %189 to double
%191 = fmul double %190, 1.000000e+01
%192 = tail call i32 @pow(double %1, double 2.000000e+00)
%193 = sitofp i32 %192 to double
%194 = tail call double @llvm.fmuladd.f64(double %191, double %193, double %117)
%195 = tail call i32 @pow(double %0, double 3.000000e+00)
%196 = sitofp i32 %195 to double
%197 = fmul double %196, 8.000000e+00
%198 = tail call i32 @pow(double %1, double 3.000000e+00)
%199 = sitofp i32 %198 to double
%200 = tail call double @llvm.fmuladd.f64(double %197, double %199, double %194)
%201 = tail call i32 @pow(double %0, double 4.000000e+00)
%202 = sitofp i32 %201 to double
%203 = fmul double %202, 2.000000e+00
%204 = tail call i32 @pow(double %1, double 4.000000e+00)
%205 = sitofp i32 %204 to double
%206 = tail call double @llvm.fmuladd.f64(double %203, double %205, double %200)
%207 = tail call double @llvm.fmuladd.f64(double %188, double %206, double %182)
%208 = tail call double @llvm.fmuladd.f64(double %110, double %207, double %106)
%209 = tail call i32 @pow(double 0x4005BF0A8B145769, double %49)
%210 = sitofp i32 %209 to double
%211 = fmul double %210, 3.000000e+00
%212 = tail call i32 @pow(double %0, double 2.000000e+00)
%213 = sitofp i32 %212 to double
%214 = fmul double %211, %213
%215 = tail call i32 @pow(double %2, double 2.000000e+00)
%216 = tail call i32 @pow(double %1, double 2.000000e+00)
%217 = sub nsw i32 %215, %216
%218 = sitofp i32 %217 to double
%219 = tail call i32 @pow(double %218, double 5.000000e+00)
br label %220
220: ; preds = %47, %6
%221 = phi i32 [ %219, %47 ], [ %46, %6 ]
%222 = phi double [ %214, %47 ], [ %45, %6 ]
%223 = phi double [ %208, %47 ], [ %42, %6 ]
%224 = sitofp i32 %221 to double
%225 = fmul double %222, %224
%226 = fdiv double %223, %225
ret double %226
}