\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\mathsf{fma}\left(4 \cdot b, b, {\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{a \cdot a + b \cdot b}\right)}^{2}\right) - 1double f(double a, double b) {
double r525 = a;
double r526 = r525 * r525;
double r527 = b;
double r528 = r527 * r527;
double r529 = r526 + r528;
double r530 = 2.0;
double r531 = pow(r529, r530);
double r532 = 4.0;
double r533 = r532 * r528;
double r534 = r531 + r533;
double r535 = 1.0;
double r536 = r534 - r535;
return r536;
}
double f(double a, double b) {
double r537 = 4.0;
double r538 = b;
double r539 = r537 * r538;
double r540 = a;
double r541 = r540 * r540;
double r542 = r538 * r538;
double r543 = r541 + r542;
double r544 = cbrt(r543);
double r545 = r544 * r544;
double r546 = 2.0;
double r547 = pow(r545, r546);
double r548 = pow(r544, r546);
double r549 = r547 * r548;
double r550 = fma(r539, r538, r549);
double r551 = 1.0;
double r552 = r550 - r551;
return r552;
}



Bits error versus a



Bits error versus b
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied *-un-lft-identity0.2
Applied distribute-lft-out--0.2
Simplified0.2
rmApplied add-cube-cbrt0.7
Applied unpow-prod-down0.7
Final simplification0.7
herbie shell --seed 2020025 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))