\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\left(b \cdot b\right) \cdot 4 + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1double f(double a, double b) {
double r3737520 = a;
double r3737521 = r3737520 * r3737520;
double r3737522 = b;
double r3737523 = r3737522 * r3737522;
double r3737524 = r3737521 + r3737523;
double r3737525 = 2.0;
double r3737526 = pow(r3737524, r3737525);
double r3737527 = 4.0;
double r3737528 = r3737527 * r3737523;
double r3737529 = r3737526 + r3737528;
double r3737530 = 1.0;
double r3737531 = r3737529 - r3737530;
return r3737531;
}
double f(double a, double b) {
double r3737532 = b;
double r3737533 = r3737532 * r3737532;
double r3737534 = 4.0;
double r3737535 = r3737533 * r3737534;
double r3737536 = a;
double r3737537 = r3737536 * r3737536;
double r3737538 = r3737537 + r3737533;
double r3737539 = 2.0;
double r3737540 = pow(r3737538, r3737539);
double r3737541 = r3737535 + r3737540;
double r3737542 = 1.0;
double r3737543 = r3737541 - r3737542;
return r3737543;
}



Bits error versus a



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