\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 2.5988416377747475 \cdot 10^{+162}:\\
\;\;\;\;\frac{\frac{\frac{1.0 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\left(\beta + \alpha\right) + 2}}{\left(\beta + \alpha\right) + 2}}{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r4347983 = alpha;
double r4347984 = beta;
double r4347985 = r4347983 + r4347984;
double r4347986 = r4347984 * r4347983;
double r4347987 = r4347985 + r4347986;
double r4347988 = 1.0;
double r4347989 = r4347987 + r4347988;
double r4347990 = 2.0;
double r4347991 = 1.0;
double r4347992 = r4347990 * r4347991;
double r4347993 = r4347985 + r4347992;
double r4347994 = r4347989 / r4347993;
double r4347995 = r4347994 / r4347993;
double r4347996 = r4347993 + r4347988;
double r4347997 = r4347995 / r4347996;
return r4347997;
}
double f(double alpha, double beta) {
double r4347998 = beta;
double r4347999 = 2.5988416377747475e+162;
bool r4348000 = r4347998 <= r4347999;
double r4348001 = 1.0;
double r4348002 = alpha;
double r4348003 = r4347998 + r4348002;
double r4348004 = fma(r4347998, r4348002, r4348003);
double r4348005 = r4348001 + r4348004;
double r4348006 = 2.0;
double r4348007 = r4348003 + r4348006;
double r4348008 = r4348005 / r4348007;
double r4348009 = r4348008 / r4348007;
double r4348010 = r4348001 + r4348007;
double r4348011 = r4348009 / r4348010;
double r4348012 = 0.0;
double r4348013 = r4348000 ? r4348011 : r4348012;
return r4348013;
}



Bits error versus alpha



Bits error versus beta
if beta < 2.5988416377747475e+162Initial program 1.2
Simplified1.2
rmApplied +-commutative1.2
if 2.5988416377747475e+162 < beta Initial program 16.8
Simplified16.8
rmApplied +-commutative16.8
Taylor expanded around -inf 8.7
Final simplification2.4
herbie shell --seed 2019149 +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)))