\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(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4\right) - 1double f(double a, double b) {
double r16110510 = a;
double r16110511 = r16110510 * r16110510;
double r16110512 = b;
double r16110513 = r16110512 * r16110512;
double r16110514 = r16110511 + r16110513;
double r16110515 = 2.0;
double r16110516 = pow(r16110514, r16110515);
double r16110517 = 4.0;
double r16110518 = 1.0;
double r16110519 = r16110518 + r16110510;
double r16110520 = r16110511 * r16110519;
double r16110521 = 3.0;
double r16110522 = r16110521 * r16110510;
double r16110523 = r16110518 - r16110522;
double r16110524 = r16110513 * r16110523;
double r16110525 = r16110520 + r16110524;
double r16110526 = r16110517 * r16110525;
double r16110527 = r16110516 + r16110526;
double r16110528 = r16110527 - r16110518;
return r16110528;
}
double f(double a, double b) {
double r16110529 = a;
double r16110530 = r16110529 * r16110529;
double r16110531 = b;
double r16110532 = r16110531 * r16110531;
double r16110533 = r16110530 + r16110532;
double r16110534 = 2.0;
double r16110535 = pow(r16110533, r16110534);
double r16110536 = 1.0;
double r16110537 = r16110529 + r16110536;
double r16110538 = r16110530 * r16110537;
double r16110539 = 3.0;
double r16110540 = r16110539 * r16110529;
double r16110541 = r16110536 - r16110540;
double r16110542 = r16110532 * r16110541;
double r16110543 = r16110538 + r16110542;
double r16110544 = 4.0;
double r16110545 = r16110543 * r16110544;
double r16110546 = r16110535 + r16110545;
double r16110547 = r16110546 - r16110536;
return r16110547;
}



Bits error versus a



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