\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 1double f(double a, double b) {
double r369276 = a;
double r369277 = r369276 * r369276;
double r369278 = b;
double r369279 = r369278 * r369278;
double r369280 = r369277 + r369279;
double r369281 = 2.0;
double r369282 = pow(r369280, r369281);
double r369283 = 4.0;
double r369284 = 1.0;
double r369285 = r369284 - r369276;
double r369286 = r369277 * r369285;
double r369287 = 3.0;
double r369288 = r369287 + r369276;
double r369289 = r369279 * r369288;
double r369290 = r369286 + r369289;
double r369291 = r369283 * r369290;
double r369292 = r369282 + r369291;
double r369293 = r369292 - r369284;
return r369293;
}
double f(double a, double b) {
double r369294 = a;
double r369295 = r369294 * r369294;
double r369296 = b;
double r369297 = r369296 * r369296;
double r369298 = r369295 + r369297;
double r369299 = 2.0;
double r369300 = pow(r369298, r369299);
double r369301 = 4.0;
double r369302 = 1.0;
double r369303 = r369302 - r369294;
double r369304 = r369295 * r369303;
double r369305 = 3.0;
double r369306 = r369305 + r369294;
double r369307 = r369297 * r369306;
double r369308 = r369304 + r369307;
double r369309 = r369301 * r369308;
double r369310 = r369300 + r369309;
double r369311 = r369310 - r369302;
return r369311;
}



Bits error versus a



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