\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999439615156119:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \mathsf{fma}\left(\left(\frac{-1}{\alpha}\right), 2.0, \left(\mathsf{fma}\left(\left(\frac{8.0}{\alpha \cdot \alpha}\right), \left(\frac{-1}{\alpha}\right), \left(\frac{4.0}{\alpha \cdot \alpha}\right)\right)\right)\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\left(\beta - \alpha\right), \left(\frac{1}{\left(\alpha + \beta\right) + 2.0}\right), 1.0\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r9756967 = beta;
double r9756968 = alpha;
double r9756969 = r9756967 - r9756968;
double r9756970 = r9756968 + r9756967;
double r9756971 = 2.0;
double r9756972 = r9756970 + r9756971;
double r9756973 = r9756969 / r9756972;
double r9756974 = 1.0;
double r9756975 = r9756973 + r9756974;
double r9756976 = r9756975 / r9756971;
return r9756976;
}
double f(double alpha, double beta) {
double r9756977 = beta;
double r9756978 = alpha;
double r9756979 = r9756977 - r9756978;
double r9756980 = r9756978 + r9756977;
double r9756981 = 2.0;
double r9756982 = r9756980 + r9756981;
double r9756983 = r9756979 / r9756982;
double r9756984 = -0.9999439615156119;
bool r9756985 = r9756983 <= r9756984;
double r9756986 = r9756977 / r9756982;
double r9756987 = -1.0;
double r9756988 = r9756987 / r9756978;
double r9756989 = 8.0;
double r9756990 = r9756978 * r9756978;
double r9756991 = r9756989 / r9756990;
double r9756992 = 4.0;
double r9756993 = r9756992 / r9756990;
double r9756994 = fma(r9756991, r9756988, r9756993);
double r9756995 = fma(r9756988, r9756981, r9756994);
double r9756996 = r9756986 - r9756995;
double r9756997 = r9756996 / r9756981;
double r9756998 = 1.0;
double r9756999 = r9756998 / r9756982;
double r9757000 = 1.0;
double r9757001 = fma(r9756979, r9756999, r9757000);
double r9757002 = r9757001 / r9756981;
double r9757003 = r9756985 ? r9756997 : r9757002;
return r9757003;
}



Bits error versus alpha



Bits error versus beta
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999439615156119Initial program 59.3
rmApplied div-sub59.2
Applied associate-+l-57.4
Taylor expanded around inf 11.5
Simplified11.5
if -0.9999439615156119 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.0
rmApplied div-inv0.0
Applied fma-def0.0
Final simplification3.2
herbie shell --seed 2019128 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))