\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 -0.9999999999946434:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{{\alpha}^{2}} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1} \cdot \sqrt[3]{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}\right) \cdot \sqrt[3]{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}}{2}\\
\end{array}double f(double alpha, double beta) {
double r103672 = beta;
double r103673 = alpha;
double r103674 = r103672 - r103673;
double r103675 = r103673 + r103672;
double r103676 = 2.0;
double r103677 = r103675 + r103676;
double r103678 = r103674 / r103677;
double r103679 = 1.0;
double r103680 = r103678 + r103679;
double r103681 = r103680 / r103676;
return r103681;
}
double f(double alpha, double beta) {
double r103682 = beta;
double r103683 = alpha;
double r103684 = r103682 - r103683;
double r103685 = r103683 + r103682;
double r103686 = 2.0;
double r103687 = r103685 + r103686;
double r103688 = r103684 / r103687;
double r103689 = -0.9999999999946434;
bool r103690 = r103688 <= r103689;
double r103691 = r103682 / r103687;
double r103692 = 4.0;
double r103693 = 2.0;
double r103694 = pow(r103683, r103693);
double r103695 = r103692 / r103694;
double r103696 = 8.0;
double r103697 = 3.0;
double r103698 = pow(r103683, r103697);
double r103699 = r103696 / r103698;
double r103700 = r103695 - r103699;
double r103701 = r103686 / r103683;
double r103702 = r103700 - r103701;
double r103703 = r103691 - r103702;
double r103704 = r103703 / r103686;
double r103705 = 1.0;
double r103706 = r103688 + r103705;
double r103707 = cbrt(r103706);
double r103708 = r103707 * r103707;
double r103709 = r103708 * r103707;
double r103710 = r103709 / r103686;
double r103711 = r103690 ? r103704 : r103710;
return r103711;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999999999946434Initial program 60.3
rmApplied div-sub60.3
Applied associate-+l-58.4
Taylor expanded around inf 10.7
Simplified10.7
if -0.9999999999946434 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.3
rmApplied add-cube-cbrt0.9
Final simplification3.5
herbie shell --seed 2019198
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))