\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\beta \le 8.004231800207308 \cdot 10^{+201}:\\
\;\;\;\;\frac{\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2}}}{\frac{\left(\alpha + \beta\right) + 2}{\frac{\mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right) + 1.0}{\sqrt{\left(\alpha + \beta\right) + 2}}}}}{\left(\left(\alpha + \beta\right) + 2\right) + 1.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2}}}{\mathsf{fma}\left(6.0, \frac{\alpha}{\sqrt{8}}, \mathsf{fma}\left(6.0, \sqrt{\frac{1}{8}} \cdot \beta, \sqrt{8} \cdot 1.0\right)\right) - 1.0 \cdot \left(\beta \cdot \sqrt{8} + \alpha \cdot \sqrt{8}\right)}}{\left(\left(\alpha + \beta\right) + 2\right) + 1.0}\\
\end{array}double f(double alpha, double beta) {
double r4645940 = alpha;
double r4645941 = beta;
double r4645942 = r4645940 + r4645941;
double r4645943 = r4645941 * r4645940;
double r4645944 = r4645942 + r4645943;
double r4645945 = 1.0;
double r4645946 = r4645944 + r4645945;
double r4645947 = 2.0;
double r4645948 = 1.0;
double r4645949 = r4645947 * r4645948;
double r4645950 = r4645942 + r4645949;
double r4645951 = r4645946 / r4645950;
double r4645952 = r4645951 / r4645950;
double r4645953 = r4645950 + r4645945;
double r4645954 = r4645952 / r4645953;
return r4645954;
}
double f(double alpha, double beta) {
double r4645955 = beta;
double r4645956 = 8.004231800207308e+201;
bool r4645957 = r4645955 <= r4645956;
double r4645958 = 1.0;
double r4645959 = alpha;
double r4645960 = r4645959 + r4645955;
double r4645961 = 2.0;
double r4645962 = r4645960 + r4645961;
double r4645963 = sqrt(r4645962);
double r4645964 = r4645958 / r4645963;
double r4645965 = fma(r4645955, r4645959, r4645960);
double r4645966 = 1.0;
double r4645967 = r4645965 + r4645966;
double r4645968 = r4645967 / r4645963;
double r4645969 = r4645962 / r4645968;
double r4645970 = r4645964 / r4645969;
double r4645971 = r4645962 + r4645966;
double r4645972 = r4645970 / r4645971;
double r4645973 = 6.0;
double r4645974 = 8.0;
double r4645975 = sqrt(r4645974);
double r4645976 = r4645959 / r4645975;
double r4645977 = 0.125;
double r4645978 = sqrt(r4645977);
double r4645979 = r4645978 * r4645955;
double r4645980 = r4645975 * r4645966;
double r4645981 = fma(r4645973, r4645979, r4645980);
double r4645982 = fma(r4645973, r4645976, r4645981);
double r4645983 = r4645955 * r4645975;
double r4645984 = r4645959 * r4645975;
double r4645985 = r4645983 + r4645984;
double r4645986 = r4645966 * r4645985;
double r4645987 = r4645982 - r4645986;
double r4645988 = r4645964 / r4645987;
double r4645989 = r4645988 / r4645971;
double r4645990 = r4645957 ? r4645972 : r4645989;
return r4645990;
}



Bits error versus alpha



Bits error versus beta
if beta < 8.004231800207308e+201Initial program 1.9
Simplified1.9
rmApplied add-sqr-sqrt2.4
Applied *-un-lft-identity2.4
Applied times-frac2.4
Applied associate-/l*2.0
if 8.004231800207308e+201 < beta Initial program 19.0
Simplified19.0
rmApplied add-sqr-sqrt19.0
Applied *-un-lft-identity19.0
Applied times-frac19.0
Applied associate-/l*19.0
Taylor expanded around 0 6.5
Simplified6.5
Final simplification2.5
herbie shell --seed 2019152 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))