\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\mathsf{fma}\left(4, b \cdot b, {\left(\mathsf{fma}\left(a, a, b \cdot b\right)\right)}^{2}\right) - 1double f(double a, double b) {
double r9376787 = a;
double r9376788 = r9376787 * r9376787;
double r9376789 = b;
double r9376790 = r9376789 * r9376789;
double r9376791 = r9376788 + r9376790;
double r9376792 = 2.0;
double r9376793 = pow(r9376791, r9376792);
double r9376794 = 4.0;
double r9376795 = r9376794 * r9376790;
double r9376796 = r9376793 + r9376795;
double r9376797 = 1.0;
double r9376798 = r9376796 - r9376797;
return r9376798;
}
double f(double a, double b) {
double r9376799 = 4.0;
double r9376800 = b;
double r9376801 = r9376800 * r9376800;
double r9376802 = a;
double r9376803 = fma(r9376802, r9376802, r9376801);
double r9376804 = 2.0;
double r9376805 = pow(r9376803, r9376804);
double r9376806 = fma(r9376799, r9376801, r9376805);
double r9376807 = 1.0;
double r9376808 = r9376806 - r9376807;
return r9376808;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019172 +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))