double seven_f2(int a, int b, int c, int d, int e, int f, int g) {
  double ab, ac, ad, ae, af, ag, bc, bd, be, bf, bg, cd, ce, cf, cg;
  double de, df, dg, ed, ef, eg, fd, fe, fg, gd, ge, gf;
  ab = probability(a, b);
  ac = probability(a, c);
  ad = probability(a, d);
  ae = probability(a, e);
  af = probability(a, f);
  ag = probability(a, g);
  bc = probability(b, c);
  bd = probability(b, d);
  be = probability(b, e);
  bf = probability(b, f);
  bg = probability(b, g);
  cd = probability(c, d);
  ce = probability(c, e);
  cf = probability(c, f);
  cg = probability(c, g);
  de = probability(d, e);
  df = probability(d, f);
  dg = probability(d, g);
  ef = probability(e, f);
  eg = probability(e, g);
  fg = probability(f, g);
  ed = 1.0 - de;
  fd = 1.0 - df;
  gd = 1.0 - dg;
  fe = 1.0 - ef;
  ge = 1.0 - eg;
  gf = 1.0 - fg;
  return ab * ((ac + bc) * (ad * (de * df * (fg + eg) + df * dg * (ge + fe) +
                                  de * dg * (gf + ef)) +
                            ae * (ed * ef * (fg + dg) + ef * eg * (gd + fd) +
                                  ed * eg * (gf + df)) +
                            af * (fe * fd * (dg + eg) + fd * fg * (ge + de) +
                                  fe * fg * (gd + ed)) +
                            ag * (ge * gf * (fd + ed) + gf * gd * (de + fe) +
                                  ge * gd * (df + ef))) +
               bc * ((bd + cd) * (ae * af * (fg + eg) + af * ag * (ge + fe) +
                                  ae * ag * (gf + ef)) +
                     (be + ce) * (ad * af * (fg + dg) + af * ag * (ad + ad) +
                                  ad * ag * (gf + df)) +
                     (bf + cf) * (ae * ad * (dg + eg) + ad * ag * (ge + de) +
                                  ae * ag * (gd + ed)) +
                     (bg + cg) * (ae * af * (fd + ed) + af * ad * (de + fe) +
                                  ae * ad * (df + ef))));
}


