\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}\;\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} \le 0.08671099871665621794392109222826547920704:\\
\;\;\;\;\frac{\frac{1}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{1}} \cdot \frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r75813 = alpha;
double r75814 = beta;
double r75815 = r75813 + r75814;
double r75816 = r75814 * r75813;
double r75817 = r75815 + r75816;
double r75818 = 1.0;
double r75819 = r75817 + r75818;
double r75820 = 2.0;
double r75821 = r75820 * r75818;
double r75822 = r75815 + r75821;
double r75823 = r75819 / r75822;
double r75824 = r75823 / r75822;
double r75825 = r75822 + r75818;
double r75826 = r75824 / r75825;
return r75826;
}
double f(double alpha, double beta) {
double r75827 = alpha;
double r75828 = beta;
double r75829 = r75827 + r75828;
double r75830 = r75828 * r75827;
double r75831 = r75829 + r75830;
double r75832 = 1.0;
double r75833 = r75831 + r75832;
double r75834 = 2.0;
double r75835 = r75834 * r75832;
double r75836 = r75829 + r75835;
double r75837 = r75833 / r75836;
double r75838 = r75837 / r75836;
double r75839 = r75836 + r75832;
double r75840 = r75838 / r75839;
double r75841 = 0.08671099871665622;
bool r75842 = r75840 <= r75841;
double r75843 = 1.0;
double r75844 = fma(r75832, r75834, r75829);
double r75845 = r75844 / r75843;
double r75846 = r75843 / r75845;
double r75847 = r75833 / r75844;
double r75848 = r75846 * r75847;
double r75849 = r75848 / r75839;
double r75850 = 0.0;
double r75851 = r75842 ? r75849 : r75850;
return r75851;
}



Bits error versus alpha



Bits error versus beta
if (/ (/ (/ (+ (+ (+ 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)) < 0.08671099871665622Initial program 0.1
rmApplied add-sqr-sqrt0.6
Applied add-sqr-sqrt1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
Applied times-frac0.7
Simplified0.2
Simplified0.1
if 0.08671099871665622 < (/ (/ (/ (+ (+ (+ 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)) Initial program 63.2
rmApplied add-sqr-sqrt63.2
Applied add-sqr-sqrt63.2
Applied *-un-lft-identity63.2
Applied times-frac63.2
Applied times-frac63.2
Simplified63.2
Simplified63.2
Taylor expanded around inf 23.5
Final simplification1.5
herbie shell --seed 2019353 +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)))