\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(b \cdot b\right) \cdot 4 + \left({\left(a \cdot a + b \cdot b\right)}^{2} - 1\right)double f(double a, double b) {
double r248069 = a;
double r248070 = r248069 * r248069;
double r248071 = b;
double r248072 = r248071 * r248071;
double r248073 = r248070 + r248072;
double r248074 = 2.0;
double r248075 = pow(r248073, r248074);
double r248076 = 4.0;
double r248077 = r248076 * r248072;
double r248078 = r248075 + r248077;
double r248079 = 1.0;
double r248080 = r248078 - r248079;
return r248080;
}
double f(double a, double b) {
double r248081 = b;
double r248082 = r248081 * r248081;
double r248083 = 4.0;
double r248084 = r248082 * r248083;
double r248085 = a;
double r248086 = r248085 * r248085;
double r248087 = r248086 + r248082;
double r248088 = 2.0;
double r248089 = pow(r248087, r248088);
double r248090 = 1.0;
double r248091 = r248089 - r248090;
double r248092 = r248084 + r248091;
return r248092;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019179
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))