\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} \le -1:\\
\;\;\;\;\frac{\left(\sqrt[3]{\frac{\beta}{\left(\alpha + \beta\right) + 2}} \cdot \sqrt[3]{\frac{\beta}{\left(\alpha + \beta\right) + 2}}\right) \cdot \sqrt[3]{\frac{\beta}{\left(\alpha + \beta\right) + 2}} - \left(\frac{1}{{\alpha}^{2}} \cdot \left(4 - \frac{8}{\alpha}\right) + \frac{-2}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r63619 = beta;
double r63620 = alpha;
double r63621 = r63619 - r63620;
double r63622 = r63620 + r63619;
double r63623 = 2.0;
double r63624 = r63622 + r63623;
double r63625 = r63621 / r63624;
double r63626 = 1.0;
double r63627 = r63625 + r63626;
double r63628 = r63627 / r63623;
return r63628;
}
double f(double alpha, double beta) {
double r63629 = beta;
double r63630 = alpha;
double r63631 = r63629 - r63630;
double r63632 = r63630 + r63629;
double r63633 = 2.0;
double r63634 = r63632 + r63633;
double r63635 = r63631 / r63634;
double r63636 = -1.0;
bool r63637 = r63635 <= r63636;
double r63638 = r63629 / r63634;
double r63639 = cbrt(r63638);
double r63640 = r63639 * r63639;
double r63641 = r63640 * r63639;
double r63642 = 1.0;
double r63643 = 2.0;
double r63644 = pow(r63630, r63643);
double r63645 = r63642 / r63644;
double r63646 = 4.0;
double r63647 = 8.0;
double r63648 = r63647 / r63630;
double r63649 = r63646 - r63648;
double r63650 = r63645 * r63649;
double r63651 = -r63633;
double r63652 = r63651 / r63630;
double r63653 = r63650 + r63652;
double r63654 = r63641 - r63653;
double r63655 = r63654 / r63633;
double r63656 = 1.0;
double r63657 = r63635 + r63656;
double r63658 = exp(r63657);
double r63659 = log(r63658);
double r63660 = r63659 / r63633;
double r63661 = r63637 ? r63655 : r63660;
return r63661;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -1.0Initial program 60.6
rmApplied div-sub60.6
Applied associate-+l-58.7
rmApplied add-cube-cbrt58.7
Taylor expanded around inf 10.6
Simplified10.6
if -1.0 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.5
Applied sum-log0.6
Simplified0.6
Final simplification3.1
herbie shell --seed 2019291
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))