double cdflib_beta_rcomp1(const int *mu, const double *a, const double *b,
                          const double *x, const double *y) {
  static const double Const = .398942280401433e0;
  double brcmp1, a0, apb, b0, c, e, h, lambda, lnx, lny, t, u, v, x0, y0, z;
  int i, n;
  double T1, T2, T3, T4;
  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);
  brcmp1 = cdflib_esum(mu, &z);
  return brcmp1;
S40:
  b0 = cdflib_fifdmax1(*a, *b);
  if (b0 >= 8.0e0) {
    goto S120;
  }
  if (b0 > 1.0e0) {
    goto S70;
  }
  brcmp1 = cdflib_esum(mu, &z);
  if (brcmp1 == 0.0e0) {
    return brcmp1;
  }
  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;
  brcmp1 = brcmp1 * (a0 * c) / (1.0e0 + a0 / b0);
  return brcmp1;
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:
  brcmp1 = a0 * cdflib_esum(mu, &z) * (1.0e0 + cdflib_gam1(&b0)) / t;
  return brcmp1;
S120:
  u = cdflib_gamma_ln1(&a0) + cdflib_algdiv(&a0, &b0);
  T3 = z - u;
  brcmp1 = a0 * cdflib_esum(mu, &T3);
  return brcmp1;
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:
  T4 = -(*a * u + *b * v);
  z = cdflib_esum(mu, &T4);
  brcmp1 = Const * sqrt(*b * x0) * z * exp(-cdflib_bcorr(a, b));
  return brcmp1;
}


