\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} + \sqrt[3]{\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)} \cdot \left(4 \cdot \left(\sqrt[3]{\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)} \cdot \sqrt[3]{\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)}\right)\right)\right) - 1double f(double a, double b) {
double r14185840 = a;
double r14185841 = r14185840 * r14185840;
double r14185842 = b;
double r14185843 = r14185842 * r14185842;
double r14185844 = r14185841 + r14185843;
double r14185845 = 2.0;
double r14185846 = pow(r14185844, r14185845);
double r14185847 = 4.0;
double r14185848 = 1.0;
double r14185849 = r14185848 - r14185840;
double r14185850 = r14185841 * r14185849;
double r14185851 = 3.0;
double r14185852 = r14185851 + r14185840;
double r14185853 = r14185843 * r14185852;
double r14185854 = r14185850 + r14185853;
double r14185855 = r14185847 * r14185854;
double r14185856 = r14185846 + r14185855;
double r14185857 = r14185856 - r14185848;
return r14185857;
}
double f(double a, double b) {
double r14185858 = a;
double r14185859 = r14185858 * r14185858;
double r14185860 = b;
double r14185861 = r14185860 * r14185860;
double r14185862 = r14185859 + r14185861;
double r14185863 = 2.0;
double r14185864 = pow(r14185862, r14185863);
double r14185865 = 3.0;
double r14185866 = r14185858 + r14185865;
double r14185867 = r14185866 * r14185861;
double r14185868 = 1.0;
double r14185869 = r14185868 - r14185858;
double r14185870 = r14185859 * r14185869;
double r14185871 = r14185867 + r14185870;
double r14185872 = cbrt(r14185871);
double r14185873 = 4.0;
double r14185874 = r14185872 * r14185872;
double r14185875 = r14185873 * r14185874;
double r14185876 = r14185872 * r14185875;
double r14185877 = r14185864 + r14185876;
double r14185878 = r14185877 - r14185868;
return r14185878;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2019172
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (- 1.0 a)) (* (* b b) (+ 3.0 a))))) 1.0))