double cdflib_beta_cdflib_rcomp(const double *a, const double *b,
                                const double *x, const double *y) {
  static const double Const = .398942280401433e0;
  double brcomp, a0, apb, b0, c, e, h, lambda, lnx, lny, t, u, v, x0, y0, z;
  int i, n;
  double T1, T2;
  brcomp = 0.0e0;
  if (*x == 0.0e0 || *y == 0.0e0) {
    return brcomp;
  }
  a0 = cdflib_fifdmin1(*a, *b);
  if (a0 >= 8.0e0) {
    goto S130;
  }
  if (*x > 0.375e0) {
    goto S10;
  }
  lnx = log(*x);
  T1 = -*x;
  lny = cdflib_alnrel(&T1);
  goto S30;
S10:
  if (*y > 0.375e0) {
    goto S20;
  }
  T2 = -*y;
  lnx = cdflib_alnrel(&T2);
  lny = log(*y);
  goto S30;
S20:
  lnx = log(*x);
  lny = log(*y);
S30:
  z = *a * lnx + *b * lny;
  if (a0 < 1.0e0) {
    goto S40;
  }
  z -= cdflib_beta_log(a, b);
  brcomp = exp(z);
  return brcomp;
S40:
  b0 = cdflib_fifdmax1(*a, *b);
  if (b0 >= 8.0e0) {
    goto S120;
  }
  if (b0 > 1.0e0) {
    goto S70;
  }
  brcomp = exp(z);
  if (brcomp == 0.0e0) {
    return brcomp;
  }
  apb = *a + *b;
  if (apb > 1.0e0) {
    goto S50;
  }
  z = 1.0e0 + cdflib_gam1(&apb);
  goto S60;
S50:
  u = *a + *b - 1.e0;
  z = (1.0e0 + cdflib_gam1(&u)) / apb;
S60:
  c = (1.0e0 + cdflib_gam1(a)) * (1.0e0 + cdflib_gam1(b)) / z;
  brcomp = brcomp * (a0 * c) / (1.0e0 + a0 / b0);
  return brcomp;
S70:
  u = cdflib_gamma_ln1(&a0);
  n = (int)(b0 - 1.0e0);
  if (n < 1) {
    goto S90;
  }
  c = 1.0e0;
  for (i = 1; i <= n; i++) {
    b0 -= 1.0e0;
    c *= (b0 / (a0 + b0));
  }
  u = log(c) + u;
S90:
  z -= u;
  b0 -= 1.0e0;
  apb = a0 + b0;
  if (apb > 1.0e0) {
    goto S100;
  }
  t = 1.0e0 + cdflib_gam1(&apb);
  goto S110;
S100:
  u = a0 + b0 - 1.e0;
  t = (1.0e0 + cdflib_gam1(&u)) / apb;
S110:
  brcomp = a0 * exp(z) * (1.0e0 + cdflib_gam1(&b0)) / t;
  return brcomp;
S120:
  u = cdflib_gamma_ln1(&a0) + cdflib_algdiv(&a0, &b0);
  brcomp = a0 * exp(z - u);
  return brcomp;
S130:
  if (*a > *b) {
    goto S140;
  }
  h = *a / *b;
  x0 = h / (1.0e0 + h);
  y0 = 1.0e0 / (1.0e0 + h);
  lambda = *a - (*a + *b) * *x;
  goto S150;
S140:
  h = *b / *a;
  x0 = 1.0e0 / (1.0e0 + h);
  y0 = h / (1.0e0 + h);
  lambda = (*a + *b) * *y - *b;
S150:
  e = -(lambda / *a);
  if (fabs(e) > 0.6e0) {
    goto S160;
  }
  u = cdflib_rlog1(&e);
  goto S170;
S160:
  u = e - log(*x / x0);
S170:
  e = lambda / *b;
  if (fabs(e) > 0.6e0) {
    goto S180;
  }
  v = cdflib_rlog1(&e);
  goto S190;
S180:
  v = e - log(*y / y0);
S190:
  z = exp(-(*a * u + *b * v));
  brcomp = Const * sqrt(*b * x0) * z * exp(-cdflib_bcorr(a, b));
  return brcomp;
}


