\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1double f(double a, double b) {
double r310912 = a;
double r310913 = r310912 * r310912;
double r310914 = b;
double r310915 = r310914 * r310914;
double r310916 = r310913 + r310915;
double r310917 = 2.0;
double r310918 = pow(r310916, r310917);
double r310919 = 4.0;
double r310920 = r310919 * r310915;
double r310921 = r310918 + r310920;
double r310922 = 1.0;
double r310923 = r310921 - r310922;
return r310923;
}
double f(double a, double b) {
double r310924 = a;
double r310925 = 4.0;
double r310926 = pow(r310924, r310925);
double r310927 = b;
double r310928 = pow(r310927, r310925);
double r310929 = 2.0;
double r310930 = pow(r310924, r310929);
double r310931 = pow(r310927, r310929);
double r310932 = r310930 * r310931;
double r310933 = r310929 * r310932;
double r310934 = r310928 + r310933;
double r310935 = r310926 + r310934;
double r310936 = 1.0;
double r310937 = r310935 - r310936;
return r310937;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Taylor expanded around inf 0.8
Final simplification0.8
herbie shell --seed 2020059
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))