\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 r174241 = a;
double r174242 = r174241 * r174241;
double r174243 = b;
double r174244 = r174243 * r174243;
double r174245 = r174242 + r174244;
double r174246 = 2.0;
double r174247 = pow(r174245, r174246);
double r174248 = 4.0;
double r174249 = r174248 * r174244;
double r174250 = r174247 + r174249;
double r174251 = 1.0;
double r174252 = r174250 - r174251;
return r174252;
}
double f(double a, double b) {
double r174253 = a;
double r174254 = 4.0;
double r174255 = pow(r174253, r174254);
double r174256 = b;
double r174257 = pow(r174256, r174254);
double r174258 = 2.0;
double r174259 = pow(r174253, r174258);
double r174260 = pow(r174256, r174258);
double r174261 = r174259 * r174260;
double r174262 = r174258 * r174261;
double r174263 = r174257 + r174262;
double r174264 = r174255 + r174263;
double r174265 = 1.0;
double r174266 = r174264 - r174265;
return r174266;
}



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 2020083
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))