\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999999999999575:\\
\;\;\;\;\frac{\frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2.0}} \cdot \frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2.0} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2.0}} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha}\right)\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;{e}^{\left(\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r9807974 = beta;
double r9807975 = alpha;
double r9807976 = r9807974 - r9807975;
double r9807977 = r9807975 + r9807974;
double r9807978 = 2.0;
double r9807979 = r9807977 + r9807978;
double r9807980 = r9807976 / r9807979;
double r9807981 = 1.0;
double r9807982 = r9807980 + r9807981;
double r9807983 = r9807982 / r9807978;
return r9807983;
}
double f(double alpha, double beta) {
double r9807984 = beta;
double r9807985 = alpha;
double r9807986 = r9807984 - r9807985;
double r9807987 = r9807985 + r9807984;
double r9807988 = 2.0;
double r9807989 = r9807987 + r9807988;
double r9807990 = r9807986 / r9807989;
double r9807991 = -0.9999999999999575;
bool r9807992 = r9807990 <= r9807991;
double r9807993 = cbrt(r9807984);
double r9807994 = cbrt(r9807989);
double r9807995 = r9807993 / r9807994;
double r9807996 = r9807993 * r9807993;
double r9807997 = r9807994 * r9807994;
double r9807998 = r9807996 / r9807997;
double r9807999 = r9807995 * r9807998;
double r9808000 = 4.0;
double r9808001 = r9807985 * r9807985;
double r9808002 = r9808000 / r9808001;
double r9808003 = r9807988 / r9807985;
double r9808004 = 8.0;
double r9808005 = r9808004 / r9808001;
double r9808006 = r9808005 / r9807985;
double r9808007 = r9808003 + r9808006;
double r9808008 = r9808002 - r9808007;
double r9808009 = r9807999 - r9808008;
double r9808010 = r9808009 / r9807988;
double r9808011 = exp(1.0);
double r9808012 = r9807984 / r9807989;
double r9808013 = r9807985 / r9807989;
double r9808014 = 1.0;
double r9808015 = r9808013 - r9808014;
double r9808016 = r9808012 - r9808015;
double r9808017 = r9808016 / r9807988;
double r9808018 = log(r9808017);
double r9808019 = pow(r9808011, r9808018);
double r9808020 = r9807992 ? r9808010 : r9808019;
return r9808020;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999999999999575Initial program 60.5
rmApplied div-sub60.5
Applied associate-+l-58.5
rmApplied add-cube-cbrt58.5
Applied add-cube-cbrt58.5
Applied times-frac58.5
Taylor expanded around -inf 11.9
Simplified11.9
if -0.9999999999999575 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.4
rmApplied div-sub0.4
Applied associate-+l-0.4
rmApplied add-exp-log0.4
rmApplied pow10.4
Applied log-pow0.4
Applied exp-prod0.4
Simplified0.4
Final simplification3.5
herbie shell --seed 2019121 +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))