\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(4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - a \cdot 3\right) + \left(\left(\sqrt[3]{a + 1} \cdot \sqrt[3]{a + 1}\right) \cdot \left(a \cdot a\right)\right) \cdot \sqrt[3]{a + 1}\right) + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1double f(double a, double b) {
double r56407333 = a;
double r56407334 = r56407333 * r56407333;
double r56407335 = b;
double r56407336 = r56407335 * r56407335;
double r56407337 = r56407334 + r56407336;
double r56407338 = 2.0;
double r56407339 = pow(r56407337, r56407338);
double r56407340 = 4.0;
double r56407341 = 1.0;
double r56407342 = r56407341 + r56407333;
double r56407343 = r56407334 * r56407342;
double r56407344 = 3.0;
double r56407345 = r56407344 * r56407333;
double r56407346 = r56407341 - r56407345;
double r56407347 = r56407336 * r56407346;
double r56407348 = r56407343 + r56407347;
double r56407349 = r56407340 * r56407348;
double r56407350 = r56407339 + r56407349;
double r56407351 = r56407350 - r56407341;
return r56407351;
}
double f(double a, double b) {
double r56407352 = 4.0;
double r56407353 = b;
double r56407354 = r56407353 * r56407353;
double r56407355 = 1.0;
double r56407356 = a;
double r56407357 = 3.0;
double r56407358 = r56407356 * r56407357;
double r56407359 = r56407355 - r56407358;
double r56407360 = r56407354 * r56407359;
double r56407361 = r56407356 + r56407355;
double r56407362 = cbrt(r56407361);
double r56407363 = r56407362 * r56407362;
double r56407364 = r56407356 * r56407356;
double r56407365 = r56407363 * r56407364;
double r56407366 = r56407365 * r56407362;
double r56407367 = r56407360 + r56407366;
double r56407368 = r56407352 * r56407367;
double r56407369 = r56407364 + r56407354;
double r56407370 = 2.0;
double r56407371 = pow(r56407369, r56407370);
double r56407372 = r56407368 + r56407371;
double r56407373 = r56407372 - r56407355;
return r56407373;
}



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 2019107
(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))