\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}\;\alpha \le 4.0898973557336655 \cdot 10^{+168}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right) + 1.0}{\left(\alpha + \beta\right) + 2}}{\left(2 + 1.0\right) + \left(\alpha + \beta\right)} \cdot \frac{1}{\left(\alpha + \beta\right) + 2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r6215343 = alpha;
double r6215344 = beta;
double r6215345 = r6215343 + r6215344;
double r6215346 = r6215344 * r6215343;
double r6215347 = r6215345 + r6215346;
double r6215348 = 1.0;
double r6215349 = r6215347 + r6215348;
double r6215350 = 2.0;
double r6215351 = 1.0;
double r6215352 = r6215350 * r6215351;
double r6215353 = r6215345 + r6215352;
double r6215354 = r6215349 / r6215353;
double r6215355 = r6215354 / r6215353;
double r6215356 = r6215353 + r6215348;
double r6215357 = r6215355 / r6215356;
return r6215357;
}
double f(double alpha, double beta) {
double r6215358 = alpha;
double r6215359 = 4.0898973557336655e+168;
bool r6215360 = r6215358 <= r6215359;
double r6215361 = beta;
double r6215362 = r6215358 + r6215361;
double r6215363 = fma(r6215358, r6215361, r6215362);
double r6215364 = 1.0;
double r6215365 = r6215363 + r6215364;
double r6215366 = 2.0;
double r6215367 = r6215362 + r6215366;
double r6215368 = r6215365 / r6215367;
double r6215369 = r6215366 + r6215364;
double r6215370 = r6215369 + r6215362;
double r6215371 = r6215368 / r6215370;
double r6215372 = 1.0;
double r6215373 = r6215372 / r6215367;
double r6215374 = r6215371 * r6215373;
double r6215375 = 0.0;
double r6215376 = r6215360 ? r6215374 : r6215375;
return r6215376;
}



Bits error versus alpha



Bits error versus beta
if alpha < 4.0898973557336655e+168Initial program 1.4
Simplified1.4
rmApplied *-un-lft-identity1.4
Applied *-un-lft-identity1.4
Applied *-un-lft-identity1.4
Applied distribute-lft-out1.4
Applied distribute-lft-out1.4
Applied add-sqr-sqrt2.0
Applied add-sqr-sqrt2.4
Applied *-un-lft-identity2.4
Applied *-un-lft-identity2.4
Applied distribute-lft-out2.4
Applied times-frac2.4
Applied times-frac2.1
Applied times-frac2.1
Simplified1.6
Simplified1.5
if 4.0898973557336655e+168 < alpha Initial program 16.1
Simplified16.1
Taylor expanded around inf 7.3
Final simplification2.4
herbie shell --seed 2019138 +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)))