foobar(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, ba, ca, da, ea, fa,
       ga, ha, ia, ja, ka, la, ma, na, oa, pa) {
  int ab, bb, cb, db, eb, fb, gb, hb, ib, jb, kb, lb, mb, nb, ob, pb;
  int qb, rb, sb, tb, ub, vb, xb, yb;
  ab = bar();
  bb = bar();
  cb = bar();
  db = bar();
  eb = bar();
  fb = bar();
  gb = bar();
  hb = bar();
  ib = bar();
  jb = bar();
  kb = bar();
  lb = bar();
  mb = bar();
  nb = bar();
  ob = bar();
  pb = bar();
  qb = bar();
  rb = bar();
  sb = bar();
  tb = bar();
  ub = bar();
  vb = bar();
  xb = bar();
  yb = bar();
  boofar(a);
  boofar(b);
  boofar(c);
  boofar(d);
  boofar(e);
  boofar(f);
  boofar(g);
  boofar(h);
  boofar(i);
  boofar(j);
  boofar(k);
  boofar(l);
  boofar(m);
  boofar(n);
  boofar(o);
  boofar(p);
  boofar(aa);
  boofar(ba);
  boofar(ca);
  boofar(da);
  boofar(ea);
  boofar(fa);
  boofar(ga);
  boofar(ha);
  boofar(ia);
  boofar(ja);
  boofar(ka);
  boofar(la);
  boofar(ma);
  boofar(na);
  boofar(oa);
  boofar(pa);
  boofar(ab);
  boofar(bb);
  boofar(cb);
  boofar(db);
  boofar(eb);
  boofar(fb);
  boofar(gb);
  boofar(hb);
  boofar(ib);
  boofar(jb);
  boofar(kb);
  boofar(lb);
  boofar(mb);
  boofar(nb);
  boofar(ob);
  boofar(pb);
  boofar(a);
  boofar(b);
  boofar(c);
  boofar(d);
  boofar(e);
  boofar(f);
  boofar(g);
  boofar(h);
  boofar(i);
  boofar(j);
  boofar(k);
  boofar(l);
  boofar(m);
  boofar(n);
  boofar(o);
  boofar(p);
  boofar(aa);
  boofar(ba);
  boofar(ca);
  boofar(da);
  boofar(ea);
  boofar(fa);
  boofar(ga);
  boofar(ha);
  boofar(ia);
  boofar(ja);
  boofar(ka);
  boofar(la);
  boofar(ma);
  boofar(na);
  boofar(oa);
  boofar(pa);
  boofar(ab);
  boofar(bb);
  boofar(cb);
  boofar(db);
  boofar(eb);
  boofar(fb);
  boofar(gb);
  boofar(hb);
  boofar(ib);
  boofar(jb);
  boofar(kb);
  boofar(lb);
  boofar(mb);
  boofar(nb);
  boofar(ob);
  boofar(pb);
}


