\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 7.41319761099139 \cdot 10^{+16}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{2.0 + \left(\beta + \alpha\right)} \cdot \sqrt[3]{2.0 + \left(\beta + \alpha\right)}}, \frac{\sqrt[3]{\beta}}{\sqrt[3]{2.0 + \left(\beta + \alpha\right)}}, -\left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right) - \frac{2.0}{\alpha}\right)\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r3561412 = beta;
double r3561413 = alpha;
double r3561414 = r3561412 - r3561413;
double r3561415 = r3561413 + r3561412;
double r3561416 = 2.0;
double r3561417 = r3561415 + r3561416;
double r3561418 = r3561414 / r3561417;
double r3561419 = 1.0;
double r3561420 = r3561418 + r3561419;
double r3561421 = r3561420 / r3561416;
return r3561421;
}
double f(double alpha, double beta) {
double r3561422 = alpha;
double r3561423 = 7.41319761099139e+16;
bool r3561424 = r3561422 <= r3561423;
double r3561425 = beta;
double r3561426 = 2.0;
double r3561427 = r3561425 + r3561422;
double r3561428 = r3561426 + r3561427;
double r3561429 = r3561425 / r3561428;
double r3561430 = r3561422 / r3561428;
double r3561431 = 1.0;
double r3561432 = r3561430 - r3561431;
double r3561433 = r3561429 - r3561432;
double r3561434 = log(r3561433);
double r3561435 = exp(r3561434);
double r3561436 = r3561435 / r3561426;
double r3561437 = cbrt(r3561425);
double r3561438 = r3561437 * r3561437;
double r3561439 = cbrt(r3561428);
double r3561440 = r3561439 * r3561439;
double r3561441 = r3561438 / r3561440;
double r3561442 = r3561437 / r3561439;
double r3561443 = 4.0;
double r3561444 = r3561443 / r3561422;
double r3561445 = r3561444 / r3561422;
double r3561446 = 8.0;
double r3561447 = r3561446 / r3561422;
double r3561448 = r3561422 * r3561422;
double r3561449 = r3561447 / r3561448;
double r3561450 = r3561445 - r3561449;
double r3561451 = r3561426 / r3561422;
double r3561452 = r3561450 - r3561451;
double r3561453 = -r3561452;
double r3561454 = fma(r3561441, r3561442, r3561453);
double r3561455 = r3561454 / r3561426;
double r3561456 = r3561424 ? r3561436 : r3561455;
return r3561456;
}



Bits error versus alpha



Bits error versus beta
if alpha < 7.41319761099139e+16Initial program 0.5
rmApplied div-sub0.5
Applied associate-+l-0.5
rmApplied add-exp-log0.5
if 7.41319761099139e+16 < alpha Initial program 49.8
rmApplied div-sub49.8
Applied associate-+l-48.4
rmApplied add-cube-cbrt48.6
Applied add-cube-cbrt48.4
Applied times-frac48.4
Applied fma-neg48.4
Taylor expanded around -inf 17.7
Simplified17.7
Final simplification6.0
herbie shell --seed 2019149 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))