void gint2_nai_P_cD(double *a, double a_a, double *b, double b_a, double *c,
                    double *out) {
  double ab_a, d_0, d_1, d_2, nai_000_000_2, nai_000_001_0, nai_000_001_1,
      nai_000_010_1, nai_000_020_0, nai_000_020_1, nai_000_100_0, nai_000_100_1,
      nai_000_200_0, nai_000_200_1, p_0, p_1, p_2, tmp0, tmp1, tmp10, tmp11,
      tmp12, tmp15, tmp2, tmp6, tmp8, u_0, u_1, u_2, usq, v_0, v_1, v_2;
  ab_a = a_a + b_a;
  p_0 = (a[0] * a_a + b[0] * b_a) / ab_a;
  p_1 = (a[1] * a_a + b[1] * b_a) / ab_a;
  p_2 = (a[2] * a_a + b[2] * b_a) / ab_a;
  d_0 = a[0] - b[0];
  d_1 = a[1] - b[1];
  d_2 = a[2] - b[2];
  u_0 = p_0 - c[0];
  u_1 = p_1 - c[1];
  u_2 = p_2 - c[2];
  usq = ab_a * (u_0 * u_0 + u_1 * u_1 + u_2 * u_2);
  v_0 = p_0 - a[0];
  v_1 = p_1 - a[1];
  v_2 = p_2 - a[2];
  p_0 = p_0 - b[0];
  p_1 = p_1 - b[1];
  p_2 = p_2 - b[2];
  d_0 = exp(-a_a * b_a * (d_0 * d_0 + d_1 * d_1 + d_2 * d_2) / ab_a) / ab_a;
  d_1 = 6.28318530717959 * d_0 * gaux(usq, 0);
  d_2 = 6.28318530717959 * d_0 * gaux(usq, 1);
  tmp15 = d_2 * u_0;
  nai_000_100_0 = -tmp15 + d_1 * p_0;
  nai_000_000_2 = 6.28318530717959 * d_0 * gaux(usq, 2);
  tmp12 = nai_000_000_2 * u_0;
  nai_000_100_1 = -tmp12 + d_2 * p_0;
  tmp1 = (0.5 * d_1 - 0.5 * d_2) / ab_a;
  nai_000_200_0 = tmp1 + nai_000_100_0 * p_0 - nai_000_100_1 * u_0;
  usq = 6.28318530717959 * d_0 * gaux(usq, 3);
  d_0 = u_0 * usq;
  tmp0 = (0.5 * d_2 - 0.5 * nai_000_000_2) / ab_a;
  nai_000_200_1 =
      tmp0 + nai_000_100_1 * p_0 - u_0 * (-d_0 + nai_000_000_2 * p_0);
  tmp6 = pow(a_a, 1.25) * pow(b_a, 1.75);
  out[0] = 2.34611633910158 * tmp6 *
           (nai_000_200_0 * v_0 + (nai_000_100_0 - nai_000_100_1) / ab_a -
            nai_000_200_1 * u_0);
  tmp15 = -tmp15 + d_1 * v_0;
  nai_000_100_0 = -tmp12 + d_2 * v_0;
  tmp12 = -d_0 + nai_000_000_2 * v_0;
  nai_000_100_1 = d_2 * u_1;
  d_0 = -nai_000_100_1 + d_1 * p_1;
  tmp11 = nai_000_000_2 * u_1;
  nai_000_010_1 = -tmp11 + d_2 * p_1;
  out[1] = 4.06359269979142 * tmp6 *
           (p_0 * (p_1 * tmp15 - nai_000_100_0 * u_1) +
            (0.5 * d_0 - 0.5 * nai_000_010_1) / ab_a -
            u_0 * (nai_000_100_0 * p_1 - tmp12 * u_1));
  tmp15 = p_2 * tmp15 - nai_000_100_0 * u_2;
  nai_000_100_0 = nai_000_100_0 * p_2 - tmp12 * u_2;
  tmp12 = d_2 * u_2;
  nai_000_001_0 = -tmp12 + d_1 * p_2;
  tmp10 = nai_000_000_2 * u_2;
  nai_000_001_1 = -tmp10 + d_2 * p_2;
  tmp2 = (0.5 * nai_000_001_0 - 0.5 * nai_000_001_1) / ab_a;
  out[2] = 4.06359269979142 * tmp6 * (tmp2 + p_0 * tmp15 - nai_000_100_0 * u_0);
  nai_000_020_0 = tmp1 + d_0 * p_1 - nai_000_010_1 * u_1;
  tmp8 = u_1 * usq;
  nai_000_020_1 =
      tmp0 + nai_000_010_1 * p_1 - u_1 * (-tmp8 + nai_000_000_2 * p_1);
  out[3] =
      2.34611633910158 * tmp6 * (nai_000_020_0 * v_0 - nai_000_020_1 * u_0);
  out[4] = 4.06359269979142 * tmp6 * (p_1 * tmp15 - nai_000_100_0 * u_1);
  tmp15 = tmp1 + nai_000_001_0 * p_2 - nai_000_001_1 * u_2;
  nai_000_100_0 = u_2 * usq;
  usq =
      tmp0 + nai_000_001_1 * p_2 - u_2 * (-nai_000_100_0 + nai_000_000_2 * p_2);
  out[5] = 2.34611633910158 * tmp6 * (tmp15 * v_0 - u_0 * usq);
  out[6] =
      2.34611633910158 * tmp6 * (nai_000_200_0 * v_1 - nai_000_200_1 * u_1);
  v_0 = -nai_000_100_1 + d_1 * v_1;
  tmp11 = -tmp11 + d_2 * v_1;
  tmp8 = -tmp8 + nai_000_000_2 * v_1;
  out[7] = 4.06359269979142 * tmp6 *
           (p_0 * (tmp1 + p_1 * v_0 - tmp11 * u_1) -
            u_0 * (tmp0 + p_1 * tmp11 - tmp8 * u_1));
  nai_000_100_1 = p_2 * v_0 - tmp11 * u_2;
  v_0 = p_2 * tmp11 - tmp8 * u_2;
  out[8] = 4.06359269979142 * tmp6 * (nai_000_100_1 * p_0 - u_0 * v_0);
  out[9] = 2.34611633910158 * tmp6 *
           (nai_000_020_0 * v_1 + (d_0 - nai_000_010_1) / ab_a -
            nai_000_020_1 * u_1);
  out[10] = 4.06359269979142 * tmp6 * (tmp2 + nai_000_100_1 * p_1 - u_1 * v_0);
  out[11] = 2.34611633910158 * tmp6 * (tmp15 * v_1 - u_1 * usq);
  out[12] =
      2.34611633910158 * tmp6 * (nai_000_200_0 * v_2 - nai_000_200_1 * u_2);
  v_1 = -tmp12 + d_1 * v_2;
  d_0 = -tmp10 + d_2 * v_2;
  tmp11 = -nai_000_100_0 + nai_000_000_2 * v_2;
  out[13] = 4.06359269979142 * tmp6 *
            (p_0 * (p_1 * v_1 - d_0 * u_1) - u_0 * (d_0 * p_1 - tmp11 * u_1));
  nai_000_010_1 = tmp1 + p_2 * v_1 - d_0 * u_2;
  tmp0 = tmp0 + d_0 * p_2 - tmp11 * u_2;
  out[14] = 4.06359269979142 * tmp6 * (nai_000_010_1 * p_0 - tmp0 * u_0);
  out[15] =
      2.34611633910158 * tmp6 * (nai_000_020_0 * v_2 - nai_000_020_1 * u_2);
  out[16] = 4.06359269979142 * tmp6 * (nai_000_010_1 * p_1 - tmp0 * u_1);
  out[17] = 2.34611633910158 * tmp6 *
            (tmp15 * v_2 + (nai_000_001_0 - nai_000_001_1) / ab_a - u_2 * usq);
}


