\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right)\right) - 1double f(double a, double b) {
double r282070 = a;
double r282071 = r282070 * r282070;
double r282072 = b;
double r282073 = r282072 * r282072;
double r282074 = r282071 + r282073;
double r282075 = 2.0;
double r282076 = pow(r282074, r282075);
double r282077 = 4.0;
double r282078 = 1.0;
double r282079 = r282078 - r282070;
double r282080 = r282071 * r282079;
double r282081 = 3.0;
double r282082 = r282081 + r282070;
double r282083 = r282073 * r282082;
double r282084 = r282080 + r282083;
double r282085 = r282077 * r282084;
double r282086 = r282076 + r282085;
double r282087 = r282086 - r282078;
return r282087;
}
double f(double a, double b) {
double r282088 = a;
double r282089 = r282088 * r282088;
double r282090 = b;
double r282091 = r282090 * r282090;
double r282092 = r282089 + r282091;
double r282093 = 2.0;
double r282094 = pow(r282092, r282093);
double r282095 = 4.0;
double r282096 = 1.0;
double r282097 = r282096 - r282088;
double r282098 = r282089 * r282097;
double r282099 = 3.0;
double r282100 = r282099 + r282088;
double r282101 = r282091 * r282100;
double r282102 = cbrt(r282101);
double r282103 = r282102 * r282102;
double r282104 = r282103 * r282102;
double r282105 = r282098 + r282104;
double r282106 = r282095 * r282105;
double r282107 = r282094 + r282106;
double r282108 = r282107 - r282096;
return r282108;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2020035
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))