\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\beta \le 1.1044946435875943 \cdot 10^{+164}:\\
\;\;\;\;\frac{\sqrt{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}} \cdot \sqrt{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}{\left(\alpha + \beta\right) + 2}}}{\left(1.0 + \left(\left(\alpha + \beta\right) + 2\right)\right) \cdot \sqrt{\left(\alpha + \beta\right) + 2}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r4090689 = alpha;
double r4090690 = beta;
double r4090691 = r4090689 + r4090690;
double r4090692 = r4090690 * r4090689;
double r4090693 = r4090691 + r4090692;
double r4090694 = 1.0;
double r4090695 = r4090693 + r4090694;
double r4090696 = 2.0;
double r4090697 = 1.0;
double r4090698 = r4090696 * r4090697;
double r4090699 = r4090691 + r4090698;
double r4090700 = r4090695 / r4090699;
double r4090701 = r4090700 / r4090699;
double r4090702 = r4090699 + r4090694;
double r4090703 = r4090701 / r4090702;
return r4090703;
}
double f(double alpha, double beta) {
double r4090704 = beta;
double r4090705 = 1.1044946435875943e+164;
bool r4090706 = r4090704 <= r4090705;
double r4090707 = 1.0;
double r4090708 = alpha;
double r4090709 = r4090708 * r4090704;
double r4090710 = r4090708 + r4090704;
double r4090711 = r4090709 + r4090710;
double r4090712 = r4090707 + r4090711;
double r4090713 = 2.0;
double r4090714 = r4090710 + r4090713;
double r4090715 = r4090712 / r4090714;
double r4090716 = sqrt(r4090715);
double r4090717 = r4090715 / r4090714;
double r4090718 = sqrt(r4090717);
double r4090719 = r4090716 * r4090718;
double r4090720 = r4090707 + r4090714;
double r4090721 = sqrt(r4090714);
double r4090722 = r4090720 * r4090721;
double r4090723 = r4090719 / r4090722;
double r4090724 = 0.0;
double r4090725 = r4090706 ? r4090723 : r4090724;
return r4090725;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 1.1044946435875943e+164Initial program 1.3
rmApplied add-sqr-sqrt1.3
rmApplied sqrt-div1.3
Applied associate-*l/1.3
Applied associate-/l/1.3
if 1.1044946435875943e+164 < beta Initial program 16.4
Taylor expanded around inf 7.9
Final simplification2.3
herbie shell --seed 2019158
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))