\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1634825657092984630335766528:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - 1\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\frac{\frac{4}{\alpha}}{\alpha} - \left(\frac{2}{\alpha} + \frac{8}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r143732 = beta;
double r143733 = alpha;
double r143734 = r143732 - r143733;
double r143735 = r143733 + r143732;
double r143736 = 2.0;
double r143737 = r143735 + r143736;
double r143738 = r143734 / r143737;
double r143739 = 1.0;
double r143740 = r143738 + r143739;
double r143741 = r143740 / r143736;
return r143741;
}
double f(double alpha, double beta) {
double r143742 = alpha;
double r143743 = 1.6348256570929846e+27;
bool r143744 = r143742 <= r143743;
double r143745 = beta;
double r143746 = r143745 + r143742;
double r143747 = 2.0;
double r143748 = r143746 + r143747;
double r143749 = r143745 / r143748;
double r143750 = r143742 / r143748;
double r143751 = 1.0;
double r143752 = r143750 - r143751;
double r143753 = r143749 - r143752;
double r143754 = log(r143753);
double r143755 = exp(r143754);
double r143756 = r143755 / r143747;
double r143757 = 4.0;
double r143758 = r143757 / r143742;
double r143759 = r143758 / r143742;
double r143760 = r143747 / r143742;
double r143761 = 8.0;
double r143762 = 3.0;
double r143763 = pow(r143742, r143762);
double r143764 = r143761 / r143763;
double r143765 = r143760 + r143764;
double r143766 = r143759 - r143765;
double r143767 = r143749 - r143766;
double r143768 = r143767 / r143747;
double r143769 = r143744 ? r143756 : r143768;
return r143769;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.6348256570929846e+27Initial program 1.1
rmApplied div-sub1.1
Applied associate-+l-1.1
Simplified1.1
rmApplied add-exp-log1.1
Simplified1.1
if 1.6348256570929846e+27 < alpha Initial program 50.4
rmApplied div-sub50.3
Applied associate-+l-48.7
Simplified48.7
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.2
herbie shell --seed 2019179 +o rules:numerics
(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))