\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 r122384 = a;
double r122385 = r122384 * r122384;
double r122386 = b;
double r122387 = r122386 * r122386;
double r122388 = r122385 + r122387;
double r122389 = 2.0;
double r122390 = pow(r122388, r122389);
double r122391 = 4.0;
double r122392 = 1.0;
double r122393 = r122392 + r122384;
double r122394 = r122385 * r122393;
double r122395 = 3.0;
double r122396 = r122395 * r122384;
double r122397 = r122392 - r122396;
double r122398 = r122387 * r122397;
double r122399 = r122394 + r122398;
double r122400 = r122391 * r122399;
double r122401 = r122390 + r122400;
double r122402 = r122401 - r122392;
return r122402;
}
double f(double a, double b) {
double r122403 = a;
double r122404 = r122403 * r122403;
double r122405 = b;
double r122406 = r122405 * r122405;
double r122407 = r122404 + r122406;
double r122408 = 2.0;
double r122409 = pow(r122407, r122408);
double r122410 = 4.0;
double r122411 = 1.0;
double r122412 = r122411 + r122403;
double r122413 = r122404 * r122412;
double r122414 = 3.0;
double r122415 = r122414 * r122403;
double r122416 = r122411 - r122415;
double r122417 = r122406 * r122416;
double r122418 = r122413 + r122417;
double r122419 = r122410 * r122418;
double r122420 = r122409 + r122419;
double r122421 = sqrt(r122420);
double r122422 = r122421 * r122421;
double r122423 = r122422 - r122411;
return r122423;
}



Bits error versus a



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