\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 5.601169561552345762126589292246320340759 \cdot 10^{47}:\\
\;\;\;\;\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}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-\left(\mathsf{fma}\left(2, \frac{1}{{\alpha}^{2}}, 1\right) - 1 \cdot \frac{1}{\alpha}\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{-\left(\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1\right)}\\
\end{array}double f(double alpha, double beta) {
double r185314 = alpha;
double r185315 = beta;
double r185316 = r185314 + r185315;
double r185317 = r185315 * r185314;
double r185318 = r185316 + r185317;
double r185319 = 1.0;
double r185320 = r185318 + r185319;
double r185321 = 2.0;
double r185322 = r185321 * r185319;
double r185323 = r185316 + r185322;
double r185324 = r185320 / r185323;
double r185325 = r185324 / r185323;
double r185326 = r185323 + r185319;
double r185327 = r185325 / r185326;
return r185327;
}
double f(double alpha, double beta) {
double r185328 = alpha;
double r185329 = 5.601169561552346e+47;
bool r185330 = r185328 <= r185329;
double r185331 = beta;
double r185332 = r185328 + r185331;
double r185333 = r185331 * r185328;
double r185334 = r185332 + r185333;
double r185335 = 1.0;
double r185336 = r185334 + r185335;
double r185337 = sqrt(r185336);
double r185338 = 2.0;
double r185339 = r185338 * r185335;
double r185340 = r185332 + r185339;
double r185341 = sqrt(r185340);
double r185342 = r185337 / r185341;
double r185343 = r185342 / r185341;
double r185344 = fma(r185335, r185338, r185332);
double r185345 = r185344 + r185335;
double r185346 = fma(r185328, r185331, r185332);
double r185347 = r185335 + r185346;
double r185348 = sqrt(r185347);
double r185349 = r185345 / r185348;
double r185350 = r185349 * r185344;
double r185351 = r185343 / r185350;
double r185352 = 1.0;
double r185353 = 2.0;
double r185354 = pow(r185328, r185353);
double r185355 = r185352 / r185354;
double r185356 = fma(r185338, r185355, r185352);
double r185357 = r185352 / r185328;
double r185358 = r185335 * r185357;
double r185359 = r185356 - r185358;
double r185360 = -r185359;
double r185361 = r185360 / r185344;
double r185362 = -r185345;
double r185363 = r185361 / r185362;
double r185364 = r185330 ? r185351 : r185363;
return r185364;
}



Bits error versus alpha



Bits error versus beta
if alpha < 5.601169561552346e+47Initial program 0.3
rmApplied add-sqr-sqrt1.0
Applied add-sqr-sqrt1.4
Applied add-sqr-sqrt1.3
Applied times-frac1.3
Applied times-frac1.0
Applied associate-/l*1.0
Simplified0.4
if 5.601169561552346e+47 < alpha Initial program 11.8
rmApplied frac-2neg11.8
Simplified11.8
Simplified11.8
Taylor expanded around inf 10.2
Simplified10.2
Final simplification3.2
herbie shell --seed 2019212 +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)))