\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 r224800 = a;
double r224801 = r224800 * r224800;
double r224802 = b;
double r224803 = r224802 * r224802;
double r224804 = r224801 + r224803;
double r224805 = 2.0;
double r224806 = pow(r224804, r224805);
double r224807 = 4.0;
double r224808 = 1.0;
double r224809 = r224808 + r224800;
double r224810 = r224801 * r224809;
double r224811 = 3.0;
double r224812 = r224811 * r224800;
double r224813 = r224808 - r224812;
double r224814 = r224803 * r224813;
double r224815 = r224810 + r224814;
double r224816 = r224807 * r224815;
double r224817 = r224806 + r224816;
double r224818 = r224817 - r224808;
return r224818;
}
double f(double a, double b) {
double r224819 = a;
double r224820 = r224819 * r224819;
double r224821 = b;
double r224822 = r224821 * r224821;
double r224823 = r224820 + r224822;
double r224824 = 2.0;
double r224825 = pow(r224823, r224824);
double r224826 = 4.0;
double r224827 = 1.0;
double r224828 = r224827 + r224819;
double r224829 = r224820 * r224828;
double r224830 = 3.0;
double r224831 = r224830 * r224819;
double r224832 = r224827 - r224831;
double r224833 = r224822 * r224832;
double r224834 = r224829 + r224833;
double r224835 = r224826 * r224834;
double r224836 = r224825 + r224835;
double r224837 = sqrt(r224836);
double r224838 = r224837 * r224837;
double r224839 = r224838 - r224827;
return r224839;
}



Bits error versus a



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