\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 410714263654.793396:\\
\;\;\;\;\frac{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}, \left(\alpha + \beta\right) - 2, -1 \cdot 1\right)\right) - \mathsf{fma}\left(-1, 1, 1 \cdot 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r94926 = beta;
double r94927 = alpha;
double r94928 = r94926 - r94927;
double r94929 = r94927 + r94926;
double r94930 = 2.0;
double r94931 = r94929 + r94930;
double r94932 = r94928 / r94931;
double r94933 = 1.0;
double r94934 = r94932 + r94933;
double r94935 = r94934 / r94930;
return r94935;
}
double f(double alpha, double beta) {
double r94936 = alpha;
double r94937 = 410714263654.7934;
bool r94938 = r94936 <= r94937;
double r94939 = beta;
double r94940 = r94936 + r94939;
double r94941 = 2.0;
double r94942 = r94940 + r94941;
double r94943 = r94939 / r94942;
double r94944 = r94940 * r94940;
double r94945 = r94941 * r94941;
double r94946 = r94944 - r94945;
double r94947 = r94936 / r94946;
double r94948 = r94940 - r94941;
double r94949 = 1.0;
double r94950 = 1.0;
double r94951 = r94949 * r94950;
double r94952 = -r94951;
double r94953 = fma(r94947, r94948, r94952);
double r94954 = r94943 - r94953;
double r94955 = -r94949;
double r94956 = fma(r94955, r94950, r94951);
double r94957 = r94954 - r94956;
double r94958 = r94957 / r94941;
double r94959 = 4.0;
double r94960 = 2.0;
double r94961 = pow(r94936, r94960);
double r94962 = r94950 / r94961;
double r94963 = r94950 / r94936;
double r94964 = 8.0;
double r94965 = 3.0;
double r94966 = pow(r94936, r94965);
double r94967 = r94950 / r94966;
double r94968 = r94964 * r94967;
double r94969 = fma(r94941, r94963, r94968);
double r94970 = -r94969;
double r94971 = fma(r94959, r94962, r94970);
double r94972 = r94943 - r94971;
double r94973 = r94972 / r94941;
double r94974 = r94938 ? r94958 : r94973;
return r94974;
}



Bits error versus alpha



Bits error versus beta
if alpha < 410714263654.7934Initial program 0.2
rmApplied div-sub0.2
Applied associate-+l-0.2
rmApplied *-un-lft-identity0.2
Applied flip-+0.2
Applied associate-/r/0.2
Applied prod-diff0.2
Applied associate--r+0.2
if 410714263654.7934 < alpha Initial program 50.2
rmApplied div-sub50.2
Applied associate-+l-48.6
Taylor expanded around inf 18.1
Simplified18.1
Final simplification6.0
herbie shell --seed 2020064 +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))