Average Error: 0.2 → 0.5
Time: 4.9s
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(3 + a\right)\right)\right) - 1\]
\[\left(\left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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(3 + 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(3 + a\right)\right)\right) - 1
\left(\left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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(3 + a\right)\right)\right) - 1
double f(double a, double b) {
        double r200844 = a;
        double r200845 = r200844 * r200844;
        double r200846 = b;
        double r200847 = r200846 * r200846;
        double r200848 = r200845 + r200847;
        double r200849 = 2.0;
        double r200850 = pow(r200848, r200849);
        double r200851 = 4.0;
        double r200852 = 1.0;
        double r200853 = r200852 - r200844;
        double r200854 = r200845 * r200853;
        double r200855 = 3.0;
        double r200856 = r200855 + r200844;
        double r200857 = r200847 * r200856;
        double r200858 = r200854 + r200857;
        double r200859 = r200851 * r200858;
        double r200860 = r200850 + r200859;
        double r200861 = r200860 - r200852;
        return r200861;
}

double f(double a, double b) {
        double r200862 = a;
        double r200863 = r200862 * r200862;
        double r200864 = b;
        double r200865 = r200864 * r200864;
        double r200866 = r200863 + r200865;
        double r200867 = 2.0;
        double r200868 = pow(r200866, r200867);
        double r200869 = cbrt(r200868);
        double r200870 = r200869 * r200869;
        double r200871 = r200870 * r200869;
        double r200872 = 4.0;
        double r200873 = 1.0;
        double r200874 = r200873 - r200862;
        double r200875 = r200863 * r200874;
        double r200876 = 3.0;
        double r200877 = r200876 + r200862;
        double r200878 = r200865 * r200877;
        double r200879 = r200875 + r200878;
        double r200880 = r200872 * r200879;
        double r200881 = r200871 + r200880;
        double r200882 = r200881 - r200873;
        return r200882;
}

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

    \[\leadsto \left(\color{blue}{\left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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(3 + a\right)\right)\right) - 1\]
  4. Final simplification0.5

    \[\leadsto \left(\left(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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(3 + a\right)\right)\right) - 1\]

Reproduce

herbie shell --seed 2020062 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (24)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))