\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 6.1364080644475965 \cdot 10^{175}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\beta + \left(\alpha + \mathsf{fma}\left(1, 2, 1\right)\right)\right) \cdot \frac{1}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}\right) \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r92431 = alpha;
double r92432 = beta;
double r92433 = r92431 + r92432;
double r92434 = r92432 * r92431;
double r92435 = r92433 + r92434;
double r92436 = 1.0;
double r92437 = r92435 + r92436;
double r92438 = 2.0;
double r92439 = r92438 * r92436;
double r92440 = r92433 + r92439;
double r92441 = r92437 / r92440;
double r92442 = r92441 / r92440;
double r92443 = r92440 + r92436;
double r92444 = r92442 / r92443;
return r92444;
}
double f(double alpha, double beta) {
double r92445 = alpha;
double r92446 = 6.1364080644475965e+175;
bool r92447 = r92445 <= r92446;
double r92448 = beta;
double r92449 = r92445 + r92448;
double r92450 = r92448 * r92445;
double r92451 = r92449 + r92450;
double r92452 = 1.0;
double r92453 = r92451 + r92452;
double r92454 = sqrt(r92453);
double r92455 = 2.0;
double r92456 = r92455 * r92452;
double r92457 = r92449 + r92456;
double r92458 = sqrt(r92457);
double r92459 = r92454 / r92458;
double r92460 = r92459 / r92458;
double r92461 = fma(r92452, r92455, r92452);
double r92462 = r92445 + r92461;
double r92463 = r92448 + r92462;
double r92464 = 1.0;
double r92465 = r92464 / r92454;
double r92466 = r92463 * r92465;
double r92467 = fma(r92452, r92455, r92449);
double r92468 = r92466 * r92467;
double r92469 = r92460 / r92468;
double r92470 = 0.0;
double r92471 = r92447 ? r92469 : r92470;
return r92471;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.1364080644475965e+175Initial program 1.5
rmApplied add-sqr-sqrt2.1
Applied add-sqr-sqrt2.5
Applied add-sqr-sqrt2.4
Applied times-frac2.4
Applied times-frac2.1
Applied associate-/l*2.2
Simplified1.6
rmApplied div-inv1.6
if 6.1364080644475965e+175 < alpha Initial program 16.8
Taylor expanded around inf 7.3
Final simplification2.4
herbie shell --seed 2020049 +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)))