\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(b \cdot b\right) \cdot 4} \cdot \sqrt{\left(b \cdot b\right) \cdot 4 + {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}} - 1double f(double a, double b) {
double r4437927 = a;
double r4437928 = r4437927 * r4437927;
double r4437929 = b;
double r4437930 = r4437929 * r4437929;
double r4437931 = r4437928 + r4437930;
double r4437932 = 2.0;
double r4437933 = pow(r4437931, r4437932);
double r4437934 = 4.0;
double r4437935 = r4437934 * r4437930;
double r4437936 = r4437933 + r4437935;
double r4437937 = 1.0;
double r4437938 = r4437936 - r4437937;
return r4437938;
}
double f(double a, double b) {
double r4437939 = a;
double r4437940 = r4437939 * r4437939;
double r4437941 = b;
double r4437942 = r4437941 * r4437941;
double r4437943 = r4437940 + r4437942;
double r4437944 = 2.0;
double r4437945 = pow(r4437943, r4437944);
double r4437946 = 4.0;
double r4437947 = r4437942 * r4437946;
double r4437948 = r4437945 + r4437947;
double r4437949 = sqrt(r4437948);
double r4437950 = sqrt(r4437943);
double r4437951 = pow(r4437950, r4437944);
double r4437952 = r4437951 * r4437951;
double r4437953 = r4437947 + r4437952;
double r4437954 = sqrt(r4437953);
double r4437955 = r4437949 * r4437954;
double r4437956 = 1.0;
double r4437957 = r4437955 - r4437956;
return r4437957;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
rmApplied add-sqr-sqrt0.2
Applied unpow-prod-down0.2
Final simplification0.2
herbie shell --seed 2019192
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))