\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 8.4856429570103299 \cdot 10^{177}:\\
\;\;\;\;\frac{\frac{\frac{1 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}\\
\end{array}double f(double alpha, double beta) {
double r128369 = alpha;
double r128370 = beta;
double r128371 = r128369 + r128370;
double r128372 = r128370 * r128369;
double r128373 = r128371 + r128372;
double r128374 = 1.0;
double r128375 = r128373 + r128374;
double r128376 = 2.0;
double r128377 = r128376 * r128374;
double r128378 = r128371 + r128377;
double r128379 = r128375 / r128378;
double r128380 = r128379 / r128378;
double r128381 = r128378 + r128374;
double r128382 = r128380 / r128381;
return r128382;
}
double f(double alpha, double beta) {
double r128383 = beta;
double r128384 = 8.48564295701033e+177;
bool r128385 = r128383 <= r128384;
double r128386 = 1.0;
double r128387 = alpha;
double r128388 = r128387 * r128383;
double r128389 = r128387 + r128383;
double r128390 = r128388 + r128389;
double r128391 = r128386 + r128390;
double r128392 = 2.0;
double r128393 = fma(r128386, r128392, r128389);
double r128394 = r128391 / r128393;
double r128395 = r128394 / r128393;
double r128396 = fma(r128392, r128386, r128386);
double r128397 = r128389 + r128396;
double r128398 = r128395 / r128397;
double r128399 = 0.0;
double r128400 = r128399 / r128397;
double r128401 = r128385 ? r128398 : r128400;
return r128401;
}



Bits error versus alpha



Bits error versus beta
if beta < 8.48564295701033e+177Initial program 1.6
Simplified1.6
rmApplied fma-udef1.6
if 8.48564295701033e+177 < beta Initial program 16.3
Simplified16.3
rmApplied fma-udef16.3
Taylor expanded around inf 6.4
Final simplification2.3
herbie shell --seed 2020047 +o rules:numerics
(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)))