\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 r115240 = a;
double r115241 = r115240 * r115240;
double r115242 = b;
double r115243 = r115242 * r115242;
double r115244 = r115241 + r115243;
double r115245 = 2.0;
double r115246 = pow(r115244, r115245);
double r115247 = 4.0;
double r115248 = r115247 * r115243;
double r115249 = r115246 + r115248;
double r115250 = 1.0;
double r115251 = r115249 - r115250;
return r115251;
}
double f(double a, double b) {
double r115252 = a;
double r115253 = r115252 * r115252;
double r115254 = b;
double r115255 = r115254 * r115254;
double r115256 = r115253 + r115255;
double r115257 = 2.0;
double r115258 = pow(r115256, r115257);
double r115259 = 4.0;
double r115260 = r115259 * r115255;
double r115261 = r115258 + r115260;
double r115262 = 1.0;
double r115263 = r115261 - r115262;
return r115263;
}



Bits error versus a



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