Average Error: 0.2 → 0.6
Time: 1.1m
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left(\left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left(\left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}
double f(double a, double b) {
        double r47124054 = a;
        double r47124055 = r47124054 * r47124054;
        double r47124056 = b;
        double r47124057 = r47124056 * r47124056;
        double r47124058 = r47124055 + r47124057;
        double r47124059 = 2.0;
        double r47124060 = pow(r47124058, r47124059);
        double r47124061 = 4.0;
        double r47124062 = r47124061 * r47124057;
        double r47124063 = r47124060 + r47124062;
        double r47124064 = 1.0;
        double r47124065 = r47124063 - r47124064;
        return r47124065;
}

double f(double a, double b) {
        double r47124066 = a;
        double r47124067 = b;
        double r47124068 = r47124067 * r47124067;
        double r47124069 = fma(r47124066, r47124066, r47124068);
        double r47124070 = 4.0;
        double r47124071 = -1.0;
        double r47124072 = fma(r47124068, r47124070, r47124071);
        double r47124073 = fma(r47124069, r47124069, r47124072);
        double r47124074 = cbrt(r47124073);
        double r47124075 = r47124074 * r47124074;
        double r47124076 = cbrt(r47124075);
        double r47124077 = r47124074 * r47124076;
        double r47124078 = cbrt(r47124074);
        double r47124079 = r47124077 * r47124078;
        double r47124080 = r47124079 * r47124074;
        return r47124080;
}

Error

Bits error versus a

Bits error versus b

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. Simplified0.2

    \[\leadsto \color{blue}{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.5

    \[\leadsto \color{blue}{\left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt0.5

    \[\leadsto \left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\]
  7. Applied cbrt-prod0.6

    \[\leadsto \left(\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*} \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}} \cdot \sqrt[3]{\sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}}\right)}\right) \cdot \sqrt[3]{(\left((a \cdot a + \left(b \cdot b\right))_*\right) \cdot \left((a \cdot a + \left(b \cdot b\right))_*\right) + \left((\left(b \cdot b\right) \cdot 4 + -1)_*\right))_*}\]
  8. Applied associate-*r*0.6

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

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

Reproduce

herbie shell --seed 2019104 +o rules:numerics
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (26)"
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))