x86 assembly (clang, -O0):
<foobar>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    0xd8(%rbp),%eax
mov    0xd0(%rbp),%eax
mov    0xc8(%rbp),%eax
mov    0xc0(%rbp),%eax
mov    0xb8(%rbp),%eax
mov    0xb0(%rbp),%eax
mov    0xa8(%rbp),%eax
mov    0xa0(%rbp),%eax
mov    0x98(%rbp),%eax
mov    0x90(%rbp),%eax
mov    0x88(%rbp),%eax
mov    0x80(%rbp),%eax
mov    0x78(%rbp),%eax
mov    0x70(%rbp),%eax
mov    0x68(%rbp),%eax
mov    0x60(%rbp),%eax
mov    0x58(%rbp),%eax
mov    0x50(%rbp),%eax
mov    0x48(%rbp),%eax
mov    0x40(%rbp),%eax
mov    0x38(%rbp),%eax
mov    0x30(%rbp),%eax
mov    0x28(%rbp),%eax
mov    0x20(%rbp),%eax
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%eax
mov    %edi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    %r8d,-0x18(%rbp)
mov    %r9d,-0x1c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x20(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x24(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x28(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x2c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x30(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x34(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x38(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x3c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x40(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x44(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x48(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x4c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x50(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x54(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x58(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x5c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x60(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x64(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x68(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x6c(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x70(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x74(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x78(%rbp)
mov    $0x0,%al
call   1030 <bar@plt>
mov    %eax,-0x7c(%rbp)
mov    -0x8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0xc(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x10(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x14(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x18(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x1c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x10(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x18(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x20(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x28(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x30(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x38(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x40(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x48(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x50(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x58(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x60(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x68(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x70(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x78(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x80(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x88(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x90(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x98(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xa0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xa8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xb0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xb8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xc0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xc8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xd0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xd8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x20(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x24(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x28(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x2c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x30(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x34(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x38(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x3c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x40(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x44(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x48(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x4c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x50(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x54(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x58(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x5c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0xc(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x10(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x14(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x18(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x1c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x10(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x18(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x20(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x28(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x30(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x38(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x40(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x48(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x50(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x58(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x60(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x68(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x70(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x78(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x80(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x88(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x90(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0x98(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xa0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xa8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xb0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xb8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xc0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xc8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xd0(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    0xd8(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x20(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x24(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x28(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x2c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x30(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x34(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x38(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x3c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x40(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x44(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x48(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x4c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x50(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x54(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x58(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x5c(%rbp),%edi
mov    $0x0,%al
call   1040 <boofar@plt>
mov    -0x4(%rbp),%eax
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<foobar>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xc8,%rsp
mov    %r9d,0x18(%rsp)
mov    %r8d,0x10(%rsp)
mov    %ecx,0x8(%rsp)
mov    %edx,%r12d
mov    %edx,0xa8(%rsp)
mov    %esi,%r15d
mov    %esi,0xa0(%rsp)
mov    %edi,%ebp
mov    %edi,0x98(%rsp)
mov    0x1c8(%rsp),%eax
mov    %eax,0x94(%rsp)
mov    0x1c0(%rsp),%eax
mov    %eax,0x70(%rsp)
mov    0x1b8(%rsp),%eax
mov    %eax,0x6c(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x68(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x64(%rsp)
mov    0x1a0(%rsp),%eax
mov    %eax,0x58(%rsp)
mov    0x198(%rsp),%eax
mov    %eax,0x54(%rsp)
mov    0x190(%rsp),%eax
mov    %eax,0x50(%rsp)
mov    0x188(%rsp),%eax
mov    %eax,0x4c(%rsp)
mov    0x180(%rsp),%eax
mov    %eax,0x48(%rsp)
mov    0x178(%rsp),%eax
mov    %eax,0x44(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x3c(%rsp)
mov    0x160(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    0x158(%rsp),%eax
mov    %eax,0x34(%rsp)
mov    0x150(%rsp),%eax
mov    %eax,0x30(%rsp)
mov    0x148(%rsp),%eax
mov    %eax,0x2c(%rsp)
mov    0x140(%rsp),%eax
mov    %eax,0x28(%rsp)
mov    0x138(%rsp),%eax
mov    %eax,0x24(%rsp)
mov    0x130(%rsp),%eax
mov    %eax,0x20(%rsp)
mov    0x128(%rsp),%eax
mov    %eax,0x1c(%rsp)
mov    0x120(%rsp),%eax
mov    %eax,0x14(%rsp)
mov    0x118(%rsp),%eax
mov    %eax,0xc(%rsp)
mov    0x110(%rsp),%r14d
mov    %r14d,0xac(%rsp)
mov    0x108(%rsp),%r13d
mov    %r13d,0xa4(%rsp)
mov    0x100(%rsp),%ebx
mov    %ebx,0x9c(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xc4(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xc0(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xbc(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xb8(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x60(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xb4(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x5c(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0xb0(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x90(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x8c(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x88(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x84(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x80(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x7c(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x78(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
mov    %eax,0x74(%rsp)
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
xor    %eax,%eax
call   1030 <bar@plt>
mov    %ebp,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r15d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r12d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x8(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x10(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x18(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %ebx,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r13d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r14d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xc(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x14(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x1c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x20(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x24(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x28(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x2c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x30(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x34(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x38(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x3c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x40(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x44(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x48(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x4c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x50(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x54(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x58(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x64(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x68(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x6c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x70(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x94(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xc4(%rsp),%r15d
mov    %r15d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xc0(%rsp),%ebx
mov    %ebx,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xbc(%rsp),%ebp
mov    %ebp,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xb8(%rsp),%r14d
mov    %r14d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x60(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xb4(%rsp),%r12d
mov    %r12d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x5c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xb0(%rsp),%r13d
mov    %r13d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x90(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x8c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x88(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x84(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x80(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x7c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x78(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x74(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x98(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xa0(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xa8(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x8(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x10(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x18(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x9c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xa4(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xac(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0xc(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x14(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x1c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x20(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x24(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x28(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x2c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x30(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x34(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x38(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x3c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x40(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x44(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x48(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x4c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x50(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x54(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x58(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x64(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x68(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x6c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x70(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x94(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r15d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %ebx,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %ebp,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r14d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x60(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r12d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x5c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    %r13d,%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x90(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x8c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x88(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x84(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x80(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x7c(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x78(%rsp),%edi
xor    %eax,%eax
call   1040 <boofar@plt>
mov    0x74(%rsp),%edi
xor    %eax,%eax
add    $0xc8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1040 <boofar@plt>

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

LLVM IR (-O2):
define i32 @foobar(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, i32 %9, i32 %10, i32 %11, i32 %12, i32 %13, i32 %14, i32 %15, i32 %16, i32 %17, i32 %18, i32 %19, i32 %20, i32 %21, i32 %22, i32 %23, i32 %24, i32 %25, i32 %26, i32 %27, i32 %28, i32 %29, i32 %30, i32 %31) {
%33 = tail call i32 (...) @bar()
%34 = tail call i32 (...) @bar()
%35 = tail call i32 (...) @bar()
%36 = tail call i32 (...) @bar()
%37 = tail call i32 (...) @bar()
%38 = tail call i32 (...) @bar()
%39 = tail call i32 (...) @bar()
%40 = tail call i32 (...) @bar()
%41 = tail call i32 (...) @bar()
%42 = tail call i32 (...) @bar()
%43 = tail call i32 (...) @bar()
%44 = tail call i32 (...) @bar()
%45 = tail call i32 (...) @bar()
%46 = tail call i32 (...) @bar()
%47 = tail call i32 (...) @bar()
%48 = tail call i32 (...) @bar()
%49 = tail call i32 (...) @bar()
%50 = tail call i32 (...) @bar()
%51 = tail call i32 (...) @bar()
%52 = tail call i32 (...) @bar()
%53 = tail call i32 (...) @bar()
%54 = tail call i32 (...) @bar()
%55 = tail call i32 (...) @bar()
%56 = tail call i32 (...) @bar()
%57 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %0)
%58 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %1)
%59 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %2)
%60 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %3)
%61 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %4)
%62 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %5)
%63 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %6)
%64 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %7)
%65 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %8)
%66 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %9)
%67 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %10)
%68 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %11)
%69 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %12)
%70 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %13)
%71 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %14)
%72 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %15)
%73 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %16)
%74 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %17)
%75 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %18)
%76 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %19)
%77 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %20)
%78 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %21)
%79 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %22)
%80 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %23)
%81 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %24)
%82 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %25)
%83 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %26)
%84 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %27)
%85 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %28)
%86 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %29)
%87 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %30)
%88 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %31)
%89 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %33)
%90 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %34)
%91 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %35)
%92 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %36)
%93 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %37)
%94 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %38)
%95 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %39)
%96 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %40)
%97 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %41)
%98 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %42)
%99 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %43)
%100 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %44)
%101 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %45)
%102 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %46)
%103 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %47)
%104 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %48)
%105 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %0)
%106 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %1)
%107 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %2)
%108 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %3)
%109 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %4)
%110 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %5)
%111 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %6)
%112 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %7)
%113 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %8)
%114 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %9)
%115 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %10)
%116 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %11)
%117 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %12)
%118 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %13)
%119 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %14)
%120 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %15)
%121 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %16)
%122 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %17)
%123 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %18)
%124 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %19)
%125 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %20)
%126 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %21)
%127 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %22)
%128 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %23)
%129 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %24)
%130 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %25)
%131 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %26)
%132 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %27)
%133 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %28)
%134 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %29)
%135 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %30)
%136 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %31)
%137 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %33)
%138 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %34)
%139 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %35)
%140 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %36)
%141 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %37)
%142 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %38)
%143 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %39)
%144 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %40)
%145 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %41)
%146 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %42)
%147 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %43)
%148 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %44)
%149 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %45)
%150 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %46)
%151 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %47)
%152 = tail call i32 (i32, ...) bitcast (i32 (...)* @boofar to i32 (i32, ...)*)(i32 %48)
ret i32 undef
}