\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 1.000811582078763680955781043863702464006 \cdot 10^{161}:\\
\;\;\;\;\frac{\sqrt{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{1}}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}{\sqrt{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}} \cdot \frac{\sqrt{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r389765 = alpha;
double r389766 = beta;
double r389767 = r389765 + r389766;
double r389768 = r389766 * r389765;
double r389769 = r389767 + r389768;
double r389770 = 1.0;
double r389771 = r389769 + r389770;
double r389772 = 2.0;
double r389773 = r389772 * r389770;
double r389774 = r389767 + r389773;
double r389775 = r389771 / r389774;
double r389776 = r389775 / r389774;
double r389777 = r389774 + r389770;
double r389778 = r389776 / r389777;
return r389778;
}
double f(double alpha, double beta) {
double r389779 = alpha;
double r389780 = 1.0008115820787637e+161;
bool r389781 = r389779 <= r389780;
double r389782 = beta;
double r389783 = r389779 + r389782;
double r389784 = r389782 * r389779;
double r389785 = r389783 + r389784;
double r389786 = 1.0;
double r389787 = r389785 + r389786;
double r389788 = sqrt(r389787);
double r389789 = 1.0;
double r389790 = r389788 / r389789;
double r389791 = r389790 / r389789;
double r389792 = sqrt(r389791);
double r389793 = 2.0;
double r389794 = r389793 * r389786;
double r389795 = r389783 + r389794;
double r389796 = r389795 + r389786;
double r389797 = r389789 / r389795;
double r389798 = r389787 * r389797;
double r389799 = sqrt(r389798);
double r389800 = r389796 / r389799;
double r389801 = r389792 / r389800;
double r389802 = r389788 / r389795;
double r389803 = r389802 / r389795;
double r389804 = sqrt(r389803);
double r389805 = sqrt(r389795);
double r389806 = r389804 / r389805;
double r389807 = r389801 * r389806;
double r389808 = 0.0;
double r389809 = r389808 / r389796;
double r389810 = r389781 ? r389807 : r389809;
return r389810;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.0008115820787637e+161Initial program 1.3
rmApplied add-sqr-sqrt1.4
Applied associate-/l*1.4
rmApplied sqrt-div1.3
Applied associate-/r/1.3
Applied *-un-lft-identity1.3
Applied *-un-lft-identity1.3
Applied add-sqr-sqrt1.3
Applied times-frac1.3
Applied times-frac1.3
Applied sqrt-prod1.3
Applied times-frac1.4
rmApplied div-inv1.4
if 1.0008115820787637e+161 < alpha Initial program 15.6
Taylor expanded around inf 7.7
Final simplification2.4
herbie shell --seed 2020002
(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)))