\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 r169785 = a;
double r169786 = r169785 * r169785;
double r169787 = b;
double r169788 = r169787 * r169787;
double r169789 = r169786 + r169788;
double r169790 = 2.0;
double r169791 = pow(r169789, r169790);
double r169792 = 4.0;
double r169793 = r169792 * r169788;
double r169794 = r169791 + r169793;
double r169795 = 1.0;
double r169796 = r169794 - r169795;
return r169796;
}
double f(double a, double b) {
double r169797 = 4.0;
double r169798 = b;
double r169799 = r169797 * r169798;
double r169800 = a;
double r169801 = r169798 * r169798;
double r169802 = fma(r169800, r169800, r169801);
double r169803 = 2.0;
double r169804 = pow(r169802, r169803);
double r169805 = fma(r169799, r169798, r169804);
double r169806 = 1.0;
double r169807 = r169805 - r169806;
return r169807;
}



Bits error versus a



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