void binlensd5(double x1, double x2, double d, double m1, double *y111111,
               double *y111112, double *y111122, double *y111222,
               double *y112222, double *y122222, double *y222222) {
  double m2;
  double del11, del12, x2sq, n1, n2, n1sq, n2sq;
  double n1cb, n2cb, n1q4, n2q4, n1q5, n2q5, n1sx, n2sx;
  double sum, sum11, sum12, sum22, sum1111, sum1112, sum1122, sum1222, sum2222;
  double sum111111, sum111112, sum111122, sum111222, sum112222, sum122222,
      sum222222;
  double del11sq, del12sq;
  double del11cb, del11q4, del11q5, del11sx, del12cb, del12q4, del12q5, del12sx;
  double x2cb, x2q4, x2q5, x2sx;
  m2 = 1.0 - m1;
  if (m2 < 0.0) {
    m2 = 0.0;
    m1 = 1.0;
  }
  del11 = x1 + m2 * d;
  del12 = x1 - m1 * d;
  del11sq = del11 * del11;
  del12sq = del12 * del12;
  del11cb = del11sq * del11;
  del12cb = del12sq * del12;
  del11q4 = del11sq * del11sq;
  del12q4 = del12sq * del12sq;
  del11q5 = del11q4 * del11;
  del12q5 = del12q4 * del12;
  del11sx = del11cb * del11cb;
  del12sx = del12cb * del12cb;
  x2sq = x2 * x2;
  x2cb = x2sq * x2;
  x2q4 = x2sq * x2sq;
  x2q5 = x2q4 * x2;
  x2sx = x2cb * x2cb;
  n1 = del11 * del11 + x2sq;
  n2 = del12 * del12 + x2sq;
  n1sq = n1 * n1;
  n2sq = n2 * n2;
  n1cb = n1sq * n1;
  n2cb = n2sq * n2;
  n1q4 = n1sq * n1sq;
  n2q4 = n2sq * n2sq;
  n1q5 = n1q4 * n1;
  n2q5 = n2q4 * n2;
  n1sx = n1cb * n1cb;
  n2sx = n2cb * n2cb;
  sum = m1 / n1cb + m2 / n2cb;
  sum11 = m1 / n1q4 * del11sq + m2 / n2q4 * del12sq;
  sum12 = m1 / n1q4 * del11 * x2 + m2 / n2q4 * del12 * x2;
  sum22 = m1 / n1q4 * x2sq + m2 / n2q4 * x2sq;
  sum1111 = m1 / n1q5 * del11q4 + m2 / n2q5 * del12q4;
  sum1112 = m1 / n1q5 * del11cb * x2 + m2 / n2q5 * del12cb * x2;
  sum1122 = m1 / n1q5 * del11sq * x2sq + m2 / n2q5 * del12sq * x2sq;
  sum1222 = m1 / n1q5 * del11 * x2cb + m2 / n2q5 * del12 * x2cb;
  sum2222 = m1 / n1q5 * x2q4 + m2 / n2q5 * x2q4;
  sum111111 = m1 / n1sx * del11sx + m2 / n2sx * del12sx;
  sum111112 = m1 / n1sx * del11q5 * x2 + m2 / n2sx * del12q5 * x2;
  sum111122 = m1 / n1sx * del11q4 * x2sq + m2 / n2sx * del12q4 * x2sq;
  sum111222 = m1 / n1sx * del11cb * x2cb + m2 / n2sx * del12cb * x2cb;
  sum112222 = m1 / n1sx * del11sq * x2q4 + m2 / n2sx * del12sq * x2q4;
  sum122222 = m1 / n1sx * del11 * x2q5 + m2 / n2sx * del12 * x2q5;
  sum222222 = m1 / n1sx * x2sx + m2 / n2sx * x2sx;
  *y111111 =
      -120.0 * sum + 2160.0 * sum11 - 5760.0 * sum1111 + 3840.0 * sum111111;
  *y111112 = 720.0 * sum12 - 3840.0 * sum1112 + 3840.0 * sum111112;
  *y111122 = -24.0 * sum + 288.0 * sum11 + 144.0 * sum22 - 384.0 * sum1111 -
             2304.0 * sum1122 + 3840.0 * sum111122;
  *y111222 =
      432.0 * sum12 - 1152.0 * sum1112 - 1152.0 * sum1222 + 3840.0 * sum111222;
  *y112222 = -24.0 * sum + 288.0 * sum22 + 144.0 * sum11 - 384.0 * sum2222 -
             2304.0 * sum1122 + 3840.0 * sum112222;
  *y122222 = 720.0 * sum12 - 3840.0 * sum1222 + 3840.0 * sum122222;
  *y222222 =
      -120.0 * sum + 2160.0 * sum22 - 5760.0 * sum2222 + 3840.0 * sum222222;
}


