Average Error: 0.2 → 0.2
Time: 10.4s
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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\frac{\left(a \cdot a\right) \cdot \left(1 \cdot 1 - a \cdot a\right)}{1 + a} + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right) \cdot \sqrt[3]{\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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\frac{\left(a \cdot a\right) \cdot \left(1 \cdot 1 - a \cdot a\right)}{1 + a} + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right)\right) - 1
double f(double a, double b) {
        double r427893 = a;
        double r427894 = r427893 * r427893;
        double r427895 = b;
        double r427896 = r427895 * r427895;
        double r427897 = r427894 + r427896;
        double r427898 = 2.0;
        double r427899 = pow(r427897, r427898);
        double r427900 = 4.0;
        double r427901 = 1.0;
        double r427902 = r427901 - r427893;
        double r427903 = r427894 * r427902;
        double r427904 = 3.0;
        double r427905 = r427904 + r427893;
        double r427906 = r427896 * r427905;
        double r427907 = r427903 + r427906;
        double r427908 = r427900 * r427907;
        double r427909 = r427899 + r427908;
        double r427910 = r427909 - r427901;
        return r427910;
}

double f(double a, double b) {
        double r427911 = a;
        double r427912 = r427911 * r427911;
        double r427913 = b;
        double r427914 = r427913 * r427913;
        double r427915 = r427912 + r427914;
        double r427916 = 2.0;
        double r427917 = pow(r427915, r427916);
        double r427918 = 4.0;
        double r427919 = 1.0;
        double r427920 = r427919 * r427919;
        double r427921 = r427920 - r427912;
        double r427922 = r427912 * r427921;
        double r427923 = r427919 + r427911;
        double r427924 = r427922 / r427923;
        double r427925 = 3.0;
        double r427926 = r427925 + r427911;
        double r427927 = r427914 * r427926;
        double r427928 = cbrt(r427927);
        double r427929 = r427928 * r427928;
        double r427930 = r427929 * r427928;
        double r427931 = r427924 + r427930;
        double r427932 = r427918 * r427931;
        double r427933 = r427917 + r427932;
        double r427934 = r427933 - r427919;
        return r427934;
}

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 flip--0.2

    \[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \color{blue}{\frac{1 \cdot 1 - a \cdot a}{1 + a}} + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 1\]
  4. Applied associate-*r/0.2

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

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

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

Reproduce

herbie shell --seed 2020047 +o rules:numerics
(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))