\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\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(a \cdot \left(a \cdot \left(1 + a\right)\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r205807 = a;
double r205808 = r205807 * r205807;
double r205809 = b;
double r205810 = r205809 * r205809;
double r205811 = r205808 + r205810;
double r205812 = 2.0;
double r205813 = pow(r205811, r205812);
double r205814 = 4.0;
double r205815 = 1.0;
double r205816 = r205815 + r205807;
double r205817 = r205808 * r205816;
double r205818 = 3.0;
double r205819 = r205818 * r205807;
double r205820 = r205815 - r205819;
double r205821 = r205810 * r205820;
double r205822 = r205817 + r205821;
double r205823 = r205814 * r205822;
double r205824 = r205813 + r205823;
double r205825 = r205824 - r205815;
return r205825;
}
double f(double a, double b) {
double r205826 = a;
double r205827 = r205826 * r205826;
double r205828 = b;
double r205829 = r205828 * r205828;
double r205830 = r205827 + r205829;
double r205831 = 2.0;
double r205832 = pow(r205830, r205831);
double r205833 = 4.0;
double r205834 = 1.0;
double r205835 = r205834 + r205826;
double r205836 = r205826 * r205835;
double r205837 = r205826 * r205836;
double r205838 = 3.0;
double r205839 = r205838 * r205826;
double r205840 = r205834 - r205839;
double r205841 = r205829 * r205840;
double r205842 = r205837 + r205841;
double r205843 = r205833 * r205842;
double r205844 = r205832 + r205843;
double r205845 = r205844 - r205834;
return r205845;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2020062
(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))