x86 assembly (clang, -O0):
<cdflib_beta_rcomp1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x120,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    %r8,-0x30(%rbp)
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm1
mov    $0x2,%al
call   1040 <cdflib_fifdmin1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  0xde4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     122b <cdflib_beta_rcomp1+0x5b>
jmp    184b <cdflib_beta_rcomp1+0x67b>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0xdcd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    124a <cdflib_beta_rcomp1+0x7a>
jmp    129f <cdflib_beta_rcomp1+0xcf>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
call   10e0 <log@plt>
movsd  %xmm0,-0x78(%rbp)
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,-0x80(%rbp)
jmp    1337 <cdflib_beta_rcomp1+0x167>
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movsd  0xd59(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    12be <cdflib_beta_rcomp1+0xee>
jmp    1313 <cdflib_beta_rcomp1+0x143>
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
lea    -0xc8(%rbp),%rdi
mov    $0x0,%al
call   1030 <cdflib_alnrel@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
call   10e0 <log@plt>
movsd  %xmm0,-0x80(%rbp)
jmp    1337 <cdflib_beta_rcomp1+0x167>
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
call   10e0 <log@plt>
movsd  %xmm0,-0x78(%rbp)
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
call   10e0 <log@plt>
movsd  %xmm0,-0x80(%rbp)
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x78(%rbp),%xmm2
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  -0x80(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0xca7(%rip),%xmm0
ucomisd -0x40(%rbp),%xmm0
jbe    1379 <cdflib_beta_rcomp1+0x1a9>
jmp    13ca <cdflib_beta_rcomp1+0x1fa>
mov    -0x18(%rbp),%rdi
mov    -0x20(%rbp),%rsi
mov    $0x0,%al
call   1080 <cdflib_beta_log@plt>
cvtsi2sd %eax,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x10(%rbp),%rdi
lea    -0xb0(%rbp),%rsi
mov    $0x0,%al
call   10c0 <cdflib_esum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1ba3 <cdflib_beta_rcomp1+0x9d3>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm1
mov    $0x2,%al
call   10d0 <cdflib_fifdmax1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  0xc09(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1406 <cdflib_beta_rcomp1+0x236>
jmp    17ba <cdflib_beta_rcomp1+0x5ea>
movsd  -0x50(%rbp),%xmm0
movsd  0xbfd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1422 <cdflib_beta_rcomp1+0x252>
jmp    15a4 <cdflib_beta_rcomp1+0x3d4>
mov    -0x10(%rbp),%rdi
lea    -0xb0(%rbp),%rsi
mov    $0x0,%al
call   10c0 <cdflib_esum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1464 <cdflib_beta_rcomp1+0x294>
jp     1464 <cdflib_beta_rcomp1+0x294>
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1ba3 <cdflib_beta_rcomp1+0x9d3>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
addsd  (%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  0xb8a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1495 <cdflib_beta_rcomp1+0x2c5>
jmp    14bd <cdflib_beta_rcomp1+0x2ed>
lea    -0x48(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xb64(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    150c <cdflib_beta_rcomp1+0x33c>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
addsd  (%rax),%xmm0
movsd  0xb3b(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
lea    -0x90(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xb15(%rip),%xmm0
addsd  %xmm1,%xmm0
divsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x18(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0xaed(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
mov    -0x20(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
movsd  -0xe0(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
movsd  0xac2(%rip),%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm1
mulsd  -0x58(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x40(%rbp),%xmm2
divsd  -0x50(%rbp),%xmm2
movsd  0xa88(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1ba3 <cdflib_beta_rcomp1+0x9d3>
lea    -0x40(%rbp),%rdi
mov    $0x0,%al
call   1060 <cdflib_gamma_ln1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movsd  0xa48(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0xb8(%rbp)
cmpl   $0x1,-0xb8(%rbp)
jge    15e8 <cdflib_beta_rcomp1+0x418>
jmp    1672 <cdflib_beta_rcomp1+0x4a2>
movsd  0xa20(%rip),%xmm0
movsd  %xmm0,-0x58(%rbp)
movl   $0x1,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
cmp    -0xb8(%rbp),%eax
jg     1658 <cdflib_beta_rcomp1+0x488>
movsd  -0x50(%rbp),%xmm0
movsd  0x9f2(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm1
addsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0xb4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4(%rbp)
jmp    15ff <cdflib_beta_rcomp1+0x42f>
movsd  -0x58(%rbp),%xmm0
call   10e0 <log@plt>
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movsd  0x975(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  0x950(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    16cf <cdflib_beta_rcomp1+0x4ff>
jmp    16f7 <cdflib_beta_rcomp1+0x527>
lea    -0x48(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0x92a(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1740 <cdflib_beta_rcomp1+0x570>
movsd  -0x40(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  0x907(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
lea    -0x90(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
cvtsi2sd %eax,%xmm1
movsd  0x8e1(%rip),%xmm0
addsd  %xmm1,%xmm0
divsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
mov    -0x10(%rbp),%rdi
lea    -0xb0(%rbp),%rsi
mov    $0x0,%al
call   10c0 <cdflib_esum@plt>
movsd  -0xf0(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
lea    -0x50(%rbp),%rdi
mov    $0x0,%al
call   1050 <cdflib_gam1@plt>
movsd  -0xe8(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
movsd  0x87a(%rip),%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1ba3 <cdflib_beta_rcomp1+0x9d3>
lea    -0x40(%rbp),%rdi
mov    $0x0,%al
call   1060 <cdflib_gamma_ln1@plt>
mov    %eax,-0xfc(%rbp)
lea    -0x40(%rbp),%rdi
lea    -0x50(%rbp),%rsi
mov    $0x0,%al
call   1090 <cdflib_algdiv@plt>
mov    %eax,%ecx
mov    -0xfc(%rbp),%eax
add    %ecx,%eax
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
mov    -0x10(%rbp),%rdi
lea    -0xd0(%rbp),%rsi
mov    $0x0,%al
call   10c0 <cdflib_esum@plt>
movsd  -0xf8(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1ba3 <cdflib_beta_rcomp1+0x9d3>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
ucomisd (%rax),%xmm0
jbe    1866 <cdflib_beta_rcomp1+0x696>
jmp    1903 <cdflib_beta_rcomp1+0x733>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  0x788(%rip),%xmm1
addsd  -0x68(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x76f(%rip),%xmm1
addsd  -0x68(%rbp),%xmm1
movsd  0x762(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
addsd  (%rax),%xmm0
mov    -0x28(%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,-0x70(%rbp)
jmp    199b <cdflib_beta_rcomp1+0x7cb>
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x6f0(%rip),%xmm1
addsd  -0x68(%rbp),%xmm1
movsd  0x6e3(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
movsd  0x6ca(%rip),%xmm1
addsd  -0x68(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
addsd  (%rax),%xmm0
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x20(%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,-0x70(%rbp)
movsd  -0x70(%rbp),%xmm0
mov    -0x18(%rbp),%rax
divsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x60(%rbp),%xmm0
movaps 0x660(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x63c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    19eb <cdflib_beta_rcomp1+0x81b>
jmp    1a07 <cdflib_beta_rcomp1+0x837>
lea    -0x60(%rbp),%rdi
mov    $0x0,%al
call   1070 <cdflib_rlog1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1a40 <cdflib_beta_rcomp1+0x870>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
mov    -0x28(%rbp),%rax
movsd  (%rax),%xmm0
divsd  -0xa0(%rbp),%xmm0
ff
call   10e0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x70(%rbp),%xmm0
mov    -0x20(%rbp),%rax
divsd  (%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x60(%rbp),%xmm0
movaps 0x5d2(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  0x5ae(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1a79 <cdflib_beta_rcomp1+0x8a9>
jmp    1a95 <cdflib_beta_rcomp1+0x8c5>
lea    -0x60(%rbp),%rdi
mov    $0x0,%al
call   1070 <cdflib_rlog1@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
jmp    1ace <cdflib_beta_rcomp1+0x8fe>
movsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
mov    -0x30(%rbp),%rax
movsd  (%rax),%xmm0
divsd  -0xa8(%rbp),%xmm0
ff
call   10e0 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x110(%rbp),%xmm0
ff
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
movsd  -0x90(%rbp),%xmm2
ff
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm1
mulsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
mov    -0x10(%rbp),%rdi
lea    -0xd8(%rbp),%rsi
mov    $0x0,%al
call   10c0 <cdflib_esum@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
call   10f0 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  0x4cd(%rip),%xmm0
mulsd  %xmm1,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
mov    -0x18(%rbp),%rdi
mov    -0x20(%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  -0x118(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x120,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<cdflib_beta_rcomp1>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %r8,%r12
mov    %rcx,%rbx
mov    %rdx,%r13
mov    %rsi,%r15
mov    %rdi,%r14
movsd  (%rsi),%xmm0
movsd  (%rdx),%xmm1
mov    $0x2,%al
call   1040 <cdflib_fifdmin1@plt>
cvtsi2sd %eax,%xmm2
movsd  %xmm2,0x38(%rsp)
cmp    $0x7,%eax
jle    1268 <cdflib_beta_rcomp1+0x98>
movsd  (%r15),%xmm0
movsd  0x0(%r13),%xmm4
ucomisd %xmm4,%xmm0
jbe    12b4 <cdflib_beta_rcomp1+0xe4>
movapd %xmm4,%xmm1
divsd  %xmm0,%xmm1
movsd  0xdd8(%rip),%xmm2
addsd  %xmm1,%xmm2
movapd 0xe14(%rip),%xmm3
unpcklpd %xmm1,%xmm3
unpcklpd %xmm2,%xmm2
divpd  %xmm2,%xmm3
movapd %xmm0,%xmm2
addsd  %xmm4,%xmm2
xorpd  0xdd8(%rip),%xmm4
movapd %xmm4,%xmm1
mov    %r12,%rax
movapd %xmm2,%xmm4
jmp    12ec <cdflib_beta_rcomp1+0x11c>
movsd  (%rbx),%xmm0
ucomisd 0xd8c(%rip),%xmm0
jbe    134a <cdflib_beta_rcomp1+0x17a>
movsd  (%r12),%xmm1
ucomisd 0xd78(%rip),%xmm1
jbe    14a7 <cdflib_beta_rcomp1+0x2d7>
movapd %xmm2,0x40(%rsp)
call   10e0 <log@plt>
movsd  %xmm0,(%rsp)
movsd  (%r12),%xmm0
call   10e0 <log@plt>
movapd 0x40(%rsp),%xmm3
jmp    14de <cdflib_beta_rcomp1+0x30e>
movapd %xmm0,%xmm3
divsd  %xmm4,%xmm3
movsd  0xd44(%rip),%xmm1
addsd  %xmm3,%xmm1
shufpd $0x2,0xd6f(%rip),%xmm3
unpcklpd %xmm1,%xmm1
divpd  %xmm1,%xmm3
addsd  %xmm0,%xmm4
xorpd  0xd4b(%rip),%xmm4
movapd %xmm0,%xmm1
mov    %rbx,%rax
mulsd  (%rax),%xmm4
addsd  %xmm1,%xmm4
movapd 0xd34(%rip),%xmm1
movapd %xmm4,(%rsp)
xorpd  %xmm4,%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rsp)
movapd 0xd49(%rip),%xmm0
andpd  %xmm1,%xmm0
ucomisd 0xcf5(%rip),%xmm0
movapd %xmm3,0x40(%rsp)
jbe    1388 <cdflib_beta_rcomp1+0x1b8>
movsd  (%rbx),%xmm0
divsd  %xmm3,%xmm0
movapd %xmm1,0x60(%rsp)
call   10e0 <log@plt>
movapd 0x60(%rsp),%xmm1
subsd  %xmm0,%xmm1
jmp    139b <cdflib_beta_rcomp1+0x1cb>
movapd %xmm2,0x40(%rsp)
call   10e0 <log@plt>
movsd  %xmm0,(%rsp)
movsd  (%rbx),%xmm0
xorps  0xccb(%rip),%xmm0
movlps %xmm0,0x58(%rsp)
lea    0x58(%rsp),%rdi
xor    %eax,%eax
call   1030 <cdflib_alnrel@plt>
movapd 0x40(%rsp),%xmm3
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
jmp    14de <cdflib_beta_rcomp1+0x30e>
lea    0x20(%rsp),%rdi
xor    %eax,%eax
call   1070 <cdflib_rlog1@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  %xmm1,0x28(%rsp)
movapd (%rsp),%xmm2
divsd  0x0(%r13),%xmm2
movsd  %xmm2,0x20(%rsp)
movapd 0xca6(%rip),%xmm0
andpd  %xmm2,%xmm0
ucomisd 0xc52(%rip),%xmm0
jbe    13f7 <cdflib_beta_rcomp1+0x227>
movsd  (%r12),%xmm0
movapd 0x40(%rsp),%xmm1
unpckhpd %xmm1,%xmm1
divsd  %xmm1,%xmm0
movapd %xmm2,(%rsp)
call   10e0 <log@plt>
movapd (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x28(%rsp),%xmm0
jmp    1416 <cdflib_beta_rcomp1+0x246>
lea    0x20(%rsp),%rdi
xor    %eax,%eax
movapd %xmm1,0x60(%rsp)
call   1070 <cdflib_rlog1@plt>
movapd 0x60(%rsp),%xmm0
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
mulsd  0x0(%r13),%xmm1
mulsd  (%r15),%xmm0
addsd  %xmm1,%xmm0
xorpd  0xc03(%rip),%xmm0
movlpd %xmm0,0x30(%rsp)
lea    0x30(%rsp),%rsi
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <cdflib_esum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x18(%rsp)
movapd 0x40(%rsp),%xmm1
mulsd  0x0(%r13),%xmm1
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
movapd %xmm1,%xmm0
jb     146f <cdflib_beta_rcomp1+0x29f>
sqrtsd %xmm0,%xmm0
jmp    1474 <cdflib_beta_rcomp1+0x2a4>
call   10f0 <sqrt@plt>
mulsd  0xba4(%rip),%xmm0
mulsd  0x18(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    %r15,%rdi
mov    %r13,%rsi
xor    %eax,%eax
call   10a0 <cdflib_bcorr@plt>
neg    %eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
call   10b0 <exp@plt>
jmp    1597 <cdflib_beta_rcomp1+0x3c7>
xorpd  0xb81(%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   10e0 <log@plt>
movsd  0x38(%rsp),%xmm3
movsd  (%r15),%xmm2
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm0
movsd  (%rsp),%xmm4
mulsd  %xmm2,%xmm4
addsd  %xmm0,%xmm4
movsd  %xmm4,0x18(%rsp)
movsd  0xb00(%rip),%xmm0
ucomisd %xmm3,%xmm0
movsd  %xmm4,(%rsp)
jbe    159e <cdflib_beta_rcomp1+0x3ce>
movapd %xmm3,0x40(%rsp)
movapd %xmm2,%xmm0
mov    $0x2,%al
call   10d0 <cdflib_fifdmax1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x30(%rsp)
cmp    $0x7,%eax
jle    15e6 <cdflib_beta_rcomp1+0x416>
lea    0x38(%rsp),%rbx
mov    %rbx,%rdi
xor    %eax,%eax
call   1060 <cdflib_gamma_ln1@plt>
mov    %eax,%ebp
lea    0x30(%rsp),%rsi
mov    %rbx,%rdi
xor    %eax,%eax
call   1090 <cdflib_algdiv@plt>
add    %ebp,%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  %xmm0,(%rsp)
lea    0x20(%rsp),%rsi
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <cdflib_esum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  (%rsp),%xmm0
jmp    15d7 <cdflib_beta_rcomp1+0x407>
mov    %r15,%rdi
mov    %r13,%rsi
xor    %eax,%eax
call   1080 <cdflib_beta_log@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rsp)
lea    0x18(%rsp),%rsi
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <cdflib_esum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
add    $0x78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
cmp    $0x1,%eax
movapd %xmm0,0x60(%rsp)
jle    1649 <cdflib_beta_rcomp1+0x479>
lea    0x38(%rsp),%rdi
xor    %eax,%eax
call   1060 <cdflib_gamma_ln1@plt>
movapd 0x60(%rsp),%xmm5
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x9f8(%rip),%xmm2
addsd  %xmm5,%xmm2
cvttsd2si %xmm2,%eax
test   %eax,%eax
movsd  (%rsp),%xmm1
jle    175c <cdflib_beta_rcomp1+0x58c>
movsd  0x38(%rsp),%xmm4
cmp    $0x1,%eax
jne    16c9 <cdflib_beta_rcomp1+0x4f9>
movsd  0x9c4(%rip),%xmm0
jmp    1715 <cdflib_beta_rcomp1+0x545>
lea    0x18(%rsp),%rsi
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <cdflib_esum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
test   %eax,%eax
je     15d7 <cdflib_beta_rcomp1+0x407>
movsd  %xmm0,(%rsp)
movsd  (%r15),%xmm1
addsd  0x0(%r13),%xmm1
movsd  %xmm1,0x20(%rsp)
ucomisd 0x983(%rip),%xmm1
jbe    1832 <cdflib_beta_rcomp1+0x662>
movsd  0x97d(%rip),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x28(%rsp)
lea    0x28(%rsp),%rdi
xor    %eax,%eax
movsd  %xmm1,0x50(%rsp)
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x94a(%rip),%xmm0
divsd  0x50(%rsp),%xmm0
jmp    184d <cdflib_beta_rcomp1+0x67d>
mov    %eax,%ecx
and    $0xfffffffe,%ecx
movsd  0x932(%rip),%xmm0
movsd  0x932(%rip),%xmm1
xchg   %ax,%ax
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    16e0 <cdflib_beta_rcomp1+0x510>
test   $0x1,%al
je     1731 <cdflib_beta_rcomp1+0x561>
addsd  0x8ef(%rip),%xmm5
addsd  %xmm5,%xmm4
movapd %xmm5,%xmm1
divsd  %xmm4,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm5,0x30(%rsp)
call   10e0 <log@plt>
addsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x18(%rsp),%xmm1
movsd  0x30(%rsp),%xmm2
addsd  0x8b4(%rip),%xmm2
subsd  %xmm0,%xmm1
movsd  %xmm1,0x18(%rsp)
movsd  %xmm2,0x30(%rsp)
addsd  0x38(%rsp),%xmm2
movsd  %xmm2,0x20(%rsp)
ucomisd 0x888(%rip),%xmm2
jbe    17bb <cdflib_beta_rcomp1+0x5eb>
movsd  0x886(%rip),%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,0x28(%rsp)
lea    0x28(%rsp),%rdi
xor    %eax,%eax
movsd  %xmm2,(%rsp)
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x854(%rip),%xmm0
divsd  (%rsp),%xmm0
jmp    17d6 <cdflib_beta_rcomp1+0x606>
lea    0x20(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x832(%rip),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  %xmm0,(%rsp)
lea    0x18(%rsp),%rsi
mov    %r14,%rdi
xor    %eax,%eax
call   10c0 <cdflib_esum@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
lea    0x30(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x7e6(%rip),%xmm0
mulsd  (%rsp),%xmm0
divsd  0x40(%rsp),%xmm0
jmp    15d7 <cdflib_beta_rcomp1+0x407>
lea    0x20(%rsp),%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x7bb(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
mov    %r15,%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  0x79c(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  %xmm1,0x50(%rsp)
mov    %r13,%rdi
xor    %eax,%eax
call   1050 <cdflib_gam1@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x779(%rip),%xmm3
addsd  %xmm3,%xmm0
mulsd  0x50(%rsp),%xmm0
movapd 0x40(%rsp),%xmm2
unpcklpd %xmm2,%xmm0
movsd  0x18(%rsp),%xmm1
unpcklpd 0x60(%rsp),%xmm1
divpd  %xmm1,%xmm0
mulsd  %xmm0,%xmm2
mulsd  (%rsp),%xmm2
unpckhpd %xmm0,%xmm0
addsd  %xmm3,%xmm0
divsd  %xmm0,%xmm2
movapd %xmm2,%xmm0
jmp    15d7 <cdflib_beta_rcomp1+0x407>

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

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