void gint2_nai_pF_pF(double *a, double a_a, double *b, double b_a, double *c,
                     double *out) {
  double tmp0, tmp1, tmp10, tmp11, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8,
      tmp9;
  gint2_nai_cF_pF(a, a_a, b, b_a, c, out);
  tmp0 = 1.09544511501033 * out[35] - 0.273861278752583 * out[21] -
         0.612372435695794 * out[0];
  tmp1 = out[63] - 0.670820393249937 * out[14] - 0.670820393249937 * out[49];
  tmp2 = 0.866025403784439 * out[14] - 0.866025403784439 * out[49];
  out[14] = 1.09544511501033 * out[56] - 0.273861278752583 * out[7] -
            0.612372435695794 * out[42];
  tmp3 = 1.09544511501033 * out[37] - 0.273861278752583 * out[23] -
         0.612372435695794 * out[2];
  tmp4 = 0.866025403784439 * out[16] - 0.866025403784439 * out[51];
  tmp5 = out[65] - 0.670820393249937 * out[16] - 0.670820393249937 * out[51];
  out[16] = 1.09544511501033 * out[58] - 0.273861278752583 * out[9] -
            0.612372435695794 * out[44];
  tmp6 = 1.09544511501033 * out[39] - 0.273861278752583 * out[25] -
         0.612372435695794 * out[4];
  tmp7 = out[67] - 0.670820393249937 * out[18] - 0.670820393249937 * out[53];
  tmp8 = 0.866025403784439 * out[18] - 0.866025403784439 * out[53];
  out[18] = 1.09544511501033 * out[60] - 0.273861278752583 * out[11] -
            0.612372435695794 * out[46];
  tmp9 = 1.09544511501033 * out[41] - 0.273861278752583 * out[27] -
         0.612372435695794 * out[6];
  tmp10 = 0.866025403784439 * out[20] - 0.866025403784439 * out[55];
  tmp11 = out[69] - 0.670820393249937 * out[20] - 0.670820393249937 * out[55];
  out[20] = 1.09544511501033 * out[62] - 0.273861278752583 * out[13] -
            0.612372435695794 * out[48];
  out[35] = 0.790569415042095 * out[0] - 1.06066017177982 * out[21];
  out[21] = tmp2;
  out[0] = tmp1;
  tmp2 = 1.09544511501033 * out[36] - 0.273861278752583 * out[22] -
         0.612372435695794 * out[1];
  out[36] = 0.790569415042095 * out[1] - 1.06066017177982 * out[22];
  out[1] = out[64] - 0.670820393249937 * out[15] - 0.670820393249937 * out[50];
  out[22] = 0.866025403784439 * out[15] - 0.866025403784439 * out[50];
  out[15] = 1.09544511501033 * out[57] - 0.273861278752583 * out[8] -
            0.612372435695794 * out[43];
  out[37] = 0.790569415042095 * out[2] - 1.06066017177982 * out[23];
  out[2] = tmp5;
  out[23] = tmp4;
  tmp1 = 1.09544511501033 * out[38] - 0.273861278752583 * out[24] -
         0.612372435695794 * out[3];
  out[38] = 0.790569415042095 * out[3] - 1.06066017177982 * out[24];
  out[3] = out[66] - 0.670820393249937 * out[17] - 0.670820393249937 * out[52];
  out[24] = 0.866025403784439 * out[17] - 0.866025403784439 * out[52];
  out[17] = 1.09544511501033 * out[59] - 0.273861278752583 * out[10] -
            0.612372435695794 * out[45];
  out[39] = 0.790569415042095 * out[4] - 1.06066017177982 * out[25];
  out[25] = tmp8;
  out[4] = tmp7;
  tmp5 = 1.09544511501033 * out[40] - 0.273861278752583 * out[26] -
         0.612372435695794 * out[5];
  out[40] = 0.790569415042095 * out[5] - 1.06066017177982 * out[26];
  out[5] = out[68] - 0.670820393249937 * out[19] - 0.670820393249937 * out[54];
  out[26] = 0.866025403784439 * out[19] - 0.866025403784439 * out[54];
  out[19] = 1.09544511501033 * out[61] - 0.273861278752583 * out[12] -
            0.612372435695794 * out[47];
  out[41] = 0.790569415042095 * out[6] - 1.06066017177982 * out[27];
  out[6] = tmp11;
  out[27] = tmp10;
  out[42] = 1.06066017177982 * out[7] - 0.790569415042095 * out[42];
  out[7] = tmp0;
  out[43] = 1.06066017177982 * out[8] - 0.790569415042095 * out[43];
  out[8] = tmp2;
  out[44] = 1.06066017177982 * out[9] - 0.790569415042095 * out[44];
  out[9] = tmp3;
  out[45] = 1.06066017177982 * out[10] - 0.790569415042095 * out[45];
  out[10] = tmp1;
  out[46] = 1.06066017177982 * out[11] - 0.790569415042095 * out[46];
  out[11] = tmp6;
  out[47] = 1.06066017177982 * out[12] - 0.790569415042095 * out[47];
  out[12] = tmp5;
  out[48] = 1.06066017177982 * out[13] - 0.790569415042095 * out[48];
  out[13] = tmp9;
}


