\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(3 + 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(3 + 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(3 + a\right)\right)} - 1double f(double a, double b) {
double r175556 = a;
double r175557 = r175556 * r175556;
double r175558 = b;
double r175559 = r175558 * r175558;
double r175560 = r175557 + r175559;
double r175561 = 2.0;
double r175562 = pow(r175560, r175561);
double r175563 = 4.0;
double r175564 = 1.0;
double r175565 = r175564 - r175556;
double r175566 = r175557 * r175565;
double r175567 = 3.0;
double r175568 = r175567 + r175556;
double r175569 = r175559 * r175568;
double r175570 = r175566 + r175569;
double r175571 = r175563 * r175570;
double r175572 = r175562 + r175571;
double r175573 = r175572 - r175564;
return r175573;
}
double f(double a, double b) {
double r175574 = a;
double r175575 = r175574 * r175574;
double r175576 = b;
double r175577 = r175576 * r175576;
double r175578 = r175575 + r175577;
double r175579 = 2.0;
double r175580 = pow(r175578, r175579);
double r175581 = 4.0;
double r175582 = 1.0;
double r175583 = r175582 - r175574;
double r175584 = r175575 * r175583;
double r175585 = 3.0;
double r175586 = r175585 + r175574;
double r175587 = r175577 * r175586;
double r175588 = r175584 + r175587;
double r175589 = r175581 * r175588;
double r175590 = r175580 + r175589;
double r175591 = sqrt(r175590);
double r175592 = r175591 * r175591;
double r175593 = r175592 - r175582;
return r175593;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2020047
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))