\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.083333330297183733:\\
\;\;\;\;\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{0.25 \cdot \left(\alpha + \beta\right) + 0.5}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r99445 = alpha;
double r99446 = beta;
double r99447 = r99445 + r99446;
double r99448 = r99446 * r99445;
double r99449 = r99447 + r99448;
double r99450 = 1.0;
double r99451 = r99449 + r99450;
double r99452 = 2.0;
double r99453 = r99452 * r99450;
double r99454 = r99447 + r99453;
double r99455 = r99451 / r99454;
double r99456 = r99455 / r99454;
double r99457 = r99454 + r99450;
double r99458 = r99456 / r99457;
return r99458;
}
double f(double alpha, double beta) {
double r99459 = alpha;
double r99460 = beta;
double r99461 = r99459 + r99460;
double r99462 = r99460 * r99459;
double r99463 = r99461 + r99462;
double r99464 = 1.0;
double r99465 = r99463 + r99464;
double r99466 = 2.0;
double r99467 = r99466 * r99464;
double r99468 = r99461 + r99467;
double r99469 = r99465 / r99468;
double r99470 = r99469 / r99468;
double r99471 = r99468 + r99464;
double r99472 = r99470 / r99471;
double r99473 = 0.08333333029718373;
bool r99474 = r99472 <= r99473;
double r99475 = 0.25;
double r99476 = r99475 * r99461;
double r99477 = 0.5;
double r99478 = r99476 + r99477;
double r99479 = r99461 * r99461;
double r99480 = r99467 * r99467;
double r99481 = r99479 - r99480;
double r99482 = r99478 / r99481;
double r99483 = r99461 - r99467;
double r99484 = r99482 * r99483;
double r99485 = r99484 / r99471;
double r99486 = r99474 ? r99472 : r99485;
return r99486;
}



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.08333333029718373Initial program 0.2
if 0.08333333029718373 < (/ (/ (/ (+ (+ (+ 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 7.2
rmApplied flip-+7.2
Applied associate-/r/7.2
Taylor expanded around 0 2.8
Simplified2.8
Final simplification1.5
herbie shell --seed 2019195
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ 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)))