\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\left(b \cdot b\right) \cdot 4 + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1double f(double a, double b) {
double r5055975 = a;
double r5055976 = r5055975 * r5055975;
double r5055977 = b;
double r5055978 = r5055977 * r5055977;
double r5055979 = r5055976 + r5055978;
double r5055980 = 2.0;
double r5055981 = pow(r5055979, r5055980);
double r5055982 = 4.0;
double r5055983 = r5055982 * r5055978;
double r5055984 = r5055981 + r5055983;
double r5055985 = 1.0;
double r5055986 = r5055984 - r5055985;
return r5055986;
}
double f(double a, double b) {
double r5055987 = b;
double r5055988 = r5055987 * r5055987;
double r5055989 = 4.0;
double r5055990 = r5055988 * r5055989;
double r5055991 = a;
double r5055992 = r5055991 * r5055991;
double r5055993 = r5055992 + r5055988;
double r5055994 = 2.0;
double r5055995 = pow(r5055993, r5055994);
double r5055996 = r5055990 + r5055995;
double r5055997 = 1.0;
double r5055998 = r5055996 - r5055997;
return r5055998;
}



Bits error versus a



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