\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1634825657092984630335766528:\\
\;\;\;\;\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \mathsf{fma}\left(\frac{\frac{\alpha}{2 + \left(\beta + \alpha\right)}}{2}, 1, \log \left(\sqrt{e^{\frac{\alpha}{2 + \left(\beta + \alpha\right)}}}\right) - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \left(\left(\frac{\frac{4}{\alpha}}{\alpha} - \frac{2}{\alpha}\right) - \frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r4005864 = beta;
double r4005865 = alpha;
double r4005866 = r4005864 - r4005865;
double r4005867 = r4005865 + r4005864;
double r4005868 = 2.0;
double r4005869 = r4005867 + r4005868;
double r4005870 = r4005866 / r4005869;
double r4005871 = 1.0;
double r4005872 = r4005870 + r4005871;
double r4005873 = r4005872 / r4005868;
return r4005873;
}
double f(double alpha, double beta) {
double r4005874 = alpha;
double r4005875 = 1.6348256570929846e+27;
bool r4005876 = r4005874 <= r4005875;
double r4005877 = beta;
double r4005878 = 2.0;
double r4005879 = r4005877 + r4005874;
double r4005880 = r4005878 + r4005879;
double r4005881 = r4005877 / r4005880;
double r4005882 = r4005874 / r4005880;
double r4005883 = 2.0;
double r4005884 = r4005882 / r4005883;
double r4005885 = 1.0;
double r4005886 = exp(r4005882);
double r4005887 = sqrt(r4005886);
double r4005888 = log(r4005887);
double r4005889 = 1.0;
double r4005890 = r4005888 - r4005889;
double r4005891 = fma(r4005884, r4005885, r4005890);
double r4005892 = r4005881 - r4005891;
double r4005893 = r4005892 / r4005878;
double r4005894 = 4.0;
double r4005895 = r4005894 / r4005874;
double r4005896 = r4005895 / r4005874;
double r4005897 = r4005878 / r4005874;
double r4005898 = r4005896 - r4005897;
double r4005899 = 8.0;
double r4005900 = r4005874 * r4005874;
double r4005901 = r4005874 * r4005900;
double r4005902 = r4005899 / r4005901;
double r4005903 = r4005898 - r4005902;
double r4005904 = r4005881 - r4005903;
double r4005905 = r4005904 / r4005878;
double r4005906 = r4005876 ? r4005893 : r4005905;
return r4005906;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.6348256570929846e+27Initial program 1.1
rmApplied div-sub1.1
Applied associate-+l-1.1
rmApplied add-log-exp1.1
rmApplied add-sqr-sqrt1.1
Applied log-prod1.1
Applied associate--l+1.1
rmApplied *-un-lft-identity1.1
Applied exp-prod1.1
Applied sqrt-pow11.1
Applied log-pow1.1
Applied fma-def1.1
if 1.6348256570929846e+27 < alpha Initial program 50.4
rmApplied div-sub50.3
Applied associate-+l-48.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))