\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}\;\alpha \le 2.8836479899208303 \cdot 10^{+124}:\\
\;\;\;\;\frac{\sqrt{\frac{\frac{1.0 + \left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}{\left(\alpha + \beta\right) + 2}} \cdot \sqrt{\frac{\frac{1.0 + \left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}{\left(\alpha + \beta\right) + 2}}}{2 + \left(1.0 + \left(\alpha + \beta\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(1 - 1.0 \cdot \frac{1}{\alpha}\right) + \frac{1}{\alpha \cdot \alpha} \cdot 2.0}{\left(\alpha + \beta\right) + 2}}{2 + \left(1.0 + \left(\alpha + \beta\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r3480694 = alpha;
double r3480695 = beta;
double r3480696 = r3480694 + r3480695;
double r3480697 = r3480695 * r3480694;
double r3480698 = r3480696 + r3480697;
double r3480699 = 1.0;
double r3480700 = r3480698 + r3480699;
double r3480701 = 2.0;
double r3480702 = 1.0;
double r3480703 = r3480701 * r3480702;
double r3480704 = r3480696 + r3480703;
double r3480705 = r3480700 / r3480704;
double r3480706 = r3480705 / r3480704;
double r3480707 = r3480704 + r3480699;
double r3480708 = r3480706 / r3480707;
return r3480708;
}
double f(double alpha, double beta) {
double r3480709 = alpha;
double r3480710 = 2.8836479899208303e+124;
bool r3480711 = r3480709 <= r3480710;
double r3480712 = 1.0;
double r3480713 = beta;
double r3480714 = r3480713 * r3480709;
double r3480715 = r3480709 + r3480713;
double r3480716 = r3480714 + r3480715;
double r3480717 = r3480712 + r3480716;
double r3480718 = 2.0;
double r3480719 = r3480715 + r3480718;
double r3480720 = r3480717 / r3480719;
double r3480721 = r3480720 / r3480719;
double r3480722 = sqrt(r3480721);
double r3480723 = r3480722 * r3480722;
double r3480724 = r3480712 + r3480715;
double r3480725 = r3480718 + r3480724;
double r3480726 = r3480723 / r3480725;
double r3480727 = 1.0;
double r3480728 = r3480727 / r3480709;
double r3480729 = r3480712 * r3480728;
double r3480730 = r3480727 - r3480729;
double r3480731 = r3480709 * r3480709;
double r3480732 = r3480727 / r3480731;
double r3480733 = 2.0;
double r3480734 = r3480732 * r3480733;
double r3480735 = r3480730 + r3480734;
double r3480736 = r3480735 / r3480719;
double r3480737 = r3480736 / r3480725;
double r3480738 = r3480711 ? r3480726 : r3480737;
return r3480738;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 2.8836479899208303e+124Initial program 0.9
Simplified0.9
rmApplied add-sqr-sqrt0.9
if 2.8836479899208303e+124 < alpha Initial program 16.0
Simplified16.0
Taylor expanded around inf 9.6
Simplified9.6
Final simplification2.6
herbie shell --seed 2019137
(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)))