\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{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 r362441 = a;
double r362442 = r362441 * r362441;
double r362443 = b;
double r362444 = r362443 * r362443;
double r362445 = r362442 + r362444;
double r362446 = 2.0;
double r362447 = pow(r362445, r362446);
double r362448 = 4.0;
double r362449 = 1.0;
double r362450 = r362449 + r362441;
double r362451 = r362442 * r362450;
double r362452 = 3.0;
double r362453 = r362452 * r362441;
double r362454 = r362449 - r362453;
double r362455 = r362444 * r362454;
double r362456 = r362451 + r362455;
double r362457 = r362448 * r362456;
double r362458 = r362447 + r362457;
double r362459 = r362458 - r362449;
return r362459;
}
double f(double a, double b) {
double r362460 = a;
double r362461 = r362460 * r362460;
double r362462 = b;
double r362463 = r362462 * r362462;
double r362464 = r362461 + r362463;
double r362465 = cbrt(r362464);
double r362466 = r362465 * r362465;
double r362467 = 2.0;
double r362468 = pow(r362466, r362467);
double r362469 = sqrt(r362464);
double r362470 = cbrt(r362469);
double r362471 = r362470 * r362470;
double r362472 = pow(r362471, r362467);
double r362473 = r362468 * r362472;
double r362474 = 4.0;
double r362475 = 1.0;
double r362476 = r362475 + r362460;
double r362477 = r362461 * r362476;
double r362478 = 3.0;
double r362479 = r362478 * r362460;
double r362480 = r362475 - r362479;
double r362481 = r362463 * r362480;
double r362482 = r362477 + r362481;
double r362483 = r362474 * r362482;
double r362484 = r362473 + r362483;
double r362485 = r362484 - r362475;
return r362485;
}



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