\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(4 \cdot \left(\left(1 - a\right) \cdot \left(a \cdot a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right) + {\left(\sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot \left(\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt{a \cdot a + b \cdot b}}\right) \cdot \left(a \cdot a + b \cdot b\right)\right)\right) - 1double f(double a, double b) {
double r55782022 = a;
double r55782023 = r55782022 * r55782022;
double r55782024 = b;
double r55782025 = r55782024 * r55782024;
double r55782026 = r55782023 + r55782025;
double r55782027 = 2.0;
double r55782028 = pow(r55782026, r55782027);
double r55782029 = 4.0;
double r55782030 = 1.0;
double r55782031 = r55782030 - r55782022;
double r55782032 = r55782023 * r55782031;
double r55782033 = 3.0;
double r55782034 = r55782033 + r55782022;
double r55782035 = r55782025 * r55782034;
double r55782036 = r55782032 + r55782035;
double r55782037 = r55782029 * r55782036;
double r55782038 = r55782028 + r55782037;
double r55782039 = r55782038 - r55782030;
return r55782039;
}
double f(double a, double b) {
double r55782040 = 4.0;
double r55782041 = 1.0;
double r55782042 = a;
double r55782043 = r55782041 - r55782042;
double r55782044 = r55782042 * r55782042;
double r55782045 = r55782043 * r55782044;
double r55782046 = b;
double r55782047 = r55782046 * r55782046;
double r55782048 = 3.0;
double r55782049 = r55782048 + r55782042;
double r55782050 = r55782047 * r55782049;
double r55782051 = r55782045 + r55782050;
double r55782052 = r55782040 * r55782051;
double r55782053 = r55782044 + r55782047;
double r55782054 = cbrt(r55782053);
double r55782055 = 2.0;
double r55782056 = pow(r55782054, r55782055);
double r55782057 = sqrt(r55782053);
double r55782058 = cbrt(r55782057);
double r55782059 = r55782058 * r55782058;
double r55782060 = r55782059 * r55782053;
double r55782061 = r55782056 * r55782060;
double r55782062 = r55782052 + r55782061;
double r55782063 = r55782062 - r55782041;
return r55782063;
}



Bits error versus a



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