void g20(double *x, double *f, double *g, double *h, int nx, int nf, int ng,
         int nh) {
  double sum1, sum2, sumtotal;
  int i, j;
  double A[24] = {0.0693, 0.0577, 0.05, 0.2,  0.26,   0.55,   0.06, 0.1,
                  0.12,   0.18,   0.1,  0.09, 0.0693, 0.0577, 0.05, 0.2,
                  0.26,   0.55,   0.06, 0.1,  0.12,   0.18,   0.1,  0.09};
  double B[24] = {44.094, 58.12, 58.12,   137.4,  120.9, 170.9,
                  62.501, 84.94, 133.425, 82.507, 46.07, 60.097,
                  44.094, 58.12, 58.12,   137.4,  120.9, 170.9,
                  62.501, 84.94, 133.425, 82.507, 46.07, 60.097};
  double C[12] = {123.7, 31.7, 45.7, 14.7, 84.7, 27.7,
                  49.7,  7.1,  2.1,  17.7, 0.85, 0.64};
  double D[12] = {31.244, 36.12, 34.784, 92.7,   82.7, 91.6,
                  56.708, 82.7,  80.8,   64.517, 49.4, 49.1};
  double E[6] = {0.1, 0.3, 0.4, 0.3, 0.6, 0.3};
  f[0] = 0.0;
  for (j = 0; j < 24; j++) {
    f[0] += A[j] * x[j];
  }
  sum1 = 0.0;
  for (j = 0; j < 12; j++)
    sum1 += x[j] / B[j];
  sum2 = 0.0;
  for (j = 12; j < 24; j++)
    sum2 += x[j] / B[j];
  for (i = 0; i < 12; i++)
    h[i] = (x[i + 12] / (B[i + 12] * sum2)) -
           ((C[i] * x[i]) / (40.0 * B[i] * sum1));
  sumtotal = 0.0;
  for (j = 0; j < 24; j++)
    sumtotal += x[j];
  h[12] = sumtotal - 1.0;
  sum1 = 0.0;
  for (j = 0; j < 12; j++)
    sum1 += x[j] / D[j];
  sum2 = 0.0;
  for (j = 12; j < 24; j++)
    sum2 += x[j] / B[j];
  h[13] = sum1 + (0.7302 * 530.0 * (14.7 / 40)) * sum2 - 1.671;
  for (j = 0; j < 3; j++)
    g[j] = (x[j] + x[j + 12]) / (sumtotal + E[j]);
  for (j = 3; j < 6; j++)
    g[j] = (x[j + 3] + x[j + 15]) / (sumtotal + E[j]);
}


