\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(4 \cdot \left(\left(3 + a\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) + \left(\sqrt[3]{\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right)} \cdot \left(\sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2}}} \cdot \sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2}}}\right)\right) \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) - 1double f(double a, double b) {
double r12133674 = a;
double r12133675 = r12133674 * r12133674;
double r12133676 = b;
double r12133677 = r12133676 * r12133676;
double r12133678 = r12133675 + r12133677;
double r12133679 = 2.0;
double r12133680 = pow(r12133678, r12133679);
double r12133681 = 4.0;
double r12133682 = 1.0;
double r12133683 = r12133682 - r12133674;
double r12133684 = r12133675 * r12133683;
double r12133685 = 3.0;
double r12133686 = r12133685 + r12133674;
double r12133687 = r12133677 * r12133686;
double r12133688 = r12133684 + r12133687;
double r12133689 = r12133681 * r12133688;
double r12133690 = r12133680 + r12133689;
double r12133691 = r12133690 - r12133682;
return r12133691;
}
double f(double a, double b) {
double r12133692 = 4.0;
double r12133693 = 3.0;
double r12133694 = a;
double r12133695 = r12133693 + r12133694;
double r12133696 = b;
double r12133697 = r12133696 * r12133696;
double r12133698 = r12133695 * r12133697;
double r12133699 = r12133694 * r12133694;
double r12133700 = 1.0;
double r12133701 = r12133700 - r12133694;
double r12133702 = r12133699 * r12133701;
double r12133703 = r12133698 + r12133702;
double r12133704 = r12133692 * r12133703;
double r12133705 = r12133699 + r12133697;
double r12133706 = 2.0;
double r12133707 = pow(r12133705, r12133706);
double r12133708 = cbrt(r12133707);
double r12133709 = r12133708 * r12133708;
double r12133710 = r12133708 * r12133709;
double r12133711 = cbrt(r12133710);
double r12133712 = sqrt(r12133707);
double r12133713 = cbrt(r12133712);
double r12133714 = r12133713 * r12133713;
double r12133715 = r12133711 * r12133714;
double r12133716 = r12133715 * r12133708;
double r12133717 = r12133704 + r12133716;
double r12133718 = r12133717 - r12133700;
return r12133718;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.5
rmApplied add-sqr-sqrt0.5
Applied cbrt-prod0.5
rmApplied add-cbrt-cube0.5
Final simplification0.5
herbie shell --seed 2019174
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (- 1.0 a)) (* (* b b) (+ 3.0 a))))) 1.0))