\left({\left(a \cdot a + b \cdot b\right)}^{2.0} + 4.0 \cdot \left(\left(a \cdot a\right) \cdot \left(1.0 + a\right) + \left(b \cdot b\right) \cdot \left(1.0 - 3.0 \cdot a\right)\right)\right) - 1.0\left(\left(\left(b \cdot b\right) \cdot \left(1.0 - a \cdot 3.0\right) + \left(a \cdot a\right) \cdot \left(a + 1.0\right)\right) \cdot 4.0 + \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2.0}} \cdot \left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2.0}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2.0}}\right)\right) - 1.0double f(double a, double b) {
double r6563183 = a;
double r6563184 = r6563183 * r6563183;
double r6563185 = b;
double r6563186 = r6563185 * r6563185;
double r6563187 = r6563184 + r6563186;
double r6563188 = 2.0;
double r6563189 = pow(r6563187, r6563188);
double r6563190 = 4.0;
double r6563191 = 1.0;
double r6563192 = r6563191 + r6563183;
double r6563193 = r6563184 * r6563192;
double r6563194 = 3.0;
double r6563195 = r6563194 * r6563183;
double r6563196 = r6563191 - r6563195;
double r6563197 = r6563186 * r6563196;
double r6563198 = r6563193 + r6563197;
double r6563199 = r6563190 * r6563198;
double r6563200 = r6563189 + r6563199;
double r6563201 = r6563200 - r6563191;
return r6563201;
}
double f(double a, double b) {
double r6563202 = b;
double r6563203 = r6563202 * r6563202;
double r6563204 = 1.0;
double r6563205 = a;
double r6563206 = 3.0;
double r6563207 = r6563205 * r6563206;
double r6563208 = r6563204 - r6563207;
double r6563209 = r6563203 * r6563208;
double r6563210 = r6563205 * r6563205;
double r6563211 = r6563205 + r6563204;
double r6563212 = r6563210 * r6563211;
double r6563213 = r6563209 + r6563212;
double r6563214 = 4.0;
double r6563215 = r6563213 * r6563214;
double r6563216 = r6563210 + r6563203;
double r6563217 = 2.0;
double r6563218 = pow(r6563216, r6563217);
double r6563219 = cbrt(r6563218);
double r6563220 = r6563219 * r6563219;
double r6563221 = r6563219 * r6563220;
double r6563222 = r6563215 + r6563221;
double r6563223 = r6563222 - r6563204;
return r6563223;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019165
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))