\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1double f(double a, double b) {
double r347227 = a;
double r347228 = r347227 * r347227;
double r347229 = b;
double r347230 = r347229 * r347229;
double r347231 = r347228 + r347230;
double r347232 = 2.0;
double r347233 = pow(r347231, r347232);
double r347234 = 4.0;
double r347235 = r347234 * r347230;
double r347236 = r347233 + r347235;
double r347237 = 1.0;
double r347238 = r347236 - r347237;
return r347238;
}
double f(double a, double b) {
double r347239 = a;
double r347240 = r347239 * r347239;
double r347241 = b;
double r347242 = r347241 * r347241;
double r347243 = r347240 + r347242;
double r347244 = 2.0;
double r347245 = pow(r347243, r347244);
double r347246 = 4.0;
double r347247 = r347246 * r347242;
double r347248 = r347245 + r347247;
double r347249 = 1.0;
double r347250 = r347248 - r347249;
return r347250;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2020057 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))