\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}\;\beta \le 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\
\;\;\;\;\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}}{\alpha + \left(3 + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(\alpha + \left(\beta + 2 \cdot 1\right)\right) \cdot \left(\left(\alpha + \beta\right) + \left(2 \cdot 1 + 1\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r73419 = alpha;
double r73420 = beta;
double r73421 = r73419 + r73420;
double r73422 = r73420 * r73419;
double r73423 = r73421 + r73422;
double r73424 = 1.0;
double r73425 = r73423 + r73424;
double r73426 = 2.0;
double r73427 = r73426 * r73424;
double r73428 = r73421 + r73427;
double r73429 = r73425 / r73428;
double r73430 = r73429 / r73428;
double r73431 = r73428 + r73424;
double r73432 = r73430 / r73431;
return r73432;
}
double f(double alpha, double beta) {
double r73433 = beta;
double r73434 = 6.375269332570683e+160;
bool r73435 = r73433 <= r73434;
double r73436 = alpha;
double r73437 = r73436 + r73433;
double r73438 = r73433 * r73436;
double r73439 = r73437 + r73438;
double r73440 = 1.0;
double r73441 = r73439 + r73440;
double r73442 = 2.0;
double r73443 = r73442 * r73440;
double r73444 = r73437 + r73443;
double r73445 = r73441 / r73444;
double r73446 = r73445 / r73444;
double r73447 = 3.0;
double r73448 = r73447 + r73433;
double r73449 = r73436 + r73448;
double r73450 = r73446 / r73449;
double r73451 = 0.25;
double r73452 = r73451 * r73436;
double r73453 = 0.5;
double r73454 = r73451 * r73433;
double r73455 = r73453 + r73454;
double r73456 = r73452 + r73455;
double r73457 = r73433 + r73443;
double r73458 = r73436 + r73457;
double r73459 = r73443 + r73440;
double r73460 = r73437 + r73459;
double r73461 = r73458 * r73460;
double r73462 = r73456 / r73461;
double r73463 = r73435 ? r73450 : r73462;
return r73463;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 6.375269332570683e+160Initial program 1.3
Taylor expanded around 0 1.3
if 6.375269332570683e+160 < beta Initial program 17.5
rmApplied div-inv17.5
Applied associate-/l*18.7
Simplified18.7
Taylor expanded around 0 8.0
Final simplification2.3
herbie shell --seed 2019325
(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)))