\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(1 - 3 \cdot a\right)\right)\right) - 1\left(4 \cdot \left(\left(a \cdot a + b \cdot b\right) + -3 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right) + \left(-1 + {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{4}\right)\right) + \left(\sqrt[3]{a} \cdot \left(\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \left(a \cdot a\right)\right)\right) \cdot 4double f(double a, double b) {
double r6131326 = a;
double r6131327 = r6131326 * r6131326;
double r6131328 = b;
double r6131329 = r6131328 * r6131328;
double r6131330 = r6131327 + r6131329;
double r6131331 = 2.0;
double r6131332 = pow(r6131330, r6131331);
double r6131333 = 4.0;
double r6131334 = 1.0;
double r6131335 = r6131334 + r6131326;
double r6131336 = r6131327 * r6131335;
double r6131337 = 3.0;
double r6131338 = r6131337 * r6131326;
double r6131339 = r6131334 - r6131338;
double r6131340 = r6131329 * r6131339;
double r6131341 = r6131336 + r6131340;
double r6131342 = r6131333 * r6131341;
double r6131343 = r6131332 + r6131342;
double r6131344 = r6131343 - r6131334;
return r6131344;
}
double f(double a, double b) {
double r6131345 = 4.0;
double r6131346 = a;
double r6131347 = r6131346 * r6131346;
double r6131348 = b;
double r6131349 = r6131348 * r6131348;
double r6131350 = r6131347 + r6131349;
double r6131351 = -3.0;
double r6131352 = r6131346 * r6131349;
double r6131353 = r6131351 * r6131352;
double r6131354 = r6131350 + r6131353;
double r6131355 = r6131345 * r6131354;
double r6131356 = -1.0;
double r6131357 = sqrt(r6131350);
double r6131358 = pow(r6131357, r6131345);
double r6131359 = r6131356 + r6131358;
double r6131360 = r6131355 + r6131359;
double r6131361 = cbrt(r6131346);
double r6131362 = r6131361 * r6131361;
double r6131363 = r6131362 * r6131347;
double r6131364 = r6131361 * r6131363;
double r6131365 = r6131364 * r6131345;
double r6131366 = r6131360 + r6131365;
return r6131366;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.1
rmApplied add-sqr-sqrt0.1
Applied cube-unmult0.1
rmApplied pow10.1
Applied pow-prod-up0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019163
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))