\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 r203998 = a;
double r203999 = r203998 * r203998;
double r204000 = b;
double r204001 = r204000 * r204000;
double r204002 = r203999 + r204001;
double r204003 = 2.0;
double r204004 = pow(r204002, r204003);
double r204005 = 4.0;
double r204006 = r204005 * r204001;
double r204007 = r204004 + r204006;
double r204008 = 1.0;
double r204009 = r204007 - r204008;
return r204009;
}
double f(double a, double b) {
double r204010 = a;
double r204011 = r204010 * r204010;
double r204012 = b;
double r204013 = r204012 * r204012;
double r204014 = r204011 + r204013;
double r204015 = 2.0;
double r204016 = pow(r204014, r204015);
double r204017 = 4.0;
double r204018 = r204017 * r204013;
double r204019 = r204016 + r204018;
double r204020 = 1.0;
double r204021 = r204019 - r204020;
return r204021;
}



Bits error versus a



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