\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]{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 r373611 = a;
double r373612 = r373611 * r373611;
double r373613 = b;
double r373614 = r373613 * r373613;
double r373615 = r373612 + r373614;
double r373616 = 2.0;
double r373617 = pow(r373615, r373616);
double r373618 = 4.0;
double r373619 = 1.0;
double r373620 = r373619 + r373611;
double r373621 = r373612 * r373620;
double r373622 = 3.0;
double r373623 = r373622 * r373611;
double r373624 = r373619 - r373623;
double r373625 = r373614 * r373624;
double r373626 = r373621 + r373625;
double r373627 = r373618 * r373626;
double r373628 = r373617 + r373627;
double r373629 = r373628 - r373619;
return r373629;
}
double f(double a, double b) {
double r373630 = a;
double r373631 = r373630 * r373630;
double r373632 = b;
double r373633 = r373632 * r373632;
double r373634 = r373631 + r373633;
double r373635 = cbrt(r373634);
double r373636 = r373635 * r373635;
double r373637 = 2.0;
double r373638 = pow(r373636, r373637);
double r373639 = pow(r373635, r373637);
double r373640 = r373638 * r373639;
double r373641 = 4.0;
double r373642 = 1.0;
double r373643 = r373642 + r373630;
double r373644 = r373631 * r373643;
double r373645 = 3.0;
double r373646 = r373645 * r373630;
double r373647 = r373642 - r373646;
double r373648 = r373633 * r373647;
double r373649 = r373644 + r373648;
double r373650 = r373641 * r373649;
double r373651 = r373640 + r373650;
double r373652 = r373651 - r373642;
return r373652;
}



Bits error versus a



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