\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} + 4 \cdot \left(\left(\left(a \cdot a\right) \cdot 1 + {a}^{3}\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r152944 = a;
double r152945 = r152944 * r152944;
double r152946 = b;
double r152947 = r152946 * r152946;
double r152948 = r152945 + r152947;
double r152949 = 2.0;
double r152950 = pow(r152948, r152949);
double r152951 = 4.0;
double r152952 = 1.0;
double r152953 = r152952 + r152944;
double r152954 = r152945 * r152953;
double r152955 = 3.0;
double r152956 = r152955 * r152944;
double r152957 = r152952 - r152956;
double r152958 = r152947 * r152957;
double r152959 = r152954 + r152958;
double r152960 = r152951 * r152959;
double r152961 = r152950 + r152960;
double r152962 = r152961 - r152952;
return r152962;
}
double f(double a, double b) {
double r152963 = a;
double r152964 = r152963 * r152963;
double r152965 = b;
double r152966 = r152965 * r152965;
double r152967 = r152964 + r152966;
double r152968 = 2.0;
double r152969 = pow(r152967, r152968);
double r152970 = 4.0;
double r152971 = 1.0;
double r152972 = r152964 * r152971;
double r152973 = 3.0;
double r152974 = pow(r152963, r152973);
double r152975 = r152972 + r152974;
double r152976 = 3.0;
double r152977 = r152976 * r152963;
double r152978 = r152971 - r152977;
double r152979 = r152966 * r152978;
double r152980 = r152975 + r152979;
double r152981 = r152970 * r152980;
double r152982 = r152969 + r152981;
double r152983 = r152982 - r152971;
return r152983;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied distribute-lft-in0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019195
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))