\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.9339256802819 \cdot 10^{165}:\\
\;\;\;\;\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1} \cdot \frac{1}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r113406 = alpha;
double r113407 = beta;
double r113408 = r113406 + r113407;
double r113409 = r113407 * r113406;
double r113410 = r113408 + r113409;
double r113411 = 1.0;
double r113412 = r113410 + r113411;
double r113413 = 2.0;
double r113414 = r113413 * r113411;
double r113415 = r113408 + r113414;
double r113416 = r113412 / r113415;
double r113417 = r113416 / r113415;
double r113418 = r113415 + r113411;
double r113419 = r113417 / r113418;
return r113419;
}
double f(double alpha, double beta) {
double r113420 = alpha;
double r113421 = 6.9339256802819e+165;
bool r113422 = r113420 <= r113421;
double r113423 = beta;
double r113424 = r113420 + r113423;
double r113425 = r113423 * r113420;
double r113426 = r113424 + r113425;
double r113427 = 1.0;
double r113428 = r113426 + r113427;
double r113429 = 2.0;
double r113430 = r113429 * r113427;
double r113431 = r113424 + r113430;
double r113432 = r113428 / r113431;
double r113433 = 1.0;
double r113434 = fma(r113427, r113429, r113424);
double r113435 = r113434 / r113433;
double r113436 = r113433 / r113435;
double r113437 = r113432 * r113436;
double r113438 = r113431 + r113427;
double r113439 = r113437 / r113438;
double r113440 = 0.0;
double r113441 = r113440 / r113438;
double r113442 = r113422 ? r113439 : r113441;
return r113442;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.9339256802819e+165Initial program 1.5
rmApplied div-inv1.5
Simplified1.5
if 6.9339256802819e+165 < alpha Initial program 16.1
Taylor expanded around inf 7.2
Final simplification2.4
herbie shell --seed 2020089 +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)))