\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.328897091901958382885472635472796599954 \cdot 10^{154}:\\
\;\;\;\;\frac{1}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}{\frac{\sqrt[3]{1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\
\end{array}double f(double alpha, double beta) {
double r174903 = alpha;
double r174904 = beta;
double r174905 = r174903 + r174904;
double r174906 = r174904 * r174903;
double r174907 = r174905 + r174906;
double r174908 = 1.0;
double r174909 = r174907 + r174908;
double r174910 = 2.0;
double r174911 = r174910 * r174908;
double r174912 = r174905 + r174911;
double r174913 = r174909 / r174912;
double r174914 = r174913 / r174912;
double r174915 = r174912 + r174908;
double r174916 = r174914 / r174915;
return r174916;
}
double f(double alpha, double beta) {
double r174917 = alpha;
double r174918 = 1.3288970919019584e+154;
bool r174919 = r174917 <= r174918;
double r174920 = 1.0;
double r174921 = beta;
double r174922 = r174917 + r174921;
double r174923 = 2.0;
double r174924 = 1.0;
double r174925 = fma(r174923, r174924, r174924);
double r174926 = r174922 + r174925;
double r174927 = r174921 * r174917;
double r174928 = r174922 + r174927;
double r174929 = r174928 + r174924;
double r174930 = fma(r174924, r174923, r174922);
double r174931 = r174929 / r174930;
double r174932 = r174926 / r174931;
double r174933 = r174932 * r174930;
double r174934 = r174920 / r174933;
double r174935 = cbrt(r174920);
double r174936 = r174935 * r174935;
double r174937 = 2.0;
double r174938 = r174921 / r174917;
double r174939 = r174917 / r174921;
double r174940 = r174938 + r174939;
double r174941 = r174937 + r174940;
double r174942 = r174935 / r174930;
double r174943 = r174941 / r174942;
double r174944 = r174936 / r174943;
double r174945 = r174919 ? r174934 : r174944;
return r174945;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.3288970919019584e+154Initial program 1.1
rmApplied clear-num1.3
Simplified1.3
if 1.3288970919019584e+154 < alpha Initial program 15.6
rmApplied clear-num16.6
Simplified16.6
rmApplied add-cube-cbrt16.6
Applied associate-/l*16.6
Simplified18.2
Taylor expanded around inf 1.4
Final simplification1.3
herbie shell --seed 2020002 +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)))