\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(3 + a\right)\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\left(a \cdot a\right) \cdot \left(\sqrt[3]{1 - a} \cdot \sqrt[3]{1 - a}\right)\right) \cdot \sqrt[3]{1 - a} + b \cdot \left(b \cdot \left(3 + a\right)\right)\right)\right) - 1double f(double a, double b) {
double r265782 = a;
double r265783 = r265782 * r265782;
double r265784 = b;
double r265785 = r265784 * r265784;
double r265786 = r265783 + r265785;
double r265787 = 2.0;
double r265788 = pow(r265786, r265787);
double r265789 = 4.0;
double r265790 = 1.0;
double r265791 = r265790 - r265782;
double r265792 = r265783 * r265791;
double r265793 = 3.0;
double r265794 = r265793 + r265782;
double r265795 = r265785 * r265794;
double r265796 = r265792 + r265795;
double r265797 = r265789 * r265796;
double r265798 = r265788 + r265797;
double r265799 = r265798 - r265790;
return r265799;
}
double f(double a, double b) {
double r265800 = a;
double r265801 = r265800 * r265800;
double r265802 = b;
double r265803 = r265802 * r265802;
double r265804 = r265801 + r265803;
double r265805 = 2.0;
double r265806 = pow(r265804, r265805);
double r265807 = 4.0;
double r265808 = 1.0;
double r265809 = r265808 - r265800;
double r265810 = cbrt(r265809);
double r265811 = r265810 * r265810;
double r265812 = r265801 * r265811;
double r265813 = r265812 * r265810;
double r265814 = 3.0;
double r265815 = r265814 + r265800;
double r265816 = r265802 * r265815;
double r265817 = r265802 * r265816;
double r265818 = r265813 + r265817;
double r265819 = r265807 * r265818;
double r265820 = r265806 + r265819;
double r265821 = r265820 - r265808;
return r265821;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied associate-*l*0.2
rmApplied add-cube-cbrt0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2020065
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))