x86 assembly (clang, -O0):
<gint2_nai_P_cD>:
push   %rbp
mov    %rsp,%rbp
sub    $0x160,%rsp
mov    %rdi,-0x8(%rbp)
movsd  %xmm0,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
movsd  %xmm1,-0x20(%rbp)
mov    %rdx,-0x28(%rbp)
mov    %rcx,-0x30(%rbp)
movsd  -0x10(%rbp),%xmm0
addsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x10(%rbp),%xmm2
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  -0x20(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  -0x10(%rbp),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x8(%rax),%xmm1
mulsd  -0x20(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  -0x10(%rbp),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x10(%rax),%xmm1
mulsd  -0x20(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm3
ff
movsd  -0x110(%rbp),%xmm1
ff
mulsd  -0x110(%rbp),%xmm1
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x118(%rbp),%xmm1
ff
movsd  -0x118(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
movsd  -0x48(%rbp),%xmm1
mulsd  -0x48(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x50(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
call   1040 <exp@plt>
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  0x1c52(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
xor    %edi,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x160(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x1c17(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x158(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x50(%rbp),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1b88(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x150(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  0x1adc(%rip),%xmm1
mulsd  -0x50(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1ab8(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0x108(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1a5c(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
mov    $0x3,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x148(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  0x19e9(%rip),%xmm1
mulsd  -0x58(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x19c5(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x40(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movsd  -0x58(%rbp),%xmm2
movsd  -0xa8(%rbp),%xmm4
ff
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,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1933(%rip),%xmm1
call   1050 <pow@plt>
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0x1911(%rip),%xmm1
call   1050 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x140(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x18d5(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm3
ff
movsd  -0x88(%rbp),%xmm1
ff
subsd  -0x90(%rbp),%xmm1
ff
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x128(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x1718(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
movsd  -0xe8(%rbp),%xmm4
ff
movsd  -0x88(%rbp),%xmm1
ff
mulsd  -0x110(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  -0x40(%rbp),%xmm1
movsd  0x16c4(%rip),%xmm4
mulsd  -0x70(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x16a0(%rip),%xmm5
mulsd  %xmm5,%xmm1
addsd  %xmm4,%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x108(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm3
ff
movsd  -0xb0(%rbp),%xmm5
ff
movsd  -0xe0(%rbp),%xmm4
ff
mulsd  -0x110(%rbp),%xmm4
ff
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x88(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
mulsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  0x14e1(%rip),%xmm1
mulsd  -0x68(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x14bd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  0x1498(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm2
ff
movsd  -0xe8(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x40(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x70(%rbp),%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x110(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x100(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movsd  -0x58(%rbp),%xmm2
movsd  -0xb0(%rbp),%xmm4
ff
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,-0x80(%rbp)
movsd  0x1341(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm1
movsd  -0x128(%rbp),%xmm3
ff
movsd  -0x80(%rbp),%xmm2
mulsd  -0x108(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  0x12f3(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xe8(%rbp),%xmm3
ff
movsd  -0x88(%rbp),%xmm2
ff
mulsd  -0x110(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x68(%rbp),%xmm0
movsd  -0x118(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movsd  -0x58(%rbp),%xmm2
movsd  -0xb8(%rbp),%xmm4
ff
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,-0x120(%rbp)
ff
movsd  0x11a6(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm1
ff
movsd  -0x128(%rbp),%xmm3
ff
movsd  -0x108(%rbp),%xmm2
ff
mulsd  -0x120(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  0x114a(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0xa0(%rbp),%xmm2
ff
mulsd  -0x110(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0x130(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0x130(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x130(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x1042(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm3
ff
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0xd8(%rbp),%xmm3
ff
movsd  -0x110(%rbp),%xmm4
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm4
ff
movsd  -0xb0(%rbp),%xmm5
ff
movsd  -0xd8(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x100(%rbp),%xmm4
ff
movsd  -0x110(%rbp),%xmm6
ff
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x128(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0x100(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0xec6(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0x108(%rbp),%xmm2
ff
mulsd  -0x128(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  0xe62(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm2
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x40(%rbp),%xmm1
subsd  -0x70(%rbp),%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x80(%rbp),%xmm1
movsd  -0x110(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x48(%rax)
movsd  0xdfd(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x110(%rbp),%xmm1
ff
movsd  -0x128(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x50(%rax)
movsd  0xd89(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x110(%rbp),%xmm2
ff
mulsd  -0x120(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x58(%rax)
movsd  0xd2d(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0xa0(%rbp),%xmm2
ff
mulsd  -0x118(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0x138(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0x138(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x138(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0xc28(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm3
ff
movsd  -0x130(%rbp),%xmm4
ff
movsd  -0x40(%rbp),%xmm2
mulsd  -0x110(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm4
movsd  -0xb0(%rbp),%xmm6
ff
movsd  -0xd8(%rbp),%xmm5
ff
mulsd  -0x110(%rbp),%xmm5
ff
movq   %xmm5,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm5
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
movsd  -0x118(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x40(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0x118(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0xabb(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm1
movsd  -0xa8(%rbp),%xmm3
ff
movsd  -0xc0(%rbp),%xmm2
ff
mulsd  -0x108(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  0xa5a(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm1
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x80(%rbp),%xmm2
mulsd  -0x118(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x78(%rax)
movsd  0xa0c(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm3
ff
movsd  -0xc0(%rbp),%xmm2
ff
mulsd  -0x110(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x80(%rax)
movsd  0x9a8(%rip),%xmm0
mulsd  -0xf8(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x60(%rbp),%xmm1
subsd  -0x68(%rbp),%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x118(%rbp),%xmm1
ff
movsd  -0x120(%rbp),%xmm3
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x88(%rax)
add    $0x160,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<gint2_nai_P_cD>:
push   %rbx
sub    $0x220,%rsp
mov    %rcx,%rbx
movapd %xmm0,%xmm12
addsd  %xmm1,%xmm12
movupd (%rdi),%xmm10
movupd (%rsi),%xmm13
movapd %xmm1,%xmm2
movapd %xmm1,%xmm5
unpcklpd %xmm1,%xmm2
mulpd  %xmm13,%xmm2
movapd %xmm0,%xmm3
unpcklpd %xmm0,%xmm3
mulpd  %xmm10,%xmm3
addpd  %xmm2,%xmm3
movapd %xmm12,%xmm1
unpcklpd %xmm12,%xmm1
movapd %xmm1,0x90(%rsp)
divpd  %xmm1,%xmm3
movapd %xmm3,%xmm2
movsd  0x10(%rdi),%xmm9
movsd  0x10(%rsi),%xmm8
movapd %xmm8,%xmm4
mulsd  %xmm5,%xmm4
movapd %xmm5,%xmm14
movapd %xmm5,0xa0(%rsp)
movapd %xmm9,%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm0,%xmm15
movapd %xmm0,0x30(%rsp)
addsd  %xmm4,%xmm1
divsd  %xmm12,%xmm1
movapd %xmm1,%xmm11
movapd %xmm10,%xmm4
unpckhpd %xmm10,%xmm4
movapd %xmm13,%xmm5
unpckhpd %xmm13,%xmm5
movapd %xmm3,%xmm1
unpckhpd %xmm3,%xmm1
subsd  %xmm4,%xmm1
movapd %xmm1,0x1a0(%rsp)
subsd  %xmm5,%xmm4
movapd %xmm11,%xmm1
subsd  0x10(%rdx),%xmm1
movapd %xmm1,%xmm7
movapd %xmm1,0x160(%rsp)
movapd %xmm13,%xmm5
movhpd 0x8(%rdx),%xmm5
movapd %xmm3,%xmm0
subpd  %xmm5,%xmm0
movapd %xmm0,0x70(%rsp)
unpcklpd %xmm3,%xmm3
movsd  (%rdx),%xmm5
unpcklpd %xmm10,%xmm5
subpd  %xmm5,%xmm3
movapd %xmm3,0x60(%rsp)
movapd %xmm0,%xmm1
unpckhpd %xmm0,%xmm1
movapd %xmm1,0x120(%rsp)
mulsd  %xmm1,%xmm1
mulsd  %xmm3,%xmm3
addsd  %xmm1,%xmm3
mulsd  %xmm7,%xmm7
addsd  %xmm3,%xmm7
movapd %xmm7,%xmm3
movapd %xmm10,%xmm1
subsd  %xmm13,%xmm1
movsd  %xmm9,%xmm13
movsd  %xmm11,%xmm2
subpd  %xmm13,%xmm2
movapd %xmm2,0x130(%rsp)
movapd %xmm9,%xmm0
subsd  %xmm8,%xmm0
subsd  %xmm8,%xmm11
movapd %xmm11,0x140(%rsp)
mulsd  %xmm4,%xmm4
mulsd  %xmm1,%xmm1
addsd  %xmm4,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm15,%xmm1
xorpd  0xd37(%rip),%xmm1
mulsd  %xmm14,%xmm1
mulsd  %xmm1,%xmm0
movapd %xmm12,0xc0(%rsp)
mulsd  %xmm12,%xmm3
movapd %xmm3,(%rsp)
divsd  %xmm12,%xmm0
call   1040 <exp@plt>
divsd  0xc0(%rsp),%xmm0
mulsd  0xd1f(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movaps (%rsp),%xmm0
xor    %edi,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movapd %xmm0,0x80(%rsp)
movaps (%rsp),%xmm0
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movapd %xmm0,0x20(%rsp)
movapd %xmm0,%xmm1
xorpd  0xca7(%rip),%xmm1
movapd %xmm1,0x150(%rsp)
movapd 0x60(%rsp),%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0x100(%rsp)
movapd 0x80(%rsp),%xmm0
mulsd  0x70(%rsp),%xmm0
addsd  %xmm2,%xmm0
movapd %xmm0,0x50(%rsp)
movaps (%rsp),%xmm0
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movapd %xmm0,0xb0(%rsp)
movapd %xmm0,%xmm1
xorpd  0xc40(%rip),%xmm1
movapd %xmm1,0x110(%rsp)
movapd 0x60(%rsp),%xmm4
movapd %xmm4,%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,0xe0(%rsp)
movapd 0x20(%rsp),%xmm1
movapd %xmm1,%xmm2
movapd 0x70(%rsp),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm0,%xmm2
movapd %xmm2,%xmm5
movapd %xmm2,0x40(%rsp)
movapd %xmm1,%xmm0
mulsd  0xc1a(%rip),%xmm0
movapd 0x80(%rsp),%xmm1
mulsd  0xc11(%rip),%xmm1
addsd  %xmm0,%xmm1
divsd  0xc0(%rsp),%xmm1
movapd %xmm1,0x180(%rsp)
movapd 0x50(%rsp),%xmm2
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movapd %xmm5,%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm0,%xmm2
movapd %xmm2,0x170(%rsp)
movaps (%rsp),%xmm0
mov    $0x3,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0x10(%rsp),%xmm0
movapd %xmm0,%xmm4
movsd  %xmm0,0xf0(%rsp)
movapd 0xb0(%rsp),%xmm3
movapd %xmm3,%xmm0
mulsd  0xb91(%rip),%xmm0
movapd 0x20(%rsp),%xmm2
mulsd  0xb8b(%rip),%xmm2
addsd  %xmm0,%xmm2
divsd  0xc0(%rsp),%xmm2
movapd %xmm2,0x10(%rsp)
movapd 0x40(%rsp),%xmm0
movapd 0x70(%rsp),%xmm1
mulsd  %xmm1,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm0,%xmm5
movapd 0x60(%rsp),%xmm2
movapd %xmm2,%xmm0
xorpd  0xb1e(%rip),%xmm0
movapd %xmm0,0x190(%rsp)
mulsd  %xmm0,%xmm4
movsd  %xmm4,0xd0(%rsp)
movapd %xmm3,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm4,%xmm0
mulsd  %xmm2,%xmm0
subsd  %xmm0,%xmm5
movapd %xmm5,(%rsp)
movsd  0xb1f(%rip),%xmm1
movaps 0x30(%rsp),%xmm0
call   1050 <pow@plt>
movsd  %xmm0,0x30(%rsp)
movsd  0xb0f(%rip),%xmm1
movapd 0xa0(%rsp),%xmm0
call   1050 <pow@plt>
mulsd  0x30(%rsp),%xmm0
movapd %xmm0,0xa0(%rsp)
movapd 0x50(%rsp),%xmm8
subsd  0x40(%rsp),%xmm8
movapd 0x60(%rsp),%xmm15
movapd %xmm15,%xmm6
unpckhpd %xmm15,%xmm6
movapd 0x80(%rsp),%xmm7
movapd %xmm7,%xmm14
mulsd  %xmm6,%xmm14
addsd  0x100(%rsp),%xmm14
movapd 0x20(%rsp),%xmm3
movapd %xmm3,%xmm5
mulsd  %xmm6,%xmm5
addsd  0xe0(%rsp),%xmm5
mulsd  0xb0(%rsp),%xmm6
addsd  0xd0(%rsp),%xmm6
movapd 0x130(%rsp),%xmm4
movapd %xmm4,%xmm0
unpckhpd %xmm4,%xmm0
movapd %xmm0,0x100(%rsp)
movapd 0x120(%rsp),%xmm2
movapd %xmm2,%xmm1
mulsd  %xmm5,%xmm1
movapd %xmm0,%xmm13
mulsd  %xmm14,%xmm13
subsd  %xmm1,%xmm13
movapd %xmm7,%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm2,%xmm0
mulsd  0x150(%rsp),%xmm0
movapd %xmm0,0x200(%rsp)
addsd  %xmm0,%xmm1
movapd 0x70(%rsp),%xmm7
movapd %xmm7,%xmm2
movlpd 0x160(%rsp),%xmm2
movapd %xmm2,0x210(%rsp)
pshufd $0x44,0x110(%rsp),%xmm0
mulpd  %xmm2,%xmm0
movapd %xmm0,0x30(%rsp)
movapd %xmm3,%xmm11
unpcklpd %xmm3,%xmm11
mulpd  %xmm4,%xmm11
addpd  %xmm0,%xmm11
movapd %xmm11,0x110(%rsp)
unpckhpd %xmm11,%xmm11
movapd 0x140(%rsp),%xmm10
movapd %xmm10,%xmm0
unpcklpd %xmm1,%xmm0
movapd %xmm0,0x1f0(%rsp)
movapd %xmm1,%xmm3
subsd  %xmm11,%xmm1
movapd %xmm1,0x1e0(%rsp)
movsd  0x98f(%rip),%xmm9
mulsd  %xmm9,%xmm11
movsd  0x989(%rip),%xmm12
mulsd  %xmm12,%xmm3
addsd  %xmm11,%xmm3
unpcklpd %xmm3,%xmm8
divpd  0x90(%rsp),%xmm8
movapd %xmm15,%xmm3
movapd %xmm15,%xmm1
shufpd $0x1,%xmm13,%xmm1
movapd 0x170(%rsp),%xmm0
movapd %xmm7,%xmm4
unpcklpd %xmm7,%xmm0
movapd %xmm0,0x170(%rsp)
mulpd  %xmm0,%xmm1
addpd  %xmm8,%xmm1
movapd %xmm5,%xmm0
movapd 0x100(%rsp),%xmm15
mulsd  %xmm15,%xmm0
movapd 0x120(%rsp),%xmm2
mulsd  %xmm6,%xmm2
subsd  %xmm2,%xmm0
movapd %xmm3,%xmm2
unpcklpd %xmm0,%xmm2
movapd 0x8d9(%rip),%xmm3
movapd (%rsp),%xmm0
xorpd  %xmm3,%xmm0
unpcklpd 0x190(%rsp),%xmm0
movapd %xmm0,(%rsp)
mulpd  %xmm0,%xmm2
addpd  %xmm1,%xmm2
movapd 0xa0(%rsp),%xmm0
unpcklpd %xmm0,%xmm0
mulpd  0x8b5(%rip),%xmm0
movapd %xmm0,0xa0(%rsp)
mulpd  %xmm0,%xmm2
movupd %xmm2,(%rbx)
movapd 0x160(%rsp),%xmm1
movapd %xmm1,%xmm0
movapd %xmm5,%xmm2
mulsd  %xmm5,%xmm0
movapd %xmm14,%xmm13
mulsd  %xmm10,%xmm13
subsd  %xmm0,%xmm13
movapd %xmm13,0x40(%rsp)
mulsd  %xmm1,%xmm6
mulsd  %xmm10,%xmm2
subsd  %xmm6,%xmm2
movapd %xmm2,0x90(%rsp)
movapd 0x150(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,0x150(%rsp)
movapd %xmm1,%xmm7
movapd 0x80(%rsp),%xmm8
movapd %xmm8,%xmm14
mulsd  %xmm10,%xmm14
addsd  %xmm0,%xmm14
movapd 0x20(%rsp),%xmm0
mulsd  %xmm10,%xmm0
addsd  0x30(%rsp),%xmm0
movapd %xmm0,0xd0(%rsp)
mulsd  %xmm0,%xmm9
mulsd  %xmm14,%xmm12
addsd  %xmm9,%xmm12
movsd  %xmm12,0x50(%rsp)
movapd 0x130(%rsp),%xmm2
movapd %xmm2,%xmm1
movsd  %xmm10,%xmm1
movapd 0x10(%rsp),%xmm0
unpcklpd %xmm0,%xmm0
movapd 0x110(%rsp),%xmm12
mulpd  %xmm12,%xmm1
addpd  %xmm0,%xmm1
movapd %xmm1,%xmm11
movapd 0xb0(%rsp),%xmm9
movapd %xmm9,%xmm0
mulsd  %xmm15,%xmm0
movapd %xmm7,%xmm1
movapd %xmm3,%xmm5
xorpd  %xmm3,%xmm1
movapd %xmm1,0x1d0(%rsp)
movsd  0xf0(%rsp),%xmm15
movapd %xmm15,%xmm10
mulsd  %xmm1,%xmm10
movapd %xmm9,%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm2,%xmm6
addsd  %xmm10,%xmm1
shufpd $0x2,%xmm4,%xmm1
movapd %xmm1,%xmm2
xorpd  %xmm3,%xmm2
movapd %xmm2,0xe0(%rsp)
pshufd $0xee,%xmm2,%xmm2
movdqa %xmm2,0x1c0(%rsp)
mulsd  %xmm2,%xmm15
addsd  %xmm15,%xmm0
movapd %xmm7,%xmm3
unpcklpd %xmm0,%xmm3
mulpd  %xmm1,%xmm3
subpd  %xmm3,%xmm11
movapd %xmm11,0x1b0(%rsp)
movsd  0x50(%rsp),%xmm0
divsd  0xc0(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movapd %xmm4,%xmm2
mulsd  %xmm13,%xmm2
addsd  %xmm0,%xmm2
movapd %xmm11,%xmm0
xorpd  %xmm5,%xmm0
movapd %xmm0,0xf0(%rsp)
pshufd $0xee,%xmm0,%xmm1
movapd 0x60(%rsp),%xmm3
mulsd  %xmm3,%xmm1
unpcklpd %xmm1,%xmm2
movapd %xmm8,%xmm0
movapd %xmm8,%xmm1
mulsd  %xmm6,%xmm1
addsd  0x150(%rsp),%xmm1
movsd  %xmm1,%xmm6
mulpd  0x1f0(%rsp),%xmm6
movapd 0x180(%rsp),%xmm4
movapd %xmm4,%xmm11
unpcklpd %xmm4,%xmm11
addpd  %xmm6,%xmm11
movapd 0x210(%rsp),%xmm6
mulpd  %xmm12,%xmm6
subpd  %xmm6,%xmm11
movapd 0x90(%rsp),%xmm7
xorpd  %xmm5,%xmm7
movapd %xmm7,0x90(%rsp)
movapd %xmm11,%xmm6
movsd  %xmm7,%xmm6
mulpd  %xmm3,%xmm6
addpd  %xmm2,%xmm6
movapd %xmm9,%xmm12
movapd 0x140(%rsp),%xmm13
mulsd  %xmm13,%xmm12
addsd  %xmm10,%xmm12
movapd 0x1a0(%rsp),%xmm8
mulsd  %xmm8,%xmm0
addsd  0x200(%rsp),%xmm0
movapd 0x30(%rsp),%xmm10
unpckhpd %xmm10,%xmm10
movapd 0x20(%rsp),%xmm7
mulsd  %xmm8,%xmm7
addsd  %xmm10,%xmm7
movapd %xmm7,%xmm3
mulsd  %xmm8,%xmm9
addsd  %xmm15,%xmm9
movapd %xmm9,0xb0(%rsp)
movapd 0x100(%rsp),%xmm15
movapd %xmm15,%xmm10
mulsd  %xmm0,%xmm10
addsd  %xmm4,%xmm10
movapd %xmm7,%xmm2
movapd 0x120(%rsp),%xmm4
mulsd  %xmm4,%xmm2
subsd  %xmm2,%xmm10
movapd 0x160(%rsp),%xmm7
movapd %xmm7,%xmm2
mulsd  %xmm3,%xmm2
movapd %xmm3,0x20(%rsp)
mulsd  %xmm13,%xmm0
subsd  %xmm2,%xmm0
movapd 0xf0(%rsp),%xmm13
movsd  %xmm0,%xmm13
mulsd  %xmm15,%xmm0
movapd %xmm0,0x80(%rsp)
mulsd  %xmm15,%xmm1
movapd 0x110(%rsp),%xmm0
xorpd  %xmm0,%xmm5
mulsd  %xmm15,%xmm0
movapd %xmm0,%xmm9
mulsd  %xmm3,%xmm15
addsd  0x10(%rsp),%xmm15
movapd 0xb0(%rsp),%xmm3
movapd %xmm3,%xmm2
movapd %xmm4,%xmm0
mulsd  %xmm4,%xmm2
subsd  %xmm2,%xmm15
movapd 0x70(%rsp),%xmm2
shufpd $0x1,%xmm15,%xmm2
movapd %xmm8,%xmm15
unpcklpd %xmm10,%xmm15
movapd (%rsp),%xmm4
mulpd  %xmm4,%xmm2
movapd 0x170(%rsp),%xmm8
mulpd  %xmm8,%xmm15
addpd  %xmm2,%xmm15
mulsd  %xmm0,%xmm5
addsd  %xmm5,%xmm1
mulsd  0xe0(%rsp),%xmm0
addsd  %xmm0,%xmm9
movapd 0xd0(%rsp),%xmm2
movapd %xmm7,%xmm0
mulsd  %xmm7,%xmm2
mulsd  %xmm7,%xmm12
movapd 0x60(%rsp),%xmm10
movapd 0x40(%rsp),%xmm5
shufpd $0x2,%xmm10,%xmm5
movapd %xmm5,0x40(%rsp)
mulsd  %xmm7,%xmm3
unpcklpd %xmm7,%xmm10
unpcklpd %xmm9,%xmm0
mulpd  %xmm4,%xmm0
movapd 0x130(%rsp),%xmm7
movapd %xmm7,%xmm9
unpcklpd %xmm1,%xmm9
mulpd  %xmm8,%xmm9
addpd  %xmm0,%xmm9
movapd 0xa0(%rsp),%xmm0
mulpd  %xmm0,%xmm15
mulpd  %xmm0,%xmm9
shufpd $0x1,%xmm0,%xmm0
mulpd  %xmm0,%xmm6
movupd %xmm6,0x10(%rbx)
movapd %xmm14,%xmm6
movapd 0x140(%rsp),%xmm1
mulsd  %xmm1,%xmm6
addsd  0x180(%rsp),%xmm6
subsd  %xmm2,%xmm6
movapd 0xd0(%rsp),%xmm8
subsd  %xmm8,%xmm14
mulsd  %xmm1,%xmm8
addsd  0x10(%rsp),%xmm8
subsd  %xmm12,%xmm8
movapd 0x70(%rsp),%xmm4
movapd %xmm4,%xmm1
shufpd $0x1,%xmm8,%xmm1
movapd 0x190(%rsp),%xmm5
movapd 0x90(%rsp),%xmm2
unpcklpd %xmm5,%xmm2
mulpd  %xmm1,%xmm2
movapd %xmm2,%xmm12
shufpd $0x1,%xmm6,%xmm7
movapd 0x40(%rsp),%xmm2
mulpd  %xmm7,%xmm2
addpd  %xmm12,%xmm2
mulpd  %xmm0,%xmm2
movupd %xmm2,0x20(%rbx)
movupd %xmm15,0x30(%rbx)
movapd 0x20(%rsp),%xmm2
mulsd  0x140(%rsp),%xmm2
subsd  %xmm3,%xmm2
movapd %xmm11,%xmm1
unpckhpd %xmm11,%xmm1
movapd 0xc0(%rsp),%xmm12
movapd 0x1e0(%rsp),%xmm15
divsd  %xmm12,%xmm15
movapd 0x1a0(%rsp),%xmm7
mulsd  %xmm7,%xmm1
addsd  %xmm15,%xmm1
mulsd  %xmm2,%xmm5
unpcklpd %xmm1,%xmm5
mulpd  %xmm4,%xmm13
addpd  %xmm5,%xmm13
mulpd  %xmm0,%xmm13
movupd %xmm13,0x40(%rbx)
movapd 0x80(%rsp),%xmm3
addsd  0x50(%rsp),%xmm3
movapd 0x1c0(%rsp),%xmm1
mulsd  %xmm8,%xmm1
unpcklpd %xmm1,%xmm3
unpcklpd %xmm7,%xmm2
movapd 0xe0(%rsp),%xmm1
shufpd $0x1,%xmm6,%xmm1
mulpd  %xmm1,%xmm2
addpd  %xmm3,%xmm2
mulpd  %xmm0,%xmm2
movupd %xmm2,0x50(%rbx)
movupd %xmm9,0x60(%rbx)
mulpd  0x1b0(%rsp),%xmm10
movapd 0x130(%rsp),%xmm1
movapd %xmm4,%xmm2
unpcklpd %xmm1,%xmm2
mulpd  %xmm11,%xmm2
subpd  %xmm10,%xmm2
mulpd  %xmm0,%xmm2
movupd %xmm2,0x70(%rbx)
movapd 0xf0(%rsp),%xmm2
mulsd  0x120(%rsp),%xmm2
divsd  %xmm12,%xmm14
mulsd  %xmm1,%xmm6
addsd  %xmm14,%xmm6
unpcklpd %xmm6,%xmm2
unpcklpd 0x1d0(%rsp),%xmm11
shufpd $0x1,%xmm8,%xmm1
mulpd  %xmm11,%xmm1
addpd  %xmm2,%xmm1
mulpd  %xmm0,%xmm1
movupd %xmm1,0x80(%rbx)
add    $0x220,%rsp
pop    %rbx
ret

LLVM IR (-O0):
define void @gint2_nai_P_cD(double* %0, double %1, double* %2, double %3, double* %4, double* %5) {
%7 = alloca double*
%8 = alloca double
%9 = alloca double*
%10 = alloca double
%11 = alloca double*
%12 = alloca double*
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
store double* %0, double** %7
store double %1, double* %8
store double* %2, double** %9
store double %3, double* %10
store double* %4, double** %11
store double* %5, double** %12
%46 = load double, double* %8
%47 = load double, double* %10
%48 = fadd double %46, %47
store double %48, double* %13
%49 = load double*, double** %7
%50 = getelementptr inbounds double, double* %49, i64 0
%51 = load double, double* %50
%52 = load double, double* %8
%53 = load double*, double** %9
%54 = getelementptr inbounds double, double* %53, i64 0
%55 = load double, double* %54
%56 = load double, double* %10
%57 = fmul double %55, %56
%58 = call double @llvm.fmuladd.f64(double %51, double %52, double %57)
%59 = load double, double* %13
%60 = fdiv double %58, %59
store double %60, double* %27
%61 = load double*, double** %7
%62 = getelementptr inbounds double, double* %61, i64 1
%63 = load double, double* %62
%64 = load double, double* %8
%65 = load double*, double** %9
%66 = getelementptr inbounds double, double* %65, i64 1
%67 = load double, double* %66
%68 = load double, double* %10
%69 = fmul double %67, %68
%70 = call double @llvm.fmuladd.f64(double %63, double %64, double %69)
%71 = load double, double* %13
%72 = fdiv double %70, %71
store double %72, double* %28
%73 = load double*, double** %7
%74 = getelementptr inbounds double, double* %73, i64 2
%75 = load double, double* %74
%76 = load double, double* %8
%77 = load double*, double** %9
%78 = getelementptr inbounds double, double* %77, i64 2
%79 = load double, double* %78
%80 = load double, double* %10
%81 = fmul double %79, %80
%82 = call double @llvm.fmuladd.f64(double %75, double %76, double %81)
%83 = load double, double* %13
%84 = fdiv double %82, %83
store double %84, double* %29
%85 = load double*, double** %7
%86 = getelementptr inbounds double, double* %85, i64 0
%87 = load double, double* %86
%88 = load double*, double** %9
%89 = getelementptr inbounds double, double* %88, i64 0
%90 = load double, double* %89
%91 = fsub double %87, %90
store double %91, double* %14
%92 = load double*, double** %7
%93 = getelementptr inbounds double, double* %92, i64 1
%94 = load double, double* %93
%95 = load double*, double** %9
%96 = getelementptr inbounds double, double* %95, i64 1
%97 = load double, double* %96
%98 = fsub double %94, %97
store double %98, double* %15
%99 = load double*, double** %7
%100 = getelementptr inbounds double, double* %99, i64 2
%101 = load double, double* %100
%102 = load double*, double** %9
%103 = getelementptr inbounds double, double* %102, i64 2
%104 = load double, double* %103
%105 = fsub double %101, %104
store double %105, double* %16
%106 = load double, double* %27
%107 = load double*, double** %11
%108 = getelementptr inbounds double, double* %107, i64 0
%109 = load double, double* %108
%110 = fsub double %106, %109
store double %110, double* %39
%111 = load double, double* %28
%112 = load double*, double** %11
%113 = getelementptr inbounds double, double* %112, i64 1
%114 = load double, double* %113
%115 = fsub double %111, %114
store double %115, double* %40
%116 = load double, double* %29
%117 = load double*, double** %11
%118 = getelementptr inbounds double, double* %117, i64 2
%119 = load double, double* %118
%120 = fsub double %116, %119
store double %120, double* %41
%121 = load double, double* %13
%122 = load double, double* %39
%123 = load double, double* %39
%124 = load double, double* %40
%125 = load double, double* %40
%126 = fmul double %124, %125
%127 = call double @llvm.fmuladd.f64(double %122, double %123, double %126)
%128 = load double, double* %41
%129 = load double, double* %41
%130 = call double @llvm.fmuladd.f64(double %128, double %129, double %127)
%131 = fmul double %121, %130
store double %131, double* %42
%132 = load double, double* %27
%133 = load double*, double** %7
%134 = getelementptr inbounds double, double* %133, i64 0
%135 = load double, double* %134
%136 = fsub double %132, %135
store double %136, double* %43
%137 = load double, double* %28
%138 = load double*, double** %7
%139 = getelementptr inbounds double, double* %138, i64 1
%140 = load double, double* %139
%141 = fsub double %137, %140
store double %141, double* %44
%142 = load double, double* %29
%143 = load double*, double** %7
%144 = getelementptr inbounds double, double* %143, i64 2
%145 = load double, double* %144
%146 = fsub double %142, %145
store double %146, double* %45
%147 = load double, double* %27
%148 = load double*, double** %9
%149 = getelementptr inbounds double, double* %148, i64 0
%150 = load double, double* %149
%151 = fsub double %147, %150
store double %151, double* %27
%152 = load double, double* %28
%153 = load double*, double** %9
%154 = getelementptr inbounds double, double* %153, i64 1
%155 = load double, double* %154
%156 = fsub double %152, %155
store double %156, double* %28
%157 = load double, double* %29
%158 = load double*, double** %9
%159 = getelementptr inbounds double, double* %158, i64 2
%160 = load double, double* %159
%161 = fsub double %157, %160
store double %161, double* %29
%162 = load double, double* %8
%163 = fneg double %162
%164 = load double, double* %10
%165 = fmul double %163, %164
%166 = load double, double* %14
%167 = load double, double* %14
%168 = load double, double* %15
%169 = load double, double* %15
%170 = fmul double %168, %169
%171 = call double @llvm.fmuladd.f64(double %166, double %167, double %170)
%172 = load double, double* %16
%173 = load double, double* %16
%174 = call double @llvm.fmuladd.f64(double %172, double %173, double %171)
%175 = fmul double %165, %174
%176 = load double, double* %13
%177 = fdiv double %175, %176
%178 = call double @exp(double %177)
%179 = load double, double* %13
%180 = fdiv double %178, %179
store double %180, double* %14
%181 = load double, double* %14
%182 = fmul double 0x401921FB54442D1C, %181
%183 = load double, double* %42
%184 = call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %183, i32 0)
%185 = sitofp i32 %184 to double
%186 = fmul double %182, %185
store double %186, double* %15
%187 = load double, double* %14
%188 = fmul double 0x401921FB54442D1C, %187
%189 = load double, double* %42
%190 = call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %189, i32 1)
%191 = sitofp i32 %190 to double
%192 = fmul double %188, %191
store double %192, double* %16
%193 = load double, double* %16
%194 = load double, double* %39
%195 = fmul double %193, %194
store double %195, double* %35
%196 = load double, double* %35
%197 = fneg double %196
%198 = load double, double* %15
%199 = load double, double* %27
%200 = call double @llvm.fmuladd.f64(double %198, double %199, double %197)
store double %200, double* %23
%201 = load double, double* %14
%202 = fmul double 0x401921FB54442D1C, %201
%203 = load double, double* %42
%204 = call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %203, i32 2)
%205 = sitofp i32 %204 to double
%206 = fmul double %202, %205
store double %206, double* %17
%207 = load double, double* %17
%208 = load double, double* %39
%209 = fmul double %207, %208
store double %209, double* %34
%210 = load double, double* %34
%211 = fneg double %210
%212 = load double, double* %16
%213 = load double, double* %27
%214 = call double @llvm.fmuladd.f64(double %212, double %213, double %211)
store double %214, double* %24
%215 = load double, double* %15
%216 = load double, double* %16
%217 = fmul double 5.000000e-01, %216
%218 = fneg double %217
%219 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %215, double %218)
%220 = load double, double* %13
%221 = fdiv double %219, %220
store double %221, double* %31
%222 = load double, double* %31
%223 = load double, double* %23
%224 = load double, double* %27
%225 = call double @llvm.fmuladd.f64(double %223, double %224, double %222)
%226 = load double, double* %24
%227 = load double, double* %39
%228 = fneg double %226
%229 = call double @llvm.fmuladd.f64(double %228, double %227, double %225)
store double %229, double* %25
%230 = load double, double* %14
%231 = fmul double 0x401921FB54442D1C, %230
%232 = load double, double* %42
%233 = call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %232, i32 3)
%234 = sitofp i32 %233 to double
%235 = fmul double %231, %234
store double %235, double* %42
%236 = load double, double* %39
%237 = load double, double* %42
%238 = fmul double %236, %237
store double %238, double* %14
%239 = load double, double* %16
%240 = load double, double* %17
%241 = fmul double 5.000000e-01, %240
%242 = fneg double %241
%243 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %239, double %242)
%244 = load double, double* %13
%245 = fdiv double %243, %244
store double %245, double* %30
%246 = load double, double* %30
%247 = load double, double* %24
%248 = load double, double* %27
%249 = call double @llvm.fmuladd.f64(double %247, double %248, double %246)
%250 = load double, double* %39
%251 = load double, double* %14
%252 = fneg double %251
%253 = load double, double* %17
%254 = load double, double* %27
%255 = call double @llvm.fmuladd.f64(double %253, double %254, double %252)
%256 = fneg double %250
%257 = call double @llvm.fmuladd.f64(double %256, double %255, double %249)
store double %257, double* %26
%258 = load double, double* %8
%259 = call double @pow(double %258, double 1.250000e+00)
%260 = load double, double* %10
%261 = call double @pow(double %260, double 1.750000e+00)
%262 = fmul double %259, %261
store double %262, double* %37
%263 = load double, double* %37
%264 = fmul double 0x4002C4D8A4A86B96, %263
%265 = load double, double* %25
%266 = load double, double* %43
%267 = load double, double* %23
%268 = load double, double* %24
%269 = fsub double %267, %268
%270 = load double, double* %13
%271 = fdiv double %269, %270
%272 = call double @llvm.fmuladd.f64(double %265, double %266, double %271)
%273 = load double, double* %26
%274 = load double, double* %39
%275 = fneg double %273
%276 = call double @llvm.fmuladd.f64(double %275, double %274, double %272)
%277 = fmul double %264, %276
%278 = load double*, double** %12
%279 = getelementptr inbounds double, double* %278, i64 0
store double %277, double* %279
%280 = load double, double* %35
%281 = fneg double %280
%282 = load double, double* %15
%283 = load double, double* %43
%284 = call double @llvm.fmuladd.f64(double %282, double %283, double %281)
store double %284, double* %35
%285 = load double, double* %34
%286 = fneg double %285
%287 = load double, double* %16
%288 = load double, double* %43
%289 = call double @llvm.fmuladd.f64(double %287, double %288, double %286)
store double %289, double* %23
%290 = load double, double* %14
%291 = fneg double %290
%292 = load double, double* %17
%293 = load double, double* %43
%294 = call double @llvm.fmuladd.f64(double %292, double %293, double %291)
store double %294, double* %34
%295 = load double, double* %16
%296 = load double, double* %40
%297 = fmul double %295, %296
store double %297, double* %24
%298 = load double, double* %24
%299 = fneg double %298
%300 = load double, double* %15
%301 = load double, double* %28
%302 = call double @llvm.fmuladd.f64(double %300, double %301, double %299)
store double %302, double* %14
%303 = load double, double* %17
%304 = load double, double* %40
%305 = fmul double %303, %304
store double %305, double* %33
%306 = load double, double* %33
%307 = fneg double %306
%308 = load double, double* %16
%309 = load double, double* %28
%310 = call double @llvm.fmuladd.f64(double %308, double %309, double %307)
store double %310, double* %20
%311 = load double, double* %37
%312 = fmul double 0x4010411E71D77957, %311
%313 = load double, double* %27
%314 = load double, double* %28
%315 = load double, double* %35
%316 = load double, double* %23
%317 = load double, double* %40
%318 = fmul double %316, %317
%319 = fneg double %318
%320 = call double @llvm.fmuladd.f64(double %314, double %315, double %319)
%321 = load double, double* %14
%322 = load double, double* %20
%323 = fmul double 5.000000e-01, %322
%324 = fneg double %323
%325 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %321, double %324)
%326 = load double, double* %13
%327 = fdiv double %325, %326
%328 = call double @llvm.fmuladd.f64(double %313, double %320, double %327)
%329 = load double, double* %39
%330 = load double, double* %23
%331 = load double, double* %28
%332 = load double, double* %34
%333 = load double, double* %40
%334 = fmul double %332, %333
%335 = fneg double %334
%336 = call double @llvm.fmuladd.f64(double %330, double %331, double %335)
%337 = fneg double %329
%338 = call double @llvm.fmuladd.f64(double %337, double %336, double %328)
%339 = fmul double %312, %338
%340 = load double*, double** %12
%341 = getelementptr inbounds double, double* %340, i64 1
store double %339, double* %341
%342 = load double, double* %29
%343 = load double, double* %35
%344 = load double, double* %23
%345 = load double, double* %41
%346 = fmul double %344, %345
%347 = fneg double %346
%348 = call double @llvm.fmuladd.f64(double %342, double %343, double %347)
store double %348, double* %35
%349 = load double, double* %23
%350 = load double, double* %29
%351 = load double, double* %34
%352 = load double, double* %41
%353 = fmul double %351, %352
%354 = fneg double %353
%355 = call double @llvm.fmuladd.f64(double %349, double %350, double %354)
store double %355, double* %23
%356 = load double, double* %16
%357 = load double, double* %41
%358 = fmul double %356, %357
store double %358, double* %34
%359 = load double, double* %34
%360 = fneg double %359
%361 = load double, double* %15
%362 = load double, double* %29
%363 = call double @llvm.fmuladd.f64(double %361, double %362, double %360)
store double %363, double* %18
%364 = load double, double* %17
%365 = load double, double* %41
%366 = fmul double %364, %365
store double %366, double* %32
%367 = load double, double* %32
%368 = fneg double %367
%369 = load double, double* %16
%370 = load double, double* %29
%371 = call double @llvm.fmuladd.f64(double %369, double %370, double %368)
store double %371, double* %19
%372 = load double, double* %18
%373 = load double, double* %19
%374 = fmul double 5.000000e-01, %373
%375 = fneg double %374
%376 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %372, double %375)
%377 = load double, double* %13
%378 = fdiv double %376, %377
store double %378, double* %36
%379 = load double, double* %37
%380 = fmul double 0x4010411E71D77957, %379
%381 = load double, double* %36
%382 = load double, double* %27
%383 = load double, double* %35
%384 = call double @llvm.fmuladd.f64(double %382, double %383, double %381)
%385 = load double, double* %23
%386 = load double, double* %39
%387 = fneg double %385
%388 = call double @llvm.fmuladd.f64(double %387, double %386, double %384)
%389 = fmul double %380, %388
%390 = load double*, double** %12
%391 = getelementptr inbounds double, double* %390, i64 2
store double %389, double* %391
%392 = load double, double* %31
%393 = load double, double* %14
%394 = load double, double* %28
%395 = call double @llvm.fmuladd.f64(double %393, double %394, double %392)
%396 = load double, double* %20
%397 = load double, double* %40
%398 = fneg double %396
%399 = call double @llvm.fmuladd.f64(double %398, double %397, double %395)
store double %399, double* %21
%400 = load double, double* %40
%401 = load double, double* %42
%402 = fmul double %400, %401
store double %402, double* %38
%403 = load double, double* %30
%404 = load double, double* %20
%405 = load double, double* %28
%406 = call double @llvm.fmuladd.f64(double %404, double %405, double %403)
%407 = load double, double* %40
%408 = load double, double* %38
%409 = fneg double %408
%410 = load double, double* %17
%411 = load double, double* %28
%412 = call double @llvm.fmuladd.f64(double %410, double %411, double %409)
%413 = fneg double %407
%414 = call double @llvm.fmuladd.f64(double %413, double %412, double %406)
store double %414, double* %22
%415 = load double, double* %37
%416 = fmul double 0x4002C4D8A4A86B96, %415
%417 = load double, double* %21
%418 = load double, double* %43
%419 = load double, double* %22
%420 = load double, double* %39
%421 = fmul double %419, %420
%422 = fneg double %421
%423 = call double @llvm.fmuladd.f64(double %417, double %418, double %422)
%424 = fmul double %416, %423
%425 = load double*, double** %12
%426 = getelementptr inbounds double, double* %425, i64 3
store double %424, double* %426
%427 = load double, double* %37
%428 = fmul double 0x4010411E71D77957, %427
%429 = load double, double* %28
%430 = load double, double* %35
%431 = load double, double* %23
%432 = load double, double* %40
%433 = fmul double %431, %432
%434 = fneg double %433
%435 = call double @llvm.fmuladd.f64(double %429, double %430, double %434)
%436 = fmul double %428, %435
%437 = load double*, double** %12
%438 = getelementptr inbounds double, double* %437, i64 4
store double %436, double* %438
%439 = load double, double* %31
%440 = load double, double* %18
%441 = load double, double* %29
%442 = call double @llvm.fmuladd.f64(double %440, double %441, double %439)
%443 = load double, double* %19
%444 = load double, double* %41
%445 = fneg double %443
%446 = call double @llvm.fmuladd.f64(double %445, double %444, double %442)
store double %446, double* %35
%447 = load double, double* %41
%448 = load double, double* %42
%449 = fmul double %447, %448
store double %449, double* %23
%450 = load double, double* %30
%451 = load double, double* %19
%452 = load double, double* %29
%453 = call double @llvm.fmuladd.f64(double %451, double %452, double %450)
%454 = load double, double* %41
%455 = load double, double* %23
%456 = fneg double %455
%457 = load double, double* %17
%458 = load double, double* %29
%459 = call double @llvm.fmuladd.f64(double %457, double %458, double %456)
%460 = fneg double %454
%461 = call double @llvm.fmuladd.f64(double %460, double %459, double %453)
store double %461, double* %42
%462 = load double, double* %37
%463 = fmul double 0x4002C4D8A4A86B96, %462
%464 = load double, double* %35
%465 = load double, double* %43
%466 = load double, double* %39
%467 = load double, double* %42
%468 = fmul double %466, %467
%469 = fneg double %468
%470 = call double @llvm.fmuladd.f64(double %464, double %465, double %469)
%471 = fmul double %463, %470
%472 = load double*, double** %12
%473 = getelementptr inbounds double, double* %472, i64 5
store double %471, double* %473
%474 = load double, double* %37
%475 = fmul double 0x4002C4D8A4A86B96, %474
%476 = load double, double* %25
%477 = load double, double* %44
%478 = load double, double* %26
%479 = load double, double* %40
%480 = fmul double %478, %479
%481 = fneg double %480
%482 = call double @llvm.fmuladd.f64(double %476, double %477, double %481)
%483 = fmul double %475, %482
%484 = load double*, double** %12
%485 = getelementptr inbounds double, double* %484, i64 6
store double %483, double* %485
%486 = load double, double* %24
%487 = fneg double %486
%488 = load double, double* %15
%489 = load double, double* %44
%490 = call double @llvm.fmuladd.f64(double %488, double %489, double %487)
store double %490, double* %43
%491 = load double, double* %33
%492 = fneg double %491
%493 = load double, double* %16
%494 = load double, double* %44
%495 = call double @llvm.fmuladd.f64(double %493, double %494, double %492)
store double %495, double* %33
%496 = load double, double* %38
%497 = fneg double %496
%498 = load double, double* %17
%499 = load double, double* %44
%500 = call double @llvm.fmuladd.f64(double %498, double %499, double %497)
store double %500, double* %38
%501 = load double, double* %37
%502 = fmul double 0x4010411E71D77957, %501
%503 = load double, double* %27
%504 = load double, double* %31
%505 = load double, double* %28
%506 = load double, double* %43
%507 = call double @llvm.fmuladd.f64(double %505, double %506, double %504)
%508 = load double, double* %33
%509 = load double, double* %40
%510 = fneg double %508
%511 = call double @llvm.fmuladd.f64(double %510, double %509, double %507)
%512 = load double, double* %39
%513 = load double, double* %30
%514 = load double, double* %28
%515 = load double, double* %33
%516 = call double @llvm.fmuladd.f64(double %514, double %515, double %513)
%517 = load double, double* %38
%518 = load double, double* %40
%519 = fneg double %517
%520 = call double @llvm.fmuladd.f64(double %519, double %518, double %516)
%521 = fmul double %512, %520
%522 = fneg double %521
%523 = call double @llvm.fmuladd.f64(double %503, double %511, double %522)
%524 = fmul double %502, %523
%525 = load double*, double** %12
%526 = getelementptr inbounds double, double* %525, i64 7
store double %524, double* %526
%527 = load double, double* %29
%528 = load double, double* %43
%529 = load double, double* %33
%530 = load double, double* %41
%531 = fmul double %529, %530
%532 = fneg double %531
%533 = call double @llvm.fmuladd.f64(double %527, double %528, double %532)
store double %533, double* %24
%534 = load double, double* %29
%535 = load double, double* %33
%536 = load double, double* %38
%537 = load double, double* %41
%538 = fmul double %536, %537
%539 = fneg double %538
%540 = call double @llvm.fmuladd.f64(double %534, double %535, double %539)
store double %540, double* %43
%541 = load double, double* %37
%542 = fmul double 0x4010411E71D77957, %541
%543 = load double, double* %24
%544 = load double, double* %27
%545 = load double, double* %39
%546 = load double, double* %43
%547 = fmul double %545, %546
%548 = fneg double %547
%549 = call double @llvm.fmuladd.f64(double %543, double %544, double %548)
%550 = fmul double %542, %549
%551 = load double*, double** %12
%552 = getelementptr inbounds double, double* %551, i64 8
store double %550, double* %552
%553 = load double, double* %37
%554 = fmul double 0x4002C4D8A4A86B96, %553
%555 = load double, double* %21
%556 = load double, double* %44
%557 = load double, double* %14
%558 = load double, double* %20
%559 = fsub double %557, %558
%560 = load double, double* %13
%561 = fdiv double %559, %560
%562 = call double @llvm.fmuladd.f64(double %555, double %556, double %561)
%563 = load double, double* %22
%564 = load double, double* %40
%565 = fneg double %563
%566 = call double @llvm.fmuladd.f64(double %565, double %564, double %562)
%567 = fmul double %554, %566
%568 = load double*, double** %12
%569 = getelementptr inbounds double, double* %568, i64 9
store double %567, double* %569
%570 = load double, double* %37
%571 = fmul double 0x4010411E71D77957, %570
%572 = load double, double* %36
%573 = load double, double* %24
%574 = load double, double* %28
%575 = call double @llvm.fmuladd.f64(double %573, double %574, double %572)
%576 = load double, double* %40
%577 = load double, double* %43
%578 = fneg double %576
%579 = call double @llvm.fmuladd.f64(double %578, double %577, double %575)
%580 = fmul double %571, %579
%581 = load double*, double** %12
%582 = getelementptr inbounds double, double* %581, i64 10
store double %580, double* %582
%583 = load double, double* %37
%584 = fmul double 0x4002C4D8A4A86B96, %583
%585 = load double, double* %35
%586 = load double, double* %44
%587 = load double, double* %40
%588 = load double, double* %42
%589 = fmul double %587, %588
%590 = fneg double %589
%591 = call double @llvm.fmuladd.f64(double %585, double %586, double %590)
%592 = fmul double %584, %591
%593 = load double*, double** %12
%594 = getelementptr inbounds double, double* %593, i64 11
store double %592, double* %594
%595 = load double, double* %37
%596 = fmul double 0x4002C4D8A4A86B96, %595
%597 = load double, double* %25
%598 = load double, double* %45
%599 = load double, double* %26
%600 = load double, double* %41
%601 = fmul double %599, %600
%602 = fneg double %601
%603 = call double @llvm.fmuladd.f64(double %597, double %598, double %602)
%604 = fmul double %596, %603
%605 = load double*, double** %12
%606 = getelementptr inbounds double, double* %605, i64 12
store double %604, double* %606
%607 = load double, double* %34
%608 = fneg double %607
%609 = load double, double* %15
%610 = load double, double* %45
%611 = call double @llvm.fmuladd.f64(double %609, double %610, double %608)
store double %611, double* %44
%612 = load double, double* %32
%613 = fneg double %612
%614 = load double, double* %16
%615 = load double, double* %45
%616 = call double @llvm.fmuladd.f64(double %614, double %615, double %613)
store double %616, double* %14
%617 = load double, double* %23
%618 = fneg double %617
%619 = load double, double* %17
%620 = load double, double* %45
%621 = call double @llvm.fmuladd.f64(double %619, double %620, double %618)
store double %621, double* %33
%622 = load double, double* %37
%623 = fmul double 0x4010411E71D77957, %622
%624 = load double, double* %27
%625 = load double, double* %28
%626 = load double, double* %44
%627 = load double, double* %14
%628 = load double, double* %40
%629 = fmul double %627, %628
%630 = fneg double %629
%631 = call double @llvm.fmuladd.f64(double %625, double %626, double %630)
%632 = load double, double* %39
%633 = load double, double* %14
%634 = load double, double* %28
%635 = load double, double* %33
%636 = load double, double* %40
%637 = fmul double %635, %636
%638 = fneg double %637
%639 = call double @llvm.fmuladd.f64(double %633, double %634, double %638)
%640 = fmul double %632, %639
%641 = fneg double %640
%642 = call double @llvm.fmuladd.f64(double %624, double %631, double %641)
%643 = fmul double %623, %642
%644 = load double*, double** %12
%645 = getelementptr inbounds double, double* %644, i64 13
store double %643, double* %645
%646 = load double, double* %31
%647 = load double, double* %29
%648 = load double, double* %44
%649 = call double @llvm.fmuladd.f64(double %647, double %648, double %646)
%650 = load double, double* %14
%651 = load double, double* %41
%652 = fneg double %650
%653 = call double @llvm.fmuladd.f64(double %652, double %651, double %649)
store double %653, double* %20
%654 = load double, double* %30
%655 = load double, double* %14
%656 = load double, double* %29
%657 = call double @llvm.fmuladd.f64(double %655, double %656, double %654)
%658 = load double, double* %33
%659 = load double, double* %41
%660 = fneg double %658
%661 = call double @llvm.fmuladd.f64(double %660, double %659, double %657)
store double %661, double* %30
%662 = load double, double* %37
%663 = fmul double 0x4010411E71D77957, %662
%664 = load double, double* %20
%665 = load double, double* %27
%666 = load double, double* %30
%667 = load double, double* %39
%668 = fmul double %666, %667
%669 = fneg double %668
%670 = call double @llvm.fmuladd.f64(double %664, double %665, double %669)
%671 = fmul double %663, %670
%672 = load double*, double** %12
%673 = getelementptr inbounds double, double* %672, i64 14
store double %671, double* %673
%674 = load double, double* %37
%675 = fmul double 0x4002C4D8A4A86B96, %674
%676 = load double, double* %21
%677 = load double, double* %45
%678 = load double, double* %22
%679 = load double, double* %41
%680 = fmul double %678, %679
%681 = fneg double %680
%682 = call double @llvm.fmuladd.f64(double %676, double %677, double %681)
%683 = fmul double %675, %682
%684 = load double*, double** %12
%685 = getelementptr inbounds double, double* %684, i64 15
store double %683, double* %685
%686 = load double, double* %37
%687 = fmul double 0x4010411E71D77957, %686
%688 = load double, double* %20
%689 = load double, double* %28
%690 = load double, double* %30
%691 = load double, double* %40
%692 = fmul double %690, %691
%693 = fneg double %692
%694 = call double @llvm.fmuladd.f64(double %688, double %689, double %693)
%695 = fmul double %687, %694
%696 = load double*, double** %12
%697 = getelementptr inbounds double, double* %696, i64 16
store double %695, double* %697
%698 = load double, double* %37
%699 = fmul double 0x4002C4D8A4A86B96, %698
%700 = load double, double* %35
%701 = load double, double* %45
%702 = load double, double* %18
%703 = load double, double* %19
%704 = fsub double %702, %703
%705 = load double, double* %13
%706 = fdiv double %704, %705
%707 = call double @llvm.fmuladd.f64(double %700, double %701, double %706)
%708 = load double, double* %41
%709 = load double, double* %42
%710 = fneg double %708
%711 = call double @llvm.fmuladd.f64(double %710, double %709, double %707)
%712 = fmul double %699, %711
%713 = load double*, double** %12
%714 = getelementptr inbounds double, double* %713, i64 17
store double %712, double* %714
ret void
}

LLVM IR (-O2):
define void @gint2_nai_P_cD(double* nocapture %0, double %1, double* nocapture %2, double %3, double* nocapture %4, double* nocapture writeonly %5) {
%7 = fadd double %1, %3
%8 = bitcast double* %0 to <2 x double>*
%9 = load <2 x double>, <2 x double>* %8
%10 = bitcast double* %2 to <2 x double>*
%11 = load <2 x double>, <2 x double>* %10
%12 = insertelement <2 x double> poison, double %3, i64 0
%13 = shufflevector <2 x double> %12, <2 x double> poison, <2 x i32> zeroinitializer
%14 = fmul <2 x double> %11, %13
%15 = insertelement <2 x double> poison, double %1, i64 0
%16 = shufflevector <2 x double> %15, <2 x double> poison, <2 x i32> zeroinitializer
%17 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %9, <2 x double> %16, <2 x double> %14)
%18 = insertelement <2 x double> poison, double %7, i64 0
%19 = shufflevector <2 x double> %18, <2 x double> poison, <2 x i32> zeroinitializer
%20 = fdiv <2 x double> %17, %19
%21 = getelementptr inbounds double, double* %0, i64 2
%22 = load double, double* %21
%23 = getelementptr inbounds double, double* %2, i64 2
%24 = load double, double* %23
%25 = fmul double %24, %3
%26 = tail call double @llvm.fmuladd.f64(double %22, double %1, double %25)
%27 = fdiv double %26, %7
%28 = fsub <2 x double> %9, %11
%29 = extractelement <2 x double> %28, i64 0
%30 = extractelement <2 x double> %9, i64 1
%31 = extractelement <2 x double> %11, i64 1
%32 = fsub double %30, %31
%33 = fsub double %22, %24
%34 = load double, double* %4
%35 = getelementptr inbounds double, double* %4, i64 1
%36 = load double, double* %35
%37 = getelementptr inbounds double, double* %4, i64 2
%38 = load double, double* %37
%39 = fsub double %27, %38
%40 = insertelement <2 x double> %11, double %36, i64 1
%41 = fsub <2 x double> %20, %40
%42 = extractelement <2 x double> %41, i64 1
%43 = fmul double %42, %42
%44 = shufflevector <2 x double> %20, <2 x double> undef, <2 x i32> zeroinitializer
%45 = insertelement <2 x double> poison, double %34, i64 0
%46 = shufflevector <2 x double> %45, <2 x double> %9, <2 x i32> <i32 0, i32 2>
%47 = fsub <2 x double> %44, %46
%48 = extractelement <2 x double> %47, i64 0
%49 = tail call double @llvm.fmuladd.f64(double %48, double %48, double %43)
%50 = tail call double @llvm.fmuladd.f64(double %39, double %39, double %49)
%51 = fmul double %7, %50
%52 = extractelement <2 x double> %20, i64 1
%53 = fsub double %52, %30
%54 = insertelement <2 x double> %20, double %27, i64 0
%55 = insertelement <2 x double> %11, double %22, i64 0
%56 = fsub <2 x double> %54, %55
%57 = fsub double %27, %24
%58 = fneg double %1
%59 = fmul double %58, %3
%60 = fmul double %32, %32
%61 = tail call double @llvm.fmuladd.f64(double %29, double %29, double %60)
%62 = tail call double @llvm.fmuladd.f64(double %33, double %33, double %61)
%63 = fmul double %59, %62
%64 = fdiv double %63, %7
%65 = tail call double @exp(double %64)
%66 = fdiv double %65, %7
%67 = fmul double %66, 0x401921FB54442D1C
%68 = tail call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %51, i32 0)
%69 = sitofp i32 %68 to double
%70 = fmul double %67, %69
%71 = tail call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %51, i32 1)
%72 = sitofp i32 %71 to double
%73 = fmul double %67, %72
%74 = fneg double %73
%75 = fmul double %48, %74
%76 = extractelement <2 x double> %41, i64 0
%77 = tail call double @llvm.fmuladd.f64(double %70, double %76, double %75)
%78 = tail call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %51, i32 2)
%79 = sitofp i32 %78 to double
%80 = fmul double %67, %79
%81 = fneg double %80
%82 = fmul double %48, %81
%83 = tail call double @llvm.fmuladd.f64(double %73, double %76, double %82)
%84 = fmul double %73, -5.000000e-01
%85 = tail call double @llvm.fmuladd.f64(double %70, double 5.000000e-01, double %84)
%86 = fdiv double %85, %7
%87 = tail call double @llvm.fmuladd.f64(double %77, double %76, double %86)
%88 = fneg double %83
%89 = tail call double @llvm.fmuladd.f64(double %88, double %48, double %87)
%90 = tail call i32 (double, i32, ...) bitcast (i32 (...)* @gaux to i32 (double, i32, ...)*)(double %51, i32 3)
%91 = sitofp i32 %90 to double
%92 = fmul double %67, %91
%93 = fmul double %80, -5.000000e-01
%94 = tail call double @llvm.fmuladd.f64(double %73, double 5.000000e-01, double %93)
%95 = fdiv double %94, %7
%96 = tail call double @llvm.fmuladd.f64(double %83, double %76, double %95)
%97 = fneg double %48
%98 = fmul double %92, %97
%99 = tail call double @llvm.fmuladd.f64(double %80, double %76, double %98)
%100 = tail call double @llvm.fmuladd.f64(double %97, double %99, double %96)
%101 = tail call double @pow(double %1, double 1.250000e+00)
%102 = tail call double @pow(double %3, double 1.750000e+00)
%103 = fmul double %101, %102
%104 = fsub double %77, %83
%105 = fneg double %100
%106 = extractelement <2 x double> %47, i64 1
%107 = tail call double @llvm.fmuladd.f64(double %70, double %106, double %75)
%108 = tail call double @llvm.fmuladd.f64(double %73, double %106, double %82)
%109 = tail call double @llvm.fmuladd.f64(double %80, double %106, double %98)
%110 = fmul double %42, %74
%111 = extractelement <2 x double> %56, i64 1
%112 = tail call double @llvm.fmuladd.f64(double %70, double %111, double %110)
%113 = insertelement <2 x double> poison, double %103, i64 0
%114 = shufflevector <2 x double> %113, <2 x double> poison, <2 x i32> zeroinitializer
%115 = fmul <2 x double> %114, <double 0x4002C4D8A4A86B96, double 0x4010411E71D77957>
%116 = fneg double %108
%117 = fmul double %42, %116
%118 = tail call double @llvm.fmuladd.f64(double %111, double %107, double %117)
%119 = insertelement <2 x double> poison, double %39, i64 0
%120 = insertelement <2 x double> %41, double %39, i64 0
%121 = insertelement <2 x double> poison, double %81, i64 0
%122 = shufflevector <2 x double> %121, <2 x double> poison, <2 x i32> zeroinitializer
%123 = fmul <2 x double> %120, %122
%124 = insertelement <2 x double> poison, double %73, i64 0
%125 = shufflevector <2 x double> %124, <2 x double> poison, <2 x i32> zeroinitializer
%126 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %125, <2 x double> %56, <2 x double> %123)
%127 = extractelement <2 x double> %126, i64 1
%128 = fmul double %127, -5.000000e-01
%129 = tail call double @llvm.fmuladd.f64(double %112, double 5.000000e-01, double %128)
%130 = insertelement <2 x double> poison, double %104, i64 0
%131 = insertelement <2 x double> %130, double %129, i64 1
%132 = fdiv <2 x double> %131, %19
%133 = insertelement <2 x double> poison, double %89, i64 0
%134 = shufflevector <2 x double> %133, <2 x double> %41, <2 x i32> <i32 0, i32 2>
%135 = insertelement <2 x double> poison, double %106, i64 0
%136 = insertelement <2 x double> %135, double %118, i64 1
%137 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %134, <2 x double> %136, <2 x double> %132)
%138 = fneg double %109
%139 = fmul double %42, %138
%140 = tail call double @llvm.fmuladd.f64(double %108, double %111, double %139)
%141 = insertelement <2 x double> poison, double %105, i64 0
%142 = insertelement <2 x double> %141, double %97, i64 1
%143 = shufflevector <2 x double> %47, <2 x double> undef, <2 x i32> <i32 0, i32 undef>
%144 = insertelement <2 x double> %143, double %140, i64 1
%145 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %142, <2 x double> %144, <2 x double> %137)
%146 = fmul <2 x double> %115, %145
%147 = bitcast double* %5 to <2 x double>*
store <2 x double> %146, <2 x double>* %147
%148 = fmul double %39, %116
%149 = tail call double @llvm.fmuladd.f64(double %57, double %107, double %148)
%150 = fmul double %39, %138
%151 = tail call double @llvm.fmuladd.f64(double %108, double %57, double %150)
%152 = fmul double %39, %74
%153 = tail call double @llvm.fmuladd.f64(double %70, double %57, double %152)
%154 = extractelement <2 x double> %123, i64 0
%155 = tail call double @llvm.fmuladd.f64(double %73, double %57, double %154)
%156 = fmul double %155, -5.000000e-01
%157 = tail call double @llvm.fmuladd.f64(double %153, double 5.000000e-01, double %156)
%158 = fdiv double %157, %7
%159 = tail call double @llvm.fmuladd.f64(double %76, double %149, double %158)
%160 = fneg double %151
%161 = getelementptr inbounds double, double* %5, i64 2
%162 = fneg double %39
%163 = fmul double %92, %162
%164 = extractelement <2 x double> %56, i64 0
%165 = tail call double @llvm.fmuladd.f64(double %80, double %164, double %163)
%166 = insertelement <2 x double> %41, double %165, i64 0
%167 = fneg <2 x double> %166
%168 = extractelement <2 x double> %167, i64 1
%169 = fmul double %92, %168
%170 = tail call double @llvm.fmuladd.f64(double %80, double %111, double %169)
%171 = insertelement <2 x double> poison, double %57, i64 0
%172 = insertelement <2 x double> %56, double %57, i64 0
%173 = insertelement <2 x double> poison, double %95, i64 0
%174 = shufflevector <2 x double> %173, <2 x double> poison, <2 x i32> zeroinitializer
%175 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %126, <2 x double> %172, <2 x double> %174)
%176 = insertelement <2 x double> %119, double %170, i64 1
%177 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %167, <2 x double> %176, <2 x double> %175)
%178 = fneg <2 x double> %177
%179 = extractelement <2 x double> %178, i64 1
%180 = fmul double %48, %179
%181 = tail call double @llvm.fmuladd.f64(double %70, double %164, double %152)
%182 = fneg <2 x double> %126
%183 = insertelement <2 x double> %171, double %112, i64 1
%184 = insertelement <2 x double> %56, double %181, i64 0
%185 = insertelement <2 x double> poison, double %86, i64 0
%186 = shufflevector <2 x double> %185, <2 x double> poison, <2 x i32> zeroinitializer
%187 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %183, <2 x double> %184, <2 x double> %186)
%188 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %182, <2 x double> %120, <2 x double> %187)
%189 = insertelement <2 x double> poison, double %160, i64 0
%190 = extractelement <2 x double> %188, i64 1
%191 = insertelement <2 x double> %188, double %160, i64 0
%192 = insertelement <2 x double> poison, double %159, i64 0
%193 = insertelement <2 x double> %192, double %180, i64 1
%194 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %191, <2 x double> %47, <2 x double> %193)
%195 = shufflevector <2 x double> %115, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%196 = fmul <2 x double> %195, %194
%197 = bitcast double* %161 to <2 x double>*
store <2 x double> %196, <2 x double>* %197
%198 = getelementptr inbounds double, double* %5, i64 4
%199 = tail call double @llvm.fmuladd.f64(double %153, double %57, double %86)
%200 = fneg double %155
%201 = tail call double @llvm.fmuladd.f64(double %200, double %39, double %199)
%202 = tail call double @llvm.fmuladd.f64(double %155, double %57, double %95)
%203 = tail call double @llvm.fmuladd.f64(double %80, double %57, double %163)
%204 = tail call double @llvm.fmuladd.f64(double %162, double %203, double %202)
%205 = shufflevector <2 x double> %41, <2 x double> undef, <2 x i32> <i32 1, i32 undef>
%206 = insertelement <2 x double> %205, double %204, i64 1
%207 = insertelement <2 x double> %189, double %97, i64 1
%208 = fmul <2 x double> %206, %207
%209 = shufflevector <2 x double> %56, <2 x double> undef, <2 x i32> <i32 1, i32 undef>
%210 = insertelement <2 x double> %209, double %201, i64 1
%211 = insertelement <2 x double> %47, double %149, i64 0
%212 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %210, <2 x double> %211, <2 x double> %208)
%213 = fmul <2 x double> %195, %212
%214 = bitcast double* %198 to <2 x double>*
store <2 x double> %213, <2 x double>* %214
%215 = getelementptr inbounds double, double* %5, i64 6
%216 = tail call double @llvm.fmuladd.f64(double %70, double %53, double %110)
%217 = extractelement <2 x double> %123, i64 1
%218 = tail call double @llvm.fmuladd.f64(double %73, double %53, double %217)
%219 = tail call double @llvm.fmuladd.f64(double %80, double %53, double %169)
%220 = tail call double @llvm.fmuladd.f64(double %111, double %216, double %86)
%221 = fneg double %218
%222 = tail call double @llvm.fmuladd.f64(double %221, double %42, double %220)
%223 = tail call double @llvm.fmuladd.f64(double %111, double %218, double %95)
%224 = fneg double %219
%225 = tail call double @llvm.fmuladd.f64(double %224, double %42, double %223)
%226 = insertelement <2 x double> %205, double %225, i64 1
%227 = fmul <2 x double> %226, %142
%228 = insertelement <2 x double> poison, double %53, i64 0
%229 = insertelement <2 x double> %228, double %222, i64 1
%230 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %134, <2 x double> %229, <2 x double> %227)
%231 = fmul <2 x double> %115, %230
%232 = bitcast double* %215 to <2 x double>*
store <2 x double> %231, <2 x double>* %232
%233 = fmul double %39, %221
%234 = tail call double @llvm.fmuladd.f64(double %57, double %216, double %233)
%235 = fmul double %39, %224
%236 = tail call double @llvm.fmuladd.f64(double %57, double %218, double %235)
%237 = fmul double %236, %97
%238 = getelementptr inbounds double, double* %5, i64 8
%239 = fsub double %112, %127
%240 = fdiv double %239, %7
%241 = tail call double @llvm.fmuladd.f64(double %190, double %53, double %240)
%242 = insertelement <2 x double> %178, double %234, i64 0
%243 = insertelement <2 x double> poison, double %237, i64 0
%244 = insertelement <2 x double> %243, double %241, i64 1
%245 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %242, <2 x double> %41, <2 x double> %244)
%246 = fmul <2 x double> %195, %245
%247 = bitcast double* %238 to <2 x double>*
store <2 x double> %246, <2 x double>* %247
%248 = tail call double @llvm.fmuladd.f64(double %234, double %111, double %158)
%249 = getelementptr inbounds double, double* %5, i64 10
%250 = fmul double %204, %168
%251 = insertelement <2 x double> poison, double %168, i64 0
%252 = insertelement <2 x double> %251, double %201, i64 1
%253 = insertelement <2 x double> poison, double %236, i64 0
%254 = insertelement <2 x double> %253, double %53, i64 1
%255 = insertelement <2 x double> poison, double %248, i64 0
%256 = insertelement <2 x double> %255, double %250, i64 1
%257 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %252, <2 x double> %254, <2 x double> %256)
%258 = fmul <2 x double> %195, %257
%259 = bitcast double* %249 to <2 x double>*
store <2 x double> %258, <2 x double>* %259
%260 = getelementptr inbounds double, double* %5, i64 12
%261 = extractelement <2 x double> %182, i64 0
%262 = fmul double %42, %261
%263 = tail call double @llvm.fmuladd.f64(double %111, double %181, double %262)
%264 = extractelement <2 x double> %167, i64 0
%265 = fmul double %42, %264
%266 = extractelement <2 x double> %126, i64 0
%267 = tail call double @llvm.fmuladd.f64(double %266, double %111, double %265)
%268 = insertelement <2 x double> %119, double %267, i64 1
%269 = fmul <2 x double> %268, %142
%270 = insertelement <2 x double> %56, double %263, i64 1
%271 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %134, <2 x double> %270, <2 x double> %269)
%272 = fmul <2 x double> %115, %271
%273 = bitcast double* %260 to <2 x double>*
store <2 x double> %272, <2 x double>* %273
%274 = getelementptr inbounds double, double* %5, i64 14
%275 = insertelement <2 x double> %143, double %39, i64 1
%276 = fmul <2 x double> %275, %178
%277 = shufflevector <2 x double> %41, <2 x double> %56, <2 x i32> <i32 0, i32 2>
%278 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %188, <2 x double> %277, <2 x double> %276)
%279 = fmul <2 x double> %195, %278
%280 = bitcast double* %274 to <2 x double>*
store <2 x double> %279, <2 x double>* %280
%281 = extractelement <2 x double> %178, i64 0
%282 = fmul double %42, %281
%283 = getelementptr inbounds double, double* %5, i64 16
%284 = fsub double %153, %155
%285 = fdiv double %284, %7
%286 = tail call double @llvm.fmuladd.f64(double %201, double %164, double %285)
%287 = insertelement <2 x double> %188, double %162, i64 1
%288 = insertelement <2 x double> %209, double %204, i64 1
%289 = insertelement <2 x double> poison, double %282, i64 0
%290 = insertelement <2 x double> %289, double %286, i64 1
%291 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %287, <2 x double> %288, <2 x double> %290)
%292 = fmul <2 x double> %195, %291
%293 = bitcast double* %283 to <2 x double>*
store <2 x double> %292, <2 x double>* %293
ret void
}