\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\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \frac{\left(b \cdot b\right) \cdot \left({3}^{3} + {a}^{3}\right)}{3 \cdot 3 + \left(a \cdot a - 3 \cdot a\right)}\right)\right) - 1double f(double a, double b) {
double r212886 = a;
double r212887 = r212886 * r212886;
double r212888 = b;
double r212889 = r212888 * r212888;
double r212890 = r212887 + r212889;
double r212891 = 2.0;
double r212892 = pow(r212890, r212891);
double r212893 = 4.0;
double r212894 = 1.0;
double r212895 = r212894 - r212886;
double r212896 = r212887 * r212895;
double r212897 = 3.0;
double r212898 = r212897 + r212886;
double r212899 = r212889 * r212898;
double r212900 = r212896 + r212899;
double r212901 = r212893 * r212900;
double r212902 = r212892 + r212901;
double r212903 = r212902 - r212894;
return r212903;
}
double f(double a, double b) {
double r212904 = a;
double r212905 = r212904 * r212904;
double r212906 = b;
double r212907 = r212906 * r212906;
double r212908 = r212905 + r212907;
double r212909 = 2.0;
double r212910 = pow(r212908, r212909);
double r212911 = 4.0;
double r212912 = 1.0;
double r212913 = r212912 - r212904;
double r212914 = r212905 * r212913;
double r212915 = 3.0;
double r212916 = 3.0;
double r212917 = pow(r212915, r212916);
double r212918 = pow(r212904, r212916);
double r212919 = r212917 + r212918;
double r212920 = r212907 * r212919;
double r212921 = r212915 * r212915;
double r212922 = r212915 * r212904;
double r212923 = r212905 - r212922;
double r212924 = r212921 + r212923;
double r212925 = r212920 / r212924;
double r212926 = r212914 + r212925;
double r212927 = r212911 * r212926;
double r212928 = r212910 + r212927;
double r212929 = r212928 - r212912;
return r212929;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied flip3-+0.2
Applied associate-*r/0.4
Final simplification0.4
herbie shell --seed 2019350 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))