\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 9.687684579379148 \cdot 10^{+146}:\\
\;\;\;\;\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 r4751509 = alpha;
double r4751510 = beta;
double r4751511 = r4751509 + r4751510;
double r4751512 = r4751510 * r4751509;
double r4751513 = r4751511 + r4751512;
double r4751514 = 1.0;
double r4751515 = r4751513 + r4751514;
double r4751516 = 2.0;
double r4751517 = 1.0;
double r4751518 = r4751516 * r4751517;
double r4751519 = r4751511 + r4751518;
double r4751520 = r4751515 / r4751519;
double r4751521 = r4751520 / r4751519;
double r4751522 = r4751519 + r4751514;
double r4751523 = r4751521 / r4751522;
return r4751523;
}
double f(double alpha, double beta) {
double r4751524 = beta;
double r4751525 = 9.687684579379148e+146;
bool r4751526 = r4751524 <= r4751525;
double r4751527 = 1.0;
double r4751528 = alpha;
double r4751529 = r4751524 + r4751528;
double r4751530 = fma(r4751524, r4751528, r4751529);
double r4751531 = r4751527 + r4751530;
double r4751532 = 2.0;
double r4751533 = r4751529 + r4751532;
double r4751534 = r4751531 / r4751533;
double r4751535 = r4751534 / r4751533;
double r4751536 = r4751527 + r4751533;
double r4751537 = r4751535 / r4751536;
double r4751538 = 0.0;
double r4751539 = r4751526 ? r4751537 : r4751538;
return r4751539;
}



Bits error versus alpha



Bits error versus beta
if beta < 9.687684579379148e+146Initial program 1.0
Simplified1.0
rmApplied +-commutative1.0
if 9.687684579379148e+146 < beta Initial program 15.4
Simplified15.4
rmApplied +-commutative15.4
Taylor expanded around -inf 10.9
Final simplification2.7
herbie shell --seed 2019144 +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)))