void gint2_nai_SP_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_002_0, nai_000_010_0, nai_000_010_1, nai_000_020_0, nai_000_100_0,
      nai_000_100_1, nai_000_200_0, nai_000_200_1, p_0, p_1, p_2, tmp1, tmp12,
      tmp13, tmp14, tmp15, tmp16, tmp17, tmp3, 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);
  tmp17 = d_2 * u_0;
  nai_000_100_0 = -tmp17 + d_1 * p_0;
  nai_000_000_2 = 6.28318530717959 * d_0 * gaux(usq, 2);
  tmp14 = nai_000_000_2 * u_0;
  nai_000_100_1 = -tmp14 + 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;
  tmp3 = pow(b_a, 1.75);
  tmp8 = tmp3 * pow(a_a, 0.75);
  out[0] = 1.17305816955079 * nai_000_200_0 * tmp8;
  tmp16 = d_2 * u_1;
  nai_000_010_0 = -tmp16 + d_1 * p_1;
  tmp13 = nai_000_000_2 * u_1;
  nai_000_010_1 = -tmp13 + d_2 * p_1;
  out[1] =
      2.03179634989571 * tmp8 * (nai_000_010_0 * p_0 - nai_000_010_1 * u_0);
  tmp15 = d_2 * u_2;
  nai_000_001_0 = -tmp15 + d_1 * p_2;
  tmp12 = nai_000_000_2 * u_2;
  nai_000_001_1 = -tmp12 + d_2 * p_2;
  out[2] =
      2.03179634989571 * tmp8 * (nai_000_001_0 * p_0 - nai_000_001_1 * u_0);
  nai_000_020_0 = tmp1 + nai_000_010_0 * p_1 - nai_000_010_1 * u_1;
  out[3] = 1.17305816955079 * nai_000_020_0 * tmp8;
  out[4] =
      2.03179634989571 * tmp8 * (nai_000_001_0 * p_1 - nai_000_001_1 * u_1);
  nai_000_002_0 = tmp1 + nai_000_001_0 * p_2 - nai_000_001_1 * u_2;
  out[5] = 1.17305816955079 * nai_000_002_0 * tmp8;
  usq = 6.28318530717959 * d_0 * gaux(usq, 3);
  d_0 = u_0 * usq;
  tmp8 = (0.5 * d_2 - 0.5 * nai_000_000_2) / ab_a;
  nai_000_200_1 =
      tmp8 + nai_000_100_1 * p_0 - u_0 * (-d_0 + nai_000_000_2 * p_0);
  tmp3 = tmp3 * pow(a_a, 1.25);
  out[6] = 2.34611633910158 * tmp3 *
           (nai_000_200_0 * v_0 + (nai_000_100_0 - nai_000_100_1) / ab_a -
            nai_000_200_1 * u_0);
  tmp17 = -tmp17 + d_1 * v_0;
  nai_000_100_0 = -tmp14 + d_2 * v_0;
  tmp14 = -d_0 + nai_000_000_2 * v_0;
  out[7] = 4.06359269979142 * tmp3 *
           (p_0 * (p_1 * tmp17 - nai_000_100_0 * u_1) +
            (0.5 * nai_000_010_0 - 0.5 * nai_000_010_1) / ab_a -
            u_0 * (nai_000_100_0 * p_1 - tmp14 * u_1));
  nai_000_100_1 = p_2 * tmp17 - nai_000_100_0 * u_2;
  d_0 = nai_000_100_0 * p_2 - tmp14 * u_2;
  tmp17 = (0.5 * nai_000_001_0 - 0.5 * nai_000_001_1) / ab_a;
  out[8] = 4.06359269979142 * tmp3 * (tmp17 + nai_000_100_1 * p_0 - d_0 * u_0);
  nai_000_100_0 = u_1 * usq;
  tmp14 =
      tmp8 + nai_000_010_1 * p_1 - u_1 * (-nai_000_100_0 + nai_000_000_2 * p_1);
  out[9] = 2.34611633910158 * tmp3 * (nai_000_020_0 * v_0 - tmp14 * u_0);
  out[10] = 4.06359269979142 * tmp3 * (nai_000_100_1 * p_1 - d_0 * u_1);
  nai_000_100_1 = u_2 * usq;
  usq =
      tmp8 + nai_000_001_1 * p_2 - u_2 * (-nai_000_100_1 + nai_000_000_2 * p_2);
  out[11] = 2.34611633910158 * tmp3 * (nai_000_002_0 * v_0 - u_0 * usq);
  out[12] =
      2.34611633910158 * tmp3 * (nai_000_200_0 * v_1 - nai_000_200_1 * u_1);
  v_0 = -tmp16 + d_1 * v_1;
  d_0 = -tmp13 + d_2 * v_1;
  nai_000_100_0 = -nai_000_100_0 + nai_000_000_2 * v_1;
  out[13] = 4.06359269979142 * tmp3 *
            (p_0 * (tmp1 + p_1 * v_0 - d_0 * u_1) -
             u_0 * (tmp8 + d_0 * p_1 - nai_000_100_0 * u_1));
  tmp16 = p_2 * v_0 - d_0 * u_2;
  tmp13 = d_0 * p_2 - nai_000_100_0 * u_2;
  out[14] = 4.06359269979142 * tmp3 * (p_0 * tmp16 - tmp13 * u_0);
  out[15] = 2.34611633910158 * tmp3 *
            (nai_000_020_0 * v_1 + (nai_000_010_0 - nai_000_010_1) / ab_a -
             tmp14 * u_1);
  out[16] = 4.06359269979142 * tmp3 * (tmp17 + p_1 * tmp16 - tmp13 * u_1);
  out[17] = 2.34611633910158 * tmp3 * (nai_000_002_0 * v_1 - u_1 * usq);
  out[18] =
      2.34611633910158 * tmp3 * (nai_000_200_0 * v_2 - nai_000_200_1 * u_2);
  nai_000_010_1 = -tmp15 + d_1 * v_2;
  tmp15 = -tmp12 + d_2 * v_2;
  tmp12 = -nai_000_100_1 + nai_000_000_2 * v_2;
  out[19] = 4.06359269979142 * tmp3 *
            (p_0 * (nai_000_010_1 * p_1 - tmp15 * u_1) -
             u_0 * (p_1 * tmp15 - tmp12 * u_1));
  v_0 = tmp1 + nai_000_010_1 * p_2 - tmp15 * u_2;
  v_1 = tmp8 + p_2 * tmp15 - tmp12 * u_2;
  out[20] = 4.06359269979142 * tmp3 * (p_0 * v_0 - u_0 * v_1);
  out[21] = 2.34611633910158 * tmp3 * (nai_000_020_0 * v_2 - tmp14 * u_2);
  out[22] = 4.06359269979142 * tmp3 * (p_1 * v_0 - u_1 * v_1);
  out[23] = 2.34611633910158 * tmp3 *
            (nai_000_002_0 * v_2 + (nai_000_001_0 - nai_000_001_1) / ab_a -
             u_2 * usq);
}


