\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} + \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(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 r28092967 = a;
double r28092968 = r28092967 * r28092967;
double r28092969 = b;
double r28092970 = r28092969 * r28092969;
double r28092971 = r28092968 + r28092970;
double r28092972 = 2.0;
double r28092973 = pow(r28092971, r28092972);
double r28092974 = 4.0;
double r28092975 = 1.0;
double r28092976 = r28092975 + r28092967;
double r28092977 = r28092968 * r28092976;
double r28092978 = 3.0;
double r28092979 = r28092978 * r28092967;
double r28092980 = r28092975 - r28092979;
double r28092981 = r28092970 * r28092980;
double r28092982 = r28092977 + r28092981;
double r28092983 = r28092974 * r28092982;
double r28092984 = r28092973 + r28092983;
double r28092985 = r28092984 - r28092975;
return r28092985;
}
double f(double a, double b) {
double r28092986 = a;
double r28092987 = r28092986 * r28092986;
double r28092988 = b;
double r28092989 = r28092988 * r28092988;
double r28092990 = r28092987 + r28092989;
double r28092991 = 2.0;
double r28092992 = pow(r28092990, r28092991);
double r28092993 = 1.0;
double r28092994 = r28092986 + r28092993;
double r28092995 = r28092987 * r28092994;
double r28092996 = 3.0;
double r28092997 = r28092996 * r28092986;
double r28092998 = r28092993 - r28092997;
double r28092999 = r28092989 * r28092998;
double r28093000 = r28092995 + r28092999;
double r28093001 = 4.0;
double r28093002 = r28093000 * r28093001;
double r28093003 = r28092992 + r28093002;
double r28093004 = sqrt(r28093003);
double r28093005 = r28093004 * r28093004;
double r28093006 = r28093005 - r28092993;
return r28093006;
}



Bits error versus a



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