\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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\right)\right) - 1double f(double a, double b) {
double r121672 = a;
double r121673 = r121672 * r121672;
double r121674 = b;
double r121675 = r121674 * r121674;
double r121676 = r121673 + r121675;
double r121677 = 2.0;
double r121678 = pow(r121676, r121677);
double r121679 = 4.0;
double r121680 = 1.0;
double r121681 = r121680 + r121672;
double r121682 = r121673 * r121681;
double r121683 = 3.0;
double r121684 = r121683 * r121672;
double r121685 = r121680 - r121684;
double r121686 = r121675 * r121685;
double r121687 = r121682 + r121686;
double r121688 = r121679 * r121687;
double r121689 = r121678 + r121688;
double r121690 = r121689 - r121680;
return r121690;
}
double f(double a, double b) {
double r121691 = a;
double r121692 = r121691 * r121691;
double r121693 = b;
double r121694 = r121693 * r121693;
double r121695 = r121692 + r121694;
double r121696 = 2.0;
double r121697 = pow(r121695, r121696);
double r121698 = 4.0;
double r121699 = 1.0;
double r121700 = r121699 + r121691;
double r121701 = r121692 * r121700;
double r121702 = 3.0;
double r121703 = r121702 * r121691;
double r121704 = r121699 - r121703;
double r121705 = r121694 * r121704;
double r121706 = cbrt(r121705);
double r121707 = r121706 * r121706;
double r121708 = r121707 * r121706;
double r121709 = r121701 + r121708;
double r121710 = r121698 * r121709;
double r121711 = r121697 + r121710;
double r121712 = r121711 - r121699;
return r121712;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2019346 +o rules:numerics
(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))