\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 r154241 = a;
double r154242 = r154241 * r154241;
double r154243 = b;
double r154244 = r154243 * r154243;
double r154245 = r154242 + r154244;
double r154246 = 2.0;
double r154247 = pow(r154245, r154246);
double r154248 = 4.0;
double r154249 = r154248 * r154244;
double r154250 = r154247 + r154249;
double r154251 = 1.0;
double r154252 = r154250 - r154251;
return r154252;
}
double f(double a, double b) {
double r154253 = a;
double r154254 = r154253 * r154253;
double r154255 = b;
double r154256 = r154255 * r154255;
double r154257 = r154254 + r154256;
double r154258 = 2.0;
double r154259 = pow(r154257, r154258);
double r154260 = 4.0;
double r154261 = r154260 * r154256;
double r154262 = r154259 + r154261;
double r154263 = 1.0;
double r154264 = r154262 - r154263;
return r154264;
}



Bits error versus a



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