\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}\;\beta \le 1.967831461911932 \cdot 10^{174}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}\\
\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)} \cdot \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 r106571 = alpha;
double r106572 = beta;
double r106573 = r106571 + r106572;
double r106574 = r106572 * r106571;
double r106575 = r106573 + r106574;
double r106576 = 1.0;
double r106577 = r106575 + r106576;
double r106578 = 2.0;
double r106579 = r106578 * r106576;
double r106580 = r106573 + r106579;
double r106581 = r106577 / r106580;
double r106582 = r106581 / r106580;
double r106583 = r106580 + r106576;
double r106584 = r106582 / r106583;
return r106584;
}
double f(double alpha, double beta) {
double r106585 = beta;
double r106586 = 1.967831461911932e+174;
bool r106587 = r106585 <= r106586;
double r106588 = alpha;
double r106589 = r106588 + r106585;
double r106590 = r106585 * r106588;
double r106591 = r106589 + r106590;
double r106592 = 1.0;
double r106593 = r106591 + r106592;
double r106594 = sqrt(r106593);
double r106595 = 2.0;
double r106596 = r106595 * r106592;
double r106597 = r106589 + r106596;
double r106598 = sqrt(r106597);
double r106599 = r106594 / r106598;
double r106600 = r106599 / r106598;
double r106601 = r106597 + r106592;
double r106602 = r106601 / r106594;
double r106603 = r106602 * r106597;
double r106604 = r106600 / r106603;
double r106605 = 0.25;
double r106606 = r106605 * r106588;
double r106607 = 0.5;
double r106608 = r106605 * r106585;
double r106609 = r106607 + r106608;
double r106610 = r106606 + r106609;
double r106611 = r106589 * r106589;
double r106612 = r106596 * r106596;
double r106613 = r106611 - r106612;
double r106614 = r106610 / r106613;
double r106615 = r106589 - r106596;
double r106616 = r106614 * r106615;
double r106617 = r106616 / r106601;
double r106618 = r106587 ? r106604 : r106617;
return r106618;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 1.967831461911932e+174Initial program 1.5
rmApplied add-sqr-sqrt2.1
Applied add-sqr-sqrt2.5
Applied add-sqr-sqrt2.4
Applied times-frac2.4
Applied times-frac2.2
Applied associate-/l*2.2
Simplified1.6
if 1.967831461911932e+174 < beta Initial program 16.5
rmApplied flip-+17.1
Applied associate-/r/17.1
Taylor expanded around 0 6.8
Final simplification2.3
herbie shell --seed 2020047
(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)))