\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(3 + a\right)\right)\right) - 1\mathsf{fma}\left(\mathsf{fma}\left(b \cdot b, 3 + a, \left(a - a \cdot a\right) \cdot a\right), 4, \mathsf{fma}\left(\left(b \cdot a\right) \cdot \left(b \cdot a\right), 2, {a}^{4} + {b}^{4}\right) - 1\right)double f(double a, double b) {
double r8089974 = a;
double r8089975 = r8089974 * r8089974;
double r8089976 = b;
double r8089977 = r8089976 * r8089976;
double r8089978 = r8089975 + r8089977;
double r8089979 = 2.0;
double r8089980 = pow(r8089978, r8089979);
double r8089981 = 4.0;
double r8089982 = 1.0;
double r8089983 = r8089982 - r8089974;
double r8089984 = r8089975 * r8089983;
double r8089985 = 3.0;
double r8089986 = r8089985 + r8089974;
double r8089987 = r8089977 * r8089986;
double r8089988 = r8089984 + r8089987;
double r8089989 = r8089981 * r8089988;
double r8089990 = r8089980 + r8089989;
double r8089991 = r8089990 - r8089982;
return r8089991;
}
double f(double a, double b) {
double r8089992 = b;
double r8089993 = r8089992 * r8089992;
double r8089994 = 3.0;
double r8089995 = a;
double r8089996 = r8089994 + r8089995;
double r8089997 = r8089995 * r8089995;
double r8089998 = r8089995 - r8089997;
double r8089999 = r8089998 * r8089995;
double r8090000 = fma(r8089993, r8089996, r8089999);
double r8090001 = 4.0;
double r8090002 = r8089992 * r8089995;
double r8090003 = r8090002 * r8090002;
double r8090004 = 2.0;
double r8090005 = pow(r8089995, r8090001);
double r8090006 = pow(r8089992, r8090001);
double r8090007 = r8090005 + r8090006;
double r8090008 = fma(r8090003, r8090004, r8090007);
double r8090009 = 1.0;
double r8090010 = r8090008 - r8090009;
double r8090011 = fma(r8090000, r8090001, r8090010);
return r8090011;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019134 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))