\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 14 \cdot \left(b \cdot b\right) + \left(-1 + {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{4}\right)double f(double a, double b) {
double r7019893 = a;
double r7019894 = r7019893 * r7019893;
double r7019895 = b;
double r7019896 = r7019895 * r7019895;
double r7019897 = r7019894 + r7019896;
double r7019898 = 2.0;
double r7019899 = pow(r7019897, r7019898);
double r7019900 = 4.0;
double r7019901 = r7019900 * r7019896;
double r7019902 = r7019899 + r7019901;
double r7019903 = 1.0;
double r7019904 = r7019902 - r7019903;
return r7019904;
}
double f(double a, double b) {
double r7019905 = 4.0;
double r7019906 = b;
double r7019907 = r7019906 * r7019906;
double r7019908 = r7019905 * r7019907;
double r7019909 = -1.0;
double r7019910 = a;
double r7019911 = r7019910 * r7019910;
double r7019912 = r7019911 + r7019907;
double r7019913 = sqrt(r7019912);
double r7019914 = pow(r7019913, r7019905);
double r7019915 = r7019909 + r7019914;
double r7019916 = r7019908 + r7019915;
return r7019916;
}



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 2019135
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))