\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 r193423 = a;
double r193424 = r193423 * r193423;
double r193425 = b;
double r193426 = r193425 * r193425;
double r193427 = r193424 + r193426;
double r193428 = 2.0;
double r193429 = pow(r193427, r193428);
double r193430 = 4.0;
double r193431 = 1.0;
double r193432 = r193431 + r193423;
double r193433 = r193424 * r193432;
double r193434 = 3.0;
double r193435 = r193434 * r193423;
double r193436 = r193431 - r193435;
double r193437 = r193426 * r193436;
double r193438 = r193433 + r193437;
double r193439 = r193430 * r193438;
double r193440 = r193429 + r193439;
double r193441 = r193440 - r193431;
return r193441;
}
double f(double a, double b) {
double r193442 = a;
double r193443 = r193442 * r193442;
double r193444 = b;
double r193445 = r193444 * r193444;
double r193446 = r193443 + r193445;
double r193447 = 2.0;
double r193448 = pow(r193446, r193447);
double r193449 = 4.0;
double r193450 = 1.0;
double r193451 = r193450 + r193442;
double r193452 = r193443 * r193451;
double r193453 = 3.0;
double r193454 = r193453 * r193442;
double r193455 = r193450 - r193454;
double r193456 = r193445 * r193455;
double r193457 = r193452 + r193456;
double r193458 = r193449 * r193457;
double r193459 = r193448 + r193458;
double r193460 = sqrt(r193459);
double r193461 = r193460 * r193460;
double r193462 = r193461 - r193450;
return r193462;
}



Bits error versus a



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