\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^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\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 r149848 = beta;
double r149849 = alpha;
double r149850 = r149848 - r149849;
double r149851 = r149849 + r149848;
double r149852 = 2.0;
double r149853 = r149851 + r149852;
double r149854 = r149850 / r149853;
double r149855 = 1.0;
double r149856 = r149854 + r149855;
double r149857 = r149856 / r149852;
return r149857;
}
double f(double alpha, double beta) {
double r149858 = alpha;
double r149859 = 6.48438097382689e+29;
bool r149860 = r149858 <= r149859;
double r149861 = beta;
double r149862 = r149858 + r149861;
double r149863 = 2.0;
double r149864 = r149862 + r149863;
double r149865 = r149861 / r149864;
double r149866 = 1.0;
double r149867 = r149866 / r149864;
double r149868 = 1.0;
double r149869 = -r149868;
double r149870 = fma(r149858, r149867, r149869);
double r149871 = r149865 - r149870;
double r149872 = log(r149871);
double r149873 = exp(r149872);
double r149874 = r149873 / r149863;
double r149875 = 4.0;
double r149876 = r149858 * r149858;
double r149877 = r149875 / r149876;
double r149878 = r149863 / r149858;
double r149879 = r149877 - r149878;
double r149880 = 8.0;
double r149881 = 3.0;
double r149882 = pow(r149858, r149881);
double r149883 = r149880 / r149882;
double r149884 = r149879 - r149883;
double r149885 = r149865 - r149884;
double r149886 = r149885 / r149863;
double r149887 = r149860 ? r149874 : r149886;
return r149887;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.48438097382689e+29Initial program 1.4
rmApplied div-sub1.4
Applied associate-+l-1.4
rmApplied add-exp-log1.4
rmApplied div-inv1.4
Applied fma-neg1.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 +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))