\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\sqrt{{\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)} \cdot \sqrt{{\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)} - 1double f(double a, double b) {
double r351913 = a;
double r351914 = r351913 * r351913;
double r351915 = b;
double r351916 = r351915 * r351915;
double r351917 = r351914 + r351916;
double r351918 = 2.0;
double r351919 = pow(r351917, r351918);
double r351920 = 4.0;
double r351921 = 1.0;
double r351922 = r351921 + r351913;
double r351923 = r351914 * r351922;
double r351924 = 3.0;
double r351925 = r351924 * r351913;
double r351926 = r351921 - r351925;
double r351927 = r351916 * r351926;
double r351928 = r351923 + r351927;
double r351929 = r351920 * r351928;
double r351930 = r351919 + r351929;
double r351931 = r351930 - r351921;
return r351931;
}
double f(double a, double b) {
double r351932 = a;
double r351933 = r351932 * r351932;
double r351934 = b;
double r351935 = r351934 * r351934;
double r351936 = r351933 + r351935;
double r351937 = 2.0;
double r351938 = pow(r351936, r351937);
double r351939 = 4.0;
double r351940 = 1.0;
double r351941 = r351940 + r351932;
double r351942 = r351933 * r351941;
double r351943 = 3.0;
double r351944 = r351943 * r351932;
double r351945 = r351940 - r351944;
double r351946 = r351935 * r351945;
double r351947 = r351942 + r351946;
double r351948 = r351939 * r351947;
double r351949 = r351938 + r351948;
double r351950 = sqrt(r351949);
double r351951 = r351950 * r351950;
double r351952 = r351951 - r351940;
return r351952;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019322
(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))