\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 r264677 = a;
double r264678 = r264677 * r264677;
double r264679 = b;
double r264680 = r264679 * r264679;
double r264681 = r264678 + r264680;
double r264682 = 2.0;
double r264683 = pow(r264681, r264682);
double r264684 = 4.0;
double r264685 = r264684 * r264680;
double r264686 = r264683 + r264685;
double r264687 = 1.0;
double r264688 = r264686 - r264687;
return r264688;
}
double f(double a, double b) {
double r264689 = a;
double r264690 = r264689 * r264689;
double r264691 = b;
double r264692 = r264691 * r264691;
double r264693 = r264690 + r264692;
double r264694 = 2.0;
double r264695 = pow(r264693, r264694);
double r264696 = 4.0;
double r264697 = r264696 * r264692;
double r264698 = r264695 + r264697;
double r264699 = 1.0;
double r264700 = r264698 - r264699;
return r264700;
}



Bits error versus a



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