\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 2.1159100932126255 \cdot 10^{+26}:\\
\;\;\;\;e^{\log \left(\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)}{2.0}\right)}\\
\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 r2572694 = beta;
double r2572695 = alpha;
double r2572696 = r2572694 - r2572695;
double r2572697 = r2572695 + r2572694;
double r2572698 = 2.0;
double r2572699 = r2572697 + r2572698;
double r2572700 = r2572696 / r2572699;
double r2572701 = 1.0;
double r2572702 = r2572700 + r2572701;
double r2572703 = r2572702 / r2572698;
return r2572703;
}
double f(double alpha, double beta) {
double r2572704 = alpha;
double r2572705 = 2.1159100932126255e+26;
bool r2572706 = r2572704 <= r2572705;
double r2572707 = beta;
double r2572708 = 2.0;
double r2572709 = r2572707 + r2572704;
double r2572710 = r2572708 + r2572709;
double r2572711 = r2572707 / r2572710;
double r2572712 = r2572704 / r2572710;
double r2572713 = 1.0;
double r2572714 = r2572712 - r2572713;
double r2572715 = r2572711 - r2572714;
double r2572716 = r2572715 / r2572708;
double r2572717 = log(r2572716);
double r2572718 = exp(r2572717);
double r2572719 = cbrt(r2572707);
double r2572720 = r2572719 * r2572719;
double r2572721 = cbrt(r2572710);
double r2572722 = r2572721 * r2572721;
double r2572723 = r2572720 / r2572722;
double r2572724 = r2572719 / r2572721;
double r2572725 = 4.0;
double r2572726 = r2572725 / r2572704;
double r2572727 = r2572726 / r2572704;
double r2572728 = 8.0;
double r2572729 = r2572728 / r2572704;
double r2572730 = r2572704 * r2572704;
double r2572731 = r2572729 / r2572730;
double r2572732 = r2572727 - r2572731;
double r2572733 = r2572708 / r2572704;
double r2572734 = r2572732 - r2572733;
double r2572735 = -r2572734;
double r2572736 = fma(r2572723, r2572724, r2572735);
double r2572737 = r2572736 / r2572708;
double r2572738 = r2572706 ? r2572718 : r2572737;
return r2572738;
}



Bits error versus alpha



Bits error versus beta
if alpha < 2.1159100932126255e+26Initial program 1.2
rmApplied div-sub1.2
Applied associate-+l-1.2
rmApplied add-exp-log1.2
if 2.1159100932126255e+26 < alpha Initial program 50.4
rmApplied div-sub50.4
Applied associate-+l-48.8
rmApplied add-cube-cbrt48.9
Applied add-cube-cbrt48.8
Applied times-frac48.8
Applied fma-neg48.8
Taylor expanded around inf 18.3
Simplified18.3
Final simplification6.4
herbie shell --seed 2019152 +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))