\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1015227874.2528594:\\
\;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\mathsf{fma}\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}, \frac{\beta}{\left(\alpha + \beta\right) + 2}, \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2}\right)\right)\right)}}{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 r118763 = beta;
double r118764 = alpha;
double r118765 = r118763 - r118764;
double r118766 = r118764 + r118763;
double r118767 = 2.0;
double r118768 = r118766 + r118767;
double r118769 = r118765 / r118768;
double r118770 = 1.0;
double r118771 = r118769 + r118770;
double r118772 = r118771 / r118767;
return r118772;
}
double f(double alpha, double beta) {
double r118773 = alpha;
double r118774 = 1015227874.2528594;
bool r118775 = r118773 <= r118774;
double r118776 = beta;
double r118777 = r118773 + r118776;
double r118778 = 2.0;
double r118779 = r118777 + r118778;
double r118780 = r118776 / r118779;
double r118781 = 3.0;
double r118782 = pow(r118780, r118781);
double r118783 = r118773 / r118779;
double r118784 = 1.0;
double r118785 = r118783 - r118784;
double r118786 = pow(r118785, r118781);
double r118787 = r118782 - r118786;
double r118788 = log(r118787);
double r118789 = r118785 + r118780;
double r118790 = r118785 * r118789;
double r118791 = fma(r118780, r118780, r118790);
double r118792 = log(r118791);
double r118793 = r118788 - r118792;
double r118794 = exp(r118793);
double r118795 = r118794 / r118778;
double r118796 = 4.0;
double r118797 = r118773 * r118773;
double r118798 = r118796 / r118797;
double r118799 = r118778 / r118773;
double r118800 = r118798 - r118799;
double r118801 = 8.0;
double r118802 = pow(r118773, r118781);
double r118803 = r118801 / r118802;
double r118804 = r118800 - r118803;
double r118805 = r118780 - r118804;
double r118806 = r118805 / r118778;
double r118807 = r118775 ? r118795 : r118806;
return r118807;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1015227874.2528594Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-exp-log0.1
rmApplied flip3--0.1
Applied log-div0.1
Simplified0.1
if 1015227874.2528594 < alpha Initial program 50.3
rmApplied div-sub50.3
Applied associate-+l-48.6
Taylor expanded around inf 18.7
Simplified18.7
Final simplification6.0
herbie shell --seed 2020047 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))