x86 assembly (clang, -O0):
<gint2_nai_SP_cD>:
push   %rbp
mov    %rsp,%rbp
sub    $0x170,%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,-0xb0(%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,-0xb8(%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,-0xc0(%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  -0xb0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x110(%rbp),%xmm3
ff
movsd  -0x118(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x120(%rbp),%xmm1
ff
movsd  -0x120(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm0
movsd  %xmm0,-0xc0(%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  0x1c4a(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
xor    %edi,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x170(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x1c0f(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x168(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x50(%rbp),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%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,-0x90(%rbp)
ff
movsd  0x1b80(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x160(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x110(%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  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%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  -0x90(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
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,-0xa0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  0x1a6f(%rip),%xmm1
call   1050 <pow@plt>
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1a3d(%rip),%xmm1
call   1050 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x158(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x1a09(%rip),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x108(%rbp),%xmm0
ff
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x50(%rbp),%xmm0
mulsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xf0(%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,-0x78(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x118(%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  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x1955(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm3
ff
movsd  -0x80(%rbp),%xmm2
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,0x8(%rax)
movsd  -0x50(%rbp),%xmm0
mulsd  -0x120(%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  -0xc0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x58(%rbp),%xmm0
mulsd  -0x120(%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  -0xc0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x1863(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0xb0(%rbp),%xmm3
ff
movsd  -0x68(%rbp),%xmm2
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,0x10(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x80(%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,-0x88(%rbp)
ff
movsd  0x17b4(%rip),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x108(%rbp),%xmm0
ff
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  0x179b(%rip),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm3
ff
movsd  -0x68(%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,0x20(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x68(%rbp),%xmm0
movsd  -0x120(%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  0x16ef(%rip),%xmm0
mulsd  -0x70(%rbp),%xmm0
mulsd  -0x108(%rbp),%xmm0
ff
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  0x16c9(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
mov    $0x3,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movsd  -0x150(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x110(%rbp),%xmm0
ff
mulsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  0x165e(%rip),%xmm1
mulsd  -0x58(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x163a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x110(%rbp),%xmm0
ff
movsd  -0x40(%rbp),%xmm2
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,-0xa8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0x1590(%rip),%xmm1
call   1050 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x148(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x1554(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x90(%rbp),%xmm1
ff
subsd  -0x98(%rbp),%xmm1
ff
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0xa8(%rbp),%xmm1
ff
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,0x30(%rax)
movsd  -0xf8(%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,-0xf8(%rbp)
ff
movsd  -0xe0(%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,-0x90(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
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,-0xe0(%rbp)
ff
movsd  0x1432(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm3
ff
movsd  -0xf8(%rbp),%xmm4
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  -0x118(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  -0x78(%rbp),%xmm1
movsd  0x13de(%rip),%xmm4
mulsd  -0x80(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x13ba(%rip),%xmm5
mulsd  %xmm5,%xmm1
addsd  %xmm4,%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x110(%rbp),%xmm1
ff
movsd  -0x90(%rbp),%xmm3
ff
movsd  -0xb8(%rbp),%xmm5
ff
movsd  -0xe0(%rbp),%xmm4
ff
mulsd  -0x118(%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,0x38(%rax)
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  -0x120(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0xe0(%rbp),%xmm1
ff
mulsd  -0x120(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  0x129a(%rip),%xmm1
mulsd  -0x68(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1276(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x1251(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x40(%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,0x40(%rax)
movsd  -0x118(%rbp),%xmm0
ff
mulsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
movsd  -0xb8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
movsd  -0x90(%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,-0xe0(%rbp)
ff
movsd  0x1148(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0xe0(%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,0x48(%rax)
movsd  0x10f4(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm3
ff
movsd  -0x40(%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,0x50(%rax)
movsd  -0x120(%rbp),%xmm0
ff
mulsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0x68(%rbp),%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x120(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movsd  -0x58(%rbp),%xmm2
movsd  -0xc0(%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,-0x128(%rbp)
ff
movsd  0xffb(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
movsd  -0x70(%rbp),%xmm1
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x110(%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,0x58(%rax)
movsd  0xfa2(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0xa8(%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  -0xf0(%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  -0xd8(%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  -0x90(%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,-0x90(%rbp)
ff
movsd  0xe9d(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm3
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0x130(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x40(%rbp),%xmm3
movsd  -0x118(%rbp),%xmm4
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x108(%rbp),%xmm4
ff
movsd  -0x40(%rbp),%xmm5
movsd  -0xb8(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x90(%rbp),%xmm4
ff
movsd  -0x118(%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,0x68(%rax)
movsd  -0xc0(%rbp),%xmm0
ff
movsd  -0x130(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x120(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movsd  -0xc0(%rbp),%xmm2
ff
movsd  -0x90(%rbp),%xmm1
ff
mulsd  -0x120(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0xd2d(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xf0(%rbp),%xmm3
ff
movsd  -0xd8(%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,0x70(%rax)
movsd  0xcc9(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm2
ff
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x78(%rbp),%xmm1
subsd  -0x80(%rbp),%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0xe0(%rbp),%xmm1
ff
movsd  -0x118(%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,0x78(%rax)
movsd  0xc5e(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xf0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0x118(%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,0x80(%rax)
movsd  0xbe7(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm1
movsd  -0x138(%rbp),%xmm3
ff
movsd  -0x118(%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,0x88(%rax)
movsd  0xb8b(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x140(%rbp),%xmm3
ff
movsd  -0xa8(%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,0x90(%rax)
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0x140(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0x140(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x140(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0xa83(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x80(%rbp),%xmm3
movsd  -0xb8(%rbp),%xmm4
ff
movsd  -0xe8(%rbp),%xmm2
ff
mulsd  -0x118(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0xb8(%rbp),%xmm4
ff
movsd  -0xe8(%rbp),%xmm6
ff
movsd  -0xd0(%rbp),%xmm5
ff
mulsd  -0x118(%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,0x98(%rax)
movsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm1
movsd  -0xc0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x108(%rbp),%xmm0
ff
movsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xe8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x90a(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x110(%rbp),%xmm2
ff
mulsd  -0x138(%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,0xa0(%rax)
movsd  0x8a3(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x140(%rbp),%xmm3
ff
movsd  -0xe0(%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,0xa8(%rax)
movsd  0x84c(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm3
ff
movsd  -0x118(%rbp),%xmm2
ff
mulsd  -0x138(%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,0xb0(%rax)
movsd  0x7e5(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x140(%rbp),%xmm3
ff
movsd  -0x60(%rbp),%xmm1
subsd  -0x68(%rbp),%xmm1
divsd  -0x38(%rbp),%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x120(%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,0xb8(%rax)
add    $0x170,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<gint2_nai_SP_cD>:
push   %rbp
push   %rbx
sub    $0x278,%rsp
mov    %rcx,%rbx
movapd %xmm0,%xmm11
addsd  %xmm1,%xmm11
movsd  (%rsi),%xmm8
movsd  0x8(%rsi),%xmm9
movapd %xmm8,%xmm3
mulsd  %xmm1,%xmm3
movapd %xmm1,%xmm2
movsd  (%rdi),%xmm1
movsd  0x8(%rdi),%xmm13
movapd %xmm1,%xmm5
mulsd  %xmm0,%xmm5
addsd  %xmm3,%xmm5
divsd  %xmm11,%xmm5
movapd %xmm5,%xmm15
movapd %xmm9,%xmm3
mulsd  %xmm2,%xmm3
movapd %xmm2,%xmm14
movsd  %xmm2,0x20(%rsp)
movapd %xmm13,%xmm5
mulsd  %xmm0,%xmm5
movapd %xmm0,%xmm4
addsd  %xmm3,%xmm5
divsd  %xmm11,%xmm5
movapd %xmm5,%xmm3
movsd  0x10(%rdi),%xmm12
movsd  0x10(%rsi),%xmm6
movapd %xmm12,%xmm7
movapd %xmm12,%xmm0
subsd  %xmm6,%xmm0
unpcklpd %xmm6,%xmm12
mulsd  %xmm2,%xmm6
movapd %xmm4,%xmm5
movapd %xmm4,0x50(%rsp)
mulsd  %xmm4,%xmm7
addsd  %xmm6,%xmm7
divsd  %xmm11,%xmm7
movapd %xmm7,%xmm4
movapd %xmm7,%xmm10
subsd  0x10(%rdx),%xmm4
movapd %xmm4,0x70(%rsp)
movapd %xmm3,%xmm2
unpcklpd %xmm3,%xmm3
movsd  (%rdx),%xmm6
movsd  0x8(%rdx),%xmm7
unpcklpd %xmm13,%xmm7
subpd  %xmm7,%xmm3
movapd %xmm3,0xe0(%rsp)
movapd %xmm15,%xmm7
unpcklpd %xmm15,%xmm7
unpcklpd %xmm1,%xmm6
subpd  %xmm6,%xmm7
movapd %xmm7,0x80(%rsp)
movapd %xmm3,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm7,%xmm3
mulsd  %xmm7,%xmm3
addsd  %xmm6,%xmm3
movapd %xmm4,%xmm6
mulsd  %xmm4,%xmm6
addsd  %xmm3,%xmm6
subsd  %xmm8,%xmm1
subsd  %xmm8,%xmm15
movapd %xmm15,0x90(%rsp)
subsd  %xmm9,%xmm13
subsd  %xmm9,%xmm2
movapd %xmm2,0x30(%rsp)
unpcklpd %xmm10,%xmm10
subpd  %xmm12,%xmm10
movapd %xmm10,0xf0(%rsp)
mulsd  %xmm13,%xmm13
mulsd  %xmm1,%xmm1
addsd  %xmm13,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm5,%xmm1
xorpd  0xd4f(%rip),%xmm1
mulsd  %xmm14,%xmm1
mulsd  %xmm1,%xmm0
movapd %xmm11,0x100(%rsp)
mulsd  %xmm11,%xmm6
movapd %xmm6,(%rsp)
divsd  %xmm11,%xmm0
call   1040 <exp@plt>
divsd  0x100(%rsp),%xmm0
mulsd  0xd67(%rip),%xmm0
movapd %xmm0,0x10(%rsp)
movaps (%rsp),%xmm0
xor    %edi,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
mov    %eax,%ebp
movaps (%rsp),%xmm0
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
movd   %ebp,%xmm0
movd   %eax,%xmm1
punpckldq %xmm1,%xmm0
cvtdq2pd %xmm0,%xmm0
movapd 0x10(%rsp),%xmm1
unpcklpd %xmm1,%xmm1
mulpd  %xmm0,%xmm1
movapd %xmm1,0x140(%rsp)
movaps (%rsp),%xmm0
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <gaux@plt>
xorps  %xmm2,%xmm2
cvtsi2sd %eax,%xmm2
mulsd  0x10(%rsp),%xmm2
movapd %xmm2,0x1c0(%rsp)
movapd 0x140(%rsp),%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
movapd %xmm0,%xmm3
movapd %xmm0,0x1a0(%rsp)
movapd %xmm1,%xmm0
shufpd $0x1,%xmm2,%xmm0
movapd %xmm0,%xmm6
xorpd  0xc72(%rip),%xmm6
movapd %xmm6,0xd0(%rsp)
movapd 0x80(%rsp),%xmm2
movapd %xmm2,%xmm5
mulsd  %xmm6,%xmm5
movapd %xmm5,0x60(%rsp)
movapd %xmm1,%xmm4
movapd %xmm1,%xmm7
movapd 0x90(%rsp),%xmm1
mulsd  %xmm1,%xmm4
addsd  %xmm5,%xmm4
movapd %xmm4,0x110(%rsp)
pshufd $0xee,%xmm6,%xmm5
movdqa %xmm5,0x150(%rsp)
movapd %xmm2,%xmm6
movapd %xmm2,%xmm8
mulsd  %xmm5,%xmm6
movapd %xmm6,0xc0(%rsp)
movapd %xmm3,%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm1,%xmm5
addsd  %xmm6,%xmm2
movapd %xmm2,%xmm3
movapd %xmm2,0x40(%rsp)
mulpd  0xbfa(%rip),%xmm0
movapd 0xc02(%rip),%xmm2
mulpd  %xmm7,%xmm2
addpd  %xmm0,%xmm2
movapd 0x100(%rsp),%xmm0
unpcklpd %xmm0,%xmm0
movapd %xmm0,0x120(%rsp)
divpd  %xmm0,%xmm2
movapd %xmm2,0x130(%rsp)
movapd %xmm4,%xmm1
mulsd  %xmm5,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm3,%xmm0
mulsd  %xmm8,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm1,0xa0(%rsp)
movsd  0xbe5(%rip),%xmm1
movsd  0x20(%rsp),%xmm0
call   1050 <pow@plt>
movsd  %xmm0,0xb0(%rsp)
movsd  0xbd1(%rip),%xmm1
movapd 0x50(%rsp),%xmm0
call   1050 <pow@plt>
movapd %xmm0,%xmm8
mulsd  0xb0(%rsp),%xmm8
movapd 0xe0(%rsp),%xmm0
movapd %xmm0,%xmm4
movapd 0xd0(%rsp),%xmm11
mulsd  %xmm11,%xmm4
movapd %xmm4,0x240(%rsp)
movapd 0x140(%rsp),%xmm6
movapd %xmm6,%xmm3
movapd 0x30(%rsp),%xmm1
mulsd  %xmm1,%xmm3
addsd  %xmm4,%xmm3
movapd 0x150(%rsp),%xmm5
mulsd  %xmm0,%xmm5
movapd %xmm5,0x150(%rsp)
movapd 0x1a0(%rsp),%xmm10
movapd %xmm10,%xmm9
mulsd  %xmm1,%xmm9
addsd  %xmm5,%xmm9
movapd 0xa0(%rsp),%xmm1
unpcklpd %xmm8,%xmm1
mulpd  0xb02(%rip),%xmm1
movapd 0x80(%rsp),%xmm7
movapd %xmm7,%xmm2
mulsd  %xmm9,%xmm2
movapd %xmm9,0x160(%rsp)
movapd %xmm3,%xmm12
movapd %xmm3,0x1f0(%rsp)
movapd 0x90(%rsp),%xmm0
mulsd  %xmm0,%xmm3
subsd  %xmm2,%xmm3
movapd %xmm8,%xmm2
unpcklpd %xmm3,%xmm2
mulpd  %xmm1,%xmm2
movupd %xmm2,(%rbx)
movapd 0x70(%rsp),%xmm4
unpcklpd %xmm4,%xmm4
mulpd  %xmm11,%xmm4
movapd %xmm4,0x220(%rsp)
movapd 0xf0(%rsp),%xmm13
movapd %xmm13,%xmm5
unpckhpd %xmm13,%xmm5
movapd %xmm6,%xmm3
mulsd  %xmm5,%xmm3
movapd %xmm5,%xmm14
movapd %xmm5,0x190(%rsp)
addsd  %xmm4,%xmm3
movapd %xmm3,%xmm5
movapd %xmm6,%xmm3
movapd %xmm6,%xmm11
mulpd  %xmm13,%xmm3
addpd  %xmm4,%xmm3
movapd %xmm3,0x20(%rsp)
unpckhpd %xmm3,%xmm3
movapd %xmm7,%xmm2
movapd %xmm7,%xmm15
mulsd  %xmm3,%xmm2
movapd %xmm3,%xmm7
movapd %xmm5,%xmm3
mulsd  %xmm0,%xmm3
subsd  %xmm2,%xmm3
movapd %xmm12,%xmm4
movapd 0x30(%rsp),%xmm6
mulsd  %xmm6,%xmm4
movapd 0x130(%rsp),%xmm12
addsd  %xmm12,%xmm4
movapd 0xe0(%rsp),%xmm0
mulsd  %xmm0,%xmm9
subsd  %xmm9,%xmm4
movapd %xmm4,0x1d0(%rsp)
movsd  0xa29(%rip),%xmm2
mulsd  %xmm2,%xmm4
unpcklpd %xmm4,%xmm3
shufpd $0x1,%xmm8,%xmm1
mulpd  %xmm1,%xmm3
movupd %xmm3,0x10(%rbx)
movapd %xmm0,%xmm3
mulsd  %xmm7,%xmm3
movapd %xmm7,0x1e0(%rsp)
movapd %xmm5,0xd0(%rsp)
movapd %xmm5,%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm3,%xmm0
unpckhpd %xmm15,%xmm15
movapd %xmm15,0x210(%rsp)
mulsd  %xmm15,%xmm11
addsd  0x60(%rsp),%xmm11
movapd %xmm11,0x200(%rsp)
movapd %xmm10,%xmm4
mulsd  %xmm15,%xmm4
addsd  0xc0(%rsp),%xmm4
movapd %xmm4,0x60(%rsp)
movapd %xmm5,%xmm3
mulsd  %xmm14,%xmm3
addsd  %xmm12,%xmm3
movapd 0x930(%rip),%xmm5
xorpd  %xmm5,%xmm4
movapd 0x70(%rsp),%xmm6
mulsd  %xmm6,%xmm4
unpcklpd %xmm3,%xmm4
movapd %xmm7,%xmm3
xorpd  %xmm5,%xmm3
shufpd $0x1,%xmm3,%xmm13
movapd %xmm11,%xmm3
unpcklpd %xmm6,%xmm3
mulpd  %xmm13,%xmm3
addpd  %xmm4,%xmm3
movapd %xmm3,0xc0(%rsp)
unpckhpd %xmm3,%xmm3
movapd %xmm3,0x260(%rsp)
mulsd  %xmm3,%xmm2
unpcklpd %xmm2,%xmm0
mulpd  %xmm1,%xmm0
movupd %xmm0,0x20(%rbx)
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,%xmm5
movapd 0x130(%rsp),%xmm2
unpckhpd %xmm2,%xmm2
movapd %xmm2,0x10(%rsp)
movapd 0x40(%rsp),%xmm0
movapd 0x90(%rsp),%xmm3
mulsd  %xmm3,%xmm0
addsd  %xmm2,%xmm0
movapd 0x160(%rsp),%xmm1
movapd 0x30(%rsp),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm2,%xmm1
movapd 0xe0(%rsp),%xmm6
movapd %xmm6,%xmm2
movapd 0x85f(%rip),%xmm8
xorpd  %xmm8,%xmm2
movapd %xmm2,0x250(%rsp)
movapd %xmm5,%xmm7
movapd %xmm5,%xmm9
movsd  %xmm5,0x180(%rsp)
mulsd  %xmm2,%xmm7
movsd  %xmm7,0x188(%rsp)
movapd 0x1c0(%rsp),%xmm5
movapd %xmm5,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm7,%xmm2
mulsd  %xmm6,%xmm2
subsd  %xmm2,%xmm1
movapd 0x80(%rsp),%xmm2
unpcklpd %xmm1,%xmm2
movapd %xmm2,0x230(%rsp)
xorpd  %xmm8,%xmm2
movapd %xmm2,0x1b0(%rsp)
mulsd  %xmm2,%xmm9
movsd  %xmm9,0x178(%rsp)
movapd %xmm5,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm9,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm1,(%rsp)
movsd  0x830(%rip),%xmm1
movapd 0x50(%rsp),%xmm0
call   1050 <pow@plt>
mulsd  0xb0(%rsp),%xmm0
movapd 0x110(%rsp),%xmm4
subsd  0x40(%rsp),%xmm4
movapd 0x210(%rsp),%xmm10
movapd 0x1c0(%rsp),%xmm13
mulsd  %xmm13,%xmm10
addsd  0x178(%rsp),%xmm10
movapd 0xe0(%rsp),%xmm11
movapd %xmm11,%xmm1
movapd 0x60(%rsp),%xmm5
mulsd  %xmm5,%xmm1
movapd 0x30(%rsp),%xmm7
movapd 0x200(%rsp),%xmm2
mulsd  %xmm7,%xmm2
subsd  %xmm1,%xmm2
movapd %xmm2,%xmm9
movsd  0x7b5(%rip),%xmm2
movapd 0x160(%rsp),%xmm1
mulsd  %xmm2,%xmm1
movsd  0x7a7(%rip),%xmm8
movapd 0x1f0(%rsp),%xmm3
mulsd  %xmm8,%xmm3
addsd  %xmm1,%xmm3
movapd %xmm4,%xmm1
unpcklpd %xmm3,%xmm1
divpd  0x120(%rsp),%xmm1
movapd %xmm1,%xmm4
movapd 0x80(%rsp),%xmm6
movapd %xmm6,%xmm1
shufpd $0x1,%xmm9,%xmm1
movapd 0xa0(%rsp),%xmm3
movapd 0x90(%rsp),%xmm12
unpcklpd %xmm12,%xmm3
movapd %xmm3,0xa0(%rsp)
mulpd  %xmm3,%xmm1
addpd  %xmm4,%xmm1
movapd %xmm11,%xmm3
mulsd  %xmm10,%xmm3
movapd %xmm5,%xmm4
mulsd  %xmm7,%xmm4
subsd  %xmm3,%xmm4
movapd %xmm6,%xmm3
movapd %xmm6,%xmm7
unpcklpd %xmm4,%xmm3
movapd (%rsp),%xmm6
movapd 0x694(%rip),%xmm15
xorpd  %xmm15,%xmm6
movapd 0x1b0(%rsp),%xmm4
unpcklpd %xmm4,%xmm6
movapd %xmm6,(%rsp)
mulpd  %xmm6,%xmm3
addpd  %xmm1,%xmm3
unpcklpd %xmm0,%xmm0
mulpd  0x6a9(%rip),%xmm0
movapd %xmm0,0xb0(%rsp)
mulpd  %xmm0,%xmm3
movupd %xmm3,0x30(%rbx)
movapd 0x70(%rsp),%xmm14
mulsd  %xmm14,%xmm10
movapd 0x190(%rsp),%xmm9
movapd %xmm5,%xmm0
mulsd  %xmm9,%xmm0
subsd  %xmm10,%xmm0
mulsd  0x1e0(%rsp),%xmm2
mulsd  0xd0(%rsp),%xmm8
addsd  %xmm2,%xmm8
divsd  0x100(%rsp),%xmm8
movsd  %xmm8,0x120(%rsp)
movapd 0xc0(%rsp),%xmm1
mulsd  %xmm12,%xmm1
addsd  %xmm8,%xmm1
pshufd $0xee,%xmm4,%xmm2
mulsd  %xmm7,%xmm2
unpcklpd %xmm2,%xmm1
xorpd  %xmm15,%xmm0
movapd %xmm0,0x60(%rsp)
unpcklpd 0x1d0(%rsp),%xmm0
mulpd  %xmm7,%xmm0
addpd  %xmm1,%xmm0
movapd %xmm0,0x110(%rsp)
movapd 0x220(%rsp),%xmm1
unpckhpd %xmm1,%xmm1
movapd 0x1a0(%rsp),%xmm0
movapd %xmm0,%xmm10
mulsd  0xf0(%rsp),%xmm10
addsd  %xmm1,%xmm10
movapd %xmm10,%xmm1
unpcklpd %xmm14,%xmm1
movapd %xmm1,%xmm3
xorpd  %xmm15,%xmm3
movapd %xmm3,0x40(%rsp)
pshufd $0xee,%xmm3,%xmm8
mulsd  0x180(%rsp),%xmm8
movapd %xmm13,%xmm12
movapd %xmm13,%xmm4
mulsd  %xmm9,%xmm4
addsd  %xmm8,%xmm4
movapd %xmm14,%xmm6
unpcklpd %xmm4,%xmm6
mulpd  %xmm1,%xmm6
movapd 0x20(%rsp),%xmm1
mulpd  %xmm9,%xmm1
movapd 0x130(%rsp),%xmm7
addpd  %xmm7,%xmm1
subpd  %xmm6,%xmm1
movapd %xmm1,0x50(%rsp)
movapd %xmm11,%xmm13
unpckhpd %xmm11,%xmm13
movapd 0x140(%rsp),%xmm15
mulsd  %xmm13,%xmm15
addsd  0x240(%rsp),%xmm15
movapd %xmm0,%xmm2
mulsd  %xmm13,%xmm2
addsd  0x150(%rsp),%xmm2
movapd %xmm12,%xmm4
mulsd  %xmm13,%xmm4
addsd  0x188(%rsp),%xmm4
movapd 0x30(%rsp),%xmm1
movapd %xmm1,%xmm5
mulsd  %xmm15,%xmm5
addsd  %xmm7,%xmm5
movapd %xmm2,%xmm6
mulsd  %xmm11,%xmm6
subsd  %xmm6,%xmm5
movapd %xmm2,%xmm6
mulsd  %xmm1,%xmm6
addsd  0x10(%rsp),%xmm6
movapd %xmm4,%xmm1
mulsd  %xmm11,%xmm1
subsd  %xmm1,%xmm6
movapd %xmm11,%xmm1
unpcklpd %xmm6,%xmm1
movapd %xmm11,%xmm6
shufpd $0x1,%xmm5,%xmm6
mulpd  (%rsp),%xmm1
mulpd  0xa0(%rsp),%xmm6
addpd  %xmm1,%xmm6
movapd %xmm14,%xmm1
mulsd  %xmm2,%xmm1
mulsd  %xmm9,%xmm15
subsd  %xmm1,%xmm15
mulsd  %xmm14,%xmm4
mulsd  %xmm9,%xmm2
subsd  %xmm4,%xmm2
xorpd  0x45b(%rip),%xmm2
movapd 0xf0(%rsp),%xmm0
mulsd  %xmm0,%xmm12
addsd  %xmm8,%xmm12
movapd %xmm11,%xmm8
movapd %xmm11,%xmm1
mulsd  0x40(%rsp),%xmm1
movapd 0x20(%rsp),%xmm4
movapd 0x30(%rsp),%xmm11
mulsd  %xmm11,%xmm4
addsd  %xmm1,%xmm4
movapd %xmm4,0x20(%rsp)
movapd 0x50(%rsp),%xmm1
movsd  %xmm8,%xmm1
movapd 0x80(%rsp),%xmm9
movapd %xmm9,%xmm4
mulsd  %xmm2,%xmm9
movapd %xmm11,%xmm5
mulsd  %xmm15,%xmm5
unpcklpd %xmm8,%xmm15
movapd 0xc0(%rsp),%xmm14
shufpd $0x2,%xmm14,%xmm2
mulpd  %xmm8,%xmm2
mulsd  %xmm12,%xmm8
movapd %xmm11,%xmm3
mulsd  %xmm10,%xmm3
subsd  %xmm8,%xmm3
movapd 0x70(%rsp),%xmm7
unpcklpd %xmm3,%xmm7
mulpd  (%rsp),%xmm7
movapd %xmm0,%xmm3
unpcklpd 0x20(%rsp),%xmm3
mulpd  0xa0(%rsp),%xmm3
addpd  %xmm7,%xmm3
movapd 0xb0(%rsp),%xmm0
mulpd  %xmm0,%xmm6
mulpd  %xmm0,%xmm3
shufpd $0x1,%xmm0,%xmm0
movapd 0x110(%rsp),%xmm7
mulpd  %xmm0,%xmm7
movupd %xmm7,0x40(%rbx)
movapd 0x60(%rsp),%xmm7
movapd 0x1b0(%rsp),%xmm8
unpcklpd %xmm8,%xmm7
mulpd  %xmm1,%xmm7
movsd  %xmm11,%xmm4
mulpd  %xmm14,%xmm4
addpd  %xmm7,%xmm4
mulpd  %xmm0,%xmm4
movupd %xmm4,0x50(%rbx)
movupd %xmm6,0x60(%rbx)
movapd 0x1f0(%rsp),%xmm1
subsd  0x160(%rsp),%xmm1
movapd 0x100(%rsp),%xmm14
divsd  %xmm14,%xmm1
movapd 0x1d0(%rsp),%xmm7
mulsd  %xmm7,%xmm13
addsd  %xmm1,%xmm13
unpcklpd %xmm13,%xmm9
movapd 0x90(%rsp),%xmm6
movsd  %xmm6,%xmm8
mulpd  %xmm8,%xmm15
addpd  %xmm9,%xmm15
mulpd  %xmm0,%xmm15
movupd %xmm15,0x70(%rbx)
addsd  0x120(%rsp),%xmm5
movapd 0x50(%rsp),%xmm4
movapd %xmm4,%xmm1
unpckhpd %xmm4,%xmm1
movapd 0x250(%rsp),%xmm8
mulsd  %xmm8,%xmm1
unpcklpd %xmm1,%xmm5
addpd  %xmm5,%xmm2
mulpd  %xmm0,%xmm2
movupd %xmm2,0x80(%rbx)
movupd %xmm3,0x90(%rbx)
mulsd  0x190(%rsp),%xmm10
addsd  0x10(%rsp),%xmm10
movapd 0x70(%rsp),%xmm2
mulsd  %xmm2,%xmm12
subsd  %xmm12,%xmm10
movapd %xmm10,%xmm1
unpcklpd %xmm2,%xmm1
mulpd  0x230(%rsp),%xmm1
unpcklpd %xmm7,%xmm6
movapd 0x40(%rsp),%xmm5
movsd  %xmm11,%xmm5
movapd %xmm4,%xmm11
mulpd  %xmm4,%xmm5
movapd 0xf0(%rsp),%xmm2
unpcklpd %xmm2,%xmm11
mulpd  %xmm6,%xmm11
subpd  %xmm1,%xmm11
mulpd  %xmm0,%xmm11
movupd %xmm11,0xa0(%rbx)
mulsd  %xmm8,%xmm10
movapd 0xd0(%rsp),%xmm1
subsd  0x1e0(%rsp),%xmm1
divsd  %xmm14,%xmm1
movapd 0x260(%rsp),%xmm3
mulsd  %xmm2,%xmm3
addsd  %xmm1,%xmm3
unpcklpd %xmm3,%xmm10
addpd  %xmm10,%xmm5
mulpd  %xmm0,%xmm5
movupd %xmm5,0xb0(%rbx)
add    $0x278,%rsp
pop    %rbx
pop    %rbp
ret

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

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