\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 r68165942 = a;
double r68165943 = r68165942 * r68165942;
double r68165944 = b;
double r68165945 = r68165944 * r68165944;
double r68165946 = r68165943 + r68165945;
double r68165947 = 2.0;
double r68165948 = pow(r68165946, r68165947);
double r68165949 = 4.0;
double r68165950 = 1.0;
double r68165951 = r68165950 + r68165942;
double r68165952 = r68165943 * r68165951;
double r68165953 = 3.0;
double r68165954 = r68165953 * r68165942;
double r68165955 = r68165950 - r68165954;
double r68165956 = r68165945 * r68165955;
double r68165957 = r68165952 + r68165956;
double r68165958 = r68165949 * r68165957;
double r68165959 = r68165948 + r68165958;
double r68165960 = r68165959 - r68165950;
return r68165960;
}
double f(double a, double b) {
double r68165961 = a;
double r68165962 = r68165961 * r68165961;
double r68165963 = b;
double r68165964 = r68165963 * r68165963;
double r68165965 = r68165962 + r68165964;
double r68165966 = 2.0;
double r68165967 = pow(r68165965, r68165966);
double r68165968 = 1.0;
double r68165969 = r68165961 + r68165968;
double r68165970 = r68165962 * r68165969;
double r68165971 = 3.0;
double r68165972 = r68165971 * r68165961;
double r68165973 = r68165968 - r68165972;
double r68165974 = r68165964 * r68165973;
double r68165975 = r68165970 + r68165974;
double r68165976 = 4.0;
double r68165977 = r68165975 * r68165976;
double r68165978 = r68165967 + r68165977;
double r68165979 = cbrt(r68165978);
double r68165980 = sqrt(r68165979);
double r68165981 = sqrt(r68165978);
double r68165982 = cbrt(r68165981);
double r68165983 = r68165982 * r68165982;
double r68165984 = r68165983 * r68165979;
double r68165985 = sqrt(r68165984);
double r68165986 = r68165980 * r68165985;
double r68165987 = r68165986 * r68165981;
double r68165988 = r68165987 - r68165968;
return r68165988;
}



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