\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 r361608 = a;
double r361609 = r361608 * r361608;
double r361610 = b;
double r361611 = r361610 * r361610;
double r361612 = r361609 + r361611;
double r361613 = 2.0;
double r361614 = pow(r361612, r361613);
double r361615 = 4.0;
double r361616 = 1.0;
double r361617 = r361616 - r361608;
double r361618 = r361609 * r361617;
double r361619 = 3.0;
double r361620 = r361619 + r361608;
double r361621 = r361611 * r361620;
double r361622 = r361618 + r361621;
double r361623 = r361615 * r361622;
double r361624 = r361614 + r361623;
double r361625 = r361624 - r361616;
return r361625;
}
double f(double a, double b) {
double r361626 = a;
double r361627 = r361626 * r361626;
double r361628 = b;
double r361629 = r361628 * r361628;
double r361630 = r361627 + r361629;
double r361631 = 2.0;
double r361632 = pow(r361630, r361631);
double r361633 = 4.0;
double r361634 = 1.0;
double r361635 = r361634 - r361626;
double r361636 = r361627 * r361635;
double r361637 = 3.0;
double r361638 = r361637 + r361626;
double r361639 = r361629 * r361638;
double r361640 = r361636 + r361639;
double r361641 = r361633 * r361640;
double r361642 = r361632 + r361641;
double r361643 = sqrt(r361642);
double r361644 = r361643 * r361643;
double r361645 = r361644 - r361634;
return r361645;
}



Bits error versus a



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