double f(double a, double b) {
double r33692771 = a;
double r33692772 = r33692771 * r33692771;
double r33692773 = b;
double r33692774 = r33692773 * r33692773;
double r33692775 = r33692772 + r33692774;
double r33692776 = 2.0;
double r33692777 = pow(r33692775, r33692776);
double r33692778 = 4.0;
double r33692779 = r33692778 * r33692774;
double r33692780 = r33692777 + r33692779;
double r33692781 = 1.0;
double r33692782 = r33692780 - r33692781;
return r33692782;
}
double f(double a, double b) {
double r33692783 = b;
double r33692784 = r33692783 * r33692783;
double r33692785 = 4.0;
double r33692786 = -1.0;
double r33692787 = fma(r33692784, r33692785, r33692786);
double r33692788 = a;
double r33692789 = hypot(r33692788, r33692783);
double r33692790 = pow(r33692789, r33692785);
double r33692791 = r33692787 + r33692790;
return r33692791;
}
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1(\left(b \cdot b\right) \cdot 4 + -1)_* + {\left(\sqrt{a^2 + b^2}^*\right)}^{4}


Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
rmApplied fma-udef0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.1
rmApplied add-sqr-sqrt0.1
Applied cube-unmult0.1
Applied pow10.1
Applied pow-prod-up0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))