\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(\sqrt{b \cdot b + a \cdot a}\right)}^{4} + \left(\left(-3 \cdot \left(b \cdot b\right) + \left(a + a \cdot a\right)\right) \cdot a + b \cdot b\right) \cdot 4\right) + -1double f(double a, double b) {
double r3699590 = a;
double r3699591 = r3699590 * r3699590;
double r3699592 = b;
double r3699593 = r3699592 * r3699592;
double r3699594 = r3699591 + r3699593;
double r3699595 = 2.0;
double r3699596 = pow(r3699594, r3699595);
double r3699597 = 4.0;
double r3699598 = 1.0;
double r3699599 = r3699598 + r3699590;
double r3699600 = r3699591 * r3699599;
double r3699601 = 3.0;
double r3699602 = r3699601 * r3699590;
double r3699603 = r3699598 - r3699602;
double r3699604 = r3699593 * r3699603;
double r3699605 = r3699600 + r3699604;
double r3699606 = r3699597 * r3699605;
double r3699607 = r3699596 + r3699606;
double r3699608 = r3699607 - r3699598;
return r3699608;
}
double f(double a, double b) {
double r3699609 = b;
double r3699610 = r3699609 * r3699609;
double r3699611 = a;
double r3699612 = r3699611 * r3699611;
double r3699613 = r3699610 + r3699612;
double r3699614 = sqrt(r3699613);
double r3699615 = 4.0;
double r3699616 = pow(r3699614, r3699615);
double r3699617 = -3.0;
double r3699618 = r3699617 * r3699610;
double r3699619 = r3699611 + r3699612;
double r3699620 = r3699618 + r3699619;
double r3699621 = r3699620 * r3699611;
double r3699622 = r3699621 + r3699610;
double r3699623 = r3699622 * r3699615;
double r3699624 = r3699616 + r3699623;
double r3699625 = -1.0;
double r3699626 = r3699624 + r3699625;
return r3699626;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.1
rmApplied add-sqr-sqrt0.1
Applied cube-unmult0.1
Applied pow10.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019138
(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))