\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 1.247457934878237765470825934048239254403 \cdot 10^{194}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}{\frac{\sqrt{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}}}}{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r14759336 = alpha;
double r14759337 = beta;
double r14759338 = r14759336 + r14759337;
double r14759339 = r14759337 * r14759336;
double r14759340 = r14759338 + r14759339;
double r14759341 = 1.0;
double r14759342 = r14759340 + r14759341;
double r14759343 = 2.0;
double r14759344 = r14759343 * r14759341;
double r14759345 = r14759338 + r14759344;
double r14759346 = r14759342 / r14759345;
double r14759347 = r14759346 / r14759345;
double r14759348 = r14759345 + r14759341;
double r14759349 = r14759347 / r14759348;
return r14759349;
}
double f(double alpha, double beta) {
double r14759350 = alpha;
double r14759351 = 1.2474579348782378e+194;
bool r14759352 = r14759350 <= r14759351;
double r14759353 = 1.0;
double r14759354 = beta;
double r14759355 = r14759350 + r14759354;
double r14759356 = fma(r14759354, r14759350, r14759355);
double r14759357 = r14759353 + r14759356;
double r14759358 = sqrt(r14759357);
double r14759359 = 2.0;
double r14759360 = fma(r14759359, r14759353, r14759355);
double r14759361 = sqrt(r14759360);
double r14759362 = r14759358 / r14759361;
double r14759363 = r14759360 / r14759362;
double r14759364 = r14759362 / r14759363;
double r14759365 = r14759353 + r14759360;
double r14759366 = r14759364 / r14759365;
double r14759367 = 0.0;
double r14759368 = r14759352 ? r14759366 : r14759367;
return r14759368;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.2474579348782378e+194Initial program 1.8
Simplified1.8
rmApplied add-sqr-sqrt2.4
Applied add-sqr-sqrt2.3
Applied times-frac2.3
Applied associate-/l*1.9
if 1.2474579348782378e+194 < alpha Initial program 16.5
Simplified16.5
Taylor expanded around inf 4.3
Final simplification2.2
herbie shell --seed 2019173 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))