\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\begin{array}{l}
\mathbf{if}\;\alpha \le 5.97676322155062718 \cdot 10^{170}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r136857 = alpha;
double r136858 = beta;
double r136859 = r136857 + r136858;
double r136860 = r136858 * r136857;
double r136861 = r136859 + r136860;
double r136862 = 1.0;
double r136863 = r136861 + r136862;
double r136864 = 2.0;
double r136865 = r136864 * r136862;
double r136866 = r136859 + r136865;
double r136867 = r136863 / r136866;
double r136868 = r136867 / r136866;
double r136869 = r136866 + r136862;
double r136870 = r136868 / r136869;
return r136870;
}
double f(double alpha, double beta) {
double r136871 = alpha;
double r136872 = 5.976763221550627e+170;
bool r136873 = r136871 <= r136872;
double r136874 = beta;
double r136875 = r136871 + r136874;
double r136876 = r136874 * r136871;
double r136877 = r136875 + r136876;
double r136878 = 1.0;
double r136879 = r136877 + r136878;
double r136880 = sqrt(r136879);
double r136881 = sqrt(r136880);
double r136882 = r136881 * r136881;
double r136883 = 1.0;
double r136884 = r136882 / r136883;
double r136885 = 2.0;
double r136886 = fma(r136878, r136885, r136875);
double r136887 = r136886 / r136880;
double r136888 = r136887 * r136886;
double r136889 = r136884 / r136888;
double r136890 = r136885 * r136878;
double r136891 = r136875 + r136890;
double r136892 = r136891 + r136878;
double r136893 = r136889 / r136892;
double r136894 = 0.0;
double r136895 = r136894 / r136892;
double r136896 = r136873 ? r136893 : r136895;
return r136896;
}



Bits error versus alpha



Bits error versus beta
if alpha < 5.976763221550627e+170Initial program 1.4
rmApplied *-un-lft-identity1.4
Applied add-sqr-sqrt1.5
Applied times-frac1.5
Applied associate-/l*1.5
Simplified1.5
rmApplied add-sqr-sqrt1.5
Applied sqrt-prod1.6
if 5.976763221550627e+170 < alpha Initial program 17.8
rmApplied *-un-lft-identity17.8
Applied add-sqr-sqrt17.8
Applied times-frac17.8
Applied associate-/l*17.8
Simplified17.8
rmApplied add-sqr-sqrt17.8
Applied sqrt-prod17.8
Taylor expanded around inf 6.8
Final simplification2.4
herbie shell --seed 2020065 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))