\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\mathsf{fma}\left(2, \left(a \cdot b\right) \cdot \left(a \cdot b\right), {a}^{4}\right) + {b}^{4}\right) - 1double f(double a, double b) {
double r6538395 = a;
double r6538396 = r6538395 * r6538395;
double r6538397 = b;
double r6538398 = r6538397 * r6538397;
double r6538399 = r6538396 + r6538398;
double r6538400 = 2.0;
double r6538401 = pow(r6538399, r6538400);
double r6538402 = 4.0;
double r6538403 = r6538402 * r6538398;
double r6538404 = r6538401 + r6538403;
double r6538405 = 1.0;
double r6538406 = r6538404 - r6538405;
return r6538406;
}
double f(double a, double b) {
double r6538407 = 2.0;
double r6538408 = a;
double r6538409 = b;
double r6538410 = r6538408 * r6538409;
double r6538411 = r6538410 * r6538410;
double r6538412 = 4.0;
double r6538413 = pow(r6538408, r6538412);
double r6538414 = fma(r6538407, r6538411, r6538413);
double r6538415 = pow(r6538409, r6538412);
double r6538416 = r6538414 + r6538415;
double r6538417 = 1.0;
double r6538418 = r6538416 - r6538417;
return r6538418;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
Taylor expanded around inf 1.0
Simplified1.0
Final simplification1.0
herbie shell --seed 2019134 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))