Average Error: 0.2 → 0.1
Time: 59.3s
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(4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - a \cdot 3\right) + \left(a \cdot a\right) \cdot \left(a + 1\right)\right) + \left(\left(b \cdot b\right) \cdot \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) + {a}^{4}\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(4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - a \cdot 3\right) + \left(a \cdot a\right) \cdot \left(a + 1\right)\right) + \left(\left(b \cdot b\right) \cdot \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) + {a}^{4}\right)\right) - 1
double f(double a, double b) {
        double r29744871 = a;
        double r29744872 = r29744871 * r29744871;
        double r29744873 = b;
        double r29744874 = r29744873 * r29744873;
        double r29744875 = r29744872 + r29744874;
        double r29744876 = 2.0;
        double r29744877 = pow(r29744875, r29744876);
        double r29744878 = 4.0;
        double r29744879 = 1.0;
        double r29744880 = r29744879 + r29744871;
        double r29744881 = r29744872 * r29744880;
        double r29744882 = 3.0;
        double r29744883 = r29744882 * r29744871;
        double r29744884 = r29744879 - r29744883;
        double r29744885 = r29744874 * r29744884;
        double r29744886 = r29744881 + r29744885;
        double r29744887 = r29744878 * r29744886;
        double r29744888 = r29744877 + r29744887;
        double r29744889 = r29744888 - r29744879;
        return r29744889;
}

double f(double a, double b) {
        double r29744890 = 4.0;
        double r29744891 = b;
        double r29744892 = r29744891 * r29744891;
        double r29744893 = 1.0;
        double r29744894 = a;
        double r29744895 = 3.0;
        double r29744896 = r29744894 * r29744895;
        double r29744897 = r29744893 - r29744896;
        double r29744898 = r29744892 * r29744897;
        double r29744899 = r29744894 * r29744894;
        double r29744900 = r29744894 + r29744893;
        double r29744901 = r29744899 * r29744900;
        double r29744902 = r29744898 + r29744901;
        double r29744903 = r29744890 * r29744902;
        double r29744904 = 2.0;
        double r29744905 = r29744904 * r29744899;
        double r29744906 = r29744905 + r29744892;
        double r29744907 = r29744892 * r29744906;
        double r29744908 = pow(r29744894, r29744890);
        double r29744909 = r29744907 + r29744908;
        double r29744910 = r29744903 + r29744909;
        double r29744911 = r29744910 - r29744893;
        return r29744911;
}

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. Taylor expanded around 0 0.0

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

    \[\leadsto \left(\color{blue}{\left(\left(a \cdot a\right) \cdot \left(a \cdot a\right) + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right)} + 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. Using strategy rm
  5. Applied pow10.2

    \[\leadsto \left(\left(\left(a \cdot a\right) \cdot \left(a \cdot \color{blue}{{a}^{1}}\right) + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  6. Applied pow10.2

    \[\leadsto \left(\left(\left(a \cdot a\right) \cdot \left(\color{blue}{{a}^{1}} \cdot {a}^{1}\right) + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  7. Applied pow-sqr0.2

    \[\leadsto \left(\left(\left(a \cdot a\right) \cdot \color{blue}{{a}^{\left(2 \cdot 1\right)}} + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  8. Applied pow10.2

    \[\leadsto \left(\left(\left(a \cdot \color{blue}{{a}^{1}}\right) \cdot {a}^{\left(2 \cdot 1\right)} + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  9. Applied pow10.2

    \[\leadsto \left(\left(\left(\color{blue}{{a}^{1}} \cdot {a}^{1}\right) \cdot {a}^{\left(2 \cdot 1\right)} + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  10. Applied pow-sqr0.2

    \[\leadsto \left(\left(\color{blue}{{a}^{\left(2 \cdot 1\right)}} \cdot {a}^{\left(2 \cdot 1\right)} + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  11. Applied pow-sqr0.1

    \[\leadsto \left(\left(\color{blue}{{a}^{\left(2 \cdot \left(2 \cdot 1\right)\right)}} + \left(2 \cdot \left(a \cdot a\right) + b \cdot b\right) \cdot \left(b \cdot b\right)\right) + 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\]
  12. Simplified0.1

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

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

Reproduce

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