\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{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r101655 = beta;
double r101656 = alpha;
double r101657 = r101655 - r101656;
double r101658 = r101656 + r101655;
double r101659 = 2.0;
double r101660 = r101658 + r101659;
double r101661 = r101657 / r101660;
double r101662 = 1.0;
double r101663 = r101661 + r101662;
double r101664 = r101663 / r101659;
return r101664;
}
double f(double alpha, double beta) {
double r101665 = alpha;
double r101666 = 1015227874.2528594;
bool r101667 = r101665 <= r101666;
double r101668 = beta;
double r101669 = r101665 + r101668;
double r101670 = 2.0;
double r101671 = r101669 + r101670;
double r101672 = r101668 / r101671;
double r101673 = 3.0;
double r101674 = pow(r101672, r101673);
double r101675 = r101665 / r101671;
double r101676 = 1.0;
double r101677 = r101675 - r101676;
double r101678 = pow(r101677, r101673);
double r101679 = r101674 - r101678;
double r101680 = log(r101679);
double r101681 = r101677 + r101672;
double r101682 = r101677 * r101681;
double r101683 = fma(r101672, r101672, r101682);
double r101684 = log(r101683);
double r101685 = r101680 - r101684;
double r101686 = exp(r101685);
double r101687 = r101686 / r101670;
double r101688 = 4.0;
double r101689 = r101665 * r101665;
double r101690 = r101688 / r101689;
double r101691 = 8.0;
double r101692 = pow(r101665, r101673);
double r101693 = r101691 / r101692;
double r101694 = r101690 - r101693;
double r101695 = r101670 / r101665;
double r101696 = r101694 - r101695;
double r101697 = r101672 - r101696;
double r101698 = r101697 / r101670;
double r101699 = r101667 ? r101687 : r101698;
return r101699;
}



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))