\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 3.097558604616753343996040534278213161537 \cdot 10^{192}:\\
\;\;\;\;\frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r204319 = alpha;
double r204320 = beta;
double r204321 = r204319 + r204320;
double r204322 = r204320 * r204319;
double r204323 = r204321 + r204322;
double r204324 = 1.0;
double r204325 = r204323 + r204324;
double r204326 = 2.0;
double r204327 = r204326 * r204324;
double r204328 = r204321 + r204327;
double r204329 = r204325 / r204328;
double r204330 = r204329 / r204328;
double r204331 = r204328 + r204324;
double r204332 = r204330 / r204331;
return r204332;
}
double f(double alpha, double beta) {
double r204333 = beta;
double r204334 = 3.0975586046167533e+192;
bool r204335 = r204333 <= r204334;
double r204336 = 1.0;
double r204337 = alpha;
double r204338 = r204337 + r204333;
double r204339 = fma(r204337, r204333, r204338);
double r204340 = r204336 + r204339;
double r204341 = 2.0;
double r204342 = fma(r204336, r204341, r204338);
double r204343 = r204340 / r204342;
double r204344 = r204343 / r204342;
double r204345 = r204342 + r204336;
double r204346 = r204344 / r204345;
double r204347 = 0.0;
double r204348 = r204347 / r204345;
double r204349 = r204335 ? r204346 : r204348;
return r204349;
}



Bits error versus alpha



Bits error versus beta
if beta < 3.0975586046167533e+192Initial program 1.7
Simplified1.7
if 3.0975586046167533e+192 < beta Initial program 19.7
Simplified19.7
Taylor expanded around inf 7.3
Final simplification2.4
herbie shell --seed 2019326 +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)))