\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 r301933 = a;
double r301934 = r301933 * r301933;
double r301935 = b;
double r301936 = r301935 * r301935;
double r301937 = r301934 + r301936;
double r301938 = 2.0;
double r301939 = pow(r301937, r301938);
double r301940 = 4.0;
double r301941 = r301940 * r301936;
double r301942 = r301939 + r301941;
double r301943 = 1.0;
double r301944 = r301942 - r301943;
return r301944;
}
double f(double a, double b) {
double r301945 = a;
double r301946 = r301945 * r301945;
double r301947 = b;
double r301948 = r301947 * r301947;
double r301949 = r301946 + r301948;
double r301950 = 2.0;
double r301951 = pow(r301949, r301950);
double r301952 = 4.0;
double r301953 = r301952 * r301948;
double r301954 = r301951 + r301953;
double r301955 = 1.0;
double r301956 = r301954 - r301955;
return r301956;
}



Bits error versus a



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