\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\left(\left({\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(1 + a\right)\right) \cdot 4\right) + 4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r140369 = a;
double r140370 = r140369 * r140369;
double r140371 = b;
double r140372 = r140371 * r140371;
double r140373 = r140370 + r140372;
double r140374 = 2.0;
double r140375 = pow(r140373, r140374);
double r140376 = 4.0;
double r140377 = 1.0;
double r140378 = r140377 + r140369;
double r140379 = r140370 * r140378;
double r140380 = 3.0;
double r140381 = r140380 * r140369;
double r140382 = r140377 - r140381;
double r140383 = r140372 * r140382;
double r140384 = r140379 + r140383;
double r140385 = r140376 * r140384;
double r140386 = r140375 + r140385;
double r140387 = r140386 - r140377;
return r140387;
}
double f(double a, double b) {
double r140388 = a;
double r140389 = r140388 * r140388;
double r140390 = b;
double r140391 = r140390 * r140390;
double r140392 = r140389 + r140391;
double r140393 = 2.0;
double r140394 = pow(r140392, r140393);
double r140395 = 1.0;
double r140396 = r140395 + r140388;
double r140397 = r140389 * r140396;
double r140398 = 4.0;
double r140399 = r140397 * r140398;
double r140400 = r140394 + r140399;
double r140401 = 3.0;
double r140402 = r140401 * r140388;
double r140403 = r140395 - r140402;
double r140404 = r140391 * r140403;
double r140405 = r140398 * r140404;
double r140406 = r140400 + r140405;
double r140407 = r140406 - r140395;
return r140407;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied distribute-lft-in0.2
Applied associate-+r+0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019304
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))