\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 r243858 = a;
double r243859 = r243858 * r243858;
double r243860 = b;
double r243861 = r243860 * r243860;
double r243862 = r243859 + r243861;
double r243863 = 2.0;
double r243864 = pow(r243862, r243863);
double r243865 = 4.0;
double r243866 = r243865 * r243861;
double r243867 = r243864 + r243866;
double r243868 = 1.0;
double r243869 = r243867 - r243868;
return r243869;
}
double f(double a, double b) {
double r243870 = 4.0;
double r243871 = b;
double r243872 = r243870 * r243871;
double r243873 = a;
double r243874 = r243871 * r243871;
double r243875 = fma(r243873, r243873, r243874);
double r243876 = 2.0;
double r243877 = pow(r243875, r243876);
double r243878 = fma(r243872, r243871, r243877);
double r243879 = 1.0;
double r243880 = r243878 - r243879;
return r243880;
}



Bits error versus a



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