\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 3.960944672044140290258171164960732219972 \cdot 10^{160}:\\
\;\;\;\;\frac{\sqrt{\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}}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}{\sqrt{\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}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}{\left(\alpha + \beta\right) - 2 \cdot 1}}\\
\end{array}double f(double alpha, double beta) {
double r143345 = alpha;
double r143346 = beta;
double r143347 = r143345 + r143346;
double r143348 = r143346 * r143345;
double r143349 = r143347 + r143348;
double r143350 = 1.0;
double r143351 = r143349 + r143350;
double r143352 = 2.0;
double r143353 = r143352 * r143350;
double r143354 = r143347 + r143353;
double r143355 = r143351 / r143354;
double r143356 = r143355 / r143354;
double r143357 = r143354 + r143350;
double r143358 = r143356 / r143357;
return r143358;
}
double f(double alpha, double beta) {
double r143359 = alpha;
double r143360 = 3.96094467204414e+160;
bool r143361 = r143359 <= r143360;
double r143362 = beta;
double r143363 = r143359 + r143362;
double r143364 = r143362 * r143359;
double r143365 = r143363 + r143364;
double r143366 = 1.0;
double r143367 = r143365 + r143366;
double r143368 = 2.0;
double r143369 = r143368 * r143366;
double r143370 = r143363 + r143369;
double r143371 = r143367 / r143370;
double r143372 = r143371 / r143370;
double r143373 = sqrt(r143372);
double r143374 = r143370 + r143366;
double r143375 = r143374 / r143373;
double r143376 = r143373 / r143375;
double r143377 = 0.25;
double r143378 = r143377 * r143359;
double r143379 = 0.5;
double r143380 = r143377 * r143362;
double r143381 = r143379 + r143380;
double r143382 = r143378 + r143381;
double r143383 = r143363 * r143363;
double r143384 = r143369 * r143369;
double r143385 = r143383 - r143384;
double r143386 = r143382 / r143385;
double r143387 = r143363 - r143369;
double r143388 = r143374 / r143387;
double r143389 = r143386 / r143388;
double r143390 = r143361 ? r143376 : r143389;
return r143390;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 3.96094467204414e+160Initial program 1.3
rmApplied add-sqr-sqrt1.4
Applied associate-/l*1.4
if 3.96094467204414e+160 < alpha Initial program 16.4
rmApplied flip-+18.1
Applied associate-/r/18.1
Applied associate-/l*18.1
Taylor expanded around 0 7.6
Final simplification2.4
herbie shell --seed 2019356
(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)))