\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 r90812222 = a;
double r90812223 = r90812222 * r90812222;
double r90812224 = b;
double r90812225 = r90812224 * r90812224;
double r90812226 = r90812223 + r90812225;
double r90812227 = 2.0;
double r90812228 = pow(r90812226, r90812227);
double r90812229 = 4.0;
double r90812230 = 1.0;
double r90812231 = r90812230 + r90812222;
double r90812232 = r90812223 * r90812231;
double r90812233 = 3.0;
double r90812234 = r90812233 * r90812222;
double r90812235 = r90812230 - r90812234;
double r90812236 = r90812225 * r90812235;
double r90812237 = r90812232 + r90812236;
double r90812238 = r90812229 * r90812237;
double r90812239 = r90812228 + r90812238;
double r90812240 = r90812239 - r90812230;
return r90812240;
}
double f(double a, double b) {
double r90812241 = a;
double r90812242 = r90812241 * r90812241;
double r90812243 = b;
double r90812244 = r90812243 * r90812243;
double r90812245 = r90812242 + r90812244;
double r90812246 = 2.0;
double r90812247 = pow(r90812245, r90812246);
double r90812248 = 1.0;
double r90812249 = r90812241 + r90812248;
double r90812250 = r90812242 * r90812249;
double r90812251 = 3.0;
double r90812252 = r90812251 * r90812241;
double r90812253 = r90812248 - r90812252;
double r90812254 = r90812244 * r90812253;
double r90812255 = r90812250 + r90812254;
double r90812256 = 4.0;
double r90812257 = r90812255 * r90812256;
double r90812258 = r90812247 + r90812257;
double r90812259 = sqrt(r90812258);
double r90812260 = r90812259 * r90812259;
double r90812261 = r90812260 - r90812248;
return r90812261;
}



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