\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 r364759 = a;
double r364760 = r364759 * r364759;
double r364761 = b;
double r364762 = r364761 * r364761;
double r364763 = r364760 + r364762;
double r364764 = 2.0;
double r364765 = pow(r364763, r364764);
double r364766 = 4.0;
double r364767 = 1.0;
double r364768 = r364767 + r364759;
double r364769 = r364760 * r364768;
double r364770 = 3.0;
double r364771 = r364770 * r364759;
double r364772 = r364767 - r364771;
double r364773 = r364762 * r364772;
double r364774 = r364769 + r364773;
double r364775 = r364766 * r364774;
double r364776 = r364765 + r364775;
double r364777 = r364776 - r364767;
return r364777;
}
double f(double a, double b) {
double r364778 = a;
double r364779 = r364778 * r364778;
double r364780 = b;
double r364781 = r364780 * r364780;
double r364782 = r364779 + r364781;
double r364783 = cbrt(r364782);
double r364784 = r364783 * r364783;
double r364785 = 2.0;
double r364786 = pow(r364784, r364785);
double r364787 = sqrt(r364782);
double r364788 = cbrt(r364787);
double r364789 = r364788 * r364788;
double r364790 = pow(r364789, r364785);
double r364791 = r364786 * r364790;
double r364792 = 4.0;
double r364793 = 1.0;
double r364794 = r364793 + r364778;
double r364795 = r364779 * r364794;
double r364796 = 3.0;
double r364797 = r364796 * r364778;
double r364798 = r364793 - r364797;
double r364799 = r364781 * r364798;
double r364800 = r364795 + r364799;
double r364801 = r364792 * r364800;
double r364802 = r364791 + r364801;
double r364803 = r364802 - r364793;
return r364803;
}



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