\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.553719024558119030355109565292928030815 \cdot 10^{128}:\\
\;\;\;\;\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}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r107590 = alpha;
double r107591 = beta;
double r107592 = r107590 + r107591;
double r107593 = r107591 * r107590;
double r107594 = r107592 + r107593;
double r107595 = 1.0;
double r107596 = r107594 + r107595;
double r107597 = 2.0;
double r107598 = r107597 * r107595;
double r107599 = r107592 + r107598;
double r107600 = r107596 / r107599;
double r107601 = r107600 / r107599;
double r107602 = r107599 + r107595;
double r107603 = r107601 / r107602;
return r107603;
}
double f(double alpha, double beta) {
double r107604 = alpha;
double r107605 = 3.553719024558119e+128;
bool r107606 = r107604 <= r107605;
double r107607 = beta;
double r107608 = r107604 + r107607;
double r107609 = r107607 * r107604;
double r107610 = r107608 + r107609;
double r107611 = 1.0;
double r107612 = r107610 + r107611;
double r107613 = 2.0;
double r107614 = r107613 * r107611;
double r107615 = r107608 + r107614;
double r107616 = r107612 / r107615;
double r107617 = r107616 / r107615;
double r107618 = 1.0;
double r107619 = r107615 + r107611;
double r107620 = r107618 * r107619;
double r107621 = r107617 / r107620;
double r107622 = 2.0;
double r107623 = pow(r107604, r107622);
double r107624 = r107618 / r107623;
double r107625 = r107613 * r107624;
double r107626 = r107625 + r107618;
double r107627 = r107618 / r107604;
double r107628 = r107611 * r107627;
double r107629 = r107626 - r107628;
double r107630 = r107629 / r107615;
double r107631 = r107630 / r107619;
double r107632 = r107606 ? r107621 : r107631;
return r107632;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 3.553719024558119e+128Initial program 1.0
rmApplied *-un-lft-identity1.0
if 3.553719024558119e+128 < alpha Initial program 14.3
Taylor expanded around inf 9.2
Final simplification2.6
herbie shell --seed 2019346
(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)))