\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 r161437 = a;
double r161438 = r161437 * r161437;
double r161439 = b;
double r161440 = r161439 * r161439;
double r161441 = r161438 + r161440;
double r161442 = 2.0;
double r161443 = pow(r161441, r161442);
double r161444 = 4.0;
double r161445 = r161444 * r161440;
double r161446 = r161443 + r161445;
double r161447 = 1.0;
double r161448 = r161446 - r161447;
return r161448;
}
double f(double a, double b) {
double r161449 = a;
double r161450 = r161449 * r161449;
double r161451 = b;
double r161452 = r161451 * r161451;
double r161453 = r161450 + r161452;
double r161454 = 2.0;
double r161455 = pow(r161453, r161454);
double r161456 = 4.0;
double r161457 = r161456 * r161452;
double r161458 = r161455 + r161457;
double r161459 = 1.0;
double r161460 = r161458 - r161459;
return r161460;
}



Bits error versus a



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