\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 3.046720525631589060132523753734246679822 \cdot 10^{161}:\\
\;\;\;\;\sqrt{\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}} \cdot \frac{\sqrt{\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(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \frac{\mathsf{fma}\left(\alpha, 0.25, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)\right) \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\end{array}double f(double alpha, double beta) {
double r118877 = alpha;
double r118878 = beta;
double r118879 = r118877 + r118878;
double r118880 = r118878 * r118877;
double r118881 = r118879 + r118880;
double r118882 = 1.0;
double r118883 = r118881 + r118882;
double r118884 = 2.0;
double r118885 = r118884 * r118882;
double r118886 = r118879 + r118885;
double r118887 = r118883 / r118886;
double r118888 = r118887 / r118886;
double r118889 = r118886 + r118882;
double r118890 = r118888 / r118889;
return r118890;
}
double f(double alpha, double beta) {
double r118891 = beta;
double r118892 = 3.046720525631589e+161;
bool r118893 = r118891 <= r118892;
double r118894 = alpha;
double r118895 = r118894 + r118891;
double r118896 = r118891 * r118894;
double r118897 = r118895 + r118896;
double r118898 = 1.0;
double r118899 = r118897 + r118898;
double r118900 = 2.0;
double r118901 = r118900 * r118898;
double r118902 = r118895 + r118901;
double r118903 = r118899 / r118902;
double r118904 = r118903 / r118902;
double r118905 = sqrt(r118904);
double r118906 = fma(r118900, r118898, r118898);
double r118907 = r118895 + r118906;
double r118908 = r118905 / r118907;
double r118909 = r118905 * r118908;
double r118910 = 1.0;
double r118911 = 0.25;
double r118912 = 0.5;
double r118913 = fma(r118891, r118911, r118912);
double r118914 = fma(r118894, r118911, r118913);
double r118915 = fma(r118898, r118900, r118895);
double r118916 = r118907 * r118915;
double r118917 = r118914 / r118916;
double r118918 = r118910 * r118917;
double r118919 = r118893 ? r118909 : r118918;
return r118919;
}



Bits error versus alpha



Bits error versus beta
if beta < 3.046720525631589e+161Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied add-sqr-sqrt1.3
Applied times-frac1.3
Simplified1.3
Simplified1.3
if 3.046720525631589e+161 < beta Initial program 15.3
rmApplied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied times-frac15.3
Applied times-frac15.3
Applied times-frac15.3
Simplified15.3
Simplified16.7
Taylor expanded around 0 7.1
Simplified7.1
Final simplification2.2
herbie shell --seed 2019354 +o rules:numerics
(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)))