\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 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{1}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}} \cdot \frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\alpha + \beta\right) - 2 \cdot 1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r450847 = alpha;
double r450848 = beta;
double r450849 = r450847 + r450848;
double r450850 = r450848 * r450847;
double r450851 = r450849 + r450850;
double r450852 = 1.0;
double r450853 = r450851 + r450852;
double r450854 = 2.0;
double r450855 = r450854 * r450852;
double r450856 = r450849 + r450855;
double r450857 = r450853 / r450856;
double r450858 = r450857 / r450856;
double r450859 = r450856 + r450852;
double r450860 = r450858 / r450859;
return r450860;
}
double f(double alpha, double beta) {
double r450861 = beta;
double r450862 = 2.4580673707165206e+153;
bool r450863 = r450861 <= r450862;
double r450864 = 1.0;
double r450865 = alpha;
double r450866 = r450865 + r450861;
double r450867 = r450861 * r450865;
double r450868 = r450866 + r450867;
double r450869 = 1.0;
double r450870 = r450868 + r450869;
double r450871 = r450866 * r450866;
double r450872 = 2.0;
double r450873 = r450872 * r450869;
double r450874 = r450873 * r450873;
double r450875 = r450871 - r450874;
double r450876 = r450870 / r450875;
double r450877 = r450864 / r450876;
double r450878 = r450864 / r450877;
double r450879 = r450866 + r450873;
double r450880 = r450866 - r450873;
double r450881 = r450879 / r450880;
double r450882 = r450864 / r450881;
double r450883 = r450878 * r450882;
double r450884 = r450879 + r450869;
double r450885 = r450883 / r450884;
double r450886 = 2.0;
double r450887 = r450861 / r450865;
double r450888 = r450865 / r450861;
double r450889 = r450887 + r450888;
double r450890 = r450886 + r450889;
double r450891 = r450864 / r450890;
double r450892 = r450891 / r450884;
double r450893 = r450863 ? r450885 : r450892;
return r450893;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 2.4580673707165206e+153Initial program 1.0
rmApplied *-un-lft-identity1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
Applied associate-/l*1.0
rmApplied flip-+1.6
Applied associate-/r/1.7
Applied *-un-lft-identity1.7
Applied times-frac1.6
Applied add-sqr-sqrt1.6
Applied add-sqr-sqrt1.6
Applied times-frac1.6
Applied times-frac1.6
if 2.4580673707165206e+153 < beta Initial program 16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Applied associate-/l*16.2
Taylor expanded around inf 1.1
Final simplification1.5
herbie shell --seed 2019323
(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)))