\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.1856454375998788 \cdot 10^{206}:\\
\;\;\;\;\frac{\frac{-\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{-\left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-\left(\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}\right)}{-\left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r237329 = alpha;
double r237330 = beta;
double r237331 = r237329 + r237330;
double r237332 = r237330 * r237329;
double r237333 = r237331 + r237332;
double r237334 = 1.0;
double r237335 = r237333 + r237334;
double r237336 = 2.0;
double r237337 = r237336 * r237334;
double r237338 = r237331 + r237337;
double r237339 = r237335 / r237338;
double r237340 = r237339 / r237338;
double r237341 = r237338 + r237334;
double r237342 = r237340 / r237341;
return r237342;
}
double f(double alpha, double beta) {
double r237343 = alpha;
double r237344 = 1.1856454375998788e+206;
bool r237345 = r237343 <= r237344;
double r237346 = beta;
double r237347 = r237343 + r237346;
double r237348 = r237346 * r237343;
double r237349 = r237347 + r237348;
double r237350 = 1.0;
double r237351 = r237349 + r237350;
double r237352 = 2.0;
double r237353 = r237352 * r237350;
double r237354 = r237347 + r237353;
double r237355 = r237351 / r237354;
double r237356 = -r237355;
double r237357 = -r237354;
double r237358 = r237356 / r237357;
double r237359 = r237354 + r237350;
double r237360 = r237358 / r237359;
double r237361 = 1.0;
double r237362 = 2.0;
double r237363 = pow(r237343, r237362);
double r237364 = r237361 / r237363;
double r237365 = r237352 * r237364;
double r237366 = r237365 + r237361;
double r237367 = r237361 / r237343;
double r237368 = r237350 * r237367;
double r237369 = r237366 - r237368;
double r237370 = -r237369;
double r237371 = r237370 / r237357;
double r237372 = r237371 / r237359;
double r237373 = r237345 ? r237360 : r237372;
return r237373;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.1856454375998788e+206Initial program 1.9
rmApplied frac-2neg1.9
if 1.1856454375998788e+206 < alpha Initial program 17.8
rmApplied frac-2neg17.8
Taylor expanded around inf 5.4
Final simplification2.3
herbie shell --seed 2020100
(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)))