\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 r186072 = a;
double r186073 = r186072 * r186072;
double r186074 = b;
double r186075 = r186074 * r186074;
double r186076 = r186073 + r186075;
double r186077 = 2.0;
double r186078 = pow(r186076, r186077);
double r186079 = 4.0;
double r186080 = r186079 * r186075;
double r186081 = r186078 + r186080;
double r186082 = 1.0;
double r186083 = r186081 - r186082;
return r186083;
}
double f(double a, double b) {
double r186084 = 4.0;
double r186085 = b;
double r186086 = r186084 * r186085;
double r186087 = a;
double r186088 = r186085 * r186085;
double r186089 = fma(r186087, r186087, r186088);
double r186090 = 2.0;
double r186091 = pow(r186089, r186090);
double r186092 = fma(r186086, r186085, r186091);
double r186093 = 1.0;
double r186094 = r186092 - r186093;
return r186094;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019196 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))