Average Error: 0.2 → 0.7
Time: 15.8s
Precision: 64
\[\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]{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(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]{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
double f(double a, double b) {
        double r131595 = a;
        double r131596 = r131595 * r131595;
        double r131597 = b;
        double r131598 = r131597 * r131597;
        double r131599 = r131596 + r131598;
        double r131600 = 2.0;
        double r131601 = pow(r131599, r131600);
        double r131602 = 4.0;
        double r131603 = 1.0;
        double r131604 = r131603 + r131595;
        double r131605 = r131596 * r131604;
        double r131606 = 3.0;
        double r131607 = r131606 * r131595;
        double r131608 = r131603 - r131607;
        double r131609 = r131598 * r131608;
        double r131610 = r131605 + r131609;
        double r131611 = r131602 * r131610;
        double r131612 = r131601 + r131611;
        double r131613 = r131612 - r131603;
        return r131613;
}

double f(double a, double b) {
        double r131614 = a;
        double r131615 = r131614 * r131614;
        double r131616 = b;
        double r131617 = r131616 * r131616;
        double r131618 = r131615 + r131617;
        double r131619 = cbrt(r131618);
        double r131620 = r131619 * r131619;
        double r131621 = 2.0;
        double r131622 = pow(r131620, r131621);
        double r131623 = pow(r131619, r131621);
        double r131624 = r131622 * r131623;
        double r131625 = 4.0;
        double r131626 = 1.0;
        double r131627 = r131626 + r131614;
        double r131628 = r131615 * r131627;
        double r131629 = 3.0;
        double r131630 = r131629 * r131614;
        double r131631 = r131626 - r131630;
        double r131632 = r131617 * r131631;
        double r131633 = r131628 + r131632;
        double r131634 = r131625 * r131633;
        double r131635 = r131624 + r131634;
        double r131636 = r131635 - r131626;
        return r131636;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\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\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.7

    \[\leadsto \left({\color{blue}{\left(\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right) \cdot \sqrt[3]{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\]
  4. Applied unpow-prod-down0.7

    \[\leadsto \left(\color{blue}{{\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}} + 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\]
  5. Final simplification0.7

    \[\leadsto \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]{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\]

Reproduce

herbie shell --seed 2019303 
(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))