x86 assembly (clang, -O0):
<g20>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2c0,%rsp
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%eax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8d,-0x24(%rbp)
mov    %r9d,-0x28(%rbp)
lea    -0x110(%rbp),%rdi
lea    0xee9(%rip),%rsi
mov    $0xc0,%edx
call   1040 <memcpy@plt>
lea    -0x1d0(%rbp),%rdi
lea    0xf91(%rip),%rsi
mov    $0xc0,%edx
call   1040 <memcpy@plt>
lea    -0x230(%rbp),%rdi
lea    0x1039(%rip),%rsi
mov    $0x60,%edx
call   1040 <memcpy@plt>
lea    -0x290(%rbp),%rdi
lea    0x1081(%rip),%rsi
mov    $0x60,%edx
call   1040 <memcpy@plt>
lea    -0x2c0(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1030 <memset@plt>
movsd  0xe54(%rip),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  0xe2c(%rip),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0xe2c(%rip),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  0xe0c(%rip),%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0xe04(%rip),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0xdec(%rip),%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
mov    -0x10(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,(%rax)
movl   $0x0,-0x48(%rbp)
cmpl   $0x18,-0x48(%rbp)
jge    1274 <g20+0x154>
movslq -0x48(%rbp),%rax
movsd  -0x110(%rbp,%rax,8),%xmm0
ff ff
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,(%rax)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    122e <g20+0x10e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
movl   $0x0,-0x48(%rbp)
cmpl   $0xc,-0x48(%rbp)
jge    12bf <g20+0x19f>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movslq -0x48(%rbp),%rax
divsd  -0x1d0(%rbp,%rax,8),%xmm0
ff ff
addsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    1283 <g20+0x163>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movl   $0xc,-0x48(%rbp)
cmpl   $0x18,-0x48(%rbp)
jge    130a <g20+0x1ea>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movslq -0x48(%rbp),%rax
divsd  -0x1d0(%rbp,%rax,8),%xmm0
ff ff
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    12ce <g20+0x1ae>
movl   $0x0,-0x44(%rbp)
cmpl   $0xc,-0x44(%rbp)
jge    139e <g20+0x27e>
mov    -0x8(%rbp),%rax
mov    -0x44(%rbp),%ecx
add    $0xc,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x44(%rbp),%eax
add    $0xc,%eax
cltq
movsd  -0x1d0(%rbp,%rax,8),%xmm1
ff ff
mulsd  -0x38(%rbp),%xmm1
divsd  %xmm1,%xmm0
movslq -0x44(%rbp),%rax
movsd  -0x230(%rbp,%rax,8),%xmm1
ff ff
mov    -0x8(%rbp),%rax
movslq -0x44(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
movslq -0x44(%rbp),%rax
movsd  0xccb(%rip),%xmm2
mulsd  -0x1d0(%rbp,%rax,8),%xmm2
ff ff
mulsd  -0x30(%rbp),%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movslq -0x44(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1311 <g20+0x1f1>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
movl   $0x0,-0x48(%rbp)
cmpl   $0x18,-0x48(%rbp)
jge    13dc <g20+0x2bc>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
addsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    13ad <g20+0x28d>
movsd  -0x40(%rbp),%xmm0
movsd  0xc37(%rip),%xmm1
subsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x60(%rax)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
movl   $0x0,-0x48(%rbp)
cmpl   $0xc,-0x48(%rbp)
jge    1441 <g20+0x321>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movslq -0x48(%rbp),%rax
divsd  -0x290(%rbp,%rax,8),%xmm0
ff ff
addsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    1405 <g20+0x2e5>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x38(%rbp)
movl   $0xc,-0x48(%rbp)
cmpl   $0x18,-0x48(%rbp)
jge    148c <g20+0x36c>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movslq -0x48(%rbp),%rax
divsd  -0x1d0(%rbp,%rax,8),%xmm0
ff ff
addsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    1450 <g20+0x330>
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm0
movsd  0xb92(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xb7a(%rip),%xmm1
subsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movl   $0x0,-0x48(%rbp)
cmpl   $0x3,-0x48(%rbp)
jge    151c <g20+0x3fc>
mov    -0x8(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x48(%rbp),%ecx
add    $0xc,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  -0x40(%rbp),%xmm1
movslq -0x48(%rbp),%rax
addsd  -0x2c0(%rbp,%rax,8),%xmm1
ff ff
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    14c2 <g20+0x3a2>
movl   $0x3,-0x48(%rbp)
cmpl   $0x6,-0x48(%rbp)
jge    1582 <g20+0x462>
mov    -0x8(%rbp),%rax
mov    -0x48(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
mov    -0x48(%rbp),%ecx
add    $0xf,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  -0x40(%rbp),%xmm1
movslq -0x48(%rbp),%rax
addsd  -0x2c0(%rbp,%rax,8),%xmm1
ff ff
divsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x48(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x48(%rbp)
jmp    1523 <g20+0x403>
add    $0x2c0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<g20>:
movq   $0x0,(%rsi)
xorpd  %xmm0,%xmm0
mov    $0x2,%eax
lea    0xfd9(%rip),%r8
nopw   0x0(%rax,%rax,1)
movsd  -0x10(%r8,%rax,8),%xmm1
movsd  -0x8(%r8,%rax,8),%xmm2
mulsd  -0x10(%rdi,%rax,8),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rsi)
mulsd  -0x8(%rdi,%rax,8),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,(%rsi)
movsd  (%r8,%rax,8),%xmm0
mulsd  (%rdi,%rax,8),%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,(%rsi)
add    $0x3,%rax
cmp    $0x1a,%rax
jne    1120 <g20+0x20>
movsd  (%rdi),%xmm2
movsd  0xe8d(%rip),%xmm4
movapd %xmm2,%xmm1
divsd  %xmm4,%xmm1
movsd  0xe85(%rip),%xmm0
movsd  0x18(%rdi),%xmm9
movsd  0xe7f(%rip),%xmm3
divsd  %xmm3,%xmm9
movsd  0x20(%rdi),%xmm14
movsd  0xe73(%rip),%xmm8
divsd  %xmm8,%xmm14
movsd  0x28(%rdi),%xmm15
movsd  0xe67(%rip),%xmm13
divsd  %xmm13,%xmm15
movsd  0x30(%rdi),%xmm6
movsd  0xe5c(%rip),%xmm12
divsd  %xmm12,%xmm6
movsd  0x38(%rdi),%xmm7
movsd  0xe51(%rip),%xmm11
divsd  %xmm11,%xmm7
movsd  0x60(%rdi),%xmm5
divsd  %xmm4,%xmm5
xorpd  %xmm10,%xmm10
addsd  %xmm10,%xmm5
movsd  0x68(%rdi),%xmm4
divsd  %xmm0,%xmm4
addsd  %xmm5,%xmm4
movsd  0x70(%rdi),%xmm5
divsd  %xmm0,%xmm5
addsd  %xmm4,%xmm5
movsd  0x78(%rdi),%xmm4
divsd  %xmm3,%xmm4
movsd  0x40(%rdi),%xmm3
addsd  %xmm5,%xmm4
movsd  0x80(%rdi),%xmm5
divsd  %xmm8,%xmm5
movsd  0xe00(%rip),%xmm0
divsd  %xmm0,%xmm3
addsd  %xmm4,%xmm5
movsd  0x88(%rdi),%xmm4
divsd  %xmm13,%xmm4
movsd  0x48(%rdi),%xmm13
addsd  %xmm5,%xmm4
movsd  0x90(%rdi),%xmm8
divsd  %xmm12,%xmm8
movsd  0xdd2(%rip),%xmm12
divsd  %xmm12,%xmm13
addsd  %xmm4,%xmm8
movsd  0x98(%rdi),%xmm4
divsd  %xmm11,%xmm4
movsd  0x50(%rdi),%xmm11
addsd  %xmm8,%xmm4
movsd  0xa0(%rdi),%xmm5
divsd  %xmm0,%xmm5
movsd  0xda3(%rip),%xmm8
divsd  %xmm8,%xmm11
addsd  %xmm4,%xmm5
movsd  0xa8(%rdi),%xmm0
divsd  %xmm12,%xmm0
movsd  0x58(%rdi),%xmm4
addsd  %xmm5,%xmm0
movsd  0xb0(%rdi),%xmm5
divsd  %xmm8,%xmm5
movsd  0xd76(%rip),%xmm8
divsd  %xmm8,%xmm4
addsd  %xmm0,%xmm5
movsd  0xb8(%rdi),%xmm0
divsd  %xmm8,%xmm0
movsd  0xd0f(%rip),%xmm8
addsd  %xmm5,%xmm0
addsd  %xmm10,%xmm1
movsd  0x8(%rdi),%xmm5
divsd  %xmm8,%xmm5
addsd  %xmm5,%xmm1
movsd  0x10(%rdi),%xmm5
divsd  %xmm8,%xmm5
addsd  %xmm5,%xmm1
addsd  %xmm9,%xmm1
addsd  %xmm14,%xmm1
addsd  %xmm15,%xmm1
addsd  %xmm6,%xmm1
addsd  %xmm7,%xmm1
addsd  %xmm3,%xmm1
addsd  %xmm13,%xmm1
addsd  %xmm11,%xmm1
addsd  %xmm4,%xmm1
xor    %eax,%eax
lea    0xe60(%rip),%rsi
lea    0xf19(%rip),%r8
movsd  0xcf9(%rip),%xmm3
nop
movsd  0x60(%rdi,%rax,1),%xmm4
movsd  0x60(%rax,%rsi,1),%xmm5
mulsd  %xmm0,%xmm5
mulsd  (%rax,%r8,1),%xmm2
divsd  %xmm5,%xmm4
movsd  (%rax,%rsi,1),%xmm5
mulsd  %xmm3,%xmm5
mulsd  %xmm1,%xmm5
divsd  %xmm5,%xmm2
addsd  %xmm4,%xmm2
movsd  %xmm2,(%rcx,%rax,1)
cmp    $0x58,%rax
je     13a6 <g20+0x2a6>
movsd  0x8(%rdi,%rax,1),%xmm2
add    $0x8,%rax
jmp    1360 <g20+0x260>
xorpd  %xmm2,%xmm2
movsd  (%rdi),%xmm1
addsd  %xmm2,%xmm1
addsd  0x8(%rdi),%xmm1
addsd  0x10(%rdi),%xmm1
addsd  0x18(%rdi),%xmm1
addsd  0x20(%rdi),%xmm1
addsd  0x28(%rdi),%xmm1
addsd  0x30(%rdi),%xmm1
addsd  0x38(%rdi),%xmm1
addsd  0x40(%rdi),%xmm1
addsd  0x48(%rdi),%xmm1
addsd  0x50(%rdi),%xmm1
addsd  0x58(%rdi),%xmm1
addsd  0x60(%rdi),%xmm1
addsd  0x68(%rdi),%xmm1
addsd  0x70(%rdi),%xmm1
addsd  0x78(%rdi),%xmm1
addsd  0x80(%rdi),%xmm1
addsd  0x88(%rdi),%xmm1
addsd  0x90(%rdi),%xmm1
addsd  0x98(%rdi),%xmm1
addsd  0xa0(%rdi),%xmm1
addsd  0xa8(%rdi),%xmm1
addsd  0xb0(%rdi),%xmm1
addsd  0xb8(%rdi),%xmm1
movsd  0xc1b(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x60(%rcx)
movsd  0x20(%rdi),%xmm3
movsd  0xc2d(%rip),%xmm0
divsd  %xmm0,%xmm3
movsd  0x38(%rdi),%xmm4
divsd  %xmm0,%xmm4
movsd  0x60(%rdi),%xmm0
divsd  0xb8b(%rip),%xmm0
addsd  %xmm2,%xmm0
movsd  0x68(%rdi),%xmm5
divsd  %xmm8,%xmm5
addsd  %xmm0,%xmm5
movsd  0x70(%rdi),%xmm0
divsd  %xmm8,%xmm0
addsd  %xmm5,%xmm0
movsd  0x78(%rdi),%xmm5
divsd  0xb6e(%rip),%xmm5
addsd  %xmm0,%xmm5
movsd  0x80(%rdi),%xmm0
divsd  0xb62(%rip),%xmm0
addsd  %xmm5,%xmm0
movsd  0x88(%rdi),%xmm5
divsd  0xb56(%rip),%xmm5
addsd  %xmm0,%xmm5
movsd  0x90(%rdi),%xmm0
divsd  0xb4a(%rip),%xmm0
addsd  %xmm5,%xmm0
movsd  0x98(%rdi),%xmm5
divsd  0xb3e(%rip),%xmm5
addsd  %xmm0,%xmm5
movsd  0xa0(%rdi),%xmm0
divsd  0xb32(%rip),%xmm0
addsd  %xmm5,%xmm0
movsd  0xa8(%rdi),%xmm5
divsd  0xb26(%rip),%xmm5
addsd  %xmm0,%xmm5
movsd  0xb0(%rdi),%xmm6
divsd  0xb1a(%rip),%xmm6
addsd  %xmm5,%xmm6
movsd  0xb8(%rdi),%xmm0
divsd  0xb0e(%rip),%xmm0
addsd  %xmm6,%xmm0
movsd  (%rdi),%xmm5
divsd  0xb16(%rip),%xmm5
addsd  %xmm2,%xmm5
movsd  0x8(%rdi),%xmm2
divsd  0xb0d(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x10(%rdi),%xmm2
divsd  0xb04(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x18(%rdi),%xmm2
divsd  0xafb(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x28(%rdi),%xmm2
divsd  0xafa(%rip),%xmm2
addsd  %xmm3,%xmm5
movsd  0x30(%rdi),%xmm3
divsd  0xaf1(%rip),%xmm3
addsd  %xmm2,%xmm5
addsd  %xmm3,%xmm5
addsd  %xmm4,%xmm5
movsd  0x40(%rdi),%xmm2
divsd  0xae0(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x48(%rdi),%xmm2
divsd  0xad7(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x50(%rdi),%xmm2
divsd  0xace(%rip),%xmm2
addsd  %xmm2,%xmm5
movsd  0x58(%rdi),%xmm2
divsd  0xac5(%rip),%xmm2
mulsd  0xac5(%rip),%xmm0
addsd  %xmm2,%xmm5
addsd  %xmm5,%xmm0
addsd  0xabd(%rip),%xmm0
movsd  %xmm0,0x68(%rcx)
movsd  (%rdi),%xmm0
addsd  0x60(%rdi),%xmm0
movsd  0xaaf(%rip),%xmm2
addsd  %xmm1,%xmm2
divsd  %xmm2,%xmm0
movsd  %xmm0,(%rdx)
movsd  0x8(%rdi),%xmm2
addsd  0x68(%rdi),%xmm2
movsd  0xa99(%rip),%xmm0
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rdx)
movsd  0x10(%rdi),%xmm2
addsd  0x70(%rdi),%xmm2
movsd  0xa82(%rip),%xmm3
addsd  %xmm1,%xmm3
divsd  %xmm3,%xmm2
movsd  %xmm2,0x10(%rdx)
movsd  0x30(%rdi),%xmm2
addsd  0x90(%rdi),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x18(%rdx)
movsd  0x38(%rdi),%xmm2
addsd  0x98(%rdi),%xmm2
addsd  0xa52(%rip),%xmm1
divsd  %xmm1,%xmm2
movsd  %xmm2,0x20(%rdx)
movsd  0x40(%rdi),%xmm1
addsd  0xa0(%rdi),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,0x28(%rdx)
ret

LLVM IR (-O0):
@__const.g20.A = [24 x double] [double 6.930000e-02, double 5.770000e-02, double 5.000000e-02, double 2.000000e-01, double 2.600000e-01, double 5.500000e-01, double 6.000000e-02, double 1.000000e-01, double 1.200000e-01, double 1.800000e-01, double 1.000000e-01, double 0x3FB70A3D70A3D70A, double 6.930000e-02, double 5.770000e-02, double 5.000000e-02, double 2.000000e-01, double 2.600000e-01, double 5.500000e-01, double 6.000000e-02, double 1.000000e-01, double 1.200000e-01, double 1.800000e-01, double 1.000000e-01, double 0x3FB70A3D70A3D70A]
@__const.g20.B = [24 x double] [double 4.409400e+01, double 5.812000e+01, double 5.812000e+01, double 1.374000e+02, double 1.209000e+02, double 1.709000e+02, double 0x404F4020C49BA5E3, double 0x40553C28F5C28F5C, double 1.334250e+02, double 8.250700e+01, double 4.607000e+01, double 6.009700e+01, double 4.409400e+01, double 5.812000e+01, double 5.812000e+01, double 1.374000e+02, double 1.209000e+02, double 1.709000e+02, double 0x404F4020C49BA5E3, double 0x40553C28F5C28F5C, double 1.334250e+02, double 8.250700e+01, double 4.607000e+01, double 6.009700e+01]
@__const.g20.C = [12 x double] [double 1.237000e+02, double 3.170000e+01, double 4.570000e+01, double 1.470000e+01, double 8.470000e+01, double 2.770000e+01, double 4.970000e+01, double 7.100000e+00, double 2.100000e+00, double 1.770000e+01, double 8.500000e-01, double 6.400000e-01]
@__const.g20.D = [12 x double] [double 3.124400e+01, double 3.612000e+01, double 3.478400e+01, double 9.270000e+01, double 8.270000e+01, double 0x4056E66666666666, double 5.670800e+01, double 8.270000e+01, double 0x4054333333333333, double 0x40502116872B020C, double 4.940000e+01, double 4.910000e+01]
define void @g20(double* %0, double* %1, double* %2, double* %3, i32 %4, i32 %5, i32 %6, i32 %7) {
%9 = alloca double*
%10 = alloca double*
%11 = alloca double*
%12 = alloca double*
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca i32
%21 = alloca i32
%22 = alloca [24 x double]
%23 = alloca [24 x double]
%24 = alloca [12 x double]
%25 = alloca [12 x double]
%26 = alloca [6 x double]
store double* %0, double** %9
store double* %1, double** %10
store double* %2, double** %11
store double* %3, double** %12
store i32 %4, i32* %13
store i32 %5, i32* %14
store i32 %6, i32* %15
store i32 %7, i32* %16
%27 = bitcast [24 x double]* %22 to i8*
%28 = bitcast [24 x double]* %23 to i8*
%29 = bitcast [12 x double]* %24 to i8*
%30 = bitcast [12 x double]* %25 to i8*
%31 = bitcast [6 x double]* %26 to i8*
%32 = bitcast i8* %31 to [6 x double]*
%33 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 0
store double 1.000000e-01, double* %33
%34 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 1
store double 3.000000e-01, double* %34
%35 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 2
store double 4.000000e-01, double* %35
%36 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 3
store double 3.000000e-01, double* %36
%37 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 4
store double 6.000000e-01, double* %37
%38 = getelementptr inbounds [6 x double], [6 x double]* %32, i32 0, i32 5
store double 3.000000e-01, double* %38
%39 = load double*, double** %10
%40 = getelementptr inbounds double, double* %39, i64 0
store double 0.000000e+00, double* %40
store i32 0, i32* %21
br label %41
41: ; preds = %58, %8
%42 = load i32, i32* %21
%43 = icmp slt i32 %42, 24
br i1 %43, label %44, label %61
44: ; preds = %41
%45 = load i32, i32* %21
%46 = sext i32 %45 to i64
%47 = getelementptr inbounds [24 x double], [24 x double]* %22, i64 0, i64 %46
%48 = load double, double* %47
%49 = load double*, double** %9
%50 = load i32, i32* %21
%51 = sext i32 %50 to i64
%52 = getelementptr inbounds double, double* %49, i64 %51
%53 = load double, double* %52
%54 = load double*, double** %10
%55 = getelementptr inbounds double, double* %54, i64 0
%56 = load double, double* %55
%57 = call double @llvm.fmuladd.f64(double %48, double %53, double %56)
store double %57, double* %55
br label %58
58: ; preds = %44
%59 = load i32, i32* %21
%60 = add nsw i32 %59, 1
store i32 %60, i32* %21
br label %41
61: ; preds = %41
store double 0.000000e+00, double* %17
store i32 0, i32* %21
br label %62
62: ; preds = %78, %61
%63 = load i32, i32* %21
%64 = icmp slt i32 %63, 12
br i1 %64, label %65, label %81
65: ; preds = %62
%66 = load double*, double** %9
%67 = load i32, i32* %21
%68 = sext i32 %67 to i64
%69 = getelementptr inbounds double, double* %66, i64 %68
%70 = load double, double* %69
%71 = load i32, i32* %21
%72 = sext i32 %71 to i64
%73 = getelementptr inbounds [24 x double], [24 x double]* %23, i64 0, i64 %72
%74 = load double, double* %73
%75 = fdiv double %70, %74
%76 = load double, double* %17
%77 = fadd double %76, %75
store double %77, double* %17
br label %78
78: ; preds = %65
%79 = load i32, i32* %21
%80 = add nsw i32 %79, 1
store i32 %80, i32* %21
br label %62
81: ; preds = %62
store double 0.000000e+00, double* %18
store i32 12, i32* %21
br label %82
82: ; preds = %98, %81
%83 = load i32, i32* %21
%84 = icmp slt i32 %83, 24
br i1 %84, label %85, label %101
85: ; preds = %82
%86 = load double*, double** %9
%87 = load i32, i32* %21
%88 = sext i32 %87 to i64
%89 = getelementptr inbounds double, double* %86, i64 %88
%90 = load double, double* %89
%91 = load i32, i32* %21
%92 = sext i32 %91 to i64
%93 = getelementptr inbounds [24 x double], [24 x double]* %23, i64 0, i64 %92
%94 = load double, double* %93
%95 = fdiv double %90, %94
%96 = load double, double* %18
%97 = fadd double %96, %95
store double %97, double* %18
br label %98
98: ; preds = %85
%99 = load i32, i32* %21
%100 = add nsw i32 %99, 1
store i32 %100, i32* %21
br label %82
101: ; preds = %82
store i32 0, i32* %20
br label %102
102: ; preds = %143, %101
%103 = load i32, i32* %20
%104 = icmp slt i32 %103, 12
br i1 %104, label %105, label %146
105: ; preds = %102
%106 = load double*, double** %9
%107 = load i32, i32* %20
%108 = add nsw i32 %107, 12
%109 = sext i32 %108 to i64
%110 = getelementptr inbounds double, double* %106, i64 %109
%111 = load double, double* %110
%112 = load i32, i32* %20
%113 = add nsw i32 %112, 12
%114 = sext i32 %113 to i64
%115 = getelementptr inbounds [24 x double], [24 x double]* %23, i64 0, i64 %114
%116 = load double, double* %115
%117 = load double, double* %18
%118 = fmul double %116, %117
%119 = fdiv double %111, %118
%120 = load i32, i32* %20
%121 = sext i32 %120 to i64
%122 = getelementptr inbounds [12 x double], [12 x double]* %24, i64 0, i64 %121
%123 = load double, double* %122
%124 = load double*, double** %9
%125 = load i32, i32* %20
%126 = sext i32 %125 to i64
%127 = getelementptr inbounds double, double* %124, i64 %126
%128 = load double, double* %127
%129 = fmul double %123, %128
%130 = load i32, i32* %20
%131 = sext i32 %130 to i64
%132 = getelementptr inbounds [24 x double], [24 x double]* %23, i64 0, i64 %131
%133 = load double, double* %132
%134 = fmul double 4.000000e+01, %133
%135 = load double, double* %17
%136 = fmul double %134, %135
%137 = fdiv double %129, %136
%138 = fsub double %119, %137
%139 = load double*, double** %12
%140 = load i32, i32* %20
%141 = sext i32 %140 to i64
%142 = getelementptr inbounds double, double* %139, i64 %141
store double %138, double* %142
br label %143
143: ; preds = %105
%144 = load i32, i32* %20
%145 = add nsw i32 %144, 1
store i32 %145, i32* %20
br label %102
146: ; preds = %102
store double 0.000000e+00, double* %19
store i32 0, i32* %21
br label %147
147: ; preds = %158, %146
%148 = load i32, i32* %21
%149 = icmp slt i32 %148, 24
br i1 %149, label %150, label %161
150: ; preds = %147
%151 = load double*, double** %9
%152 = load i32, i32* %21
%153 = sext i32 %152 to i64
%154 = getelementptr inbounds double, double* %151, i64 %153
%155 = load double, double* %154
%156 = load double, double* %19
%157 = fadd double %156, %155
store double %157, double* %19
br label %158
158: ; preds = %150
%159 = load i32, i32* %21
%160 = add nsw i32 %159, 1
store i32 %160, i32* %21
br label %147
161: ; preds = %147
%162 = load double, double* %19
%163 = fsub double %162, 1.000000e+00
%164 = load double*, double** %12
%165 = getelementptr inbounds double, double* %164, i64 12
store double %163, double* %165
store double 0.000000e+00, double* %17
store i32 0, i32* %21
br label %166
166: ; preds = %182, %161
%167 = load i32, i32* %21
%168 = icmp slt i32 %167, 12
br i1 %168, label %169, label %185
169: ; preds = %166
%170 = load double*, double** %9
%171 = load i32, i32* %21
%172 = sext i32 %171 to i64
%173 = getelementptr inbounds double, double* %170, i64 %172
%174 = load double, double* %173
%175 = load i32, i32* %21
%176 = sext i32 %175 to i64
%177 = getelementptr inbounds [12 x double], [12 x double]* %25, i64 0, i64 %176
%178 = load double, double* %177
%179 = fdiv double %174, %178
%180 = load double, double* %17
%181 = fadd double %180, %179
store double %181, double* %17
br label %182
182: ; preds = %169
%183 = load i32, i32* %21
%184 = add nsw i32 %183, 1
store i32 %184, i32* %21
br label %166
185: ; preds = %166
store double 0.000000e+00, double* %18
store i32 12, i32* %21
br label %186
186: ; preds = %202, %185
%187 = load i32, i32* %21
%188 = icmp slt i32 %187, 24
br i1 %188, label %189, label %205
189: ; preds = %186
%190 = load double*, double** %9
%191 = load i32, i32* %21
%192 = sext i32 %191 to i64
%193 = getelementptr inbounds double, double* %190, i64 %192
%194 = load double, double* %193
%195 = load i32, i32* %21
%196 = sext i32 %195 to i64
%197 = getelementptr inbounds [24 x double], [24 x double]* %23, i64 0, i64 %196
%198 = load double, double* %197
%199 = fdiv double %194, %198
%200 = load double, double* %18
%201 = fadd double %200, %199
store double %201, double* %18
br label %202
202: ; preds = %189
%203 = load i32, i32* %21
%204 = add nsw i32 %203, 1
store i32 %204, i32* %21
br label %186
205: ; preds = %186
%206 = load double, double* %17
%207 = load double, double* %18
%208 = call double @llvm.fmuladd.f64(double 0x4061C730C88A47ED, double %207, double %206)
%209 = fsub double %208, 1.671000e+00
%210 = load double*, double** %12
%211 = getelementptr inbounds double, double* %210, i64 13
store double %209, double* %211
store i32 0, i32* %21
br label %212
212: ; preds = %239, %205
%213 = load i32, i32* %21
%214 = icmp slt i32 %213, 3
br i1 %214, label %215, label %242
215: ; preds = %212
%216 = load double*, double** %9
%217 = load i32, i32* %21
%218 = sext i32 %217 to i64
%219 = getelementptr inbounds double, double* %216, i64 %218
%220 = load double, double* %219
%221 = load double*, double** %9
%222 = load i32, i32* %21
%223 = add nsw i32 %222, 12
%224 = sext i32 %223 to i64
%225 = getelementptr inbounds double, double* %221, i64 %224
%226 = load double, double* %225
%227 = fadd double %220, %226
%228 = load double, double* %19
%229 = load i32, i32* %21
%230 = sext i32 %229 to i64
%231 = getelementptr inbounds [6 x double], [6 x double]* %26, i64 0, i64 %230
%232 = load double, double* %231
%233 = fadd double %228, %232
%234 = fdiv double %227, %233
%235 = load double*, double** %11
%236 = load i32, i32* %21
%237 = sext i32 %236 to i64
%238 = getelementptr inbounds double, double* %235, i64 %237
store double %234, double* %238
br label %239
239: ; preds = %215
%240 = load i32, i32* %21
%241 = add nsw i32 %240, 1
store i32 %241, i32* %21
br label %212
242: ; preds = %212
store i32 3, i32* %21
br label %243
243: ; preds = %271, %242
%244 = load i32, i32* %21
%245 = icmp slt i32 %244, 6
br i1 %245, label %246, label %274
246: ; preds = %243
%247 = load double*, double** %9
%248 = load i32, i32* %21
%249 = add nsw i32 %248, 3
%250 = sext i32 %249 to i64
%251 = getelementptr inbounds double, double* %247, i64 %250
%252 = load double, double* %251
%253 = load double*, double** %9
%254 = load i32, i32* %21
%255 = add nsw i32 %254, 15
%256 = sext i32 %255 to i64
%257 = getelementptr inbounds double, double* %253, i64 %256
%258 = load double, double* %257
%259 = fadd double %252, %258
%260 = load double, double* %19
%261 = load i32, i32* %21
%262 = sext i32 %261 to i64
%263 = getelementptr inbounds [6 x double], [6 x double]* %26, i64 0, i64 %262
%264 = load double, double* %263
%265 = fadd double %260, %264
%266 = fdiv double %259, %265
%267 = load double*, double** %11
%268 = load i32, i32* %21
%269 = sext i32 %268 to i64
%270 = getelementptr inbounds double, double* %267, i64 %269
store double %266, double* %270
br label %271
271: ; preds = %246
%272 = load i32, i32* %21
%273 = add nsw i32 %272, 1
store i32 %273, i32* %21
br label %243
274: ; preds = %243
ret void
}

LLVM IR (-O2):
@__const.g20.A = [24 x double] [double 6.930000e-02, double 5.770000e-02, double 5.000000e-02, double 2.000000e-01, double 2.600000e-01, double 5.500000e-01, double 6.000000e-02, double 1.000000e-01, double 1.200000e-01, double 1.800000e-01, double 1.000000e-01, double 0x3FB70A3D70A3D70A, double 6.930000e-02, double 5.770000e-02, double 5.000000e-02, double 2.000000e-01, double 2.600000e-01, double 5.500000e-01, double 6.000000e-02, double 1.000000e-01, double 1.200000e-01, double 1.800000e-01, double 1.000000e-01, double 0x3FB70A3D70A3D70A]
@__const.g20.B = [24 x double] [double 4.409400e+01, double 5.812000e+01, double 5.812000e+01, double 1.374000e+02, double 1.209000e+02, double 1.709000e+02, double 0x404F4020C49BA5E3, double 0x40553C28F5C28F5C, double 1.334250e+02, double 8.250700e+01, double 4.607000e+01, double 6.009700e+01, double 4.409400e+01, double 5.812000e+01, double 5.812000e+01, double 1.374000e+02, double 1.209000e+02, double 1.709000e+02, double 0x404F4020C49BA5E3, double 0x40553C28F5C28F5C, double 1.334250e+02, double 8.250700e+01, double 4.607000e+01, double 6.009700e+01]
@__const.g20.C = [12 x double] [double 1.237000e+02, double 3.170000e+01, double 4.570000e+01, double 1.470000e+01, double 8.470000e+01, double 2.770000e+01, double 4.970000e+01, double 7.100000e+00, double 2.100000e+00, double 1.770000e+01, double 8.500000e-01, double 6.400000e-01]
define void @g20(double* nocapture %0, double* nocapture %1, double* nocapture writeonly %2, double* nocapture writeonly %3, i32 %4, i32 %5, i32 %6, i32 %7) {
store double 0.000000e+00, double* %1
br label %9
9: ; preds = %9, %8
%10 = phi double [ 0.000000e+00, %8 ], [ %28, %9 ]
%11 = phi i64 [ 0, %8 ], [ %29, %9 ]
%12 = getelementptr inbounds [24 x double], [24 x double]* @__const.g20.A, i64 0, i64 %11
%13 = load double, double* %12
%14 = getelementptr inbounds double, double* %0, i64 %11
%15 = load double, double* %14
%16 = tail call double @llvm.fmuladd.f64(double %13, double %15, double %10)
store double %16, double* %1
%17 = add nuw nsw i64 %11, 1
%18 = getelementptr inbounds [24 x double], [24 x double]* @__const.g20.A, i64 0, i64 %17
%19 = load double, double* %18
%20 = getelementptr inbounds double, double* %0, i64 %17
%21 = load double, double* %20
%22 = tail call double @llvm.fmuladd.f64(double %19, double %21, double %16)
store double %22, double* %1
%23 = add nuw nsw i64 %11, 2
%24 = getelementptr inbounds [24 x double], [24 x double]* @__const.g20.A, i64 0, i64 %23
%25 = load double, double* %24
%26 = getelementptr inbounds double, double* %0, i64 %23
%27 = load double, double* %26
%28 = tail call double @llvm.fmuladd.f64(double %25, double %27, double %22)
store double %28, double* %1
%29 = add nuw nsw i64 %11, 3
%30 = icmp eq i64 %29, 24
br i1 %30, label %31, label %9
31: ; preds = %9
%32 = load double, double* %0
%33 = fdiv double %32, 4.409400e+01
%34 = getelementptr inbounds double, double* %0, i64 1
%35 = load double, double* %34
%36 = fdiv double %35, 5.812000e+01
%37 = getelementptr inbounds double, double* %0, i64 2
%38 = load double, double* %37
%39 = fdiv double %38, 5.812000e+01
%40 = getelementptr inbounds double, double* %0, i64 3
%41 = load double, double* %40
%42 = fdiv double %41, 1.374000e+02
%43 = getelementptr inbounds double, double* %0, i64 4
%44 = load double, double* %43
%45 = fdiv double %44, 1.209000e+02
%46 = getelementptr inbounds double, double* %0, i64 5
%47 = load double, double* %46
%48 = fdiv double %47, 1.709000e+02
%49 = getelementptr inbounds double, double* %0, i64 6
%50 = load double, double* %49
%51 = fdiv double %50, 0x404F4020C49BA5E3
%52 = getelementptr inbounds double, double* %0, i64 7
%53 = load double, double* %52
%54 = fdiv double %53, 0x40553C28F5C28F5C
%55 = getelementptr inbounds double, double* %0, i64 8
%56 = load double, double* %55
%57 = fdiv double %56, 1.334250e+02
%58 = getelementptr inbounds double, double* %0, i64 9
%59 = load double, double* %58
%60 = fdiv double %59, 8.250700e+01
%61 = getelementptr inbounds double, double* %0, i64 10
%62 = load double, double* %61
%63 = fdiv double %62, 4.607000e+01
%64 = getelementptr inbounds double, double* %0, i64 11
%65 = load double, double* %64
%66 = fdiv double %65, 6.009700e+01
%67 = getelementptr inbounds double, double* %0, i64 12
%68 = load double, double* %67
%69 = fdiv double %68, 4.409400e+01
%70 = fadd double %69, 0.000000e+00
%71 = getelementptr inbounds double, double* %0, i64 13
%72 = load double, double* %71
%73 = fdiv double %72, 5.812000e+01
%74 = fadd double %70, %73
%75 = getelementptr inbounds double, double* %0, i64 14
%76 = load double, double* %75
%77 = fdiv double %76, 5.812000e+01
%78 = fadd double %74, %77
%79 = getelementptr inbounds double, double* %0, i64 15
%80 = load double, double* %79
%81 = fdiv double %80, 1.374000e+02
%82 = fadd double %78, %81
%83 = getelementptr inbounds double, double* %0, i64 16
%84 = load double, double* %83
%85 = fdiv double %84, 1.209000e+02
%86 = fadd double %82, %85
%87 = getelementptr inbounds double, double* %0, i64 17
%88 = load double, double* %87
%89 = fdiv double %88, 1.709000e+02
%90 = fadd double %86, %89
%91 = getelementptr inbounds double, double* %0, i64 18
%92 = load double, double* %91
%93 = fdiv double %92, 0x404F4020C49BA5E3
%94 = fadd double %90, %93
%95 = getelementptr inbounds double, double* %0, i64 19
%96 = load double, double* %95
%97 = fdiv double %96, 0x40553C28F5C28F5C
%98 = fadd double %94, %97
%99 = getelementptr inbounds double, double* %0, i64 20
%100 = load double, double* %99
%101 = fdiv double %100, 1.334250e+02
%102 = fadd double %98, %101
%103 = getelementptr inbounds double, double* %0, i64 21
%104 = load double, double* %103
%105 = fdiv double %104, 8.250700e+01
%106 = fadd double %102, %105
%107 = getelementptr inbounds double, double* %0, i64 22
%108 = load double, double* %107
%109 = fdiv double %108, 4.607000e+01
%110 = fadd double %106, %109
%111 = getelementptr inbounds double, double* %0, i64 23
%112 = load double, double* %111
%113 = fdiv double %112, 6.009700e+01
%114 = fadd double %110, %113
%115 = fadd double %33, 0.000000e+00
%116 = fadd double %115, %36
%117 = fadd double %116, %39
%118 = fadd double %117, %42
%119 = fadd double %118, %45
%120 = fadd double %119, %48
%121 = fadd double %120, %51
%122 = fadd double %121, %54
%123 = fadd double %122, %57
%124 = fadd double %123, %60
%125 = fadd double %124, %63
%126 = fadd double %125, %66
br label %127
127: ; preds = %149, %31
%128 = phi double [ %32, %31 ], [ %151, %149 ]
%129 = phi i64 [ 0, %31 ], [ %147, %149 ]
%130 = add nuw nsw i64 %129, 12
%131 = getelementptr inbounds double, double* %0, i64 %130
%132 = load double, double* %131
%133 = getelementptr inbounds [24 x double], [24 x double]* @__const.g20.B, i64 0, i64 %130
%134 = load double, double* %133
%135 = fmul double %114, %134
%136 = fdiv double %132, %135
%137 = getelementptr inbounds [12 x double], [12 x double]* @__const.g20.C, i64 0, i64 %129
%138 = load double, double* %137
%139 = fmul double %138, %128
%140 = getelementptr inbounds [24 x double], [24 x double]* @__const.g20.B, i64 0, i64 %129
%141 = load double, double* %140
%142 = fmul double %141, 4.000000e+01
%143 = fmul double %126, %142
%144 = fdiv double %139, %143
%145 = fsub double %136, %144
%146 = getelementptr inbounds double, double* %3, i64 %129
store double %145, double* %146
%147 = add nuw nsw i64 %129, 1
%148 = icmp eq i64 %147, 12
br i1 %148, label %152, label %149
149: ; preds = %127
%150 = getelementptr inbounds double, double* %0, i64 %147
%151 = load double, double* %150
br label %127
152: ; preds = %127
%153 = load double, double* %0
%154 = fadd double %153, 0.000000e+00
%155 = load double, double* %34
%156 = fadd double %154, %155
%157 = load double, double* %37
%158 = fadd double %156, %157
%159 = load double, double* %40
%160 = fadd double %158, %159
%161 = load double, double* %43
%162 = fadd double %160, %161
%163 = load double, double* %46
%164 = fadd double %162, %163
%165 = load double, double* %49
%166 = fadd double %164, %165
%167 = load double, double* %52
%168 = fadd double %166, %167
%169 = load double, double* %55
%170 = fadd double %168, %169
%171 = load double, double* %58
%172 = fadd double %170, %171
%173 = load double, double* %61
%174 = fadd double %172, %173
%175 = load double, double* %64
%176 = fadd double %174, %175
%177 = load double, double* %67
%178 = fadd double %176, %177
%179 = load double, double* %71
%180 = fadd double %178, %179
%181 = load double, double* %75
%182 = fadd double %180, %181
%183 = load double, double* %79
%184 = fadd double %182, %183
%185 = load double, double* %83
%186 = fadd double %184, %185
%187 = load double, double* %87
%188 = fadd double %186, %187
%189 = load double, double* %91
%190 = fadd double %188, %189
%191 = load double, double* %95
%192 = fadd double %190, %191
%193 = load double, double* %99
%194 = fadd double %192, %193
%195 = load double, double* %103
%196 = fadd double %194, %195
%197 = load double, double* %107
%198 = fadd double %196, %197
%199 = load double, double* %111
%200 = fadd double %198, %199
%201 = fadd double %200, -1.000000e+00
%202 = getelementptr inbounds double, double* %3, i64 12
store double %201, double* %202
%203 = load double, double* %0
%204 = fdiv double %203, 3.124400e+01
%205 = load double, double* %34
%206 = fdiv double %205, 3.612000e+01
%207 = load double, double* %37
%208 = fdiv double %207, 3.478400e+01
%209 = load double, double* %40
%210 = fdiv double %209, 9.270000e+01
%211 = load double, double* %43
%212 = fdiv double %211, 8.270000e+01
%213 = load double, double* %46
%214 = fdiv double %213, 0x4056E66666666666
%215 = load double, double* %49
%216 = fdiv double %215, 5.670800e+01
%217 = load double, double* %52
%218 = fdiv double %217, 8.270000e+01
%219 = load double, double* %55
%220 = fdiv double %219, 0x4054333333333333
%221 = load double, double* %58
%222 = fdiv double %221, 0x40502116872B020C
%223 = load double, double* %61
%224 = fdiv double %223, 4.940000e+01
%225 = load double, double* %64
%226 = fdiv double %225, 4.910000e+01
%227 = load double, double* %67
%228 = fdiv double %227, 4.409400e+01
%229 = fadd double %228, 0.000000e+00
%230 = load double, double* %71
%231 = fdiv double %230, 5.812000e+01
%232 = fadd double %229, %231
%233 = load double, double* %75
%234 = fdiv double %233, 5.812000e+01
%235 = fadd double %232, %234
%236 = load double, double* %79
%237 = fdiv double %236, 1.374000e+02
%238 = fadd double %235, %237
%239 = load double, double* %83
%240 = fdiv double %239, 1.209000e+02
%241 = fadd double %238, %240
%242 = load double, double* %87
%243 = fdiv double %242, 1.709000e+02
%244 = fadd double %241, %243
%245 = load double, double* %91
%246 = fdiv double %245, 0x404F4020C49BA5E3
%247 = fadd double %244, %246
%248 = load double, double* %95
%249 = fdiv double %248, 0x40553C28F5C28F5C
%250 = fadd double %247, %249
%251 = load double, double* %99
%252 = fdiv double %251, 1.334250e+02
%253 = fadd double %250, %252
%254 = load double, double* %103
%255 = fdiv double %254, 8.250700e+01
%256 = fadd double %253, %255
%257 = load double, double* %107
%258 = fdiv double %257, 4.607000e+01
%259 = fadd double %256, %258
%260 = load double, double* %111
%261 = fdiv double %260, 6.009700e+01
%262 = fadd double %259, %261
%263 = fadd double %204, 0.000000e+00
%264 = fadd double %263, %206
%265 = fadd double %264, %208
%266 = fadd double %265, %210
%267 = fadd double %266, %212
%268 = fadd double %267, %214
%269 = fadd double %268, %216
%270 = fadd double %269, %218
%271 = fadd double %270, %220
%272 = fadd double %271, %222
%273 = fadd double %272, %224
%274 = fadd double %273, %226
%275 = tail call double @llvm.fmuladd.f64(double %262, double 0x4061C730C88A47ED, double %274)
%276 = fadd double %275, -1.671000e+00
%277 = getelementptr inbounds double, double* %3, i64 13
store double %276, double* %277
%278 = load double, double* %0
%279 = load double, double* %67
%280 = fadd double %278, %279
%281 = fadd double %200, 1.000000e-01
%282 = fdiv double %280, %281
store double %282, double* %2
%283 = load double, double* %34
%284 = load double, double* %71
%285 = fadd double %283, %284
%286 = fadd double %200, 3.000000e-01
%287 = fdiv double %285, %286
%288 = getelementptr inbounds double, double* %2, i64 1
store double %287, double* %288
%289 = load double, double* %37
%290 = load double, double* %75
%291 = fadd double %289, %290
%292 = fadd double %200, 4.000000e-01
%293 = fdiv double %291, %292
%294 = getelementptr inbounds double, double* %2, i64 2
store double %293, double* %294
%295 = load double, double* %49
%296 = load double, double* %91
%297 = fadd double %295, %296
%298 = fdiv double %297, %286
%299 = getelementptr inbounds double, double* %2, i64 3
store double %298, double* %299
%300 = load double, double* %52
%301 = load double, double* %95
%302 = fadd double %300, %301
%303 = fadd double %200, 6.000000e-01
%304 = fdiv double %302, %303
%305 = getelementptr inbounds double, double* %2, i64 4
store double %304, double* %305
%306 = load double, double* %55
%307 = load double, double* %99
%308 = fadd double %306, %307
%309 = fdiv double %308, %286
%310 = getelementptr inbounds double, double* %2, i64 5
store double %309, double* %310
ret void
}