\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 1.3353325288374214 \cdot 10^{+154}:\\
\;\;\;\;\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}{\left(1.0 + \left(\left(\alpha + \beta\right) + 2\right)\right) \cdot \left(\alpha + \beta\right) + \left(1.0 + \left(\left(\alpha + \beta\right) + 2\right)\right) \cdot 2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\alpha, 0.25, \mathsf{fma}\left(0.25, \beta, 0.5\right)\right)}{\left(1.0 + \left(\left(\alpha + \beta\right) + 2\right)\right) \cdot \left(\alpha + \beta\right) + \left(1.0 + \left(\left(\alpha + \beta\right) + 2\right)\right) \cdot 2}\\
\end{array}double f(double alpha, double beta) {
double r3419516 = alpha;
double r3419517 = beta;
double r3419518 = r3419516 + r3419517;
double r3419519 = r3419517 * r3419516;
double r3419520 = r3419518 + r3419519;
double r3419521 = 1.0;
double r3419522 = r3419520 + r3419521;
double r3419523 = 2.0;
double r3419524 = 1.0;
double r3419525 = r3419523 * r3419524;
double r3419526 = r3419518 + r3419525;
double r3419527 = r3419522 / r3419526;
double r3419528 = r3419527 / r3419526;
double r3419529 = r3419526 + r3419521;
double r3419530 = r3419528 / r3419529;
return r3419530;
}
double f(double alpha, double beta) {
double r3419531 = beta;
double r3419532 = 1.3353325288374214e+154;
bool r3419533 = r3419531 <= r3419532;
double r3419534 = 1.0;
double r3419535 = alpha;
double r3419536 = r3419535 * r3419531;
double r3419537 = r3419535 + r3419531;
double r3419538 = r3419536 + r3419537;
double r3419539 = r3419534 + r3419538;
double r3419540 = 2.0;
double r3419541 = r3419537 + r3419540;
double r3419542 = r3419539 / r3419541;
double r3419543 = r3419534 + r3419541;
double r3419544 = r3419543 * r3419537;
double r3419545 = r3419543 * r3419540;
double r3419546 = r3419544 + r3419545;
double r3419547 = r3419542 / r3419546;
double r3419548 = 0.25;
double r3419549 = 0.5;
double r3419550 = fma(r3419548, r3419531, r3419549);
double r3419551 = fma(r3419535, r3419548, r3419550);
double r3419552 = r3419551 / r3419546;
double r3419553 = r3419533 ? r3419547 : r3419552;
return r3419553;
}



Bits error versus alpha



Bits error versus beta
if beta < 1.3353325288374214e+154Initial program 1.2
rmApplied associate-/l/1.6
rmApplied distribute-lft-in1.6
if 1.3353325288374214e+154 < beta Initial program 16.1
rmApplied associate-/l/18.7
rmApplied distribute-lft-in18.7
Taylor expanded around 0 8.9
Simplified8.9
Final simplification2.8
herbie shell --seed 2019162 +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)))