\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1double f(double a, double b) {
double r182227 = a;
double r182228 = r182227 * r182227;
double r182229 = b;
double r182230 = r182229 * r182229;
double r182231 = r182228 + r182230;
double r182232 = 2.0;
double r182233 = pow(r182231, r182232);
double r182234 = 4.0;
double r182235 = r182234 * r182230;
double r182236 = r182233 + r182235;
double r182237 = 1.0;
double r182238 = r182236 - r182237;
return r182238;
}
double f(double a, double b) {
double r182239 = a;
double r182240 = 4.0;
double r182241 = pow(r182239, r182240);
double r182242 = b;
double r182243 = pow(r182242, r182240);
double r182244 = 2.0;
double r182245 = pow(r182239, r182244);
double r182246 = pow(r182242, r182244);
double r182247 = r182245 * r182246;
double r182248 = r182244 * r182247;
double r182249 = r182243 + r182248;
double r182250 = r182241 + r182249;
double r182251 = 1.0;
double r182252 = r182250 - r182251;
return r182252;
}



Bits error versus a



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