\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(\sqrt{\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}} \cdot \sqrt{\left(\sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}} \cdot \sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}}\right) \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}}\right) \cdot \sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} - 1double f(double a, double b) {
double r39776669 = a;
double r39776670 = r39776669 * r39776669;
double r39776671 = b;
double r39776672 = r39776671 * r39776671;
double r39776673 = r39776670 + r39776672;
double r39776674 = 2.0;
double r39776675 = pow(r39776673, r39776674);
double r39776676 = 4.0;
double r39776677 = 1.0;
double r39776678 = r39776677 + r39776669;
double r39776679 = r39776670 * r39776678;
double r39776680 = 3.0;
double r39776681 = r39776680 * r39776669;
double r39776682 = r39776677 - r39776681;
double r39776683 = r39776672 * r39776682;
double r39776684 = r39776679 + r39776683;
double r39776685 = r39776676 * r39776684;
double r39776686 = r39776675 + r39776685;
double r39776687 = r39776686 - r39776677;
return r39776687;
}
double f(double a, double b) {
double r39776688 = a;
double r39776689 = r39776688 * r39776688;
double r39776690 = b;
double r39776691 = r39776690 * r39776690;
double r39776692 = r39776689 + r39776691;
double r39776693 = 2.0;
double r39776694 = pow(r39776692, r39776693);
double r39776695 = 1.0;
double r39776696 = r39776688 + r39776695;
double r39776697 = r39776689 * r39776696;
double r39776698 = 3.0;
double r39776699 = r39776698 * r39776688;
double r39776700 = r39776695 - r39776699;
double r39776701 = r39776691 * r39776700;
double r39776702 = r39776697 + r39776701;
double r39776703 = 4.0;
double r39776704 = r39776702 * r39776703;
double r39776705 = r39776694 + r39776704;
double r39776706 = cbrt(r39776705);
double r39776707 = sqrt(r39776706);
double r39776708 = sqrt(r39776705);
double r39776709 = cbrt(r39776708);
double r39776710 = r39776709 * r39776709;
double r39776711 = r39776710 * r39776706;
double r39776712 = sqrt(r39776711);
double r39776713 = r39776707 * r39776712;
double r39776714 = r39776713 * r39776708;
double r39776715 = r39776714 - r39776695;
return r39776715;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
rmApplied add-cube-cbrt0.3
Applied sqrt-prod0.3
rmApplied add-sqr-sqrt0.3
Applied cbrt-prod0.3
Final simplification0.3
herbie shell --seed 2019124 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))