\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1double f(double a, double b) {
double r243855 = a;
double r243856 = r243855 * r243855;
double r243857 = b;
double r243858 = r243857 * r243857;
double r243859 = r243856 + r243858;
double r243860 = 2.0;
double r243861 = pow(r243859, r243860);
double r243862 = 4.0;
double r243863 = r243862 * r243858;
double r243864 = r243861 + r243863;
double r243865 = 1.0;
double r243866 = r243864 - r243865;
return r243866;
}
double f(double a, double b) {
double r243867 = a;
double r243868 = r243867 * r243867;
double r243869 = b;
double r243870 = r243869 * r243869;
double r243871 = r243868 + r243870;
double r243872 = 2.0;
double r243873 = pow(r243871, r243872);
double r243874 = 4.0;
double r243875 = r243874 * r243870;
double r243876 = r243873 + r243875;
double r243877 = 1.0;
double r243878 = r243876 - r243877;
return r243878;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2020056
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))