\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\mathsf{fma}\left(\left(\mathsf{fma}\left(b, b, \left(a \cdot a\right)\right)\right), \left(\mathsf{fma}\left(b, b, \left(a \cdot a\right)\right)\right), \left(\mathsf{fma}\left(\left(b \cdot b\right), 4, -1\right)\right)\right)double f(double a, double b) {
double r65515904 = a;
double r65515905 = r65515904 * r65515904;
double r65515906 = b;
double r65515907 = r65515906 * r65515906;
double r65515908 = r65515905 + r65515907;
double r65515909 = 2.0;
double r65515910 = pow(r65515908, r65515909);
double r65515911 = 4.0;
double r65515912 = r65515911 * r65515907;
double r65515913 = r65515910 + r65515912;
double r65515914 = 1.0;
double r65515915 = r65515913 - r65515914;
return r65515915;
}
double f(double a, double b) {
double r65515916 = b;
double r65515917 = a;
double r65515918 = r65515917 * r65515917;
double r65515919 = fma(r65515916, r65515916, r65515918);
double r65515920 = r65515916 * r65515916;
double r65515921 = 4.0;
double r65515922 = -1.0;
double r65515923 = fma(r65515920, r65515921, r65515922);
double r65515924 = fma(r65515919, r65515919, r65515923);
return r65515924;
}



Bits error versus a



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