\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.80402895061238771139523421196263224057 \cdot 10^{158}:\\
\;\;\;\;\sqrt{\frac{1}{\alpha + \left(\beta + 1 \cdot 2\right)} \cdot \frac{\left(\beta + \left(\alpha + 1\right)\right) + \beta \cdot \alpha}{\alpha + \left(\beta + 1 \cdot 2\right)}} \cdot \frac{\sqrt{\left(\left(\beta + \left(\alpha + 1\right)\right) + \beta \cdot \alpha\right) \cdot \frac{1}{\alpha + \left(\beta + 1 \cdot 2\right)}}}{\sqrt{\alpha + \left(\beta + 1 \cdot 2\right)} \cdot \left(1 + \left(\alpha + \left(\beta + 1 \cdot 2\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\left(2 + \frac{\beta}{\alpha}\right) + \frac{\alpha}{\beta}}}{1 + \left(1 \cdot 2 + \left(\alpha + \beta\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r210792 = alpha;
double r210793 = beta;
double r210794 = r210792 + r210793;
double r210795 = r210793 * r210792;
double r210796 = r210794 + r210795;
double r210797 = 1.0;
double r210798 = r210796 + r210797;
double r210799 = 2.0;
double r210800 = r210799 * r210797;
double r210801 = r210794 + r210800;
double r210802 = r210798 / r210801;
double r210803 = r210802 / r210801;
double r210804 = r210801 + r210797;
double r210805 = r210803 / r210804;
return r210805;
}
double f(double alpha, double beta) {
double r210806 = alpha;
double r210807 = 1.8040289506123877e+158;
bool r210808 = r210806 <= r210807;
double r210809 = 1.0;
double r210810 = beta;
double r210811 = 1.0;
double r210812 = 2.0;
double r210813 = r210811 * r210812;
double r210814 = r210810 + r210813;
double r210815 = r210806 + r210814;
double r210816 = r210809 / r210815;
double r210817 = r210806 + r210811;
double r210818 = r210810 + r210817;
double r210819 = r210810 * r210806;
double r210820 = r210818 + r210819;
double r210821 = r210820 / r210815;
double r210822 = r210816 * r210821;
double r210823 = sqrt(r210822);
double r210824 = r210820 * r210816;
double r210825 = sqrt(r210824);
double r210826 = sqrt(r210815);
double r210827 = r210811 + r210815;
double r210828 = r210826 * r210827;
double r210829 = r210825 / r210828;
double r210830 = r210823 * r210829;
double r210831 = 2.0;
double r210832 = r210810 / r210806;
double r210833 = r210831 + r210832;
double r210834 = r210806 / r210810;
double r210835 = r210833 + r210834;
double r210836 = r210809 / r210835;
double r210837 = r210806 + r210810;
double r210838 = r210813 + r210837;
double r210839 = r210811 + r210838;
double r210840 = r210836 / r210839;
double r210841 = r210808 ? r210830 : r210840;
return r210841;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.8040289506123877e+158Initial program 1.4
rmApplied clear-num1.4
Simplified1.4
rmApplied *-un-lft-identity1.4
Applied add-sqr-sqrt1.5
Applied times-frac1.5
Simplified1.5
Simplified1.5
rmApplied associate-*r/1.5
Applied sqrt-div1.5
Applied associate-/l/1.5
Simplified1.5
if 1.8040289506123877e+158 < alpha Initial program 18.0
rmApplied clear-num18.0
Simplified18.0
Taylor expanded around inf 0.1
Simplified0.1
Final simplification1.3
herbie shell --seed 2019194
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))