\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} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4\right) - 1double f(double a, double b) {
double r21709053 = a;
double r21709054 = r21709053 * r21709053;
double r21709055 = b;
double r21709056 = r21709055 * r21709055;
double r21709057 = r21709054 + r21709056;
double r21709058 = 2.0;
double r21709059 = pow(r21709057, r21709058);
double r21709060 = 4.0;
double r21709061 = 1.0;
double r21709062 = r21709061 + r21709053;
double r21709063 = r21709054 * r21709062;
double r21709064 = 3.0;
double r21709065 = r21709064 * r21709053;
double r21709066 = r21709061 - r21709065;
double r21709067 = r21709056 * r21709066;
double r21709068 = r21709063 + r21709067;
double r21709069 = r21709060 * r21709068;
double r21709070 = r21709059 + r21709069;
double r21709071 = r21709070 - r21709061;
return r21709071;
}
double f(double a, double b) {
double r21709072 = a;
double r21709073 = r21709072 * r21709072;
double r21709074 = b;
double r21709075 = r21709074 * r21709074;
double r21709076 = r21709073 + r21709075;
double r21709077 = 2.0;
double r21709078 = pow(r21709076, r21709077);
double r21709079 = 1.0;
double r21709080 = r21709072 + r21709079;
double r21709081 = r21709073 * r21709080;
double r21709082 = 3.0;
double r21709083 = r21709082 * r21709072;
double r21709084 = r21709079 - r21709083;
double r21709085 = r21709075 * r21709084;
double r21709086 = r21709081 + r21709085;
double r21709087 = 4.0;
double r21709088 = r21709086 * r21709087;
double r21709089 = r21709078 + r21709088;
double r21709090 = r21709089 - r21709079;
return r21709090;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019128 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))