x86 assembly (clang, -O0):
<binlensd5>:
push   %rbp
mov    %rsp,%rbp
sub    $0x140,%rsp
mov    0x10(%rbp),%rax
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
mov    %rdi,-0x28(%rbp)
mov    %rsi,-0x30(%rbp)
mov    %rdx,-0x38(%rbp)
mov    %rcx,-0x40(%rbp)
mov    %r8,-0x48(%rbp)
mov    %r9,-0x50(%rbp)
movsd  0xebd(%rip),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
xorps  %xmm0,%xmm0
ucomisd -0x58(%rbp),%xmm0
jbe    1170 <binlensd5+0x70>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0xe95(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x8(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x8(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x60(%rbp),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
mulsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x170(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x168(%rbp),%xmm0
ff
mulsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x188(%rbp),%xmm0
ff
mulsd  -0x188(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x70(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x1b0(%rbp),%xmm0
ff
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x1a8(%rbp),%xmm0
ff
mulsd  -0x1a8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
movsd  -0x60(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm2
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x78(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
mulsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0x98(%rbp),%xmm0
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xa0(%rbp),%xmm1
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xb0(%rbp),%xmm1
ff
mulsd  -0x160(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xb0(%rbp),%xmm1
ff
mulsd  -0x68(%rbp),%xmm1
mulsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xb0(%rbp),%xmm1
ff
mulsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x170(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x190(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
mulsd  -0x168(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x188(%rbp),%xmm1
ff
mulsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x160(%rbp),%xmm1
ff
mulsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  -0x1a8(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xc0(%rbp),%xmm1
ff
mulsd  -0x68(%rbp),%xmm1
mulsd  -0x1a8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x1b0(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xc0(%rbp),%xmm1
mulsd  -0x1b0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x180(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x1a0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x178(%rbp),%xmm0
ff
movsd  -0x10(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x198(%rbp),%xmm1
ff
mulsd  -0x10(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x170(%rbp),%xmm0
ff
movsd  -0x70(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x190(%rbp),%xmm1
ff
mulsd  -0x70(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x168(%rbp),%xmm0
ff
movsd  -0x1a8(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x188(%rbp),%xmm1
ff
mulsd  -0x1a8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  -0x1b0(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x160(%rbp),%xmm1
ff
mulsd  -0x1b0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x60(%rbp),%xmm0
movsd  -0x1b8(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x68(%rbp),%xmm1
mulsd  -0x1b8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
divsd  -0xc8(%rbp),%xmm0
ff
movsd  -0x1c0(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
divsd  -0xd0(%rbp),%xmm1
ff
mulsd  -0x1c0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  0x823(%rip),%xmm1
mulsd  -0xe0(%rbp),%xmm1
ff
movsd  0x80b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xf8(%rbp),%xmm1
ff
movsd  0x7eb(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x120(%rbp),%xmm0
ff
movsd  0x7cb(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x28(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xe8(%rbp),%xmm1
ff
movsd  0x7ab(%rip),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x7a4(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x128(%rbp),%xmm0
ff
movsd  0x76c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xd8(%rbp),%xmm0
ff
movsd  0x794(%rip),%xmm1
mulsd  -0xe0(%rbp),%xmm1
ff
movsd  0x77c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xf0(%rbp),%xmm1
ff
movsd  0x75c(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  0x73c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x108(%rbp),%xmm1
ff
movsd  0x71c(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x130(%rbp),%xmm0
ff
movsd  0x6dc(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x38(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xe8(%rbp),%xmm0
ff
movsd  0x71c(%rip),%xmm1
mulsd  -0x100(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x6ed(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x110(%rbp),%xmm1
ff
movsd  0x6cd(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x138(%rbp),%xmm0
ff
movsd  0x665(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x40(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xd8(%rbp),%xmm0
ff
movsd  0x68d(%rip),%xmm1
mulsd  -0xf0(%rbp),%xmm1
ff
movsd  0x675(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xe0(%rbp),%xmm1
ff
movsd  0x655(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
movsd  0x635(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x108(%rbp),%xmm1
ff
movsd  0x615(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x140(%rbp),%xmm0
ff
movsd  0x5d5(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x48(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xe8(%rbp),%xmm1
ff
movsd  0x5b5(%rip),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x5ae(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x148(%rbp),%xmm0
ff
movsd  0x576(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x50(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0xd8(%rbp),%xmm0
ff
movsd  0x56e(%rip),%xmm1
mulsd  -0xf0(%rbp),%xmm1
ff
movsd  0x556(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x118(%rbp),%xmm1
ff
movsd  0x536(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x150(%rbp),%xmm0
ff
movsd  0x516(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x10(%rbp),%rax
movsd  %xmm0,(%rax)
add    $0x140,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<binlensd5>:
sub    $0x18,%rsp
movapd %xmm1,%xmm8
movsd  0xeef(%rip),%xmm5
movapd %xmm5,%xmm4
subsd  %xmm3,%xmm4
xorpd  %xmm1,%xmm1
xorpd  %xmm10,%xmm10
maxsd  %xmm4,%xmm10
cmpltsd %xmm1,%xmm4
andpd  %xmm4,%xmm5
andnpd %xmm3,%xmm4
orpd   %xmm5,%xmm4
movapd %xmm10,%xmm9
mulsd  %xmm2,%xmm9
addsd  %xmm0,%xmm9
mulsd  %xmm4,%xmm2
subsd  %xmm2,%xmm0
movapd %xmm9,%xmm12
mulsd  %xmm9,%xmm12
movapd %xmm0,%xmm13
movapd %xmm0,%xmm15
movsd  %xmm0,-0x78(%rsp)
mulsd  %xmm0,%xmm13
movapd %xmm8,%xmm1
mulsd  %xmm8,%xmm1
movapd %xmm12,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm13,%xmm2
addsd  %xmm1,%xmm2
movapd %xmm0,%xmm3
mulsd  %xmm0,%xmm3
movapd %xmm2,%xmm5
mulsd  %xmm2,%xmm5
movapd %xmm0,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm6,%xmm7
movsd  %xmm6,-0x48(%rsp)
movapd %xmm2,%xmm6
mulsd  %xmm5,%xmm6
movapd %xmm6,%xmm14
movsd  %xmm6,-0x40(%rsp)
mulsd  %xmm3,%xmm3
mulsd  %xmm5,%xmm5
mulsd  %xmm3,%xmm0
mulsd  %xmm5,%xmm2
movapd %xmm4,%xmm6
divsd  %xmm7,%xmm6
movapd %xmm10,%xmm7
divsd  %xmm14,%xmm7
addsd  %xmm6,%xmm7
movsd  %xmm7,-0x28(%rsp)
movapd %xmm4,%xmm6
divsd  %xmm3,%xmm6
movapd %xmm10,%xmm3
divsd  %xmm5,%xmm3
movapd %xmm13,%xmm5
mulsd  %xmm3,%xmm5
movapd %xmm6,%xmm7
mulsd  %xmm12,%xmm7
addsd  %xmm5,%xmm7
movapd %xmm7,-0x10(%rsp)
movapd %xmm9,%xmm7
movsd  %xmm9,-0x70(%rsp)
mulsd  %xmm6,%xmm7
movapd %xmm15,%xmm5
mulsd  %xmm3,%xmm5
mulsd  %xmm8,%xmm5
mulsd  %xmm8,%xmm7
addsd  %xmm5,%xmm7
movsd  %xmm7,-0x30(%rsp)
mulsd  %xmm1,%xmm3
mulsd  %xmm1,%xmm6
addsd  %xmm3,%xmm6
movapd %xmm6,(%rsp)
movapd %xmm4,%xmm11
divsd  %xmm0,%xmm11
movapd %xmm10,%xmm7
divsd  %xmm2,%xmm7
movapd %xmm12,%xmm2
mulsd  %xmm12,%xmm12
movapd %xmm13,%xmm14
mulsd  %xmm13,%xmm14
movapd %xmm14,%xmm0
mulsd  %xmm7,%xmm0
movapd %xmm11,%xmm3
mulsd  %xmm12,%xmm3
addsd  %xmm0,%xmm3
movapd %xmm3,-0x20(%rsp)
movapd %xmm9,%xmm15
mulsd  %xmm2,%xmm15
movsd  %xmm2,-0x68(%rsp)
movsd  -0x78(%rsp),%xmm9
movapd %xmm9,%xmm6
mulsd  %xmm13,%xmm6
movsd  %xmm13,-0x50(%rsp)
movapd %xmm15,%xmm3
mulsd  %xmm11,%xmm3
movapd %xmm6,%xmm0
mulsd  %xmm7,%xmm0
mulsd  %xmm8,%xmm0
mulsd  %xmm8,%xmm3
movsd  %xmm8,-0x58(%rsp)
addsd  %xmm0,%xmm3
movsd  %xmm3,-0x60(%rsp)
movapd %xmm2,%xmm3
mulsd  %xmm11,%xmm3
movapd %xmm13,%xmm0
mulsd  %xmm7,%xmm0
mulsd  %xmm1,%xmm0
mulsd  %xmm1,%xmm3
addsd  %xmm0,%xmm3
movsd  %xmm3,-0x38(%rsp)
movapd %xmm1,%xmm5
mulsd  %xmm8,%xmm5
movsd  -0x70(%rsp),%xmm3
movapd %xmm3,%xmm13
mulsd  %xmm11,%xmm13
movapd %xmm9,%xmm0
movapd %xmm9,%xmm2
mulsd  %xmm7,%xmm0
mulsd  %xmm5,%xmm0
mulsd  %xmm5,%xmm13
addsd  %xmm0,%xmm13
movsd  -0x48(%rsp),%xmm0
mulsd  %xmm0,%xmm0
divsd  %xmm0,%xmm4
movsd  -0x40(%rsp),%xmm0
mulsd  %xmm0,%xmm0
divsd  %xmm0,%xmm10
mulsd  %xmm14,%xmm2
mulsd  %xmm10,%xmm14
mulsd  %xmm1,%xmm14
movapd %xmm3,%xmm9
mulsd  %xmm12,%xmm9
mulsd  %xmm4,%xmm12
mulsd  %xmm1,%xmm12
mulsd  %xmm1,%xmm1
mulsd  %xmm1,%xmm7
mulsd  %xmm1,%xmm11
addsd  %xmm7,%xmm11
movapd %xmm11,%xmm8
movapd %xmm15,%xmm3
mulsd  %xmm15,%xmm3
movapd %xmm6,%xmm7
mulsd  %xmm6,%xmm7
mulsd  %xmm10,%xmm7
mulsd  %xmm4,%xmm3
addsd  %xmm7,%xmm3
movsd  -0x68(%rsp),%xmm7
mulsd  %xmm4,%xmm7
movsd  -0x50(%rsp),%xmm0
mulsd  %xmm10,%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm11
mulsd  %xmm1,%xmm7
movsd  -0x58(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  %xmm4,%xmm9
mulsd  %xmm10,%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm0,%xmm9
addsd  %xmm2,%xmm9
addsd  %xmm14,%xmm12
mulsd  %xmm4,%xmm15
mulsd  %xmm10,%xmm6
mulsd  %xmm5,%xmm6
mulsd  %xmm5,%xmm15
addsd  %xmm6,%xmm15
addsd  %xmm11,%xmm7
movsd  %xmm7,-0x68(%rsp)
movsd  -0x70(%rsp),%xmm2
mulsd  %xmm4,%xmm2
movsd  -0x78(%rsp),%xmm0
mulsd  %xmm10,%xmm0
mulsd  %xmm1,%xmm0
mulsd  %xmm1,%xmm2
addsd  %xmm0,%xmm2
movsd  %xmm2,-0x70(%rsp)
mulsd  %xmm5,%xmm5
mulsd  %xmm5,%xmm10
mulsd  %xmm5,%xmm4
addsd  %xmm10,%xmm4
movapd -0x10(%rsp),%xmm7
movapd %xmm7,%xmm0
mulsd  0xb93(%rip),%xmm0
movsd  0xb93(%rip),%xmm1
movsd  -0x28(%rsp),%xmm10
mulsd  %xmm10,%xmm1
movsd  %xmm1,-0x78(%rsp)
addsd  %xmm1,%xmm0
movapd -0x20(%rsp),%xmm6
movapd %xmm6,%xmm1
mulsd  0xb73(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0xb6e(%rip),%xmm11
mulsd  %xmm11,%xmm3
addsd  %xmm1,%xmm3
movsd  %xmm3,(%rdi)
movsd  -0x60(%rsp),%xmm2
mulsd  0xb5b(%rip),%xmm2
movsd  0xb5b(%rip),%xmm1
movsd  -0x30(%rsp),%xmm14
mulsd  %xmm14,%xmm1
addsd  %xmm1,%xmm2
mulsd  %xmm11,%xmm9
addsd  %xmm2,%xmm9
movsd  %xmm9,(%rsi)
movsd  0xb3c(%rip),%xmm5
movapd %xmm7,%xmm2
movapd %xmm7,%xmm9
mulsd  %xmm5,%xmm2
mulsd  0xb2e(%rip),%xmm10
addsd  %xmm10,%xmm2
movapd (%rsp),%xmm3
movapd %xmm3,%xmm0
mulsd  0xb20(%rip),%xmm0
addsd  %xmm2,%xmm0
movsd  0xb1c(%rip),%xmm2
mulsd  %xmm2,%xmm6
addsd  %xmm0,%xmm6
movsd  -0x38(%rsp),%xmm7
mulsd  0xb0e(%rip),%xmm7
addsd  %xmm7,%xmm6
mulsd  %xmm11,%xmm12
addsd  %xmm6,%xmm12
movsd  %xmm12,(%rdx)
movsd  0xafb(%rip),%xmm0
movsd  -0x60(%rsp),%xmm12
mulsd  %xmm0,%xmm12
mulsd  0xaee(%rip),%xmm14
addsd  %xmm12,%xmm14
mulsd  %xmm13,%xmm0
addsd  %xmm14,%xmm0
mulsd  %xmm11,%xmm15
addsd  %xmm0,%xmm15
movsd  %xmm15,(%rcx)
mulsd  %xmm3,%xmm5
addsd  %xmm10,%xmm5
mulsd  0xa9e(%rip),%xmm9
addsd  %xmm5,%xmm9
mulsd  %xmm8,%xmm2
addsd  %xmm9,%xmm2
addsd  %xmm7,%xmm2
movsd  -0x68(%rsp),%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,(%r8)
mulsd  0xa4e(%rip),%xmm13
addsd  %xmm1,%xmm13
movsd  -0x70(%rsp),%xmm0
mulsd  %xmm11,%xmm0
addsd  %xmm13,%xmm0
movsd  %xmm0,(%r9)
movapd %xmm3,%xmm0
mulsd  0xa08(%rip),%xmm0
addsd  -0x78(%rsp),%xmm0
mulsd  0xa09(%rip),%xmm8
addsd  %xmm0,%xmm8
mulsd  %xmm11,%xmm4
addsd  %xmm8,%xmm4
mov    0x20(%rsp),%rax
movsd  %xmm4,(%rax)
add    $0x18,%rsp
ret

LLVM IR (-O0):
define void @binlensd5(double %0, double %1, double %2, double %3, double* %4, double* %5, double* %6, double* %7, double* %8, double* %9, double* %10) {
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double*
%17 = alloca double*
%18 = alloca double*
%19 = alloca double*
%20 = alloca double*
%21 = alloca double*
%22 = alloca double*
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double
%67 = alloca double
%68 = alloca double
store double %0, double* %12
store double %1, double* %13
store double %2, double* %14
store double %3, double* %15
store double* %4, double** %16
store double* %5, double** %17
store double* %6, double** %18
store double* %7, double** %19
store double* %8, double** %20
store double* %9, double** %21
store double* %10, double** %22
%69 = load double, double* %15
%70 = fsub double 1.000000e+00, %69
store double %70, double* %23
%71 = load double, double* %23
%72 = fcmp olt double %71, 0.000000e+00
br i1 %72, label %73, label %74
73: ; preds = %11
store double 0.000000e+00, double* %23
store double 1.000000e+00, double* %15
br label %74
74: ; preds = %73, %11
%75 = load double, double* %12
%76 = load double, double* %23
%77 = load double, double* %14
%78 = call double @llvm.fmuladd.f64(double %76, double %77, double %75)
store double %78, double* %24
%79 = load double, double* %12
%80 = load double, double* %15
%81 = load double, double* %14
%82 = fneg double %80
%83 = call double @llvm.fmuladd.f64(double %82, double %81, double %79)
store double %83, double* %25
%84 = load double, double* %24
%85 = load double, double* %24
%86 = fmul double %84, %85
store double %86, double* %55
%87 = load double, double* %25
%88 = load double, double* %25
%89 = fmul double %87, %88
store double %89, double* %56
%90 = load double, double* %55
%91 = load double, double* %24
%92 = fmul double %90, %91
store double %92, double* %57
%93 = load double, double* %56
%94 = load double, double* %25
%95 = fmul double %93, %94
store double %95, double* %61
%96 = load double, double* %55
%97 = load double, double* %55
%98 = fmul double %96, %97
store double %98, double* %58
%99 = load double, double* %56
%100 = load double, double* %56
%101 = fmul double %99, %100
store double %101, double* %62
%102 = load double, double* %58
%103 = load double, double* %24
%104 = fmul double %102, %103
store double %104, double* %59
%105 = load double, double* %62
%106 = load double, double* %25
%107 = fmul double %105, %106
store double %107, double* %63
%108 = load double, double* %57
%109 = load double, double* %57
%110 = fmul double %108, %109
store double %110, double* %60
%111 = load double, double* %61
%112 = load double, double* %61
%113 = fmul double %111, %112
store double %113, double* %64
%114 = load double, double* %13
%115 = load double, double* %13
%116 = fmul double %114, %115
store double %116, double* %26
%117 = load double, double* %26
%118 = load double, double* %13
%119 = fmul double %117, %118
store double %119, double* %65
%120 = load double, double* %26
%121 = load double, double* %26
%122 = fmul double %120, %121
store double %122, double* %66
%123 = load double, double* %66
%124 = load double, double* %13
%125 = fmul double %123, %124
store double %125, double* %67
%126 = load double, double* %65
%127 = load double, double* %65
%128 = fmul double %126, %127
store double %128, double* %68
%129 = load double, double* %24
%130 = load double, double* %24
%131 = load double, double* %26
%132 = call double @llvm.fmuladd.f64(double %129, double %130, double %131)
store double %132, double* %27
%133 = load double, double* %25
%134 = load double, double* %25
%135 = load double, double* %26
%136 = call double @llvm.fmuladd.f64(double %133, double %134, double %135)
store double %136, double* %28
%137 = load double, double* %27
%138 = load double, double* %27
%139 = fmul double %137, %138
store double %139, double* %29
%140 = load double, double* %28
%141 = load double, double* %28
%142 = fmul double %140, %141
store double %142, double* %30
%143 = load double, double* %29
%144 = load double, double* %27
%145 = fmul double %143, %144
store double %145, double* %31
%146 = load double, double* %30
%147 = load double, double* %28
%148 = fmul double %146, %147
store double %148, double* %32
%149 = load double, double* %29
%150 = load double, double* %29
%151 = fmul double %149, %150
store double %151, double* %33
%152 = load double, double* %30
%153 = load double, double* %30
%154 = fmul double %152, %153
store double %154, double* %34
%155 = load double, double* %33
%156 = load double, double* %27
%157 = fmul double %155, %156
store double %157, double* %35
%158 = load double, double* %34
%159 = load double, double* %28
%160 = fmul double %158, %159
store double %160, double* %36
%161 = load double, double* %31
%162 = load double, double* %31
%163 = fmul double %161, %162
store double %163, double* %37
%164 = load double, double* %32
%165 = load double, double* %32
%166 = fmul double %164, %165
store double %166, double* %38
%167 = load double, double* %15
%168 = load double, double* %31
%169 = fdiv double %167, %168
%170 = load double, double* %23
%171 = load double, double* %32
%172 = fdiv double %170, %171
%173 = fadd double %169, %172
store double %173, double* %39
%174 = load double, double* %15
%175 = load double, double* %33
%176 = fdiv double %174, %175
%177 = load double, double* %55
%178 = load double, double* %23
%179 = load double, double* %34
%180 = fdiv double %178, %179
%181 = load double, double* %56
%182 = fmul double %180, %181
%183 = call double @llvm.fmuladd.f64(double %176, double %177, double %182)
store double %183, double* %40
%184 = load double, double* %15
%185 = load double, double* %33
%186 = fdiv double %184, %185
%187 = load double, double* %24
%188 = fmul double %186, %187
%189 = load double, double* %13
%190 = load double, double* %23
%191 = load double, double* %34
%192 = fdiv double %190, %191
%193 = load double, double* %25
%194 = fmul double %192, %193
%195 = load double, double* %13
%196 = fmul double %194, %195
%197 = call double @llvm.fmuladd.f64(double %188, double %189, double %196)
store double %197, double* %41
%198 = load double, double* %15
%199 = load double, double* %33
%200 = fdiv double %198, %199
%201 = load double, double* %26
%202 = load double, double* %23
%203 = load double, double* %34
%204 = fdiv double %202, %203
%205 = load double, double* %26
%206 = fmul double %204, %205
%207 = call double @llvm.fmuladd.f64(double %200, double %201, double %206)
store double %207, double* %42
%208 = load double, double* %15
%209 = load double, double* %35
%210 = fdiv double %208, %209
%211 = load double, double* %58
%212 = load double, double* %23
%213 = load double, double* %36
%214 = fdiv double %212, %213
%215 = load double, double* %62
%216 = fmul double %214, %215
%217 = call double @llvm.fmuladd.f64(double %210, double %211, double %216)
store double %217, double* %43
%218 = load double, double* %15
%219 = load double, double* %35
%220 = fdiv double %218, %219
%221 = load double, double* %57
%222 = fmul double %220, %221
%223 = load double, double* %13
%224 = load double, double* %23
%225 = load double, double* %36
%226 = fdiv double %224, %225
%227 = load double, double* %61
%228 = fmul double %226, %227
%229 = load double, double* %13
%230 = fmul double %228, %229
%231 = call double @llvm.fmuladd.f64(double %222, double %223, double %230)
store double %231, double* %44
%232 = load double, double* %15
%233 = load double, double* %35
%234 = fdiv double %232, %233
%235 = load double, double* %55
%236 = fmul double %234, %235
%237 = load double, double* %26
%238 = load double, double* %23
%239 = load double, double* %36
%240 = fdiv double %238, %239
%241 = load double, double* %56
%242 = fmul double %240, %241
%243 = load double, double* %26
%244 = fmul double %242, %243
%245 = call double @llvm.fmuladd.f64(double %236, double %237, double %244)
store double %245, double* %45
%246 = load double, double* %15
%247 = load double, double* %35
%248 = fdiv double %246, %247
%249 = load double, double* %24
%250 = fmul double %248, %249
%251 = load double, double* %65
%252 = load double, double* %23
%253 = load double, double* %36
%254 = fdiv double %252, %253
%255 = load double, double* %25
%256 = fmul double %254, %255
%257 = load double, double* %65
%258 = fmul double %256, %257
%259 = call double @llvm.fmuladd.f64(double %250, double %251, double %258)
store double %259, double* %46
%260 = load double, double* %15
%261 = load double, double* %35
%262 = fdiv double %260, %261
%263 = load double, double* %66
%264 = load double, double* %23
%265 = load double, double* %36
%266 = fdiv double %264, %265
%267 = load double, double* %66
%268 = fmul double %266, %267
%269 = call double @llvm.fmuladd.f64(double %262, double %263, double %268)
store double %269, double* %47
%270 = load double, double* %15
%271 = load double, double* %37
%272 = fdiv double %270, %271
%273 = load double, double* %60
%274 = load double, double* %23
%275 = load double, double* %38
%276 = fdiv double %274, %275
%277 = load double, double* %64
%278 = fmul double %276, %277
%279 = call double @llvm.fmuladd.f64(double %272, double %273, double %278)
store double %279, double* %48
%280 = load double, double* %15
%281 = load double, double* %37
%282 = fdiv double %280, %281
%283 = load double, double* %59
%284 = fmul double %282, %283
%285 = load double, double* %13
%286 = load double, double* %23
%287 = load double, double* %38
%288 = fdiv double %286, %287
%289 = load double, double* %63
%290 = fmul double %288, %289
%291 = load double, double* %13
%292 = fmul double %290, %291
%293 = call double @llvm.fmuladd.f64(double %284, double %285, double %292)
store double %293, double* %49
%294 = load double, double* %15
%295 = load double, double* %37
%296 = fdiv double %294, %295
%297 = load double, double* %58
%298 = fmul double %296, %297
%299 = load double, double* %26
%300 = load double, double* %23
%301 = load double, double* %38
%302 = fdiv double %300, %301
%303 = load double, double* %62
%304 = fmul double %302, %303
%305 = load double, double* %26
%306 = fmul double %304, %305
%307 = call double @llvm.fmuladd.f64(double %298, double %299, double %306)
store double %307, double* %50
%308 = load double, double* %15
%309 = load double, double* %37
%310 = fdiv double %308, %309
%311 = load double, double* %57
%312 = fmul double %310, %311
%313 = load double, double* %65
%314 = load double, double* %23
%315 = load double, double* %38
%316 = fdiv double %314, %315
%317 = load double, double* %61
%318 = fmul double %316, %317
%319 = load double, double* %65
%320 = fmul double %318, %319
%321 = call double @llvm.fmuladd.f64(double %312, double %313, double %320)
store double %321, double* %51
%322 = load double, double* %15
%323 = load double, double* %37
%324 = fdiv double %322, %323
%325 = load double, double* %55
%326 = fmul double %324, %325
%327 = load double, double* %66
%328 = load double, double* %23
%329 = load double, double* %38
%330 = fdiv double %328, %329
%331 = load double, double* %56
%332 = fmul double %330, %331
%333 = load double, double* %66
%334 = fmul double %332, %333
%335 = call double @llvm.fmuladd.f64(double %326, double %327, double %334)
store double %335, double* %52
%336 = load double, double* %15
%337 = load double, double* %37
%338 = fdiv double %336, %337
%339 = load double, double* %24
%340 = fmul double %338, %339
%341 = load double, double* %67
%342 = load double, double* %23
%343 = load double, double* %38
%344 = fdiv double %342, %343
%345 = load double, double* %25
%346 = fmul double %344, %345
%347 = load double, double* %67
%348 = fmul double %346, %347
%349 = call double @llvm.fmuladd.f64(double %340, double %341, double %348)
store double %349, double* %53
%350 = load double, double* %15
%351 = load double, double* %37
%352 = fdiv double %350, %351
%353 = load double, double* %68
%354 = load double, double* %23
%355 = load double, double* %38
%356 = fdiv double %354, %355
%357 = load double, double* %68
%358 = fmul double %356, %357
%359 = call double @llvm.fmuladd.f64(double %352, double %353, double %358)
store double %359, double* %54
%360 = load double, double* %39
%361 = load double, double* %40
%362 = fmul double 2.160000e+03, %361
%363 = call double @llvm.fmuladd.f64(double -1.200000e+02, double %360, double %362)
%364 = load double, double* %43
%365 = call double @llvm.fmuladd.f64(double -5.760000e+03, double %364, double %363)
%366 = load double, double* %48
%367 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %366, double %365)
%368 = load double*, double** %16
store double %367, double* %368
%369 = load double, double* %41
%370 = load double, double* %44
%371 = fmul double 3.840000e+03, %370
%372 = fneg double %371
%373 = call double @llvm.fmuladd.f64(double 7.200000e+02, double %369, double %372)
%374 = load double, double* %49
%375 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %374, double %373)
%376 = load double*, double** %17
store double %375, double* %376
%377 = load double, double* %39
%378 = load double, double* %40
%379 = fmul double 2.880000e+02, %378
%380 = call double @llvm.fmuladd.f64(double -2.400000e+01, double %377, double %379)
%381 = load double, double* %42
%382 = call double @llvm.fmuladd.f64(double 1.440000e+02, double %381, double %380)
%383 = load double, double* %43
%384 = call double @llvm.fmuladd.f64(double -3.840000e+02, double %383, double %382)
%385 = load double, double* %45
%386 = call double @llvm.fmuladd.f64(double -2.304000e+03, double %385, double %384)
%387 = load double, double* %50
%388 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %387, double %386)
%389 = load double*, double** %18
store double %388, double* %389
%390 = load double, double* %41
%391 = load double, double* %44
%392 = fmul double 1.152000e+03, %391
%393 = fneg double %392
%394 = call double @llvm.fmuladd.f64(double 4.320000e+02, double %390, double %393)
%395 = load double, double* %46
%396 = call double @llvm.fmuladd.f64(double -1.152000e+03, double %395, double %394)
%397 = load double, double* %51
%398 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %397, double %396)
%399 = load double*, double** %19
store double %398, double* %399
%400 = load double, double* %39
%401 = load double, double* %42
%402 = fmul double 2.880000e+02, %401
%403 = call double @llvm.fmuladd.f64(double -2.400000e+01, double %400, double %402)
%404 = load double, double* %40
%405 = call double @llvm.fmuladd.f64(double 1.440000e+02, double %404, double %403)
%406 = load double, double* %47
%407 = call double @llvm.fmuladd.f64(double -3.840000e+02, double %406, double %405)
%408 = load double, double* %45
%409 = call double @llvm.fmuladd.f64(double -2.304000e+03, double %408, double %407)
%410 = load double, double* %52
%411 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %410, double %409)
%412 = load double*, double** %20
store double %411, double* %412
%413 = load double, double* %41
%414 = load double, double* %46
%415 = fmul double 3.840000e+03, %414
%416 = fneg double %415
%417 = call double @llvm.fmuladd.f64(double 7.200000e+02, double %413, double %416)
%418 = load double, double* %53
%419 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %418, double %417)
%420 = load double*, double** %21
store double %419, double* %420
%421 = load double, double* %39
%422 = load double, double* %42
%423 = fmul double 2.160000e+03, %422
%424 = call double @llvm.fmuladd.f64(double -1.200000e+02, double %421, double %423)
%425 = load double, double* %47
%426 = call double @llvm.fmuladd.f64(double -5.760000e+03, double %425, double %424)
%427 = load double, double* %54
%428 = call double @llvm.fmuladd.f64(double 3.840000e+03, double %427, double %426)
%429 = load double*, double** %22
store double %428, double* %429
ret void
}

LLVM IR (-O2):
define void @binlensd5(double %0, double %1, double %2, double %3, double* nocapture writeonly %4, double* nocapture writeonly %5, double* nocapture writeonly %6, double* nocapture writeonly %7, double* nocapture writeonly %8, double* nocapture writeonly %9, double* nocapture writeonly %10) {
%12 = fsub double 1.000000e+00, %3
%13 = fcmp olt double %12, 0.000000e+00
%14 = select i1 %13, double 0.000000e+00, double %12
%15 = select i1 %13, double 1.000000e+00, double %3
%16 = tail call double @llvm.fmuladd.f64(double %14, double %2, double %0)
%17 = fneg double %15
%18 = tail call double @llvm.fmuladd.f64(double %17, double %2, double %0)
%19 = fmul double %16, %16
%20 = fmul double %18, %18
%21 = fmul double %16, %19
%22 = fmul double %18, %20
%23 = fmul double %19, %19
%24 = fmul double %20, %20
%25 = fmul double %16, %23
%26 = fmul double %18, %24
%27 = fmul double %21, %21
%28 = fmul double %22, %22
%29 = fmul double %1, %1
%30 = fmul double %29, %1
%31 = fmul double %29, %29
%32 = fmul double %31, %1
%33 = fmul double %30, %30
%34 = tail call double @llvm.fmuladd.f64(double %16, double %16, double %29)
%35 = tail call double @llvm.fmuladd.f64(double %18, double %18, double %29)
%36 = fmul double %34, %34
%37 = fmul double %35, %35
%38 = fmul double %34, %36
%39 = fmul double %35, %37
%40 = fmul double %36, %36
%41 = fmul double %37, %37
%42 = fmul double %34, %40
%43 = fmul double %35, %41
%44 = fmul double %38, %38
%45 = fmul double %39, %39
%46 = fdiv double %15, %38
%47 = fdiv double %14, %39
%48 = fadd double %46, %47
%49 = fdiv double %15, %40
%50 = fdiv double %14, %41
%51 = fmul double %20, %50
%52 = tail call double @llvm.fmuladd.f64(double %49, double %19, double %51)
%53 = fmul double %16, %49
%54 = fmul double %18, %50
%55 = fmul double %54, %1
%56 = tail call double @llvm.fmuladd.f64(double %53, double %1, double %55)
%57 = fmul double %29, %50
%58 = tail call double @llvm.fmuladd.f64(double %49, double %29, double %57)
%59 = fdiv double %15, %42
%60 = fdiv double %14, %43
%61 = fmul double %24, %60
%62 = tail call double @llvm.fmuladd.f64(double %59, double %23, double %61)
%63 = fmul double %21, %59
%64 = fmul double %22, %60
%65 = fmul double %64, %1
%66 = tail call double @llvm.fmuladd.f64(double %63, double %1, double %65)
%67 = fmul double %19, %59
%68 = fmul double %20, %60
%69 = fmul double %29, %68
%70 = tail call double @llvm.fmuladd.f64(double %67, double %29, double %69)
%71 = fmul double %16, %59
%72 = fmul double %18, %60
%73 = fmul double %30, %72
%74 = tail call double @llvm.fmuladd.f64(double %71, double %30, double %73)
%75 = fmul double %31, %60
%76 = tail call double @llvm.fmuladd.f64(double %59, double %31, double %75)
%77 = fdiv double %15, %44
%78 = fdiv double %14, %45
%79 = fmul double %28, %78
%80 = tail call double @llvm.fmuladd.f64(double %77, double %27, double %79)
%81 = fmul double %25, %77
%82 = fmul double %26, %78
%83 = fmul double %82, %1
%84 = tail call double @llvm.fmuladd.f64(double %81, double %1, double %83)
%85 = fmul double %23, %77
%86 = fmul double %24, %78
%87 = fmul double %29, %86
%88 = tail call double @llvm.fmuladd.f64(double %85, double %29, double %87)
%89 = fmul double %21, %77
%90 = fmul double %22, %78
%91 = fmul double %30, %90
%92 = tail call double @llvm.fmuladd.f64(double %89, double %30, double %91)
%93 = fmul double %19, %77
%94 = fmul double %20, %78
%95 = fmul double %31, %94
%96 = tail call double @llvm.fmuladd.f64(double %93, double %31, double %95)
%97 = fmul double %16, %77
%98 = fmul double %18, %78
%99 = fmul double %32, %98
%100 = tail call double @llvm.fmuladd.f64(double %97, double %32, double %99)
%101 = fmul double %33, %78
%102 = tail call double @llvm.fmuladd.f64(double %77, double %33, double %101)
%103 = fmul double %52, 2.160000e+03
%104 = tail call double @llvm.fmuladd.f64(double %48, double -1.200000e+02, double %103)
%105 = tail call double @llvm.fmuladd.f64(double %62, double -5.760000e+03, double %104)
%106 = tail call double @llvm.fmuladd.f64(double %80, double 3.840000e+03, double %105)
store double %106, double* %4
%107 = fmul double %66, -3.840000e+03
%108 = tail call double @llvm.fmuladd.f64(double %56, double 7.200000e+02, double %107)
%109 = tail call double @llvm.fmuladd.f64(double %84, double 3.840000e+03, double %108)
store double %109, double* %5
%110 = fmul double %52, 2.880000e+02
%111 = tail call double @llvm.fmuladd.f64(double %48, double -2.400000e+01, double %110)
%112 = tail call double @llvm.fmuladd.f64(double %58, double 1.440000e+02, double %111)
%113 = tail call double @llvm.fmuladd.f64(double %62, double -3.840000e+02, double %112)
%114 = tail call double @llvm.fmuladd.f64(double %70, double -2.304000e+03, double %113)
%115 = tail call double @llvm.fmuladd.f64(double %88, double 3.840000e+03, double %114)
store double %115, double* %6
%116 = fmul double %66, -1.152000e+03
%117 = tail call double @llvm.fmuladd.f64(double %56, double 4.320000e+02, double %116)
%118 = tail call double @llvm.fmuladd.f64(double %74, double -1.152000e+03, double %117)
%119 = tail call double @llvm.fmuladd.f64(double %92, double 3.840000e+03, double %118)
store double %119, double* %7
%120 = fmul double %58, 2.880000e+02
%121 = tail call double @llvm.fmuladd.f64(double %48, double -2.400000e+01, double %120)
%122 = tail call double @llvm.fmuladd.f64(double %52, double 1.440000e+02, double %121)
%123 = tail call double @llvm.fmuladd.f64(double %76, double -3.840000e+02, double %122)
%124 = tail call double @llvm.fmuladd.f64(double %70, double -2.304000e+03, double %123)
%125 = tail call double @llvm.fmuladd.f64(double %96, double 3.840000e+03, double %124)
store double %125, double* %8
%126 = fmul double %74, -3.840000e+03
%127 = tail call double @llvm.fmuladd.f64(double %56, double 7.200000e+02, double %126)
%128 = tail call double @llvm.fmuladd.f64(double %100, double 3.840000e+03, double %127)
store double %128, double* %9
%129 = fmul double %58, 2.160000e+03
%130 = tail call double @llvm.fmuladd.f64(double %48, double -1.200000e+02, double %129)
%131 = tail call double @llvm.fmuladd.f64(double %76, double -5.760000e+03, double %130)
%132 = tail call double @llvm.fmuladd.f64(double %102, double 3.840000e+03, double %131)
store double %132, double* %10
ret void
}