\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 r131308 = a;
double r131309 = r131308 * r131308;
double r131310 = b;
double r131311 = r131310 * r131310;
double r131312 = r131309 + r131311;
double r131313 = 2.0;
double r131314 = pow(r131312, r131313);
double r131315 = 4.0;
double r131316 = 1.0;
double r131317 = r131316 + r131308;
double r131318 = r131309 * r131317;
double r131319 = 3.0;
double r131320 = r131319 * r131308;
double r131321 = r131316 - r131320;
double r131322 = r131311 * r131321;
double r131323 = r131318 + r131322;
double r131324 = r131315 * r131323;
double r131325 = r131314 + r131324;
double r131326 = r131325 - r131316;
return r131326;
}
double f(double a, double b) {
double r131327 = a;
double r131328 = r131327 * r131327;
double r131329 = b;
double r131330 = r131329 * r131329;
double r131331 = r131328 + r131330;
double r131332 = 2.0;
double r131333 = pow(r131331, r131332);
double r131334 = 4.0;
double r131335 = 1.0;
double r131336 = r131335 + r131327;
double r131337 = r131328 * r131336;
double r131338 = 3.0;
double r131339 = r131338 * r131327;
double r131340 = r131335 - r131339;
double r131341 = r131330 * r131340;
double r131342 = r131337 + r131341;
double r131343 = r131334 * r131342;
double r131344 = r131333 + r131343;
double r131345 = sqrt(r131344);
double r131346 = r131345 * r131345;
double r131347 = r131346 - r131335;
return r131347;
}



Bits error versus a



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