\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{1 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 \cdot 1 + \left(\beta + \alpha\right)}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{1 + \left(2 \cdot 1 + \left(\beta + \alpha\right)\right)} \le 0.087775401979634876115099473281588871032:\\
\;\;\;\;\sqrt{\frac{\frac{\frac{\frac{1 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{\sqrt{2 \cdot 1 + \left(\beta + \alpha\right)}}}{\sqrt{2 \cdot 1 + \left(\beta + \alpha\right)}}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{1 + \left(2 \cdot 1 + \left(\beta + \alpha\right)\right)}} \cdot \sqrt{\frac{\frac{\frac{1 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 \cdot 1 + \left(\beta + \alpha\right)}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{1 + \left(2 \cdot 1 + \left(\beta + \alpha\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\frac{2}{\alpha}}{\alpha} + \left(1 - \frac{1}{\alpha}\right)}{2 \cdot 1 + \left(\beta + \alpha\right)}}{1 + \left(2 \cdot 1 + \left(\beta + \alpha\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r5107801 = alpha;
double r5107802 = beta;
double r5107803 = r5107801 + r5107802;
double r5107804 = r5107802 * r5107801;
double r5107805 = r5107803 + r5107804;
double r5107806 = 1.0;
double r5107807 = r5107805 + r5107806;
double r5107808 = 2.0;
double r5107809 = r5107808 * r5107806;
double r5107810 = r5107803 + r5107809;
double r5107811 = r5107807 / r5107810;
double r5107812 = r5107811 / r5107810;
double r5107813 = r5107810 + r5107806;
double r5107814 = r5107812 / r5107813;
return r5107814;
}
double f(double alpha, double beta) {
double r5107815 = 1.0;
double r5107816 = alpha;
double r5107817 = beta;
double r5107818 = r5107816 * r5107817;
double r5107819 = r5107817 + r5107816;
double r5107820 = r5107818 + r5107819;
double r5107821 = r5107815 + r5107820;
double r5107822 = 2.0;
double r5107823 = r5107822 * r5107815;
double r5107824 = r5107823 + r5107819;
double r5107825 = r5107821 / r5107824;
double r5107826 = r5107825 / r5107824;
double r5107827 = r5107815 + r5107824;
double r5107828 = r5107826 / r5107827;
double r5107829 = 0.08777540197963488;
bool r5107830 = r5107828 <= r5107829;
double r5107831 = sqrt(r5107824);
double r5107832 = r5107821 / r5107831;
double r5107833 = r5107832 / r5107831;
double r5107834 = r5107833 / r5107824;
double r5107835 = r5107834 / r5107827;
double r5107836 = sqrt(r5107835);
double r5107837 = sqrt(r5107828);
double r5107838 = r5107836 * r5107837;
double r5107839 = r5107822 / r5107816;
double r5107840 = r5107839 / r5107816;
double r5107841 = 1.0;
double r5107842 = r5107815 / r5107816;
double r5107843 = r5107841 - r5107842;
double r5107844 = r5107840 + r5107843;
double r5107845 = r5107844 / r5107824;
double r5107846 = r5107845 / r5107827;
double r5107847 = r5107830 ? r5107838 : r5107846;
return r5107847;
}



Bits error versus alpha



Bits error versus beta
Results
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.08777540197963488Initial program 0.1
rmApplied add-sqr-sqrt0.2
rmApplied add-sqr-sqrt0.2
Applied associate-/r*0.2
if 0.08777540197963488 < (/ (/ (/ (+ (+ (+ 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 62.8
Taylor expanded around inf 22.6
Simplified22.6
Final simplification1.4
herbie shell --seed 2019168
(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)))