\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({\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt[3]{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{3}}}\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) - 1double f(double a, double b) {
double r298501 = a;
double r298502 = r298501 * r298501;
double r298503 = b;
double r298504 = r298503 * r298503;
double r298505 = r298502 + r298504;
double r298506 = 2.0;
double r298507 = pow(r298505, r298506);
double r298508 = 4.0;
double r298509 = 1.0;
double r298510 = r298509 + r298501;
double r298511 = r298502 * r298510;
double r298512 = 3.0;
double r298513 = r298512 * r298501;
double r298514 = r298509 - r298513;
double r298515 = r298504 * r298514;
double r298516 = r298511 + r298515;
double r298517 = r298508 * r298516;
double r298518 = r298507 + r298517;
double r298519 = r298518 - r298509;
return r298519;
}
double f(double a, double b) {
double r298520 = a;
double r298521 = r298520 * r298520;
double r298522 = b;
double r298523 = r298522 * r298522;
double r298524 = r298521 + r298523;
double r298525 = cbrt(r298524);
double r298526 = r298525 * r298525;
double r298527 = 2.0;
double r298528 = pow(r298526, r298527);
double r298529 = sqrt(r298524);
double r298530 = cbrt(r298529);
double r298531 = 3.0;
double r298532 = pow(r298529, r298531);
double r298533 = cbrt(r298532);
double r298534 = cbrt(r298533);
double r298535 = r298530 * r298534;
double r298536 = pow(r298535, r298527);
double r298537 = r298528 * r298536;
double r298538 = 4.0;
double r298539 = 1.0;
double r298540 = r298539 + r298520;
double r298541 = r298521 * r298540;
double r298542 = 3.0;
double r298543 = r298542 * r298520;
double r298544 = r298539 - r298543;
double r298545 = r298523 * r298544;
double r298546 = r298541 + r298545;
double r298547 = r298538 * r298546;
double r298548 = r298537 + r298547;
double r298549 = r298548 - r298539;
return r298549;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.7
Applied unpow-prod-down0.7
rmApplied add-sqr-sqrt0.7
Applied cbrt-prod0.7
rmApplied add-cbrt-cube0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2020047
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))