\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(\sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}} \cdot \left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \left(\sqrt[3]{\sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}} \cdot \sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}}} \cdot \sqrt[3]{\sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}}}\right)\right)\right) \cdot \sqrt[3]{{\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) - 1double f(double a, double b) {
double r197861 = a;
double r197862 = r197861 * r197861;
double r197863 = b;
double r197864 = r197863 * r197863;
double r197865 = r197862 + r197864;
double r197866 = 2.0;
double r197867 = pow(r197865, r197866);
double r197868 = 4.0;
double r197869 = 1.0;
double r197870 = r197869 + r197861;
double r197871 = r197862 * r197870;
double r197872 = 3.0;
double r197873 = r197872 * r197861;
double r197874 = r197869 - r197873;
double r197875 = r197864 * r197874;
double r197876 = r197871 + r197875;
double r197877 = r197868 * r197876;
double r197878 = r197867 + r197877;
double r197879 = r197878 - r197869;
return r197879;
}
double f(double a, double b) {
double r197880 = a;
double r197881 = r197880 * r197880;
double r197882 = b;
double r197883 = r197882 * r197882;
double r197884 = r197881 + r197883;
double r197885 = sqrt(r197884);
double r197886 = 2.0;
double r197887 = pow(r197885, r197886);
double r197888 = cbrt(r197887);
double r197889 = pow(r197884, r197886);
double r197890 = cbrt(r197889);
double r197891 = r197888 * r197888;
double r197892 = cbrt(r197891);
double r197893 = cbrt(r197888);
double r197894 = r197892 * r197893;
double r197895 = r197890 * r197894;
double r197896 = r197888 * r197895;
double r197897 = r197896 * r197890;
double r197898 = 4.0;
double r197899 = 1.0;
double r197900 = r197899 + r197880;
double r197901 = r197881 * r197900;
double r197902 = 3.0;
double r197903 = r197902 * r197880;
double r197904 = r197899 - r197903;
double r197905 = r197883 * r197904;
double r197906 = r197901 + r197905;
double r197907 = r197898 * r197906;
double r197908 = r197897 + r197907;
double r197909 = r197908 - r197899;
return r197909;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.5
rmApplied add-sqr-sqrt0.5
Applied unpow-prod-down0.5
Applied cbrt-prod0.5
Applied associate-*l*0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied cbrt-prod0.5
Final simplification0.5
herbie shell --seed 2019352
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))