\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(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}\right) \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1double f(double a, double b) {
double r2908295 = a;
double r2908296 = r2908295 * r2908295;
double r2908297 = b;
double r2908298 = r2908297 * r2908297;
double r2908299 = r2908296 + r2908298;
double r2908300 = 2.0;
double r2908301 = pow(r2908299, r2908300);
double r2908302 = 4.0;
double r2908303 = 1.0;
double r2908304 = r2908303 + r2908295;
double r2908305 = r2908296 * r2908304;
double r2908306 = 3.0;
double r2908307 = r2908306 * r2908295;
double r2908308 = r2908303 - r2908307;
double r2908309 = r2908298 * r2908308;
double r2908310 = r2908305 + r2908309;
double r2908311 = r2908302 * r2908310;
double r2908312 = r2908301 + r2908311;
double r2908313 = r2908312 - r2908303;
return r2908313;
}
double f(double a, double b) {
double r2908314 = a;
double r2908315 = r2908314 * r2908314;
double r2908316 = 1.0;
double r2908317 = r2908314 + r2908316;
double r2908318 = r2908315 * r2908317;
double r2908319 = b;
double r2908320 = r2908319 * r2908319;
double r2908321 = 3.0;
double r2908322 = r2908321 * r2908314;
double r2908323 = r2908316 - r2908322;
double r2908324 = r2908320 * r2908323;
double r2908325 = r2908318 + r2908324;
double r2908326 = 4.0;
double r2908327 = r2908325 * r2908326;
double r2908328 = cbrt(r2908327);
double r2908329 = r2908328 * r2908328;
double r2908330 = r2908329 * r2908328;
double r2908331 = r2908315 + r2908320;
double r2908332 = 2.0;
double r2908333 = pow(r2908331, r2908332);
double r2908334 = r2908330 + r2908333;
double r2908335 = r2908334 - r2908316;
return r2908335;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2019154
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))