\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}\;\alpha \le 2.32226670411452933 \cdot 10^{126}:\\
\;\;\;\;\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1} \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(1 - 1 \cdot \frac{1}{\alpha}\right) + \frac{\frac{2}{\alpha}}{\alpha}\right) \cdot \frac{1}{\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 r172474 = alpha;
double r172475 = beta;
double r172476 = r172474 + r172475;
double r172477 = r172475 * r172474;
double r172478 = r172476 + r172477;
double r172479 = 1.0;
double r172480 = r172478 + r172479;
double r172481 = 2.0;
double r172482 = r172481 * r172479;
double r172483 = r172476 + r172482;
double r172484 = r172480 / r172483;
double r172485 = r172484 / r172483;
double r172486 = r172483 + r172479;
double r172487 = r172485 / r172486;
return r172487;
}
double f(double alpha, double beta) {
double r172488 = alpha;
double r172489 = 2.3222667041145293e+126;
bool r172490 = r172488 <= r172489;
double r172491 = beta;
double r172492 = r172488 + r172491;
double r172493 = r172491 * r172488;
double r172494 = r172492 + r172493;
double r172495 = 1.0;
double r172496 = r172494 + r172495;
double r172497 = 2.0;
double r172498 = r172497 * r172495;
double r172499 = r172492 + r172498;
double r172500 = r172496 / r172499;
double r172501 = 1.0;
double r172502 = r172501 / r172499;
double r172503 = r172500 * r172502;
double r172504 = r172499 + r172495;
double r172505 = r172503 / r172504;
double r172506 = r172501 / r172488;
double r172507 = r172495 * r172506;
double r172508 = r172501 - r172507;
double r172509 = r172497 / r172488;
double r172510 = r172509 / r172488;
double r172511 = r172508 + r172510;
double r172512 = r172511 * r172502;
double r172513 = r172512 / r172504;
double r172514 = r172490 ? r172505 : r172513;
return r172514;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 2.3222667041145293e+126Initial program 0.8
rmApplied div-inv0.8
if 2.3222667041145293e+126 < alpha Initial program 13.9
rmApplied div-inv13.9
Taylor expanded around inf 8.5
Simplified8.5
Final simplification2.3
herbie shell --seed 2020064
(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)))