x86 assembly (clang, -O0):
<seven_f2>:
push   %rbp
mov    %rsp,%rbp
sub    $0xf0,%rsp
mov    0x10(%rbp),%eax
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    %ecx,-0x10(%rbp)
mov    %r8d,-0x14(%rbp)
mov    %r9d,-0x18(%rbp)
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x4(%rbp),%edi
mov    -0xc(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x4(%rbp),%edi
mov    -0x14(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x4(%rbp),%edi
mov    -0x18(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x4(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%edi
mov    -0xc(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%edi
mov    -0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x8(%rbp),%edi
mov    -0x14(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%edi
mov    -0x18(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x8(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0xc(%rbp),%edi
mov    -0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0xc(%rbp),%edi
mov    -0x14(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0xc(%rbp),%edi
mov    -0x18(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0xc(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%edi
mov    -0x14(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x10(%rbp),%edi
mov    -0x18(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x14(%rbp),%edi
mov    -0x18(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
mov    -0x14(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    -0x18(%rbp),%edi
mov    0x10(%rbp),%esi
mov    $0x0,%al
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0xce0(%rip),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0xcc8(%rip),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0xcb0(%rip),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0xc98(%rip),%xmm0
subsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0xc80(%rip),%xmm0
subsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0xc68(%rip),%xmm0
subsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm1
addsd  -0x50(%rbp),%xmm1
movsd  -0x30(%rbp),%xmm3
movsd  -0x98(%rbp),%xmm2
ff
mulsd  -0xa0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm5
ff
addsd  -0xc0(%rbp),%xmm5
ff
movsd  -0xa0(%rbp),%xmm4
ff
mulsd  -0xa8(%rbp),%xmm4
ff
movsd  -0xe8(%rbp),%xmm6
ff
addsd  -0xd0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm4
mulsd  %xmm5,%xmm2
addsd  %xmm4,%xmm2
movsd  -0x98(%rbp),%xmm4
ff
mulsd  -0xa8(%rbp),%xmm4
ff
movsd  -0xf0(%rbp),%xmm5
ff
addsd  -0xb8(%rbp),%xmm5
ff
mulsd  %xmm5,%xmm4
addsd  %xmm2,%xmm4
movsd  -0x38(%rbp),%xmm2
movsd  -0xb0(%rbp),%xmm6
ff
mulsd  -0xb8(%rbp),%xmm6
ff
movsd  -0xd8(%rbp),%xmm7
ff
addsd  -0xa8(%rbp),%xmm7
ff
movsd  -0xb8(%rbp),%xmm5
ff
mulsd  -0xc0(%rbp),%xmm5
ff
movsd  -0xe0(%rbp),%xmm8
ff ff
addsd  -0xc8(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm5
mulsd  %xmm7,%xmm6
addsd  %xmm5,%xmm6
movsd  -0xb0(%rbp),%xmm5
ff
mulsd  -0xc0(%rbp),%xmm5
ff
movsd  -0xf0(%rbp),%xmm7
ff
addsd  -0xa0(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm2
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x40(%rbp),%xmm2
movsd  -0xd0(%rbp),%xmm5
ff
mulsd  -0xc8(%rbp),%xmm5
ff
movsd  -0xa8(%rbp),%xmm6
ff
addsd  -0xc0(%rbp),%xmm6
ff
movsd  -0xc8(%rbp),%xmm4
ff
mulsd  -0xd8(%rbp),%xmm4
ff
movsd  -0xe8(%rbp),%xmm7
ff
addsd  -0x98(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm4
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0xd0(%rbp),%xmm4
ff
mulsd  -0xd8(%rbp),%xmm4
ff
movsd  -0xe0(%rbp),%xmm6
ff
addsd  -0xb0(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x48(%rbp),%xmm3
movsd  -0xe8(%rbp),%xmm5
ff
mulsd  -0xf0(%rbp),%xmm5
ff
movsd  -0xc8(%rbp),%xmm6
ff
addsd  -0xb0(%rbp),%xmm6
ff
movsd  -0xf0(%rbp),%xmm4
ff
mulsd  -0xe0(%rbp),%xmm4
ff
movsd  -0x98(%rbp),%xmm7
ff
addsd  -0xd0(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm4
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0xe8(%rbp),%xmm4
ff
mulsd  -0xe0(%rbp),%xmm4
ff
movsd  -0xa0(%rbp),%xmm6
ff
addsd  -0xb8(%rbp),%xmm6
ff
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x50(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm4
addsd  -0x78(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
mulsd  -0x40(%rbp),%xmm5
movsd  -0xd8(%rbp),%xmm7
ff
addsd  -0xc0(%rbp),%xmm7
ff
movsd  -0x40(%rbp),%xmm6
mulsd  -0x48(%rbp),%xmm6
movsd  -0xe8(%rbp),%xmm8
ff ff
addsd  -0xd0(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
movsd  -0x38(%rbp),%xmm6
mulsd  -0x48(%rbp),%xmm6
movsd  -0xf0(%rbp),%xmm7
ff
addsd  -0xb8(%rbp),%xmm7
ff
mulsd  %xmm7,%xmm6
addsd  %xmm5,%xmm6
movsd  -0x60(%rbp),%xmm5
addsd  -0x80(%rbp),%xmm5
movsd  -0x30(%rbp),%xmm8
mulsd  -0x40(%rbp),%xmm8
movsd  -0xd8(%rbp),%xmm9
ff ff
addsd  -0xa8(%rbp),%xmm9
ff ff
movsd  -0x40(%rbp),%xmm7
mulsd  -0x48(%rbp),%xmm7
movsd  -0x30(%rbp),%xmm10
addsd  -0x30(%rbp),%xmm10
mulsd  %xmm10,%xmm7
mulsd  %xmm9,%xmm8
addsd  %xmm7,%xmm8
movsd  -0x30(%rbp),%xmm7
mulsd  -0x48(%rbp),%xmm7
movsd  -0xf0(%rbp),%xmm9
ff ff
addsd  -0xa0(%rbp),%xmm9
ff ff
mulsd  %xmm9,%xmm7
addsd  %xmm8,%xmm7
mulsd  %xmm7,%xmm5
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movsd  -0x68(%rbp),%xmm5
addsd  -0x88(%rbp),%xmm5
ff
movsd  -0x38(%rbp),%xmm7
mulsd  -0x30(%rbp),%xmm7
movsd  -0xa8(%rbp),%xmm8
ff ff
addsd  -0xc0(%rbp),%xmm8
ff ff
movsd  -0x30(%rbp),%xmm6
mulsd  -0x48(%rbp),%xmm6
movsd  -0xe8(%rbp),%xmm9
ff ff
addsd  -0x98(%rbp),%xmm9
ff ff
mulsd  %xmm9,%xmm6
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x38(%rbp),%xmm6
mulsd  -0x48(%rbp),%xmm6
movsd  -0xe0(%rbp),%xmm8
ff ff
addsd  -0xb0(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm5
addsd  %xmm4,%xmm5
movsd  -0x70(%rbp),%xmm4
addsd  -0x90(%rbp),%xmm4
ff
movsd  -0x38(%rbp),%xmm7
mulsd  -0x40(%rbp),%xmm7
movsd  -0xc8(%rbp),%xmm8
ff ff
addsd  -0xb0(%rbp),%xmm8
ff ff
movsd  -0x40(%rbp),%xmm6
mulsd  -0x30(%rbp),%xmm6
movsd  -0x98(%rbp),%xmm9
ff ff
addsd  -0xd0(%rbp),%xmm9
ff ff
mulsd  %xmm9,%xmm6
mulsd  %xmm8,%xmm7
addsd  %xmm6,%xmm7
movsd  -0x38(%rbp),%xmm6
mulsd  -0x30(%rbp),%xmm6
movsd  -0xa0(%rbp),%xmm8
ff ff
addsd  -0xb8(%rbp),%xmm8
ff ff
mulsd  %xmm8,%xmm6
addsd  %xmm7,%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
add    $0xf0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<seven_f2>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    %r9d,%r15d
mov    %r8d,%r12d
mov    %ecx,%r13d
mov    %edx,%ebp
mov    %esi,%ebx
mov    %edi,%r14d
xor    %eax,%eax
call   1030 <probability@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x90(%rsp)
mov    %r14d,%edi
mov    %ebp,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x88(%rsp)
mov    %r14d,%edi
mov    %r13d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x40(%rsp)
mov    %r14d,%edi
mov    %r12d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x38(%rsp)
mov    %r14d,%edi
mov    %r15d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x78(%rsp)
mov    %r14d,%edi
mov    0xd0(%rsp),%r14d
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
mov    %ebx,%edi
mov    %ebp,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x48(%rsp)
mov    %ebx,%edi
mov    %r13d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
mov    %ebx,%edi
mov    %r12d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x18(%rsp)
mov    %ebx,%edi
mov    %r15d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x20(%rsp)
mov    %ebx,%edi
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
mov    %ebp,%edi
mov    %r13d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
mov    %ebp,%edi
mov    %r12d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x18(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
mov    %ebp,%edi
mov    %r15d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
mov    %ebp,%edi
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x70(%rsp)
mov    %r13d,%edi
mov    %r12d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
mov    %r13d,%edi
mov    %r15d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
mov    %r13d,%edi
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x20(%rsp)
mov    %r12d,%edi
mov    %r15d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x30(%rsp)
mov    %r12d,%edi
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x28(%rsp)
mov    %r15d,%edi
mov    %r14d,%esi
xor    %eax,%eax
call   1030 <probability@plt>
movsd  0xc9d(%rip),%xmm7
movapd %xmm7,%xmm0
movsd  0x30(%rsp),%xmm10
subsd  %xmm10,%xmm0
movapd %xmm0,%xmm4
movsd  %xmm0,0x18(%rsp)
movapd %xmm7,%xmm8
movsd  0x28(%rsp),%xmm13
subsd  %xmm13,%xmm8
movsd  0x10(%rsp),%xmm0
movapd %xmm0,%xmm1
movsd  0x8(%rsp),%xmm9
mulsd  %xmm9,%xmm1
cvtsi2sd %eax,%xmm6
addsd  %xmm6,%xmm13
movapd %xmm9,%xmm2
movsd  0x20(%rsp),%xmm5
mulsd  %xmm5,%xmm2
movapd %xmm4,%xmm3
addsd  %xmm8,%xmm3
movsd  %xmm3,0x50(%rsp)
mulsd  %xmm3,%xmm2
mulsd  %xmm13,%xmm1
addsd  %xmm2,%xmm1
movapd %xmm7,%xmm12
movapd %xmm7,%xmm11
movapd %xmm7,%xmm14
subsd  %xmm6,%xmm7
movapd %xmm0,%xmm4
movapd %xmm0,%xmm2
mulsd  %xmm5,%xmm4
movapd %xmm7,%xmm3
addsd  %xmm10,%xmm3
mulsd  %xmm3,%xmm4
addsd  %xmm1,%xmm4
subsd  %xmm9,%xmm11
subsd  %xmm5,%xmm14
movapd %xmm5,%xmm15
movapd %xmm10,%xmm0
movapd %xmm10,%xmm1
movsd  0x28(%rsp),%xmm10
mulsd  %xmm10,%xmm1
movapd %xmm11,%xmm5
addsd  %xmm14,%xmm5
mulsd  %xmm1,%xmm5
subsd  %xmm2,%xmm12
movapd %xmm12,%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm15,%xmm0
addsd  %xmm6,%xmm15
mulsd  %xmm15,%xmm2
addsd  %xmm5,%xmm2
movapd %xmm12,%xmm1
mulsd  %xmm10,%xmm1
movapd %xmm7,%xmm5
addsd  %xmm9,%xmm5
mulsd  %xmm5,%xmm1
addsd  %xmm2,%xmm1
mulsd  0x38(%rsp),%xmm1
mulsd  0x40(%rsp),%xmm4
addsd  %xmm1,%xmm4
addsd  %xmm10,%xmm0
movsd  %xmm0,0x20(%rsp)
movapd %xmm11,%xmm1
movsd  0x18(%rsp),%xmm9
mulsd  %xmm9,%xmm1
movapd %xmm11,%xmm2
mulsd  %xmm6,%xmm2
movapd %xmm8,%xmm10
addsd  0x10(%rsp),%xmm10
mulsd  %xmm10,%xmm2
mulsd  %xmm0,%xmm1
addsd  %xmm2,%xmm1
addsd  %xmm12,%xmm11
movapd %xmm9,%xmm0
mulsd  %xmm9,%xmm6
addsd  %xmm14,%xmm12
mulsd  %xmm12,%xmm6
addsd  %xmm1,%xmm6
movsd  0x78(%rsp),%xmm9
mulsd  %xmm9,%xmm6
addsd  %xmm4,%xmm6
addsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movapd %xmm8,%xmm1
mulsd  %xmm7,%xmm1
mulsd  %xmm14,%xmm7
mulsd  %xmm0,%xmm7
mulsd  %xmm11,%xmm1
addsd  %xmm7,%xmm1
mulsd  %xmm14,%xmm8
movsd  0x8(%rsp),%xmm0
addsd  0x30(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
mulsd  %xmm0,%xmm8
addsd  %xmm1,%xmm8
movsd  0x80(%rsp),%xmm0
mulsd  %xmm0,%xmm8
addsd  %xmm6,%xmm8
movsd  0x88(%rsp),%xmm1
addsd  0x48(%rsp),%xmm1
mulsd  %xmm1,%xmm8
movsd  0x38(%rsp),%xmm1
movapd %xmm1,%xmm2
movapd %xmm9,%xmm14
mulsd  %xmm9,%xmm2
movsd  0x40(%rsp),%xmm4
movapd %xmm4,%xmm7
mulsd  %xmm9,%xmm7
mulsd  %xmm0,%xmm14
movsd  0x50(%rsp),%xmm9
mulsd  %xmm14,%xmm9
mulsd  %xmm2,%xmm13
addsd  %xmm9,%xmm13
movapd %xmm1,%xmm6
movapd %xmm1,%xmm9
mulsd  %xmm0,%xmm6
mulsd  %xmm6,%xmm3
addsd  %xmm13,%xmm3
mulsd  0x58(%rsp),%xmm3
movapd %xmm4,%xmm1
addsd  %xmm4,%xmm1
mulsd  %xmm14,%xmm1
mulsd  %xmm7,%xmm15
addsd  %xmm1,%xmm15
mulsd  %xmm4,%xmm0
mulsd  %xmm0,%xmm5
addsd  %xmm15,%xmm5
mulsd  0x60(%rsp),%xmm5
addsd  %xmm3,%xmm5
mulsd  %xmm9,%xmm4
mulsd  %xmm10,%xmm0
movsd  0x20(%rsp),%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
mulsd  %xmm12,%xmm6
addsd  %xmm3,%xmm6
mulsd  0x68(%rsp),%xmm6
addsd  %xmm5,%xmm6
mulsd  0x18(%rsp),%xmm7
mulsd  %xmm11,%xmm2
addsd  %xmm7,%xmm2
mulsd  0x8(%rsp),%xmm4
addsd  %xmm2,%xmm4
mulsd  0x70(%rsp),%xmm4
addsd  %xmm6,%xmm4
mulsd  0x48(%rsp),%xmm4
addsd  %xmm8,%xmm4
mulsd  0x90(%rsp),%xmm4
movapd %xmm4,%xmm0
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
define double @seven_f2(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6) {
%8 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %1)
%9 = sitofp i32 %8 to double
%10 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %2)
%11 = sitofp i32 %10 to double
%12 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %3)
%13 = sitofp i32 %12 to double
%14 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %4)
%15 = sitofp i32 %14 to double
%16 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %5)
%17 = sitofp i32 %16 to double
%18 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %0, i32 %6)
%19 = sitofp i32 %18 to double
%20 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %1, i32 %2)
%21 = sitofp i32 %20 to double
%22 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %1, i32 %3)
%23 = sitofp i32 %22 to double
%24 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %1, i32 %4)
%25 = sitofp i32 %24 to double
%26 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %1, i32 %5)
%27 = sitofp i32 %26 to double
%28 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %1, i32 %6)
%29 = sitofp i32 %28 to double
%30 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %2, i32 %3)
%31 = sitofp i32 %30 to double
%32 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %2, i32 %4)
%33 = sitofp i32 %32 to double
%34 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %2, i32 %5)
%35 = sitofp i32 %34 to double
%36 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %2, i32 %6)
%37 = sitofp i32 %36 to double
%38 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %3, i32 %4)
%39 = sitofp i32 %38 to double
%40 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %3, i32 %5)
%41 = sitofp i32 %40 to double
%42 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %3, i32 %6)
%43 = sitofp i32 %42 to double
%44 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %4, i32 %5)
%45 = sitofp i32 %44 to double
%46 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %4, i32 %6)
%47 = sitofp i32 %46 to double
%48 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @probability to i32 (i32, i32, ...)*)(i32 %5, i32 %6)
%49 = sitofp i32 %48 to double
%50 = fsub double 1.000000e+00, %39
%51 = fsub double 1.000000e+00, %41
%52 = fsub double 1.000000e+00, %43
%53 = fsub double 1.000000e+00, %45
%54 = fsub double 1.000000e+00, %47
%55 = fsub double 1.000000e+00, %49
%56 = fadd double %11, %21
%57 = fmul double %39, %41
%58 = fadd double %47, %49
%59 = fmul double %41, %43
%60 = fadd double %53, %54
%61 = fmul double %59, %60
%62 = tail call double @llvm.fmuladd.f64(double %57, double %58, double %61)
%63 = fmul double %39, %43
%64 = fadd double %55, %45
%65 = tail call double @llvm.fmuladd.f64(double %63, double %64, double %62)
%66 = fmul double %50, %45
%67 = fadd double %43, %49
%68 = fmul double %45, %47
%69 = fadd double %51, %52
%70 = fmul double %69, %68
%71 = tail call double @llvm.fmuladd.f64(double %66, double %67, double %70)
%72 = fmul double %50, %47
%73 = fadd double %55, %41
%74 = tail call double @llvm.fmuladd.f64(double %72, double %73, double %71)
%75 = fmul double %74, %15
%76 = tail call double @llvm.fmuladd.f64(double %13, double %65, double %75)
%77 = fmul double %51, %53
%78 = fadd double %43, %47
%79 = fmul double %51, %49
%80 = fadd double %54, %39
%81 = fmul double %79, %80
%82 = tail call double @llvm.fmuladd.f64(double %77, double %78, double %81)
%83 = fmul double %53, %49
%84 = fadd double %50, %52
%85 = tail call double @llvm.fmuladd.f64(double %83, double %84, double %82)
%86 = tail call double @llvm.fmuladd.f64(double %17, double %85, double %76)
%87 = fmul double %54, %55
%88 = fadd double %50, %51
%89 = fmul double %52, %55
%90 = fadd double %53, %39
%91 = fmul double %90, %89
%92 = tail call double @llvm.fmuladd.f64(double %87, double %88, double %91)
%93 = fmul double %52, %54
%94 = fadd double %41, %45
%95 = tail call double @llvm.fmuladd.f64(double %93, double %94, double %92)
%96 = tail call double @llvm.fmuladd.f64(double %19, double %95, double %86)
%97 = fadd double %23, %31
%98 = fmul double %15, %17
%99 = fmul double %17, %19
%100 = fmul double %99, %60
%101 = tail call double @llvm.fmuladd.f64(double %98, double %58, double %100)
%102 = fmul double %15, %19
%103 = tail call double @llvm.fmuladd.f64(double %102, double %64, double %101)
%104 = fadd double %25, %33
%105 = fmul double %13, %17
%106 = fadd double %13, %13
%107 = fmul double %106, %99
%108 = tail call double @llvm.fmuladd.f64(double %105, double %67, double %107)
%109 = fmul double %13, %19
%110 = tail call double @llvm.fmuladd.f64(double %109, double %73, double %108)
%111 = fmul double %104, %110
%112 = tail call double @llvm.fmuladd.f64(double %97, double %103, double %111)
%113 = fadd double %27, %35
%114 = fmul double %13, %15
%115 = fmul double %109, %80
%116 = tail call double @llvm.fmuladd.f64(double %114, double %78, double %115)
%117 = tail call double @llvm.fmuladd.f64(double %102, double %84, double %116)
%118 = tail call double @llvm.fmuladd.f64(double %113, double %117, double %112)
%119 = fadd double %29, %37
%120 = fmul double %105, %90
%121 = tail call double @llvm.fmuladd.f64(double %98, double %88, double %120)
%122 = tail call double @llvm.fmuladd.f64(double %114, double %94, double %121)
%123 = tail call double @llvm.fmuladd.f64(double %119, double %122, double %118)
%124 = fmul double %123, %21
%125 = tail call double @llvm.fmuladd.f64(double %56, double %96, double %124)
%126 = fmul double %125, %9
ret double %126
}