Average Error: 0.2 → 0.2
Time: 28.9s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + \sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \left(\sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot 4}\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left({\left(a \cdot a + b \cdot b\right)}^{2} + \sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \left(\sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot 4}\right)\right) - 1
double f(double a, double b) {
        double r9887925 = a;
        double r9887926 = r9887925 * r9887925;
        double r9887927 = b;
        double r9887928 = r9887927 * r9887927;
        double r9887929 = r9887926 + r9887928;
        double r9887930 = 2.0;
        double r9887931 = pow(r9887929, r9887930);
        double r9887932 = 4.0;
        double r9887933 = r9887932 * r9887928;
        double r9887934 = r9887931 + r9887933;
        double r9887935 = 1.0;
        double r9887936 = r9887934 - r9887935;
        return r9887936;
}

double f(double a, double b) {
        double r9887937 = a;
        double r9887938 = r9887937 * r9887937;
        double r9887939 = b;
        double r9887940 = r9887939 * r9887939;
        double r9887941 = r9887938 + r9887940;
        double r9887942 = 2.0;
        double r9887943 = pow(r9887941, r9887942);
        double r9887944 = 4.0;
        double r9887945 = r9887940 * r9887944;
        double r9887946 = cbrt(r9887945);
        double r9887947 = r9887946 * r9887946;
        double r9887948 = r9887946 * r9887947;
        double r9887949 = r9887943 + r9887948;
        double r9887950 = 1.0;
        double r9887951 = r9887949 - r9887950;
        return r9887951;
}

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(b \cdot b\right)\right) - 1\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.2

    \[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + \color{blue}{\left(\sqrt[3]{4 \cdot \left(b \cdot b\right)} \cdot \sqrt[3]{4 \cdot \left(b \cdot b\right)}\right) \cdot \sqrt[3]{4 \cdot \left(b \cdot b\right)}}\right) - 1\]
  4. Final simplification0.2

    \[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + \sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \left(\sqrt[3]{\left(b \cdot b\right) \cdot 4} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot 4}\right)\right) - 1\]

Reproduce

herbie shell --seed 2019172 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (26)"
  (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))