x86 assembly (clang, -O0):
<cdflib_beta_cdflib_rcomp>:
push   %rbp
mov    %rsp,%rbp
sub    $0x100,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1203 <cdflib_beta_cdflib_rcomp+0x43>
jp     1203 <cdflib_beta_cdflib_rcomp+0x43>
jmp    121e <cdflib_beta_cdflib_rcomp+0x5e>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    122d <cdflib_beta_cdflib_rcomp+0x6d>
jp     122d <cdflib_beta_cdflib_rcomp+0x6d>
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    $0x2,%al
call   1040 <cdflib_fifdmin1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  0xda6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1269 <cdflib_beta_cdflib_rcomp+0xa9>
jmp    1852 <cdflib_beta_cdflib_rcomp+0x692>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0xd8f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1288 <cdflib_beta_cdflib_rcomp+0xc8>
jmp    12dd <cdflib_beta_cdflib_rcomp+0x11d>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
call   10d0 <log@plt>
movsd  %xmm0,-0x70(%rbp)
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
lea    -0xb8(%rbp),%rdi
mov    $0x0,%al
call   1030 <cdflib_alnrel@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x78(%rbp)
jmp    1375 <cdflib_beta_cdflib_rcomp+0x1b5>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0xd1b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    12fc <cdflib_beta_cdflib_rcomp+0x13c>
jmp    1351 <cdflib_beta_cdflib_rcomp+0x191>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
lea    -0xc0(%rbp),%rdi
mov    $0x0,%al
call   1030 <cdflib_alnrel@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
call   10d0 <log@plt>
movsd  %xmm0,-0x78(%rbp)
jmp    1375 <cdflib_beta_cdflib_rcomp+0x1b5>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
call   10d0 <log@plt>
movsd  %xmm0,-0x70(%rbp)
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
call   10d0 <log@plt>
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x70(%rbp),%xmm2
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  -0x78(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0xc69(%rip),%xmm0
ucomisd -0x38(%rbp),%xmm0
jbe    13b7 <cdflib_beta_cdflib_rcomp+0x1f7>
jmp    13ff <cdflib_beta_cdflib_rcomp+0x23f>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   1080 <cdflib_beta_log@plt>
cvtsi2sd %eax,%xmm1
movsd  -0xa8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
call   10b0 <exp@plt>
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    $0x2,%al
call   10c0 <cdflib_fifdmax1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  0xbd4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     143b <cdflib_beta_cdflib_rcomp+0x27b>
jmp    17d7 <cdflib_beta_cdflib_rcomp+0x617>
movsd  -0x48(%rbp),%xmm0
movsd  0xbc8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1457 <cdflib_beta_cdflib_rcomp+0x297>
jmp    15d0 <cdflib_beta_cdflib_rcomp+0x410>
movsd  -0xa8(%rbp),%xmm0
ff
call   10b0 <exp@plt>
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1490 <cdflib_beta_cdflib_rcomp+0x2d0>
jp     1490 <cdflib_beta_cdflib_rcomp+0x2d0>
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
addsd  (%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  0xb5e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    14c1 <cdflib_beta_cdflib_rcomp+0x301>
jmp    14e9 <cdflib_beta_cdflib_rcomp+0x329>
lea    -0x40(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xb38(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    1538 <cdflib_beta_cdflib_rcomp+0x378>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
addsd  (%rax),%xmm0
movsd  0xb0f(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
lea    -0x88(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xae9(%rip),%xmm0
addsd  %xmm1,%xmm0
divsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x10(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xac1(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
mov    -0x18(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
movsd  -0xc8(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
movsd  0xa96(%rip),%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
mulsd  -0x50(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x38(%rbp),%xmm2
divsd  -0x48(%rbp),%xmm2
movsd  0xa5c(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
lea    -0x38(%rbp),%rdi
mov    $0x0,%al
call   1060 <cdflib_gamma_ln1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  0xa1c(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0xb0(%rbp)
cmpl   $0x1,-0xb0(%rbp)
jge    1614 <cdflib_beta_cdflib_rcomp+0x454>
jmp    169e <cdflib_beta_cdflib_rcomp+0x4de>
movsd  0x9f4(%rip),%xmm0
movsd  %xmm0,-0x50(%rbp)
movl   $0x1,-0xac(%rbp)
mov    -0xac(%rbp),%eax
cmp    -0xb0(%rbp),%eax
jg     1684 <cdflib_beta_cdflib_rcomp+0x4c4>
movsd  -0x48(%rbp),%xmm0
movsd  0x9c6(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
addsd  -0x48(%rbp),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0xac(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xac(%rbp)
jmp    162b <cdflib_beta_cdflib_rcomp+0x46b>
movsd  -0x50(%rbp),%xmm0
call   10d0 <log@plt>
addsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  0x949(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x38(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  0x924(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    16fb <cdflib_beta_cdflib_rcomp+0x53b>
jmp    1720 <cdflib_beta_cdflib_rcomp+0x560>
lea    -0x40(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0x8fe(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
jmp    1766 <cdflib_beta_cdflib_rcomp+0x5a6>
movsd  -0x38(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
movsd  0x8de(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
lea    -0x88(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0x8b8(%rip),%xmm0
addsd  %xmm1,%xmm0
divsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
call   10b0 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
lea    -0x48(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
movsd  -0xd0(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
movsd  0x85a(%rip),%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
lea    -0x38(%rbp),%rdi
mov    $0x0,%al
call   1060 <cdflib_gamma_ln1@plt>
mov    %eax,-0xe4(%rbp)
lea    -0x38(%rbp),%rdi
lea    -0x48(%rbp),%rsi
mov    $0x0,%al
call   1090 <cdflib_algdiv@plt>
mov    %eax,%ecx
mov    -0xe4(%rbp),%eax
add    %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0x88(%rbp),%xmm0
ff
call   10b0 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1b91 <cdflib_beta_cdflib_rcomp+0x9d1>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
ucomisd (%rax),%xmm0
jbe    186d <cdflib_beta_cdflib_rcomp+0x6ad>
jmp    190a <cdflib_beta_cdflib_rcomp+0x74a>
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  0x781(%rip),%xmm1
addsd  -0x60(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x768(%rip),%xmm1
addsd  -0x60(%rbp),%xmm1
movsd  0x75b(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
addsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
jmp    19a2 <cdflib_beta_cdflib_rcomp+0x7e2>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x10(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x6e9(%rip),%xmm1
addsd  -0x60(%rbp),%xmm1
movsd  0x6dc(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
movsd  0x6c3(%rip),%xmm1
addsd  -0x60(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
addsd  (%rax),%xmm0
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x68(%rbp),%xmm0
mov    -0x10(%rbp),%rax
divsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
movaps 0x659(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x635(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    19f2 <cdflib_beta_cdflib_rcomp+0x832>
jmp    1a0e <cdflib_beta_cdflib_rcomp+0x84e>
lea    -0x58(%rbp),%rdi
mov    $0x0,%al
call   1070 <cdflib_rlog1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1a47 <cdflib_beta_cdflib_rcomp+0x887>
movsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
divsd  -0x98(%rbp),%xmm0
ff
call   10d0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0xf0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
mov    -0x18(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
movaps 0x5cb(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x5a7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1a80 <cdflib_beta_cdflib_rcomp+0x8c0>
jmp    1a9c <cdflib_beta_cdflib_rcomp+0x8dc>
lea    -0x58(%rbp),%rdi
mov    $0x0,%al
call   1070 <cdflib_rlog1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1ad5 <cdflib_beta_cdflib_rcomp+0x915>
movsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
divsd  -0xa0(%rbp),%xmm0
ff
call   10d0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x88(%rbp),%xmm2
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   10b0 <exp@plt>
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mulsd  -0x98(%rbp),%xmm0
ff
call   10e0 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  0x4df(%rip),%xmm0
mulsd  %xmm1,%xmm0
mulsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   10a0 <cdflib_bcorr@plt>
mov    %eax,%ecx
xor    %eax,%eax
sub    %ecx,%eax
cvtsi2sd %eax,%xmm0
call   10b0 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x100(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x100,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<cdflib_beta_cdflib_rcomp>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x60,%rsp
movsd  (%rdx),%xmm1
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    11e0 <cdflib_beta_cdflib_rcomp+0x20>
jnp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
mov    %rcx,%r12
movsd  (%rcx),%xmm1
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    11f7 <cdflib_beta_cdflib_rcomp+0x37>
jnp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
mov    %rdx,%rbx
mov    %rsi,%r15
mov    %rdi,%r14
movsd  (%rdi),%xmm0
movsd  (%rsi),%xmm1
mov    $0x2,%al
call   1040 <cdflib_fifdmin1@plt>
cvtsi2sd %eax,%xmm2
movsd  %xmm2,0x28(%rsp)
cmp    $0x7,%eax
jle    127a <cdflib_beta_cdflib_rcomp+0xba>
movsd  (%r14),%xmm0
movsd  (%r15),%xmm4
ucomisd %xmm4,%xmm0
jbe    12cb <cdflib_beta_cdflib_rcomp+0x10b>
movapd %xmm4,%xmm1
divsd  %xmm0,%xmm1
movsd  0xdc6(%rip),%xmm2
addsd  %xmm1,%xmm2
movapd 0xe02(%rip),%xmm3
unpcklpd %xmm1,%xmm3
unpcklpd %xmm2,%xmm2
divpd  %xmm2,%xmm3
movapd %xmm0,%xmm2
addsd  %xmm4,%xmm2
xorpd  0xdc6(%rip),%xmm4
movapd %xmm4,%xmm1
mov    %r12,%rax
movapd %xmm2,%xmm4
jmp    1303 <cdflib_beta_cdflib_rcomp+0x143>
movsd  (%rbx),%xmm0
ucomisd 0xd7a(%rip),%xmm0
jbe    1366 <cdflib_beta_cdflib_rcomp+0x1a6>
movsd  (%r12),%xmm1
ucomisd 0xd66(%rip),%xmm1
jbe    14b9 <cdflib_beta_cdflib_rcomp+0x2f9>
movsd  %xmm2,0x10(%rsp)
call   10d0 <log@plt>
movsd  %xmm0,(%rsp)
movsd  (%r12),%xmm0
call   10d0 <log@plt>
movsd  0x10(%rsp),%xmm4
movsd  (%rsp),%xmm3
jmp    14f5 <cdflib_beta_cdflib_rcomp+0x335>
movapd %xmm0,%xmm3
divsd  %xmm4,%xmm3
movsd  0xd2d(%rip),%xmm1
addsd  %xmm3,%xmm1
shufpd $0x2,0xd58(%rip),%xmm3
unpcklpd %xmm1,%xmm1
divpd  %xmm1,%xmm3
addsd  %xmm0,%xmm4
xorpd  0xd34(%rip),%xmm4
movapd %xmm0,%xmm1
mov    %rbx,%rax
mulsd  (%rax),%xmm4
addsd  %xmm1,%xmm4
movapd 0xd1d(%rip),%xmm1
xorpd  %xmm4,%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0xd37(%rip),%xmm0
andpd  %xmm1,%xmm0
ucomisd 0xce3(%rip),%xmm0
movapd %xmm3,0x10(%rsp)
movapd %xmm4,(%rsp)
jbe    13a9 <cdflib_beta_cdflib_rcomp+0x1e9>
movsd  (%rbx),%xmm0
divsd  %xmm3,%xmm0
movapd %xmm1,0x40(%rsp)
call   10d0 <log@plt>
movapd 0x40(%rsp),%xmm1
movapd (%rsp),%xmm2
subsd  %xmm0,%xmm1
jmp    13c1 <cdflib_beta_cdflib_rcomp+0x201>
movsd  %xmm2,0x10(%rsp)
call   10d0 <log@plt>
movsd  %xmm0,(%rsp)
movsd  (%rbx),%xmm0
xorps  0xcaf(%rip),%xmm0
movlps %xmm0,0x58(%rsp)
lea    0x58(%rsp),%rdi
xor    %eax,%eax
call   1030 <cdflib_alnrel@plt>
movsd  0x10(%rsp),%xmm4
movsd  (%rsp),%xmm3
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
jmp    14f5 <cdflib_beta_cdflib_rcomp+0x335>
lea    0x30(%rsp),%rdi
xor    %eax,%eax
call   1070 <cdflib_rlog1@plt>
movapd (%rsp),%xmm2
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x20(%rsp)
divsd  (%r15),%xmm2
movsd  %xmm2,0x30(%rsp)
movapd 0xc86(%rip),%xmm0
andpd  %xmm2,%xmm0
ucomisd 0xc32(%rip),%xmm0
jbe    1417 <cdflib_beta_cdflib_rcomp+0x257>
movsd  (%r12),%xmm0
movapd 0x10(%rsp),%xmm1
unpckhpd %xmm1,%xmm1
divsd  %xmm1,%xmm0
movapd %xmm2,(%rsp)
call   10d0 <log@plt>
movapd (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x20(%rsp),%xmm0
jmp    1436 <cdflib_beta_cdflib_rcomp+0x276>
lea    0x30(%rsp),%rdi
xor    %eax,%eax
movapd %xmm1,0x40(%rsp)
call   1070 <cdflib_rlog1@plt>
movapd 0x40(%rsp),%xmm0
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mulsd  (%r15),%xmm1
mulsd  (%r14),%xmm0
addsd  %xmm1,%xmm0
xorpd  0xbe4(%rip),%xmm0
call   10b0 <exp@plt>
movapd 0x10(%rsp),%xmm2
mulsd  (%r15),%xmm2
movapd %xmm0,%xmm1
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm2
movapd %xmm2,%xmm0
jb     1474 <cdflib_beta_cdflib_rcomp+0x2b4>
sqrtsd %xmm0,%xmm0
jmp    1483 <cdflib_beta_cdflib_rcomp+0x2c3>
movsd  %xmm1,(%rsp)
call   10e0 <sqrt@plt>
movsd  (%rsp),%xmm1
mulsd  0xb95(%rip),%xmm0
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
mov    %r14,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   10a0 <cdflib_bcorr@plt>
neg    %eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
call   10b0 <exp@plt>
mulsd  (%rsp),%xmm0
jmp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
xorpd  0xb6f(%rip),%xmm1
movlpd %xmm1,0x58(%rsp)
lea    0x58(%rsp),%rdi
xor    %eax,%eax
call   1030 <cdflib_alnrel@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,(%rsp)
movsd  (%r12),%xmm0
call   10d0 <log@plt>
movsd  (%rsp),%xmm3
movsd  0x28(%rsp),%xmm4
movsd  (%r14),%xmm2
movsd  (%r15),%xmm1
mulsd  %xmm1,%xmm0
mulsd  %xmm2,%xmm3
addsd  %xmm0,%xmm3
movsd  0xaf5(%rip),%xmm0
ucomisd %xmm4,%xmm0
movsd  %xmm3,(%rsp)
jbe    1586 <cdflib_beta_cdflib_rcomp+0x3c6>
movapd %xmm2,%xmm0
mov    $0x2,%al
call   10c0 <cdflib_fifdmax1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x38(%rsp)
cmp    $0x7,%eax
jle    15b5 <cdflib_beta_cdflib_rcomp+0x3f5>
lea    0x28(%rsp),%rbx
mov    %rbx,%rdi
xor    %eax,%eax
call   1060 <cdflib_gamma_ln1@plt>
mov    %eax,%ebp
lea    0x38(%rsp),%rsi
mov    %rbx,%rdi
xor    %eax,%eax
call   1090 <cdflib_algdiv@plt>
add    %ebp,%eax
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
call   10b0 <exp@plt>
mulsd  0x10(%rsp),%xmm0
jmp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
mov    %r14,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1080 <cdflib_beta_log@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
call   10b0 <exp@plt>
add    $0x60,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret
cmp    $0x1,%eax
jle    1613 <cdflib_beta_cdflib_rcomp+0x453>
lea    0x28(%rsp),%rdi
xor    %eax,%eax
movsd  %xmm0,0x10(%rsp)
call   1060 <cdflib_gamma_ln1@plt>
movsd  0x10(%rsp),%xmm5
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0xa29(%rip),%xmm2
addsd  %xmm5,%xmm2
cvttsd2si %xmm2,%eax
test   %eax,%eax
jle    1719 <cdflib_beta_cdflib_rcomp+0x559>
movsd  0x28(%rsp),%xmm4
cmp    $0x1,%eax
jne    168e <cdflib_beta_cdflib_rcomp+0x4ce>
movsd  0x9fa(%rip),%xmm0
jmp    16d8 <cdflib_beta_cdflib_rcomp+0x518>
movsd  (%rsp),%xmm0
call   10b0 <exp@plt>
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    162d <cdflib_beta_cdflib_rcomp+0x46d>
jnp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
movsd  %xmm0,(%rsp)
movsd  (%r14),%xmm1
addsd  (%r15),%xmm1
movsd  %xmm1,0x30(%rsp)
ucomisd 0x9be(%rip),%xmm1
jbe    17eb <cdflib_beta_cdflib_rcomp+0x62b>
movsd  0x9b8(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x20(%rsp)
lea    0x20(%rsp),%rdi
xor    %eax,%eax
movsd  %xmm1,0x10(%rsp)
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x985(%rip),%xmm0
divsd  0x10(%rsp),%xmm0
jmp    1806 <cdflib_beta_cdflib_rcomp+0x646>
mov    %eax,%ecx
and    $0xfffffffe,%ecx
movsd  0x96d(%rip),%xmm0
movsd  0x96d(%rip),%xmm1
addsd  %xmm1,%xmm5
movapd %xmm5,%xmm2
addsd  %xmm4,%xmm2
movapd %xmm5,%xmm3
divsd  %xmm2,%xmm3
mulsd  %xmm0,%xmm3
addsd  %xmm1,%xmm5
movapd %xmm5,%xmm2
addsd  %xmm4,%xmm2
movapd %xmm5,%xmm0
divsd  %xmm2,%xmm0
mulsd  %xmm3,%xmm0
add    $0xfffffffe,%ecx
jne    16a3 <cdflib_beta_cdflib_rcomp+0x4e3>
test   $0x1,%al
je     16f4 <cdflib_beta_cdflib_rcomp+0x534>
addsd  0x92c(%rip),%xmm5
addsd  %xmm5,%xmm4
movapd %xmm5,%xmm1
divsd  %xmm4,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm5,0x38(%rsp)
call   10d0 <log@plt>
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x38(%rsp),%xmm2
addsd  0x8f7(%rip),%xmm2
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movsd  %xmm2,0x38(%rsp)
addsd  0x28(%rsp),%xmm2
movsd  %xmm2,0x30(%rsp)
ucomisd 0x8c7(%rip),%xmm2
jbe    177e <cdflib_beta_cdflib_rcomp+0x5be>
movsd  0x8c5(%rip),%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,0x20(%rsp)
lea    0x20(%rsp),%rdi
xor    %eax,%eax
movsd  %xmm2,0x10(%rsp)
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x892(%rip),%xmm0
divsd  0x10(%rsp),%xmm0
jmp    1799 <cdflib_beta_cdflib_rcomp+0x5d9>
lea    0x30(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x86f(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  (%rsp),%xmm0
call   10b0 <exp@plt>
mulsd  0x40(%rsp),%xmm0
movsd  %xmm0,(%rsp)
lea    0x38(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x82d(%rip),%xmm0
mulsd  (%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
jmp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>
lea    0x30(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x802(%rip),%xmm0
movapd %xmm0,0x10(%rsp)
mov    %r14,%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  0x7e3(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  %xmm1,0x40(%rsp)
mov    %r15,%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm2,%xmm2
cvtsi2sd %eax,%xmm2
movsd  0x7c0(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  0x40(%rsp),%xmm2
movsd  0x28(%rsp),%xmm1
unpcklpd %xmm1,%xmm2
movapd 0x10(%rsp),%xmm0
movhpd 0x38(%rsp),%xmm0
divpd  %xmm0,%xmm2
mulsd  %xmm2,%xmm1
movsd  (%rsp),%xmm0
mulsd  %xmm1,%xmm0
unpckhpd %xmm2,%xmm2
addsd  %xmm3,%xmm2
divsd  %xmm2,%xmm0
jmp    15a8 <cdflib_beta_cdflib_rcomp+0x3e8>

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

LLVM IR (-O2):
define double @cdflib_beta_cdflib_rcomp(double* %0, double* %1, double* nocapture %2, double* nocapture %3) {
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = bitcast double* %5 to i8*
%13 = bitcast double* %6 to i8*
%14 = bitcast double* %7 to i8*
%15 = bitcast double* %8 to i8*
%16 = bitcast double* %9 to i8*
%17 = bitcast double* %10 to i8*
%18 = bitcast double* %11 to i8*
%19 = load double, double* %2
%20 = fcmp oeq double %19, 0.000000e+00
br i1 %20, label %272, label %21
21: ; preds = %4
%22 = load double, double* %3
%23 = fcmp oeq double %22, 0.000000e+00
br i1 %23, label %272, label %24
24: ; preds = %21
%25 = load double, double* %0
%26 = load double, double* %1
%27 = tail call i32 (double, double, ...) bitcast (i32 (...)* @cdflib_fifdmin1 to i32 (double, double, ...)*)(double %25, double %26)
%28 = sitofp i32 %27 to double
store double %28, double* %5
%29 = icmp sgt i32 %27, 7
br i1 %29, label %194, label %30
30: ; preds = %24
%31 = load double, double* %2
%32 = fcmp ogt double %31, 3.750000e-01
br i1 %32, label %39, label %33
33: ; preds = %30
%34 = tail call double @log(double %31)
%35 = load double, double* %2
%36 = fneg double %35
store double %36, double* %10
%37 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_alnrel to i32 (double*, ...)*)(double* %10)
%38 = sitofp i32 %37 to double
br label %53
39: ; preds = %30
%40 = load double, double* %3
%41 = fcmp ogt double %40, 3.750000e-01
br i1 %41, label %49, label %42
42: ; preds = %39
%43 = fneg double %40
store double %43, double* %11
%44 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_alnrel to i32 (double*, ...)*)(double* %11)
%45 = sitofp i32 %44 to double
%46 = load double, double* %3
%47 = call double @log(double %46)
%48 = load double, double* %5
br label %53
49: ; preds = %39
%50 = tail call double @log(double %31)
%51 = load double, double* %3
%52 = tail call double @log(double %51)
br label %53
53: ; preds = %49, %42, %33
%54 = phi double [ %28, %49 ], [ %48, %42 ], [ %28, %33 ]
%55 = phi double [ %50, %49 ], [ %45, %42 ], [ %34, %33 ]
%56 = phi double [ %52, %49 ], [ %47, %42 ], [ %38, %33 ]
%57 = load double, double* %0
%58 = load double, double* %1
%59 = fmul double %56, %58
%60 = call double @llvm.fmuladd.f64(double %57, double %55, double %59)
%61 = fcmp olt double %54, 1.000000e+00
br i1 %61, label %67, label %62
62: ; preds = %53
%63 = call i32 (double*, double*, ...) bitcast (i32 (...)* @cdflib_beta_log to i32 (double*, double*, ...)*)(double* %0, double* %1)
%64 = sitofp i32 %63 to double
%65 = fsub double %60, %64
%66 = call double @exp(double %65)
br label %272
67: ; preds = %53
%68 = call i32 (double, double, ...) bitcast (i32 (...)* @cdflib_fifdmax1 to i32 (double, double, ...)*)(double %57, double %58)
%69 = sitofp i32 %68 to double
store double %69, double* %7
%70 = icmp sgt i32 %68, 7
br i1 %70, label %185, label %71
71: ; preds = %67
%72 = icmp sgt i32 %68, 1
br i1 %72, label %113, label %73
73: ; preds = %71
%74 = call double @exp(double %60)
%75 = fcmp oeq double %74, 0.000000e+00
br i1 %75, label %272, label %76
76: ; preds = %73
%77 = load double, double* %0
%78 = load double, double* %1
%79 = fadd double %77, %78
store double %79, double* %6
%80 = fcmp ogt double %79, 1.000000e+00
br i1 %80, label %85, label %81
81: ; preds = %76
%82 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %6)
%83 = sitofp i32 %82 to double
%84 = fadd double %83, 1.000000e+00
br label %91
85: ; preds = %76
%86 = fadd double %79, -1.000000e+00
store double %86, double* %9
%87 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %9)
%88 = sitofp i32 %87 to double
%89 = fadd double %88, 1.000000e+00
%90 = fdiv double %89, %79
br label %91
91: ; preds = %85, %81
%92 = phi double [ %90, %85 ], [ %84, %81 ]
%93 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %0)
%94 = sitofp i32 %93 to double
%95 = fadd double %94, 1.000000e+00
%96 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %1)
%97 = sitofp i32 %96 to double
%98 = fadd double %97, 1.000000e+00
%99 = fmul double %95, %98
%100 = load double, double* %5
%101 = load double, double* %7
%102 = insertelement <2 x double> poison, double %99, i64 0
%103 = insertelement <2 x double> %102, double %100, i64 1
%104 = insertelement <2 x double> poison, double %92, i64 0
%105 = insertelement <2 x double> %104, double %101, i64 1
%106 = fdiv <2 x double> %103, %105
%107 = extractelement <2 x double> %106, i64 0
%108 = fmul double %100, %107
%109 = fmul double %74, %108
%110 = extractelement <2 x double> %106, i64 1
%111 = fadd double %110, 1.000000e+00
%112 = fdiv double %109, %111
br label %272
113: ; preds = %71
%114 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gamma_ln1 to i32 (double*, ...)*)(double* %5)
%115 = sitofp i32 %114 to double
store double %115, double* %9
%116 = fadd double %69, -1.000000e+00
%117 = fptosi double %116 to i32
%118 = icmp slt i32 %117, 1
br i1 %118, label %158, label %119
119: ; preds = %113
%120 = load double, double* %5
%121 = and i32 %117, 1
%122 = icmp eq i32 %117, 1
br i1 %122, label %139, label %123
123: ; preds = %119
%124 = and i32 %117, -2
br label %125
125: ; preds = %125, %123
%126 = phi double [ 1.000000e+00, %123 ], [ %136, %125 ]
%127 = phi double [ %69, %123 ], [ %133, %125 ]
%128 = phi i32 [ 0, %123 ], [ %137, %125 ]
%129 = fadd double %127, -1.000000e+00
%130 = fadd double %129, %120
%131 = fdiv double %129, %130
%132 = fmul double %126, %131
%133 = fadd double %129, -1.000000e+00
%134 = fadd double %133, %120
%135 = fdiv double %133, %134
%136 = fmul double %132, %135
%137 = add i32 %128, 2
%138 = icmp eq i32 %137, %124
br i1 %138, label %139, label %125
139: ; preds = %125, %119
%140 = phi double [ undef, %119 ], [ %133, %125 ]
%141 = phi double [ undef, %119 ], [ %136, %125 ]
%142 = phi double [ 1.000000e+00, %119 ], [ %136, %125 ]
%143 = phi double [ %69, %119 ], [ %133, %125 ]
%144 = icmp eq i32 %121, 0
br i1 %144, label %150, label %145
145: ; preds = %139
%146 = fadd double %143, -1.000000e+00
%147 = fadd double %146, %120
%148 = fdiv double %146, %147
%149 = fmul double %142, %148
br label %150
150: ; preds = %139, %145
%151 = phi double [ %140, %139 ], [ %146, %145 ]
%152 = phi double [ %141, %139 ], [ %149, %145 ]
store double %151, double* %7
%153 = call double @log(double %152)
%154 = load double, double* %9
%155 = fadd double %153, %154
store double %155, double* %9
%156 = load double, double* %7
%157 = fadd double %156, -1.000000e+00
br label %158
158: ; preds = %113, %150
%159 = phi double [ %116, %113 ], [ %157, %150 ]
%160 = phi double [ %115, %113 ], [ %155, %150 ]
%161 = fsub double %60, %160
store double %159, double* %7
%162 = load double, double* %5
%163 = fadd double %159, %162
store double %163, double* %6
%164 = fcmp ogt double %163, 1.000000e+00
br i1 %164, label %169, label %165
165: ; preds = %158
%166 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %6)
%167 = sitofp i32 %166 to double
%168 = fadd double %167, 1.000000e+00
br label %175
169: ; preds = %158
%170 = fadd double %163, -1.000000e+00
store double %170, double* %9
%171 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %9)
%172 = sitofp i32 %171 to double
%173 = fadd double %172, 1.000000e+00
%174 = fdiv double %173, %163
br label %175
175: ; preds = %169, %165
%176 = phi double [ %174, %169 ], [ %168, %165 ]
%177 = load double, double* %5
%178 = call double @exp(double %161)
%179 = fmul double %177, %178
%180 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gam1 to i32 (double*, ...)*)(double* %7)
%181 = sitofp i32 %180 to double
%182 = fadd double %181, 1.000000e+00
%183 = fmul double %179, %182
%184 = fdiv double %183, %176
br label %272
185: ; preds = %67
%186 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_gamma_ln1 to i32 (double*, ...)*)(double* %5)
%187 = call i32 (double*, double*, ...) bitcast (i32 (...)* @cdflib_algdiv to i32 (double*, double*, ...)*)(double* %5, double* %7)
%188 = add nsw i32 %187, %186
%189 = sitofp i32 %188 to double
%190 = load double, double* %5
%191 = fsub double %60, %189
%192 = call double @exp(double %191)
%193 = fmul double %190, %192
br label %272
194: ; preds = %24
%195 = load double, double* %0
%196 = load double, double* %1
%197 = fcmp ogt double %195, %196
br i1 %197, label %207, label %198
198: ; preds = %194
%199 = fdiv double %195, %196
%200 = fadd double %199, 1.000000e+00
%201 = insertelement <2 x double> <double poison, double 1.000000e+00>, double %199, i64 0
%202 = insertelement <2 x double> poison, double %200, i64 0
%203 = shufflevector <2 x double> %202, <2 x double> poison, <2 x i32> zeroinitializer
%204 = fdiv <2 x double> %201, %203
%205 = fadd double %195, %196
%206 = fneg double %205
br label %216
207: ; preds = %194
%208 = fdiv double %196, %195
%209 = fadd double %208, 1.000000e+00
%210 = insertelement <2 x double> <double 1.000000e+00, double poison>, double %208, i64 1
%211 = insertelement <2 x double> poison, double %209, i64 0
%212 = shufflevector <2 x double> %211, <2 x double> poison, <2 x i32> zeroinitializer
%213 = fdiv <2 x double> %210, %212
%214 = fadd double %195, %196
%215 = fneg double %196
br label %216
216: ; preds = %207, %198
%217 = phi double [ %215, %207 ], [ %195, %198 ]
%218 = phi double* [ %3, %207 ], [ %2, %198 ]
%219 = phi double [ %214, %207 ], [ %206, %198 ]
%220 = phi <2 x double> [ %213, %207 ], [ %204, %198 ]
%221 = load double, double* %218
%222 = tail call double @llvm.fmuladd.f64(double %219, double %221, double %217)
%223 = fneg double %222
%224 = fdiv double %223, %195
store double %224, double* %8
%225 = tail call double @llvm.fabs.f64(double %224)
%226 = fcmp ogt double %225, 6.000000e-01
br i1 %226, label %230, label %227
227: ; preds = %216
%228 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_rlog1 to i32 (double*, ...)*)(double* %8)
%229 = sitofp i32 %228 to double
br label %236
230: ; preds = %216
%231 = load double, double* %2
%232 = extractelement <2 x double> %220, i64 0
%233 = fdiv double %231, %232
%234 = tail call double @log(double %233)
%235 = fsub double %224, %234
br label %236
236: ; preds = %230, %227
%237 = phi double [ %229, %227 ], [ %235, %230 ]
store double %237, double* %9
%238 = load double, double* %1
%239 = fdiv double %222, %238
store double %239, double* %8
%240 = call double @llvm.fabs.f64(double %239)
%241 = fcmp ogt double %240, 6.000000e-01
br i1 %241, label %245, label %242
242: ; preds = %236
%243 = call i32 (double*, ...) bitcast (i32 (...)* @cdflib_rlog1 to i32 (double*, ...)*)(double* %8)
%244 = sitofp i32 %243 to double
br label %252
245: ; preds = %236
%246 = load double, double* %3
%247 = extractelement <2 x double> %220, i64 1
%248 = fdiv double %246, %247
%249 = call double @log(double %248)
%250 = fsub double %239, %249
%251 = load double, double* %9
br label %252
252: ; preds = %245, %242
%253 = phi double [ %251, %245 ], [ %237, %242 ]
%254 = phi double [ %250, %245 ], [ %244, %242 ]
%255 = load double, double* %0
%256 = load double, double* %1
%257 = fmul double %254, %256
%258 = call double @llvm.fmuladd.f64(double %255, double %253, double %257)
%259 = fneg double %258
%260 = call double @exp(double %259)
%261 = load double, double* %1
%262 = extractelement <2 x double> %220, i64 0
%263 = fmul double %262, %261
%264 = call double @sqrt(double %263)
%265 = fmul double %264, 0x3FD9884533D43656
%266 = fmul double %260, %265
%267 = call i32 (double*, double*, ...) bitcast (i32 (...)* @cdflib_bcorr to i32 (double*, double*, ...)*)(double* %0, double* %1)
%268 = sub nsw i32 0, %267
%269 = sitofp i32 %268 to double
%270 = call double @exp(double %269)
%271 = fmul double %266, %270
br label %272
272: ; preds = %73, %4, %21, %252, %185, %175, %91, %62
%273 = phi double [ %271, %252 ], [ %193, %185 ], [ %184, %175 ], [ %112, %91 ], [ %66, %62 ], [ 0.000000e+00, %21 ], [ 0.000000e+00, %4 ], [ %74, %73 ]
ret double %273
}