\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}double f(double a, double b) {
double r47124054 = a;
double r47124055 = r47124054 * r47124054;
double r47124056 = b;
double r47124057 = r47124056 * r47124056;
double r47124058 = r47124055 + r47124057;
double r47124059 = 2.0;
double r47124060 = pow(r47124058, r47124059);
double r47124061 = 4.0;
double r47124062 = r47124061 * r47124057;
double r47124063 = r47124060 + r47124062;
double r47124064 = 1.0;
double r47124065 = r47124063 - r47124064;
return r47124065;
}
double f(double a, double b) {
double r47124066 = a;
double r47124067 = b;
double r47124068 = r47124067 * r47124067;
double r47124069 = fma(r47124066, r47124066, r47124068);
double r47124070 = 4.0;
double r47124071 = -1.0;
double r47124072 = fma(r47124068, r47124070, r47124071);
double r47124073 = fma(r47124069, r47124069, r47124072);
double r47124074 = cbrt(r47124073);
double r47124075 = r47124074 * r47124074;
double r47124076 = cbrt(r47124075);
double r47124077 = r47124074 * r47124076;
double r47124078 = cbrt(r47124074);
double r47124079 = r47124077 * r47124078;
double r47124080 = r47124079 * r47124074;
return r47124080;
}



Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
rmApplied add-cube-cbrt0.5
rmApplied add-cube-cbrt0.5
Applied cbrt-prod0.6
Applied associate-*r*0.6
Final simplification0.6
herbie shell --seed 2019104 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))