\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\mathsf{fma}\left(a \cdot a + b \cdot b, a \cdot a + b \cdot b, 4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right) + \left(a \cdot a\right) \cdot \left(a + 1\right)\right)\right) - 1double f(double a, double b) {
double r4605955 = a;
double r4605956 = r4605955 * r4605955;
double r4605957 = b;
double r4605958 = r4605957 * r4605957;
double r4605959 = r4605956 + r4605958;
double r4605960 = 2.0;
double r4605961 = pow(r4605959, r4605960);
double r4605962 = 4.0;
double r4605963 = 1.0;
double r4605964 = r4605963 + r4605955;
double r4605965 = r4605956 * r4605964;
double r4605966 = 3.0;
double r4605967 = r4605966 * r4605955;
double r4605968 = r4605963 - r4605967;
double r4605969 = r4605958 * r4605968;
double r4605970 = r4605965 + r4605969;
double r4605971 = r4605962 * r4605970;
double r4605972 = r4605961 + r4605971;
double r4605973 = r4605972 - r4605963;
return r4605973;
}
double f(double a, double b) {
double r4605974 = a;
double r4605975 = r4605974 * r4605974;
double r4605976 = b;
double r4605977 = r4605976 * r4605976;
double r4605978 = r4605975 + r4605977;
double r4605979 = 4.0;
double r4605980 = 1.0;
double r4605981 = 3.0;
double r4605982 = r4605981 * r4605974;
double r4605983 = r4605980 - r4605982;
double r4605984 = r4605977 * r4605983;
double r4605985 = r4605974 + r4605980;
double r4605986 = r4605975 * r4605985;
double r4605987 = r4605984 + r4605986;
double r4605988 = r4605979 * r4605987;
double r4605989 = fma(r4605978, r4605978, r4605988);
double r4605990 = r4605989 - r4605980;
return r4605990;
}



Bits error versus a



Bits error versus b
Initial program 0.2
rmApplied unpow20.2
Applied fma-def0.2
Final simplification0.2
herbie shell --seed 2019152 +o rules:numerics
(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))