x86 assembly (clang, -O0):
<gint2_nai_pF_pF>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%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)
mov    -0x8(%rbp),%rdi
movsd  -0x10(%rbp),%xmm0
mov    -0x18(%rbp),%rsi
movsd  -0x20(%rbp),%xmm1
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rcx
mov    $0x2,%al
call   1030 <gint2_nai_cF_pF@plt>
mov    -0x30(%rbp),%rax
movsd  0x118(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1eb2(%rip),%xmm0
mulsd  0xa8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1e83(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0x1e63(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x1f8(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm1
movsd  0x1e59(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x188(%rax),%xmm0
movsd  0x1e3d(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x70(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1e13(%rip),%xmm1
mulsd  0x188(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1dec(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x1c0(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1dbf(%rip),%xmm0
mulsd  0x38(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1d93(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x150(%rax),%xmm0
movsd  0x1d6f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x70(%rax)
mov    -0x30(%rbp),%rax
movsd  0x128(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1d56(%rip),%xmm0
mulsd  0xb8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1d27(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  0x1d06(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x80(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1cf9(%rip),%xmm1
mulsd  0x198(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1cd2(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x208(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x80(%rax),%xmm1
movsd  0x1cad(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x198(%rax),%xmm0
movsd  0x1c91(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x1d0(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1c5c(%rip),%xmm0
mulsd  0x48(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1c30(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x160(%rax),%xmm0
movsd  0x1c0c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x80(%rax)
mov    -0x30(%rbp),%rax
movsd  0x138(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1bf0(%rip),%xmm0
mulsd  0xc8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1bc1(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  0x1ba0(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x218(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm1
movsd  0x1b93(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1a8(%rax),%xmm0
movsd  0x1b77(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x90(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1b4a(%rip),%xmm1
mulsd  0x1a8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1b23(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0x1e0(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1af3(%rip),%xmm0
mulsd  0x58(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1ac7(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x170(%rax),%xmm0
movsd  0x1aa3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x90(%rax)
mov    -0x30(%rbp),%rax
movsd  0x148(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1a87(%rip),%xmm0
mulsd  0xd8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1a58(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  0x1a37(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  0xa0(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1a27(%rip),%xmm1
mulsd  0x1b8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1a00(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x228(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0xa0(%rax),%xmm1
movsd  0x19db(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1b8(%rax),%xmm0
movsd  0x19bf(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x1f0(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x198a(%rip),%xmm0
mulsd  0x68(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x195e(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x180(%rax),%xmm0
movsd  0x193a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xa0(%rax)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1902(%rip),%xmm1
mulsd  0xa8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x18e3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x118(%rax)
movsd  -0x58(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xa8(%rax)
movsd  -0x40(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x30(%rbp),%rax
movsd  0x120(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18b1(%rip),%xmm0
mulsd  0xb0(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1882(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0x1861(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x182f(%rip),%xmm1
mulsd  0xb0(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1810(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x120(%rax)
mov    -0x30(%rbp),%rax
movsd  0x200(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm1
movsd  0x1807(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x190(%rax),%xmm0
movsd  0x17eb(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x30(%rbp),%rax
movsd  0x78(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x17bd(%rip),%xmm1
mulsd  0x190(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1796(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xb0(%rax)
mov    -0x30(%rbp),%rax
movsd  0x1c8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1762(%rip),%xmm0
mulsd  0x40(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1736(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x158(%rax),%xmm0
movsd  0x1712(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x78(%rax)
mov    -0x30(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x16dc(%rip),%xmm1
mulsd  0xb8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x16bd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x128(%rax)
movsd  -0x70(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x68(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xb8(%rax)
mov    -0x30(%rbp),%rax
movsd  0x130(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x168a(%rip),%xmm0
mulsd  0xc0(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x165b(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  0x163a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1608(%rip),%xmm1
mulsd  0xc0(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x15e9(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x130(%rax)
mov    -0x30(%rbp),%rax
movsd  0x210(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x88(%rax),%xmm1
movsd  0x15dd(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1a0(%rax),%xmm0
movsd  0x15c1(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x30(%rbp),%rax
movsd  0x88(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1590(%rip),%xmm1
mulsd  0x1a0(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1569(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xc0(%rax)
mov    -0x30(%rbp),%rax
movsd  0x1d8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1535(%rip),%xmm0
mulsd  0x50(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1509(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x168(%rax),%xmm0
movsd  0x14e5(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x88(%rax)
mov    -0x30(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x14ac(%rip),%xmm1
mulsd  0xc8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x148d(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x138(%rax)
movsd  -0x88(%rbp),%xmm0
ff
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xc8(%rax)
movsd  -0x80(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x30(%rbp),%rax
movsd  0x140(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1457(%rip),%xmm0
mulsd  0xd0(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x1428(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  0x1407(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x30(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x13d5(%rip),%xmm1
mulsd  0xd0(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x13b6(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x140(%rax)
mov    -0x30(%rbp),%rax
movsd  0x220(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm1
movsd  0x13aa(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1b0(%rax),%xmm0
movsd  0x138e(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x30(%rbp),%rax
movsd  0x98(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x135d(%rip),%xmm1
mulsd  0x1b0(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1336(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xd0(%rax)
mov    -0x30(%rbp),%rax
movsd  0x1e8(%rax),%xmm1
mov    -0x30(%rbp),%rax
movsd  0x1302(%rip),%xmm0
mulsd  0x60(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x12d6(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x30(%rbp),%rax
movsd  0x178(%rax),%xmm0
movsd  0x12b2(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x98(%rax)
mov    -0x30(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1279(%rip),%xmm1
mulsd  0xd8(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x125a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x148(%rax)
movsd  -0x50(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x48(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0xd8(%rax)
mov    -0x30(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1212(%rip),%xmm1
mulsd  0x150(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x11e3(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x150(%rax)
movsd  -0x38(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x30(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x11b4(%rip),%xmm1
mulsd  0x158(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1185(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x158(%rax)
movsd  -0x58(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x40(%rax)
mov    -0x30(%rbp),%rax
movsd  0x48(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x1156(%rip),%xmm1
mulsd  0x160(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1127(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x160(%rax)
movsd  -0x60(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x48(%rax)
mov    -0x30(%rbp),%rax
movsd  0x50(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x10f8(%rip),%xmm1
mulsd  0x168(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x10c9(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x168(%rax)
movsd  -0x40(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x50(%rax)
mov    -0x30(%rbp),%rax
movsd  0x58(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x109a(%rip),%xmm1
mulsd  0x170(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x106b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x170(%rax)
movsd  -0x78(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x58(%rax)
mov    -0x30(%rbp),%rax
movsd  0x60(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0x103c(%rip),%xmm1
mulsd  0x178(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x100d(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x178(%rax)
movsd  -0x70(%rbp),%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x60(%rax)
mov    -0x30(%rbp),%rax
movsd  0x68(%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  0xfde(%rip),%xmm1
mulsd  0x180(%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xfaf(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x180(%rax)
movsd  -0x90(%rbp),%xmm0
ff
mov    -0x30(%rbp),%rax
movsd  %xmm0,0x68(%rax)
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<gint2_nai_pF_pF>:
push   %rbx
sub    $0xa0,%rsp
mov    %rcx,%rbx
mov    $0x2,%al
call   1030 <gint2_nai_cF_pF@plt>
movsd  0xa8(%rbx),%xmm0
movsd  0xece(%rip),%xmm3
movapd %xmm0,%xmm1
mulsd  %xmm3,%xmm1
movupd 0x188(%rbx),%xmm9
movupd 0x70(%rbx),%xmm2
movups 0x198(%rbx),%xmm4
movaps %xmm4,0x50(%rsp)
movupd 0x80(%rbx),%xmm12
movupd 0x40(%rbx),%xmm10
movupd 0x158(%rbx),%xmm15
movapd %xmm15,0x10(%rsp)
movups 0x1a8(%rbx),%xmm4
movaps %xmm4,0x90(%rsp)
movupd 0x90(%rbx),%xmm14
movsd  0x1e0(%rbx),%xmm4
movupd 0x50(%rbx),%xmm5
movapd %xmm5,0x70(%rsp)
unpckhpd %xmm5,%xmm5
mulsd  %xmm3,%xmm5
mulsd  0xe5a(%rip),%xmm4
addsd  %xmm5,%xmm4
movupd 0x168(%rbx),%xmm3
movapd %xmm3,0x60(%rsp)
unpckhpd %xmm3,%xmm3
mulsd  0xe44(%rip),%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0x90(%rbx)
movsd  0xa0(%rbx),%xmm3
movsd  0x1b8(%rbx),%xmm13
movsd  0xe27(%rip),%xmm4
mulsd  %xmm13,%xmm4
movsd  0xe22(%rip),%xmm5
mulsd  %xmm3,%xmm5
addsd  %xmm4,%xmm5
movsd  %xmm5,0x8(%rsp)
movhpd 0x118(%rbx),%xmm3
movsd  0x228(%rbx),%xmm4
unpcklpd %xmm1,%xmm4
mulpd  0xe08(%rip),%xmm3
addpd  %xmm4,%xmm3
movsd  (%rbx),%xmm1
unpcklpd %xmm1,%xmm13
mulpd  0xe02(%rip),%xmm13
addpd  %xmm3,%xmm13
movupd 0xb0(%rbx),%xmm4
movapd 0xdfc(%rip),%xmm8
movapd %xmm4,%xmm3
mulpd  %xmm8,%xmm3
movupd 0x120(%rbx),%xmm6
mulpd  0xdf3(%rip),%xmm6
addpd  %xmm3,%xmm6
movupd 0x8(%rbx),%xmm11
movapd 0xdf1(%rip),%xmm3
movapd %xmm11,%xmm7
mulpd  %xmm3,%xmm7
addpd  %xmm6,%xmm7
movapd %xmm7,0x80(%rsp)
unpcklpd %xmm4,%xmm0
mulpd  0xddf(%rip),%xmm0
unpcklpd %xmm11,%xmm1
mulpd  0xde2(%rip),%xmm1
addpd  %xmm0,%xmm1
movsd  0x150(%rbx),%xmm5
movapd %xmm5,0x30(%rsp)
movsd  0x38(%rbx),%xmm7
movapd %xmm7,0x40(%rsp)
movupd %xmm1,0x118(%rbx)
movapd 0xdc5(%rip),%xmm1
movapd %xmm2,%xmm0
mulpd  %xmm1,%xmm0
movupd 0x1f8(%rbx),%xmm6
addpd  %xmm6,%xmm0
movapd %xmm9,%xmm6
mulpd  %xmm1,%xmm6
addpd  %xmm0,%xmm6
movupd %xmm6,(%rbx)
mulpd  0xda7(%rip),%xmm9
mulpd  0xdaf(%rip),%xmm2
addpd  %xmm9,%xmm2
movupd %xmm2,0xa8(%rbx)
movapd %xmm7,%xmm0
movapd %xmm10,%xmm9
movapd %xmm10,0x20(%rsp)
unpcklpd %xmm10,%xmm0
mulpd  %xmm8,%xmm0
movupd 0x1c0(%rbx),%xmm2
movapd 0xd18(%rip),%xmm7
mulpd  %xmm7,%xmm2
addpd  %xmm0,%xmm2
unpcklpd %xmm15,%xmm5
mulpd  %xmm3,%xmm5
addpd  %xmm2,%xmm5
movupd %xmm5,0x70(%rbx)
movupd 0xc0(%rbx),%xmm0
movapd %xmm0,%xmm2
mulpd  %xmm8,%xmm2
movupd 0x130(%rbx),%xmm6
mulpd  %xmm7,%xmm6
movapd %xmm7,%xmm5
addpd  %xmm2,%xmm6
movupd 0x18(%rbx),%xmm2
movapd %xmm2,%xmm10
mulpd  %xmm3,%xmm10
addpd  %xmm6,%xmm10
shufpd $0x1,%xmm0,%xmm4
mulpd  0xcd8(%rip),%xmm4
shufpd $0x1,%xmm2,%xmm11
mulpd  0xcd9(%rip),%xmm11
addpd  %xmm4,%xmm11
movupd 0x28(%rbx),%xmm4
movupd 0xd0(%rbx),%xmm6
movupd %xmm11,0x128(%rbx)
movapd %xmm12,%xmm11
mulpd  %xmm1,%xmm11
movupd 0x208(%rbx),%xmm15
addpd  %xmm15,%xmm11
movapd 0x50(%rsp),%xmm15
movapd %xmm15,%xmm7
mulpd  %xmm1,%xmm7
addpd  %xmm11,%xmm7
movupd %xmm7,0x10(%rbx)
mulpd  0xca3(%rip),%xmm15
mulpd  0xcaa(%rip),%xmm12
addpd  %xmm15,%xmm12
movupd %xmm12,0xb8(%rbx)
movapd %xmm9,%xmm7
movapd 0x70(%rsp),%xmm12
shufpd $0x1,%xmm12,%xmm7
mulpd  %xmm8,%xmm7
movupd 0x1d0(%rbx),%xmm9
mulpd  %xmm5,%xmm9
addpd  %xmm7,%xmm9
movapd 0x10(%rsp),%xmm11
movapd %xmm11,%xmm7
movapd 0x60(%rsp),%xmm15
shufpd $0x1,%xmm15,%xmm7
mulpd  %xmm3,%xmm7
addpd  %xmm9,%xmm7
movupd %xmm7,0x80(%rbx)
movapd %xmm6,%xmm9
mulpd  %xmm8,%xmm9
movupd 0x140(%rbx),%xmm7
mulpd  %xmm5,%xmm7
addpd  %xmm9,%xmm7
movapd %xmm4,%xmm9
mulpd  %xmm3,%xmm9
addpd  %xmm7,%xmm9
shufpd $0x1,%xmm6,%xmm0
mulpd  0xbd1(%rip),%xmm0
shufpd $0x1,%xmm4,%xmm2
mulpd  0xbd4(%rip),%xmm2
addpd  %xmm0,%xmm2
movupd %xmm2,0x138(%rbx)
movapd %xmm14,%xmm0
mulpd  %xmm1,%xmm0
movupd 0x218(%rbx),%xmm2
addpd  %xmm2,%xmm0
movapd 0x90(%rsp),%xmm2
mulpd  %xmm2,%xmm1
addpd  %xmm0,%xmm1
movupd %xmm1,0x20(%rbx)
mulpd  0xbb5(%rip),%xmm2
mulpd  0xbbc(%rip),%xmm14
addpd  %xmm2,%xmm14
movupd %xmm14,0xc8(%rbx)
movupd 0x1e8(%rbx),%xmm2
mulpd  %xmm5,%xmm2
movupd 0x60(%rbx),%xmm0
mulpd  %xmm0,%xmm8
addpd  %xmm8,%xmm2
movupd 0x178(%rbx),%xmm1
mulpd  %xmm1,%xmm3
addpd  %xmm2,%xmm3
movupd %xmm3,0x98(%rbx)
movsd  0x8(%rsp),%xmm2
movsd  %xmm2,0xd8(%rbx)
shufpd $0x1,0x30(%rsp),%xmm6
shufpd $0x1,0x40(%rsp),%xmm4
mulpd  0xb67(%rip),%xmm6
mulpd  0xb6f(%rip),%xmm4
addpd  %xmm6,%xmm4
movupd %xmm4,0x148(%rbx)
movupd %xmm13,0x30(%rbx)
movapd 0xb65(%rip),%xmm2
movapd %xmm11,%xmm4
mulpd  %xmm2,%xmm4
movapd 0xb64(%rip),%xmm3
movapd 0x20(%rsp),%xmm5
mulpd  %xmm3,%xmm5
addpd  %xmm4,%xmm5
movupd %xmm5,0x158(%rbx)
movaps 0x80(%rsp),%xmm4
movups %xmm4,0x40(%rbx)
movapd %xmm15,%xmm4
mulpd  %xmm2,%xmm4
movapd %xmm12,%xmm6
mulpd  %xmm3,%xmm6
addpd  %xmm4,%xmm6
movupd %xmm6,0x168(%rbx)
movupd %xmm10,0x50(%rbx)
mulpd  %xmm2,%xmm1
mulpd  %xmm3,%xmm0
addpd  %xmm1,%xmm0
movupd %xmm0,0x178(%rbx)
movupd %xmm9,0x60(%rbx)
add    $0xa0,%rsp
pop    %rbx
ret

LLVM IR (-O0):
define void @gint2_nai_pF_pF(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
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
%25 = load double*, double** %7
%26 = load double, double* %8
%27 = load double*, double** %9
%28 = load double, double* %10
%29 = load double*, double** %11
%30 = load double*, double** %12
%31 = call i32 (double*, double, double*, double, double*, double*, ...) bitcast (i32 (...)* @gint2_nai_cF_pF to i32 (double*, double, double*, double, double*, double*, ...)*)(double* %25, double %26, double* %27, double %28, double* %29, double* %30)
%32 = load double*, double** %12
%33 = getelementptr inbounds double, double* %32, i64 35
%34 = load double, double* %33
%35 = load double*, double** %12
%36 = getelementptr inbounds double, double* %35, i64 21
%37 = load double, double* %36
%38 = fmul double 0x3FD186F174F88471, %37
%39 = fneg double %38
%40 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %34, double %39)
%41 = load double*, double** %12
%42 = getelementptr inbounds double, double* %41, i64 0
%43 = load double, double* %42
%44 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %43, double %40)
store double %44, double* %13
%45 = load double*, double** %12
%46 = getelementptr inbounds double, double* %45, i64 63
%47 = load double, double* %46
%48 = load double*, double** %12
%49 = getelementptr inbounds double, double* %48, i64 14
%50 = load double, double* %49
%51 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %50, double %47)
%52 = load double*, double** %12
%53 = getelementptr inbounds double, double* %52, i64 49
%54 = load double, double* %53
%55 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %54, double %51)
store double %55, double* %14
%56 = load double*, double** %12
%57 = getelementptr inbounds double, double* %56, i64 14
%58 = load double, double* %57
%59 = load double*, double** %12
%60 = getelementptr inbounds double, double* %59, i64 49
%61 = load double, double* %60
%62 = fmul double 0x3FEBB67AE8584CAE, %61
%63 = fneg double %62
%64 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %58, double %63)
store double %64, double* %17
%65 = load double*, double** %12
%66 = getelementptr inbounds double, double* %65, i64 56
%67 = load double, double* %66
%68 = load double*, double** %12
%69 = getelementptr inbounds double, double* %68, i64 7
%70 = load double, double* %69
%71 = fmul double 0x3FD186F174F88471, %70
%72 = fneg double %71
%73 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %67, double %72)
%74 = load double*, double** %12
%75 = getelementptr inbounds double, double* %74, i64 42
%76 = load double, double* %75
%77 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %76, double %73)
%78 = load double*, double** %12
%79 = getelementptr inbounds double, double* %78, i64 14
store double %77, double* %79
%80 = load double*, double** %12
%81 = getelementptr inbounds double, double* %80, i64 37
%82 = load double, double* %81
%83 = load double*, double** %12
%84 = getelementptr inbounds double, double* %83, i64 23
%85 = load double, double* %84
%86 = fmul double 0x3FD186F174F88471, %85
%87 = fneg double %86
%88 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %82, double %87)
%89 = load double*, double** %12
%90 = getelementptr inbounds double, double* %89, i64 2
%91 = load double, double* %90
%92 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %91, double %88)
store double %92, double* %18
%93 = load double*, double** %12
%94 = getelementptr inbounds double, double* %93, i64 16
%95 = load double, double* %94
%96 = load double*, double** %12
%97 = getelementptr inbounds double, double* %96, i64 51
%98 = load double, double* %97
%99 = fmul double 0x3FEBB67AE8584CAE, %98
%100 = fneg double %99
%101 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %95, double %100)
store double %101, double* %19
%102 = load double*, double** %12
%103 = getelementptr inbounds double, double* %102, i64 65
%104 = load double, double* %103
%105 = load double*, double** %12
%106 = getelementptr inbounds double, double* %105, i64 16
%107 = load double, double* %106
%108 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %107, double %104)
%109 = load double*, double** %12
%110 = getelementptr inbounds double, double* %109, i64 51
%111 = load double, double* %110
%112 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %111, double %108)
store double %112, double* %20
%113 = load double*, double** %12
%114 = getelementptr inbounds double, double* %113, i64 58
%115 = load double, double* %114
%116 = load double*, double** %12
%117 = getelementptr inbounds double, double* %116, i64 9
%118 = load double, double* %117
%119 = fmul double 0x3FD186F174F88471, %118
%120 = fneg double %119
%121 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %115, double %120)
%122 = load double*, double** %12
%123 = getelementptr inbounds double, double* %122, i64 44
%124 = load double, double* %123
%125 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %124, double %121)
%126 = load double*, double** %12
%127 = getelementptr inbounds double, double* %126, i64 16
store double %125, double* %127
%128 = load double*, double** %12
%129 = getelementptr inbounds double, double* %128, i64 39
%130 = load double, double* %129
%131 = load double*, double** %12
%132 = getelementptr inbounds double, double* %131, i64 25
%133 = load double, double* %132
%134 = fmul double 0x3FD186F174F88471, %133
%135 = fneg double %134
%136 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %130, double %135)
%137 = load double*, double** %12
%138 = getelementptr inbounds double, double* %137, i64 4
%139 = load double, double* %138
%140 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %139, double %136)
store double %140, double* %21
%141 = load double*, double** %12
%142 = getelementptr inbounds double, double* %141, i64 67
%143 = load double, double* %142
%144 = load double*, double** %12
%145 = getelementptr inbounds double, double* %144, i64 18
%146 = load double, double* %145
%147 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %146, double %143)
%148 = load double*, double** %12
%149 = getelementptr inbounds double, double* %148, i64 53
%150 = load double, double* %149
%151 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %150, double %147)
store double %151, double* %22
%152 = load double*, double** %12
%153 = getelementptr inbounds double, double* %152, i64 18
%154 = load double, double* %153
%155 = load double*, double** %12
%156 = getelementptr inbounds double, double* %155, i64 53
%157 = load double, double* %156
%158 = fmul double 0x3FEBB67AE8584CAE, %157
%159 = fneg double %158
%160 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %154, double %159)
store double %160, double* %23
%161 = load double*, double** %12
%162 = getelementptr inbounds double, double* %161, i64 60
%163 = load double, double* %162
%164 = load double*, double** %12
%165 = getelementptr inbounds double, double* %164, i64 11
%166 = load double, double* %165
%167 = fmul double 0x3FD186F174F88471, %166
%168 = fneg double %167
%169 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %163, double %168)
%170 = load double*, double** %12
%171 = getelementptr inbounds double, double* %170, i64 46
%172 = load double, double* %171
%173 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %172, double %169)
%174 = load double*, double** %12
%175 = getelementptr inbounds double, double* %174, i64 18
store double %173, double* %175
%176 = load double*, double** %12
%177 = getelementptr inbounds double, double* %176, i64 41
%178 = load double, double* %177
%179 = load double*, double** %12
%180 = getelementptr inbounds double, double* %179, i64 27
%181 = load double, double* %180
%182 = fmul double 0x3FD186F174F88471, %181
%183 = fneg double %182
%184 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %178, double %183)
%185 = load double*, double** %12
%186 = getelementptr inbounds double, double* %185, i64 6
%187 = load double, double* %186
%188 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %187, double %184)
store double %188, double* %24
%189 = load double*, double** %12
%190 = getelementptr inbounds double, double* %189, i64 20
%191 = load double, double* %190
%192 = load double*, double** %12
%193 = getelementptr inbounds double, double* %192, i64 55
%194 = load double, double* %193
%195 = fmul double 0x3FEBB67AE8584CAE, %194
%196 = fneg double %195
%197 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %191, double %196)
store double %197, double* %15
%198 = load double*, double** %12
%199 = getelementptr inbounds double, double* %198, i64 69
%200 = load double, double* %199
%201 = load double*, double** %12
%202 = getelementptr inbounds double, double* %201, i64 20
%203 = load double, double* %202
%204 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %203, double %200)
%205 = load double*, double** %12
%206 = getelementptr inbounds double, double* %205, i64 55
%207 = load double, double* %206
%208 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %207, double %204)
store double %208, double* %16
%209 = load double*, double** %12
%210 = getelementptr inbounds double, double* %209, i64 62
%211 = load double, double* %210
%212 = load double*, double** %12
%213 = getelementptr inbounds double, double* %212, i64 13
%214 = load double, double* %213
%215 = fmul double 0x3FD186F174F88471, %214
%216 = fneg double %215
%217 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %211, double %216)
%218 = load double*, double** %12
%219 = getelementptr inbounds double, double* %218, i64 48
%220 = load double, double* %219
%221 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %220, double %217)
%222 = load double*, double** %12
%223 = getelementptr inbounds double, double* %222, i64 20
store double %221, double* %223
%224 = load double*, double** %12
%225 = getelementptr inbounds double, double* %224, i64 0
%226 = load double, double* %225
%227 = load double*, double** %12
%228 = getelementptr inbounds double, double* %227, i64 21
%229 = load double, double* %228
%230 = fmul double 0x3FF0F876CCDF6CD4, %229
%231 = fneg double %230
%232 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %226, double %231)
%233 = load double*, double** %12
%234 = getelementptr inbounds double, double* %233, i64 35
store double %232, double* %234
%235 = load double, double* %17
%236 = load double*, double** %12
%237 = getelementptr inbounds double, double* %236, i64 21
store double %235, double* %237
%238 = load double, double* %14
%239 = load double*, double** %12
%240 = getelementptr inbounds double, double* %239, i64 0
store double %238, double* %240
%241 = load double*, double** %12
%242 = getelementptr inbounds double, double* %241, i64 36
%243 = load double, double* %242
%244 = load double*, double** %12
%245 = getelementptr inbounds double, double* %244, i64 22
%246 = load double, double* %245
%247 = fmul double 0x3FD186F174F88471, %246
%248 = fneg double %247
%249 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %243, double %248)
%250 = load double*, double** %12
%251 = getelementptr inbounds double, double* %250, i64 1
%252 = load double, double* %251
%253 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %252, double %249)
store double %253, double* %17
%254 = load double*, double** %12
%255 = getelementptr inbounds double, double* %254, i64 1
%256 = load double, double* %255
%257 = load double*, double** %12
%258 = getelementptr inbounds double, double* %257, i64 22
%259 = load double, double* %258
%260 = fmul double 0x3FF0F876CCDF6CD4, %259
%261 = fneg double %260
%262 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %256, double %261)
%263 = load double*, double** %12
%264 = getelementptr inbounds double, double* %263, i64 36
store double %262, double* %264
%265 = load double*, double** %12
%266 = getelementptr inbounds double, double* %265, i64 64
%267 = load double, double* %266
%268 = load double*, double** %12
%269 = getelementptr inbounds double, double* %268, i64 15
%270 = load double, double* %269
%271 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %270, double %267)
%272 = load double*, double** %12
%273 = getelementptr inbounds double, double* %272, i64 50
%274 = load double, double* %273
%275 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %274, double %271)
%276 = load double*, double** %12
%277 = getelementptr inbounds double, double* %276, i64 1
store double %275, double* %277
%278 = load double*, double** %12
%279 = getelementptr inbounds double, double* %278, i64 15
%280 = load double, double* %279
%281 = load double*, double** %12
%282 = getelementptr inbounds double, double* %281, i64 50
%283 = load double, double* %282
%284 = fmul double 0x3FEBB67AE8584CAE, %283
%285 = fneg double %284
%286 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %280, double %285)
%287 = load double*, double** %12
%288 = getelementptr inbounds double, double* %287, i64 22
store double %286, double* %288
%289 = load double*, double** %12
%290 = getelementptr inbounds double, double* %289, i64 57
%291 = load double, double* %290
%292 = load double*, double** %12
%293 = getelementptr inbounds double, double* %292, i64 8
%294 = load double, double* %293
%295 = fmul double 0x3FD186F174F88471, %294
%296 = fneg double %295
%297 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %291, double %296)
%298 = load double*, double** %12
%299 = getelementptr inbounds double, double* %298, i64 43
%300 = load double, double* %299
%301 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %300, double %297)
%302 = load double*, double** %12
%303 = getelementptr inbounds double, double* %302, i64 15
store double %301, double* %303
%304 = load double*, double** %12
%305 = getelementptr inbounds double, double* %304, i64 2
%306 = load double, double* %305
%307 = load double*, double** %12
%308 = getelementptr inbounds double, double* %307, i64 23
%309 = load double, double* %308
%310 = fmul double 0x3FF0F876CCDF6CD4, %309
%311 = fneg double %310
%312 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %306, double %311)
%313 = load double*, double** %12
%314 = getelementptr inbounds double, double* %313, i64 37
store double %312, double* %314
%315 = load double, double* %20
%316 = load double*, double** %12
%317 = getelementptr inbounds double, double* %316, i64 2
store double %315, double* %317
%318 = load double, double* %19
%319 = load double*, double** %12
%320 = getelementptr inbounds double, double* %319, i64 23
store double %318, double* %320
%321 = load double*, double** %12
%322 = getelementptr inbounds double, double* %321, i64 38
%323 = load double, double* %322
%324 = load double*, double** %12
%325 = getelementptr inbounds double, double* %324, i64 24
%326 = load double, double* %325
%327 = fmul double 0x3FD186F174F88471, %326
%328 = fneg double %327
%329 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %323, double %328)
%330 = load double*, double** %12
%331 = getelementptr inbounds double, double* %330, i64 3
%332 = load double, double* %331
%333 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %332, double %329)
store double %333, double* %14
%334 = load double*, double** %12
%335 = getelementptr inbounds double, double* %334, i64 3
%336 = load double, double* %335
%337 = load double*, double** %12
%338 = getelementptr inbounds double, double* %337, i64 24
%339 = load double, double* %338
%340 = fmul double 0x3FF0F876CCDF6CD4, %339
%341 = fneg double %340
%342 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %336, double %341)
%343 = load double*, double** %12
%344 = getelementptr inbounds double, double* %343, i64 38
store double %342, double* %344
%345 = load double*, double** %12
%346 = getelementptr inbounds double, double* %345, i64 66
%347 = load double, double* %346
%348 = load double*, double** %12
%349 = getelementptr inbounds double, double* %348, i64 17
%350 = load double, double* %349
%351 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %350, double %347)
%352 = load double*, double** %12
%353 = getelementptr inbounds double, double* %352, i64 52
%354 = load double, double* %353
%355 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %354, double %351)
%356 = load double*, double** %12
%357 = getelementptr inbounds double, double* %356, i64 3
store double %355, double* %357
%358 = load double*, double** %12
%359 = getelementptr inbounds double, double* %358, i64 17
%360 = load double, double* %359
%361 = load double*, double** %12
%362 = getelementptr inbounds double, double* %361, i64 52
%363 = load double, double* %362
%364 = fmul double 0x3FEBB67AE8584CAE, %363
%365 = fneg double %364
%366 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %360, double %365)
%367 = load double*, double** %12
%368 = getelementptr inbounds double, double* %367, i64 24
store double %366, double* %368
%369 = load double*, double** %12
%370 = getelementptr inbounds double, double* %369, i64 59
%371 = load double, double* %370
%372 = load double*, double** %12
%373 = getelementptr inbounds double, double* %372, i64 10
%374 = load double, double* %373
%375 = fmul double 0x3FD186F174F88471, %374
%376 = fneg double %375
%377 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %371, double %376)
%378 = load double*, double** %12
%379 = getelementptr inbounds double, double* %378, i64 45
%380 = load double, double* %379
%381 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %380, double %377)
%382 = load double*, double** %12
%383 = getelementptr inbounds double, double* %382, i64 17
store double %381, double* %383
%384 = load double*, double** %12
%385 = getelementptr inbounds double, double* %384, i64 4
%386 = load double, double* %385
%387 = load double*, double** %12
%388 = getelementptr inbounds double, double* %387, i64 25
%389 = load double, double* %388
%390 = fmul double 0x3FF0F876CCDF6CD4, %389
%391 = fneg double %390
%392 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %386, double %391)
%393 = load double*, double** %12
%394 = getelementptr inbounds double, double* %393, i64 39
store double %392, double* %394
%395 = load double, double* %23
%396 = load double*, double** %12
%397 = getelementptr inbounds double, double* %396, i64 25
store double %395, double* %397
%398 = load double, double* %22
%399 = load double*, double** %12
%400 = getelementptr inbounds double, double* %399, i64 4
store double %398, double* %400
%401 = load double*, double** %12
%402 = getelementptr inbounds double, double* %401, i64 40
%403 = load double, double* %402
%404 = load double*, double** %12
%405 = getelementptr inbounds double, double* %404, i64 26
%406 = load double, double* %405
%407 = fmul double 0x3FD186F174F88471, %406
%408 = fneg double %407
%409 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %403, double %408)
%410 = load double*, double** %12
%411 = getelementptr inbounds double, double* %410, i64 5
%412 = load double, double* %411
%413 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %412, double %409)
store double %413, double* %20
%414 = load double*, double** %12
%415 = getelementptr inbounds double, double* %414, i64 5
%416 = load double, double* %415
%417 = load double*, double** %12
%418 = getelementptr inbounds double, double* %417, i64 26
%419 = load double, double* %418
%420 = fmul double 0x3FF0F876CCDF6CD4, %419
%421 = fneg double %420
%422 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %416, double %421)
%423 = load double*, double** %12
%424 = getelementptr inbounds double, double* %423, i64 40
store double %422, double* %424
%425 = load double*, double** %12
%426 = getelementptr inbounds double, double* %425, i64 68
%427 = load double, double* %426
%428 = load double*, double** %12
%429 = getelementptr inbounds double, double* %428, i64 19
%430 = load double, double* %429
%431 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %430, double %427)
%432 = load double*, double** %12
%433 = getelementptr inbounds double, double* %432, i64 54
%434 = load double, double* %433
%435 = call double @llvm.fmuladd.f64(double 0xBFE5775C544FF264, double %434, double %431)
%436 = load double*, double** %12
%437 = getelementptr inbounds double, double* %436, i64 5
store double %435, double* %437
%438 = load double*, double** %12
%439 = getelementptr inbounds double, double* %438, i64 19
%440 = load double, double* %439
%441 = load double*, double** %12
%442 = getelementptr inbounds double, double* %441, i64 54
%443 = load double, double* %442
%444 = fmul double 0x3FEBB67AE8584CAE, %443
%445 = fneg double %444
%446 = call double @llvm.fmuladd.f64(double 0x3FEBB67AE8584CAE, double %440, double %445)
%447 = load double*, double** %12
%448 = getelementptr inbounds double, double* %447, i64 26
store double %446, double* %448
%449 = load double*, double** %12
%450 = getelementptr inbounds double, double* %449, i64 61
%451 = load double, double* %450
%452 = load double*, double** %12
%453 = getelementptr inbounds double, double* %452, i64 12
%454 = load double, double* %453
%455 = fmul double 0x3FD186F174F88471, %454
%456 = fneg double %455
%457 = call double @llvm.fmuladd.f64(double 0x3FF186F174F88468, double %451, double %456)
%458 = load double*, double** %12
%459 = getelementptr inbounds double, double* %458, i64 47
%460 = load double, double* %459
%461 = call double @llvm.fmuladd.f64(double 0xBFE3988E1409212A, double %460, double %457)
%462 = load double*, double** %12
%463 = getelementptr inbounds double, double* %462, i64 19
store double %461, double* %463
%464 = load double*, double** %12
%465 = getelementptr inbounds double, double* %464, i64 6
%466 = load double, double* %465
%467 = load double*, double** %12
%468 = getelementptr inbounds double, double* %467, i64 27
%469 = load double, double* %468
%470 = fmul double 0x3FF0F876CCDF6CD4, %469
%471 = fneg double %470
%472 = call double @llvm.fmuladd.f64(double 0x3FE94C583ADA5B54, double %466, double %471)
%473 = load double*, double** %12
%474 = getelementptr inbounds double, double* %473, i64 41
store double %472, double* %474
%475 = load double, double* %16
%476 = load double*, double** %12
%477 = getelementptr inbounds double, double* %476, i64 6
store double %475, double* %477
%478 = load double, double* %15
%479 = load double*, double** %12
%480 = getelementptr inbounds double, double* %479, i64 27
store double %478, double* %480
%481 = load double*, double** %12
%482 = getelementptr inbounds double, double* %481, i64 7
%483 = load double, double* %482
%484 = load double*, double** %12
%485 = getelementptr inbounds double, double* %484, i64 42
%486 = load double, double* %485
%487 = fmul double 0x3FE94C583ADA5B54, %486
%488 = fneg double %487
%489 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %483, double %488)
%490 = load double*, double** %12
%491 = getelementptr inbounds double, double* %490, i64 42
store double %489, double* %491
%492 = load double, double* %13
%493 = load double*, double** %12
%494 = getelementptr inbounds double, double* %493, i64 7
store double %492, double* %494
%495 = load double*, double** %12
%496 = getelementptr inbounds double, double* %495, i64 8
%497 = load double, double* %496
%498 = load double*, double** %12
%499 = getelementptr inbounds double, double* %498, i64 43
%500 = load double, double* %499
%501 = fmul double 0x3FE94C583ADA5B54, %500
%502 = fneg double %501
%503 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %497, double %502)
%504 = load double*, double** %12
%505 = getelementptr inbounds double, double* %504, i64 43
store double %503, double* %505
%506 = load double, double* %17
%507 = load double*, double** %12
%508 = getelementptr inbounds double, double* %507, i64 8
store double %506, double* %508
%509 = load double*, double** %12
%510 = getelementptr inbounds double, double* %509, i64 9
%511 = load double, double* %510
%512 = load double*, double** %12
%513 = getelementptr inbounds double, double* %512, i64 44
%514 = load double, double* %513
%515 = fmul double 0x3FE94C583ADA5B54, %514
%516 = fneg double %515
%517 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %511, double %516)
%518 = load double*, double** %12
%519 = getelementptr inbounds double, double* %518, i64 44
store double %517, double* %519
%520 = load double, double* %18
%521 = load double*, double** %12
%522 = getelementptr inbounds double, double* %521, i64 9
store double %520, double* %522
%523 = load double*, double** %12
%524 = getelementptr inbounds double, double* %523, i64 10
%525 = load double, double* %524
%526 = load double*, double** %12
%527 = getelementptr inbounds double, double* %526, i64 45
%528 = load double, double* %527
%529 = fmul double 0x3FE94C583ADA5B54, %528
%530 = fneg double %529
%531 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %525, double %530)
%532 = load double*, double** %12
%533 = getelementptr inbounds double, double* %532, i64 45
store double %531, double* %533
%534 = load double, double* %14
%535 = load double*, double** %12
%536 = getelementptr inbounds double, double* %535, i64 10
store double %534, double* %536
%537 = load double*, double** %12
%538 = getelementptr inbounds double, double* %537, i64 11
%539 = load double, double* %538
%540 = load double*, double** %12
%541 = getelementptr inbounds double, double* %540, i64 46
%542 = load double, double* %541
%543 = fmul double 0x3FE94C583ADA5B54, %542
%544 = fneg double %543
%545 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %539, double %544)
%546 = load double*, double** %12
%547 = getelementptr inbounds double, double* %546, i64 46
store double %545, double* %547
%548 = load double, double* %21
%549 = load double*, double** %12
%550 = getelementptr inbounds double, double* %549, i64 11
store double %548, double* %550
%551 = load double*, double** %12
%552 = getelementptr inbounds double, double* %551, i64 12
%553 = load double, double* %552
%554 = load double*, double** %12
%555 = getelementptr inbounds double, double* %554, i64 47
%556 = load double, double* %555
%557 = fmul double 0x3FE94C583ADA5B54, %556
%558 = fneg double %557
%559 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %553, double %558)
%560 = load double*, double** %12
%561 = getelementptr inbounds double, double* %560, i64 47
store double %559, double* %561
%562 = load double, double* %20
%563 = load double*, double** %12
%564 = getelementptr inbounds double, double* %563, i64 12
store double %562, double* %564
%565 = load double*, double** %12
%566 = getelementptr inbounds double, double* %565, i64 13
%567 = load double, double* %566
%568 = load double*, double** %12
%569 = getelementptr inbounds double, double* %568, i64 48
%570 = load double, double* %569
%571 = fmul double 0x3FE94C583ADA5B54, %570
%572 = fneg double %571
%573 = call double @llvm.fmuladd.f64(double 0x3FF0F876CCDF6CD4, double %567, double %572)
%574 = load double*, double** %12
%575 = getelementptr inbounds double, double* %574, i64 48
store double %573, double* %575
%576 = load double, double* %24
%577 = load double*, double** %12
%578 = getelementptr inbounds double, double* %577, i64 13
store double %576, double* %578
ret void
}

LLVM IR (-O2):
define void @gint2_nai_pF_pF(double* %0, double %1, double* %2, double %3, double* %4, double* %5) {
%7 = tail call i32 (double*, double, double*, double, double*, double*, ...) bitcast (i32 (...)* @gint2_nai_cF_pF to i32 (double*, double, double*, double, double*, double*, ...)*)(double* %0, double %1, double* %2, double %3, double* %4, double* %5)
%8 = getelementptr inbounds double, double* %5, i64 35
%9 = load double, double* %8
%10 = getelementptr inbounds double, double* %5, i64 21
%11 = load double, double* %10
%12 = fmul double %11, 0xBFD186F174F88471
%13 = load double, double* %5
%14 = getelementptr inbounds double, double* %5, i64 63
%15 = getelementptr inbounds double, double* %5, i64 14
%16 = getelementptr inbounds double, double* %5, i64 49
%17 = bitcast double* %16 to <2 x double>*
%18 = load <2 x double>, <2 x double>* %17
%19 = bitcast double* %15 to <2 x double>*
%20 = load <2 x double>, <2 x double>* %19
%21 = getelementptr inbounds double, double* %5, i64 56
%22 = getelementptr inbounds double, double* %5, i64 7
%23 = load double, double* %22
%24 = getelementptr inbounds double, double* %5, i64 42
%25 = load double, double* %24
%26 = getelementptr inbounds double, double* %5, i64 37
%27 = getelementptr inbounds double, double* %5, i64 23
%28 = getelementptr inbounds double, double* %5, i64 2
%29 = getelementptr inbounds double, double* %5, i64 16
%30 = getelementptr inbounds double, double* %5, i64 51
%31 = bitcast double* %30 to <2 x double>*
%32 = load <2 x double>, <2 x double>* %31
%33 = bitcast double* %29 to <2 x double>*
%34 = load <2 x double>, <2 x double>* %33
%35 = getelementptr inbounds double, double* %5, i64 65
%36 = getelementptr inbounds double, double* %5, i64 58
%37 = getelementptr inbounds double, double* %5, i64 8
%38 = bitcast double* %37 to <2 x double>*
%39 = load <2 x double>, <2 x double>* %38
%40 = getelementptr inbounds double, double* %5, i64 43
%41 = bitcast double* %40 to <2 x double>*
%42 = load <2 x double>, <2 x double>* %41
%43 = getelementptr inbounds double, double* %5, i64 39
%44 = getelementptr inbounds double, double* %5, i64 25
%45 = getelementptr inbounds double, double* %5, i64 4
%46 = getelementptr inbounds double, double* %5, i64 67
%47 = getelementptr inbounds double, double* %5, i64 18
%48 = getelementptr inbounds double, double* %5, i64 53
%49 = bitcast double* %48 to <2 x double>*
%50 = load <2 x double>, <2 x double>* %49
%51 = getelementptr inbounds double, double* %5, i64 19
%52 = bitcast double* %47 to <2 x double>*
%53 = load <2 x double>, <2 x double>* %52
%54 = getelementptr inbounds double, double* %5, i64 60
%55 = load double, double* %54
%56 = getelementptr inbounds double, double* %5, i64 10
%57 = bitcast double* %56 to <2 x double>*
%58 = load <2 x double>, <2 x double>* %57
%59 = extractelement <2 x double> %58, i64 1
%60 = fmul double %59, 0xBFD186F174F88471
%61 = tail call double @llvm.fmuladd.f64(double %55, double 0x3FF186F174F88468, double %60)
%62 = getelementptr inbounds double, double* %5, i64 45
%63 = bitcast double* %62 to <2 x double>*
%64 = load <2 x double>, <2 x double>* %63
%65 = extractelement <2 x double> %64, i64 1
%66 = tail call double @llvm.fmuladd.f64(double %65, double 0xBFE3988E1409212A, double %61)
store double %66, double* %47
%67 = getelementptr inbounds double, double* %5, i64 41
%68 = getelementptr inbounds double, double* %5, i64 27
%69 = getelementptr inbounds double, double* %5, i64 6
%70 = getelementptr inbounds double, double* %5, i64 20
%71 = load double, double* %70
%72 = getelementptr inbounds double, double* %5, i64 55
%73 = load double, double* %72
%74 = fmul double %73, 0xBFEBB67AE8584CAE
%75 = tail call double @llvm.fmuladd.f64(double %71, double 0x3FEBB67AE8584CAE, double %74)
%76 = getelementptr inbounds double, double* %5, i64 69
%77 = load double, double* %76
%78 = insertelement <2 x double> poison, double %71, i64 0
%79 = insertelement <2 x double> %78, double %9, i64 1
%80 = insertelement <2 x double> poison, double %77, i64 0
%81 = insertelement <2 x double> %80, double %12, i64 1
%82 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %79, <2 x double> <double 0xBFE5775C544FF264, double 0x3FF186F174F88468>, <2 x double> %81)
%83 = insertelement <2 x double> poison, double %73, i64 0
%84 = insertelement <2 x double> %83, double %13, i64 1
%85 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %84, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE3988E1409212A>, <2 x double> %82)
%86 = getelementptr inbounds double, double* %5, i64 36
%87 = bitcast double* %86 to <2 x double>*
%88 = load <2 x double>, <2 x double>* %87
%89 = getelementptr inbounds double, double* %5, i64 22
%90 = bitcast double* %89 to <2 x double>*
%91 = load <2 x double>, <2 x double>* %90
%92 = fmul <2 x double> %91, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%93 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %88, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %92)
%94 = getelementptr inbounds double, double* %5, i64 1
%95 = bitcast double* %94 to <2 x double>*
%96 = load <2 x double>, <2 x double>* %95
%97 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %96, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %93)
%98 = insertelement <2 x double> poison, double %11, i64 0
%99 = shufflevector <2 x double> %98, <2 x double> %91, <2 x i32> <i32 0, i32 2>
%100 = fmul <2 x double> %99, <double 0xBFF0F876CCDF6CD4, double 0xBFF0F876CCDF6CD4>
%101 = insertelement <2 x double> poison, double %13, i64 0
%102 = shufflevector <2 x double> %101, <2 x double> %96, <2 x i32> <i32 0, i32 2>
%103 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %102, <2 x double> <double 0x3FE94C583ADA5B54, double 0x3FE94C583ADA5B54>, <2 x double> %100)
%104 = bitcast double* %8 to <2 x double>*
store <2 x double> %103, <2 x double>* %104
%105 = bitcast double* %14 to <2 x double>*
%106 = load <2 x double>, <2 x double>* %105
%107 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %20, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %106)
%108 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %18, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %107)
%109 = bitcast double* %5 to <2 x double>*
store <2 x double> %108, <2 x double>* %109
%110 = fmul <2 x double> %18, <double 0xBFEBB67AE8584CAE, double 0xBFEBB67AE8584CAE>
%111 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %20, <2 x double> <double 0x3FEBB67AE8584CAE, double 0x3FEBB67AE8584CAE>, <2 x double> %110)
%112 = bitcast double* %10 to <2 x double>*
store <2 x double> %111, <2 x double>* %112
%113 = bitcast double* %21 to <2 x double>*
%114 = load <2 x double>, <2 x double>* %113
%115 = insertelement <2 x double> poison, double %23, i64 0
%116 = shufflevector <2 x double> %115, <2 x double> %39, <2 x i32> <i32 0, i32 2>
%117 = fmul <2 x double> %116, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%118 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %114, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %117)
%119 = insertelement <2 x double> poison, double %25, i64 0
%120 = shufflevector <2 x double> %119, <2 x double> %42, <2 x i32> <i32 0, i32 2>
%121 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %120, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %118)
%122 = bitcast double* %15 to <2 x double>*
store <2 x double> %121, <2 x double>* %122
%123 = getelementptr inbounds double, double* %5, i64 38
%124 = bitcast double* %123 to <2 x double>*
%125 = load <2 x double>, <2 x double>* %124
%126 = getelementptr inbounds double, double* %5, i64 24
%127 = bitcast double* %126 to <2 x double>*
%128 = load <2 x double>, <2 x double>* %127
%129 = fmul <2 x double> %128, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%130 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %125, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %129)
%131 = getelementptr inbounds double, double* %5, i64 3
%132 = bitcast double* %131 to <2 x double>*
%133 = load <2 x double>, <2 x double>* %132
%134 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %133, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %130)
%135 = shufflevector <2 x double> %91, <2 x double> %128, <2 x i32> <i32 1, i32 2>
%136 = fmul <2 x double> %135, <double 0xBFF0F876CCDF6CD4, double 0xBFF0F876CCDF6CD4>
%137 = shufflevector <2 x double> %96, <2 x double> %133, <2 x i32> <i32 1, i32 2>
%138 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %137, <2 x double> <double 0x3FE94C583ADA5B54, double 0x3FE94C583ADA5B54>, <2 x double> %136)
%139 = bitcast double* %26 to <2 x double>*
store <2 x double> %138, <2 x double>* %139
%140 = bitcast double* %35 to <2 x double>*
%141 = load <2 x double>, <2 x double>* %140
%142 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %34, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %141)
%143 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %32, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %142)
%144 = bitcast double* %28 to <2 x double>*
store <2 x double> %143, <2 x double>* %144
%145 = fmul <2 x double> %32, <double 0xBFEBB67AE8584CAE, double 0xBFEBB67AE8584CAE>
%146 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %34, <2 x double> <double 0x3FEBB67AE8584CAE, double 0x3FEBB67AE8584CAE>, <2 x double> %145)
%147 = bitcast double* %27 to <2 x double>*
store <2 x double> %146, <2 x double>* %147
%148 = bitcast double* %36 to <2 x double>*
%149 = load <2 x double>, <2 x double>* %148
%150 = shufflevector <2 x double> %39, <2 x double> %58, <2 x i32> <i32 1, i32 2>
%151 = fmul <2 x double> %150, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%152 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %149, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %151)
%153 = shufflevector <2 x double> %42, <2 x double> %64, <2 x i32> <i32 1, i32 2>
%154 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %153, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %152)
%155 = bitcast double* %29 to <2 x double>*
store <2 x double> %154, <2 x double>* %155
%156 = getelementptr inbounds double, double* %5, i64 40
%157 = bitcast double* %156 to <2 x double>*
%158 = load <2 x double>, <2 x double>* %157
%159 = getelementptr inbounds double, double* %5, i64 26
%160 = bitcast double* %159 to <2 x double>*
%161 = load <2 x double>, <2 x double>* %160
%162 = fmul <2 x double> %161, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%163 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %158, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %162)
%164 = getelementptr inbounds double, double* %5, i64 5
%165 = bitcast double* %164 to <2 x double>*
%166 = load <2 x double>, <2 x double>* %165
%167 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %166, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %163)
%168 = shufflevector <2 x double> %128, <2 x double> %161, <2 x i32> <i32 1, i32 2>
%169 = fmul <2 x double> %168, <double 0xBFF0F876CCDF6CD4, double 0xBFF0F876CCDF6CD4>
%170 = shufflevector <2 x double> %133, <2 x double> %166, <2 x i32> <i32 1, i32 2>
%171 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %170, <2 x double> <double 0x3FE94C583ADA5B54, double 0x3FE94C583ADA5B54>, <2 x double> %169)
%172 = bitcast double* %43 to <2 x double>*
store <2 x double> %171, <2 x double>* %172
%173 = bitcast double* %46 to <2 x double>*
%174 = load <2 x double>, <2 x double>* %173
%175 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %53, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %174)
%176 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 0xBFE5775C544FF264, double 0xBFE5775C544FF264>, <2 x double> %175)
%177 = bitcast double* %45 to <2 x double>*
store <2 x double> %176, <2 x double>* %177
%178 = fmul <2 x double> %50, <double 0xBFEBB67AE8584CAE, double 0xBFEBB67AE8584CAE>
%179 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %53, <2 x double> <double 0x3FEBB67AE8584CAE, double 0x3FEBB67AE8584CAE>, <2 x double> %178)
%180 = bitcast double* %44 to <2 x double>*
store <2 x double> %179, <2 x double>* %180
%181 = getelementptr inbounds double, double* %5, i64 61
%182 = bitcast double* %181 to <2 x double>*
%183 = load <2 x double>, <2 x double>* %182
%184 = getelementptr inbounds double, double* %5, i64 12
%185 = bitcast double* %184 to <2 x double>*
%186 = load <2 x double>, <2 x double>* %185
%187 = fmul <2 x double> %186, <double 0xBFD186F174F88471, double 0xBFD186F174F88471>
%188 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %183, <2 x double> <double 0x3FF186F174F88468, double 0x3FF186F174F88468>, <2 x double> %187)
%189 = getelementptr inbounds double, double* %5, i64 47
%190 = bitcast double* %189 to <2 x double>*
%191 = load <2 x double>, <2 x double>* %190
%192 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %191, <2 x double> <double 0xBFE3988E1409212A, double 0xBFE3988E1409212A>, <2 x double> %188)
%193 = bitcast double* %51 to <2 x double>*
store <2 x double> %192, <2 x double>* %193
%194 = extractelement <2 x double> %161, i64 1
%195 = extractelement <2 x double> %166, i64 1
store double %75, double* %68
%196 = insertelement <2 x double> poison, double %194, i64 0
%197 = insertelement <2 x double> %196, double %25, i64 1
%198 = fmul <2 x double> %197, <double 0xBFF0F876CCDF6CD4, double 0xBFE94C583ADA5B54>
%199 = insertelement <2 x double> poison, double %195, i64 0
%200 = insertelement <2 x double> %199, double %23, i64 1
%201 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %200, <2 x double> <double 0x3FE94C583ADA5B54, double 0x3FF0F876CCDF6CD4>, <2 x double> %198)
%202 = bitcast double* %67 to <2 x double>*
store <2 x double> %201, <2 x double>* %202
%203 = bitcast double* %69 to <2 x double>*
store <2 x double> %85, <2 x double>* %203
%204 = fmul <2 x double> %42, <double 0xBFE94C583ADA5B54, double 0xBFE94C583ADA5B54>
%205 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %39, <2 x double> <double 0x3FF0F876CCDF6CD4, double 0x3FF0F876CCDF6CD4>, <2 x double> %204)
%206 = bitcast double* %40 to <2 x double>*
store <2 x double> %205, <2 x double>* %206
%207 = bitcast double* %37 to <2 x double>*
store <2 x double> %97, <2 x double>* %207
%208 = fmul <2 x double> %64, <double 0xBFE94C583ADA5B54, double 0xBFE94C583ADA5B54>
%209 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %58, <2 x double> <double 0x3FF0F876CCDF6CD4, double 0x3FF0F876CCDF6CD4>, <2 x double> %208)
%210 = bitcast double* %62 to <2 x double>*
store <2 x double> %209, <2 x double>* %210
%211 = bitcast double* %56 to <2 x double>*
store <2 x double> %134, <2 x double>* %211
%212 = fmul <2 x double> %191, <double 0xBFE94C583ADA5B54, double 0xBFE94C583ADA5B54>
%213 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %186, <2 x double> <double 0x3FF0F876CCDF6CD4, double 0x3FF0F876CCDF6CD4>, <2 x double> %212)
%214 = bitcast double* %189 to <2 x double>*
store <2 x double> %213, <2 x double>* %214
%215 = bitcast double* %184 to <2 x double>*
store <2 x double> %167, <2 x double>* %215
ret void
}