\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(4 \cdot \left(b \cdot b\right) + (b \cdot \left((b \cdot b + \left(\left(a \cdot a\right) \cdot 2\right))_* \cdot b\right) + \left({a}^{4}\right))_*\right) - 1double f(double a, double b) {
double r49676262 = a;
double r49676263 = r49676262 * r49676262;
double r49676264 = b;
double r49676265 = r49676264 * r49676264;
double r49676266 = r49676263 + r49676265;
double r49676267 = 2.0;
double r49676268 = pow(r49676266, r49676267);
double r49676269 = 4.0;
double r49676270 = r49676269 * r49676265;
double r49676271 = r49676268 + r49676270;
double r49676272 = 1.0;
double r49676273 = r49676271 - r49676272;
return r49676273;
}
double f(double a, double b) {
double r49676274 = 4.0;
double r49676275 = b;
double r49676276 = r49676275 * r49676275;
double r49676277 = r49676274 * r49676276;
double r49676278 = a;
double r49676279 = r49676278 * r49676278;
double r49676280 = 2.0;
double r49676281 = r49676279 * r49676280;
double r49676282 = fma(r49676275, r49676275, r49676281);
double r49676283 = r49676282 * r49676275;
double r49676284 = pow(r49676278, r49676274);
double r49676285 = fma(r49676275, r49676283, r49676284);
double r49676286 = r49676277 + r49676285;
double r49676287 = 1.0;
double r49676288 = r49676286 - r49676287;
return r49676288;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Taylor expanded around 0 0.0
Simplified0.2
rmApplied pow10.2
Applied pow10.2
Applied pow-prod-up0.2
Applied pow10.2
Applied pow10.2
Applied pow-sqr0.2
Applied pow-prod-up0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019119 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))