\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(4 \cdot \left(b \cdot b\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right) - 1double f(double a, double b) {
double r5803703 = a;
double r5803704 = r5803703 * r5803703;
double r5803705 = b;
double r5803706 = r5803705 * r5803705;
double r5803707 = r5803704 + r5803706;
double r5803708 = 2.0;
double r5803709 = pow(r5803707, r5803708);
double r5803710 = 4.0;
double r5803711 = r5803710 * r5803706;
double r5803712 = r5803709 + r5803711;
double r5803713 = 1.0;
double r5803714 = r5803712 - r5803713;
return r5803714;
}
double f(double a, double b) {
double r5803715 = 4.0;
double r5803716 = b;
double r5803717 = r5803716 * r5803716;
double r5803718 = r5803715 * r5803717;
double r5803719 = a;
double r5803720 = r5803719 * r5803719;
double r5803721 = r5803717 + r5803720;
double r5803722 = sqrt(r5803721);
double r5803723 = pow(r5803722, r5803715);
double r5803724 = r5803718 + r5803723;
double r5803725 = 1.0;
double r5803726 = r5803724 - r5803725;
return r5803726;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.1
rmApplied add-sqr-sqrt0.1
Applied cube-unmult0.1
Applied pow10.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))