\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\mathsf{fma}\left(4 \cdot b, b, {\left(\mathsf{fma}\left(a, a, b \cdot b\right)\right)}^{2}\right) - 1double f(double a, double b) {
double r267694 = a;
double r267695 = r267694 * r267694;
double r267696 = b;
double r267697 = r267696 * r267696;
double r267698 = r267695 + r267697;
double r267699 = 2.0;
double r267700 = pow(r267698, r267699);
double r267701 = 4.0;
double r267702 = r267701 * r267697;
double r267703 = r267700 + r267702;
double r267704 = 1.0;
double r267705 = r267703 - r267704;
return r267705;
}
double f(double a, double b) {
double r267706 = 4.0;
double r267707 = b;
double r267708 = r267706 * r267707;
double r267709 = a;
double r267710 = r267707 * r267707;
double r267711 = fma(r267709, r267709, r267710);
double r267712 = 2.0;
double r267713 = pow(r267711, r267712);
double r267714 = fma(r267708, r267707, r267713);
double r267715 = 1.0;
double r267716 = r267714 - r267715;
return r267716;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019323 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))