\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 6.48438097382688997 \cdot 10^{29}:\\
\;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}^{3}}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r113710 = beta;
double r113711 = alpha;
double r113712 = r113710 - r113711;
double r113713 = r113711 + r113710;
double r113714 = 2.0;
double r113715 = r113713 + r113714;
double r113716 = r113712 / r113715;
double r113717 = 1.0;
double r113718 = r113716 + r113717;
double r113719 = r113718 / r113714;
return r113719;
}
double f(double alpha, double beta) {
double r113720 = alpha;
double r113721 = 6.48438097382689e+29;
bool r113722 = r113720 <= r113721;
double r113723 = beta;
double r113724 = r113720 + r113723;
double r113725 = 2.0;
double r113726 = r113724 + r113725;
double r113727 = r113723 / r113726;
double r113728 = r113720 / r113726;
double r113729 = 1.0;
double r113730 = r113728 - r113729;
double r113731 = r113727 - r113730;
double r113732 = log(r113731);
double r113733 = 3.0;
double r113734 = pow(r113732, r113733);
double r113735 = cbrt(r113734);
double r113736 = exp(r113735);
double r113737 = r113736 / r113725;
double r113738 = 4.0;
double r113739 = r113720 * r113720;
double r113740 = r113738 / r113739;
double r113741 = r113725 / r113720;
double r113742 = r113740 - r113741;
double r113743 = 8.0;
double r113744 = pow(r113720, r113733);
double r113745 = r113743 / r113744;
double r113746 = r113742 - r113745;
double r113747 = r113727 - r113746;
double r113748 = r113747 / r113725;
double r113749 = r113722 ? r113737 : r113748;
return r113749;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 6.48438097382689e+29Initial program 1.4
rmApplied div-sub1.4
Applied associate-+l-1.4
rmApplied add-exp-log1.4
rmApplied add-cbrt-cube1.4
Simplified1.4
if 6.48438097382689e+29 < alpha Initial program 52.1
rmApplied div-sub52.1
Applied associate-+l-50.4
Taylor expanded around inf 17.7
Simplified17.7
Final simplification6.2
herbie shell --seed 2020043
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))