\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]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{3}}}\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 r112967 = a;
double r112968 = r112967 * r112967;
double r112969 = b;
double r112970 = r112969 * r112969;
double r112971 = r112968 + r112970;
double r112972 = 2.0;
double r112973 = pow(r112971, r112972);
double r112974 = 4.0;
double r112975 = 1.0;
double r112976 = r112975 + r112967;
double r112977 = r112968 * r112976;
double r112978 = 3.0;
double r112979 = r112978 * r112967;
double r112980 = r112975 - r112979;
double r112981 = r112970 * r112980;
double r112982 = r112977 + r112981;
double r112983 = r112974 * r112982;
double r112984 = r112973 + r112983;
double r112985 = r112984 - r112975;
return r112985;
}
double f(double a, double b) {
double r112986 = a;
double r112987 = r112986 * r112986;
double r112988 = b;
double r112989 = r112988 * r112988;
double r112990 = r112987 + r112989;
double r112991 = cbrt(r112990);
double r112992 = r112991 * r112991;
double r112993 = 2.0;
double r112994 = pow(r112992, r112993);
double r112995 = sqrt(r112990);
double r112996 = cbrt(r112995);
double r112997 = 3.0;
double r112998 = pow(r112995, r112997);
double r112999 = cbrt(r112998);
double r113000 = cbrt(r112999);
double r113001 = r112996 * r113000;
double r113002 = pow(r113001, r112993);
double r113003 = r112994 * r113002;
double r113004 = 4.0;
double r113005 = 1.0;
double r113006 = r113005 + r112986;
double r113007 = r112987 * r113006;
double r113008 = 3.0;
double r113009 = r113008 * r112986;
double r113010 = r113005 - r113009;
double r113011 = r112989 * r113010;
double r113012 = r113007 + r113011;
double r113013 = r113004 * r113012;
double r113014 = r113003 + r113013;
double r113015 = r113014 - r113005;
return r113015;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.7
Applied unpow-prod-down0.7
rmApplied add-sqr-sqrt0.7
Applied cbrt-prod0.7
rmApplied add-cbrt-cube0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2020047
(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))