\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(4 \cdot \left(b \cdot b\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right) - 1double f(double a, double b) {
double r62831527 = a;
double r62831528 = r62831527 * r62831527;
double r62831529 = b;
double r62831530 = r62831529 * r62831529;
double r62831531 = r62831528 + r62831530;
double r62831532 = 2.0;
double r62831533 = pow(r62831531, r62831532);
double r62831534 = 4.0;
double r62831535 = r62831534 * r62831530;
double r62831536 = r62831533 + r62831535;
double r62831537 = 1.0;
double r62831538 = r62831536 - r62831537;
return r62831538;
}
double f(double a, double b) {
double r62831539 = 4.0;
double r62831540 = b;
double r62831541 = r62831540 * r62831540;
double r62831542 = r62831539 * r62831541;
double r62831543 = a;
double r62831544 = r62831543 * r62831543;
double r62831545 = r62831541 + r62831544;
double r62831546 = sqrt(r62831545);
double r62831547 = pow(r62831546, r62831539);
double r62831548 = r62831542 + r62831547;
double r62831549 = 1.0;
double r62831550 = r62831548 - r62831549;
return r62831550;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*r*0.1
rmApplied pow10.1
Applied add-sqr-sqrt0.1
Applied pow30.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019112
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))