\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 3.948042311878287 \cdot 10^{+161}:\\
\;\;\;\;\frac{\sqrt{\frac{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}{\left(\beta + \alpha\right) + 2}} \cdot \sqrt{\frac{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}{\left(\beta + \alpha\right) + 2}}}{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(\beta + \alpha\right) \cdot 0.25 + 0.5}{\left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right) - 4}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\left(\beta + \alpha\right) - 2}}\\
\end{array}double f(double alpha, double beta) {
double r5870878 = alpha;
double r5870879 = beta;
double r5870880 = r5870878 + r5870879;
double r5870881 = r5870879 * r5870878;
double r5870882 = r5870880 + r5870881;
double r5870883 = 1.0;
double r5870884 = r5870882 + r5870883;
double r5870885 = 2.0;
double r5870886 = 1.0;
double r5870887 = r5870885 * r5870886;
double r5870888 = r5870880 + r5870887;
double r5870889 = r5870884 / r5870888;
double r5870890 = r5870889 / r5870888;
double r5870891 = r5870888 + r5870883;
double r5870892 = r5870890 / r5870891;
return r5870892;
}
double f(double alpha, double beta) {
double r5870893 = alpha;
double r5870894 = 3.948042311878287e+161;
bool r5870895 = r5870893 <= r5870894;
double r5870896 = 1.0;
double r5870897 = beta;
double r5870898 = r5870897 * r5870893;
double r5870899 = r5870897 + r5870893;
double r5870900 = r5870898 + r5870899;
double r5870901 = r5870896 + r5870900;
double r5870902 = 2.0;
double r5870903 = r5870899 + r5870902;
double r5870904 = r5870901 / r5870903;
double r5870905 = r5870904 / r5870903;
double r5870906 = sqrt(r5870905);
double r5870907 = r5870906 * r5870906;
double r5870908 = r5870896 + r5870903;
double r5870909 = r5870907 / r5870908;
double r5870910 = 0.25;
double r5870911 = r5870899 * r5870910;
double r5870912 = 0.5;
double r5870913 = r5870911 + r5870912;
double r5870914 = r5870899 * r5870899;
double r5870915 = 4.0;
double r5870916 = r5870914 - r5870915;
double r5870917 = r5870913 / r5870916;
double r5870918 = r5870899 - r5870902;
double r5870919 = r5870908 / r5870918;
double r5870920 = r5870917 / r5870919;
double r5870921 = r5870895 ? r5870909 : r5870920;
return r5870921;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 3.948042311878287e+161Initial program 1.3
rmApplied add-sqr-sqrt1.4
if 3.948042311878287e+161 < alpha Initial program 15.6
rmApplied flip-+16.9
Applied associate-/r/16.9
Applied associate-/l*16.9
Taylor expanded around 0 7.7
Simplified7.7
Final simplification2.4
herbie shell --seed 2019164
(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)))