\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(3 + a\right)\right)\right) - 1\left(\sqrt{\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(3 + a\right)\right)}} \cdot \sqrt{\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(3 + a\right)\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(3 + a\right)\right)} - 1double f(double a, double b) {
double r335965 = a;
double r335966 = r335965 * r335965;
double r335967 = b;
double r335968 = r335967 * r335967;
double r335969 = r335966 + r335968;
double r335970 = 2.0;
double r335971 = pow(r335969, r335970);
double r335972 = 4.0;
double r335973 = 1.0;
double r335974 = r335973 - r335965;
double r335975 = r335966 * r335974;
double r335976 = 3.0;
double r335977 = r335976 + r335965;
double r335978 = r335968 * r335977;
double r335979 = r335975 + r335978;
double r335980 = r335972 * r335979;
double r335981 = r335971 + r335980;
double r335982 = r335981 - r335973;
return r335982;
}
double f(double a, double b) {
double r335983 = a;
double r335984 = r335983 * r335983;
double r335985 = b;
double r335986 = r335985 * r335985;
double r335987 = r335984 + r335986;
double r335988 = 2.0;
double r335989 = pow(r335987, r335988);
double r335990 = 4.0;
double r335991 = 1.0;
double r335992 = r335991 - r335983;
double r335993 = r335984 * r335992;
double r335994 = 3.0;
double r335995 = r335994 + r335983;
double r335996 = r335986 * r335995;
double r335997 = r335993 + r335996;
double r335998 = r335990 * r335997;
double r335999 = r335989 + r335998;
double r336000 = sqrt(r335999);
double r336001 = sqrt(r336000);
double r336002 = r336001 * r336001;
double r336003 = r336002 * r336000;
double r336004 = r336003 - r335991;
return r336004;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
rmApplied add-sqr-sqrt0.2
Applied sqrt-prod0.2
Final simplification0.2
herbie shell --seed 2020045
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))