\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1double f(double a, double b) {
double r121062 = a;
double r121063 = r121062 * r121062;
double r121064 = b;
double r121065 = r121064 * r121064;
double r121066 = r121063 + r121065;
double r121067 = 2.0;
double r121068 = pow(r121066, r121067);
double r121069 = 4.0;
double r121070 = r121069 * r121065;
double r121071 = r121068 + r121070;
double r121072 = 1.0;
double r121073 = r121071 - r121072;
return r121073;
}
double f(double a, double b) {
double r121074 = a;
double r121075 = r121074 * r121074;
double r121076 = b;
double r121077 = r121076 * r121076;
double r121078 = r121075 + r121077;
double r121079 = 2.0;
double r121080 = pow(r121078, r121079);
double r121081 = 4.0;
double r121082 = r121081 * r121077;
double r121083 = r121080 + r121082;
double r121084 = 1.0;
double r121085 = r121083 - r121084;
return r121085;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019212
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))