\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 4.51984557780486937 \cdot 10^{187}:\\
\;\;\;\;\frac{\frac{\sqrt{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\beta + \left(\alpha + \mathsf{fma}\left(1, 2, 1\right)\right)}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}} \cdot \sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\alpha, 0.25, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right) \cdot \frac{\frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\end{array}double f(double alpha, double beta) {
double r76938 = alpha;
double r76939 = beta;
double r76940 = r76938 + r76939;
double r76941 = r76939 * r76938;
double r76942 = r76940 + r76941;
double r76943 = 1.0;
double r76944 = r76942 + r76943;
double r76945 = 2.0;
double r76946 = r76945 * r76943;
double r76947 = r76940 + r76946;
double r76948 = r76944 / r76947;
double r76949 = r76948 / r76947;
double r76950 = r76947 + r76943;
double r76951 = r76949 / r76950;
return r76951;
}
double f(double alpha, double beta) {
double r76952 = alpha;
double r76953 = 4.519845577804869e+187;
bool r76954 = r76952 <= r76953;
double r76955 = beta;
double r76956 = r76952 + r76955;
double r76957 = r76955 * r76952;
double r76958 = r76956 + r76957;
double r76959 = 1.0;
double r76960 = r76958 + r76959;
double r76961 = 2.0;
double r76962 = r76961 * r76959;
double r76963 = r76956 + r76962;
double r76964 = r76960 / r76963;
double r76965 = sqrt(r76964);
double r76966 = sqrt(r76963);
double r76967 = r76965 / r76966;
double r76968 = fma(r76959, r76961, r76959);
double r76969 = r76952 + r76968;
double r76970 = r76955 + r76969;
double r76971 = r76970 / r76965;
double r76972 = r76971 * r76966;
double r76973 = r76967 / r76972;
double r76974 = 0.25;
double r76975 = 0.5;
double r76976 = fma(r76955, r76974, r76975);
double r76977 = fma(r76952, r76974, r76976);
double r76978 = 1.0;
double r76979 = r76963 + r76959;
double r76980 = r76978 / r76979;
double r76981 = fma(r76959, r76961, r76956);
double r76982 = r76980 / r76981;
double r76983 = r76977 * r76982;
double r76984 = r76954 ? r76973 : r76983;
return r76984;
}



Bits error versus alpha



Bits error versus beta
if alpha < 4.519845577804869e+187Initial program 1.8
rmApplied add-sqr-sqrt2.3
Applied add-sqr-sqrt1.9
Applied times-frac1.9
Applied associate-/l*1.9
Simplified1.9
if 4.519845577804869e+187 < alpha Initial program 16.9
rmApplied *-un-lft-identity16.9
Applied div-inv16.9
Applied times-frac17.2
Simplified17.2
Simplified17.2
Taylor expanded around 0 6.3
Simplified6.3
Final simplification2.5
herbie shell --seed 2020035 +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)))