\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 r128742 = a;
double r128743 = r128742 * r128742;
double r128744 = b;
double r128745 = r128744 * r128744;
double r128746 = r128743 + r128745;
double r128747 = 2.0;
double r128748 = pow(r128746, r128747);
double r128749 = 4.0;
double r128750 = 1.0;
double r128751 = r128750 + r128742;
double r128752 = r128743 * r128751;
double r128753 = 3.0;
double r128754 = r128753 * r128742;
double r128755 = r128750 - r128754;
double r128756 = r128745 * r128755;
double r128757 = r128752 + r128756;
double r128758 = r128749 * r128757;
double r128759 = r128748 + r128758;
double r128760 = r128759 - r128750;
return r128760;
}
double f(double a, double b) {
double r128761 = a;
double r128762 = r128761 * r128761;
double r128763 = b;
double r128764 = r128763 * r128763;
double r128765 = r128762 + r128764;
double r128766 = cbrt(r128765);
double r128767 = r128766 * r128766;
double r128768 = 2.0;
double r128769 = pow(r128767, r128768);
double r128770 = sqrt(r128765);
double r128771 = cbrt(r128770);
double r128772 = r128771 * r128771;
double r128773 = pow(r128772, r128768);
double r128774 = r128769 * r128773;
double r128775 = 4.0;
double r128776 = 1.0;
double r128777 = r128776 + r128761;
double r128778 = r128762 * r128777;
double r128779 = 3.0;
double r128780 = r128779 * r128761;
double r128781 = r128776 - r128780;
double r128782 = r128764 * r128781;
double r128783 = r128778 + r128782;
double r128784 = r128775 * r128783;
double r128785 = r128774 + r128784;
double r128786 = r128785 - r128776;
return r128786;
}



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