\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}\;\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} \le 0.08339352464985870516667176843839115463197:\\
\;\;\;\;\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}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(1 - \frac{1}{\alpha}\right) + \frac{2}{{\alpha}^{2}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r147448 = alpha;
double r147449 = beta;
double r147450 = r147448 + r147449;
double r147451 = r147449 * r147448;
double r147452 = r147450 + r147451;
double r147453 = 1.0;
double r147454 = r147452 + r147453;
double r147455 = 2.0;
double r147456 = r147455 * r147453;
double r147457 = r147450 + r147456;
double r147458 = r147454 / r147457;
double r147459 = r147458 / r147457;
double r147460 = r147457 + r147453;
double r147461 = r147459 / r147460;
return r147461;
}
double f(double alpha, double beta) {
double r147462 = alpha;
double r147463 = beta;
double r147464 = r147462 + r147463;
double r147465 = r147463 * r147462;
double r147466 = r147464 + r147465;
double r147467 = 1.0;
double r147468 = r147466 + r147467;
double r147469 = 2.0;
double r147470 = r147469 * r147467;
double r147471 = r147464 + r147470;
double r147472 = r147468 / r147471;
double r147473 = r147472 / r147471;
double r147474 = r147471 + r147467;
double r147475 = r147473 / r147474;
double r147476 = 0.0833935246498587;
bool r147477 = r147475 <= r147476;
double r147478 = 1.0;
double r147479 = r147467 / r147462;
double r147480 = r147478 - r147479;
double r147481 = 2.0;
double r147482 = pow(r147462, r147481);
double r147483 = r147469 / r147482;
double r147484 = r147480 + r147483;
double r147485 = r147484 / r147471;
double r147486 = r147485 / r147474;
double r147487 = r147477 ? r147475 : r147486;
return r147487;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)) < 0.0833935246498587Initial program 0.1
if 0.0833935246498587 < (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)) Initial program 60.6
Taylor expanded around inf 22.3
Simplified22.3
Final simplification1.4
herbie shell --seed 2019304
(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)))