\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 r130744 = a;
double r130745 = r130744 * r130744;
double r130746 = b;
double r130747 = r130746 * r130746;
double r130748 = r130745 + r130747;
double r130749 = 2.0;
double r130750 = pow(r130748, r130749);
double r130751 = 4.0;
double r130752 = 1.0;
double r130753 = r130752 - r130744;
double r130754 = r130745 * r130753;
double r130755 = 3.0;
double r130756 = r130755 + r130744;
double r130757 = r130747 * r130756;
double r130758 = r130754 + r130757;
double r130759 = r130751 * r130758;
double r130760 = r130750 + r130759;
double r130761 = r130760 - r130752;
return r130761;
}
double f(double a, double b) {
double r130762 = a;
double r130763 = r130762 * r130762;
double r130764 = b;
double r130765 = r130764 * r130764;
double r130766 = r130763 + r130765;
double r130767 = 2.0;
double r130768 = pow(r130766, r130767);
double r130769 = 4.0;
double r130770 = 1.0;
double r130771 = r130770 - r130762;
double r130772 = r130763 * r130771;
double r130773 = 3.0;
double r130774 = r130773 + r130762;
double r130775 = r130765 * r130774;
double r130776 = r130772 + r130775;
double r130777 = r130769 * r130776;
double r130778 = r130768 + r130777;
double r130779 = sqrt(r130778);
double r130780 = r130779 * r130779;
double r130781 = r130780 - r130770;
return r130781;
}



Bits error versus a



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