Average Error: 0.2 → 0.0
Time: 16.7s
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(\left(\left(\left(\left(b \cdot a\right) \cdot \left(b \cdot a\right)\right) \cdot 2 + {b}^{4}\right) + {a}^{4}\right) - 1\right) + \left(\left(a \cdot \left(a \cdot a + a\right) + b \cdot b\right) - 3 \cdot \left(\left(b \cdot b\right) \cdot a\right)\right) \cdot 4\]
\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(\left(\left(\left(\left(b \cdot a\right) \cdot \left(b \cdot a\right)\right) \cdot 2 + {b}^{4}\right) + {a}^{4}\right) - 1\right) + \left(\left(a \cdot \left(a \cdot a + a\right) + b \cdot b\right) - 3 \cdot \left(\left(b \cdot b\right) \cdot a\right)\right) \cdot 4
double f(double a, double b) {
        double r4093962 = a;
        double r4093963 = r4093962 * r4093962;
        double r4093964 = b;
        double r4093965 = r4093964 * r4093964;
        double r4093966 = r4093963 + r4093965;
        double r4093967 = 2.0;
        double r4093968 = pow(r4093966, r4093967);
        double r4093969 = 4.0;
        double r4093970 = 1.0;
        double r4093971 = r4093970 + r4093962;
        double r4093972 = r4093963 * r4093971;
        double r4093973 = 3.0;
        double r4093974 = r4093973 * r4093962;
        double r4093975 = r4093970 - r4093974;
        double r4093976 = r4093965 * r4093975;
        double r4093977 = r4093972 + r4093976;
        double r4093978 = r4093969 * r4093977;
        double r4093979 = r4093968 + r4093978;
        double r4093980 = r4093979 - r4093970;
        return r4093980;
}

double f(double a, double b) {
        double r4093981 = b;
        double r4093982 = a;
        double r4093983 = r4093981 * r4093982;
        double r4093984 = r4093983 * r4093983;
        double r4093985 = 2.0;
        double r4093986 = r4093984 * r4093985;
        double r4093987 = 4.0;
        double r4093988 = pow(r4093981, r4093987);
        double r4093989 = r4093986 + r4093988;
        double r4093990 = pow(r4093982, r4093987);
        double r4093991 = r4093989 + r4093990;
        double r4093992 = 1.0;
        double r4093993 = r4093991 - r4093992;
        double r4093994 = r4093982 * r4093982;
        double r4093995 = r4093994 + r4093982;
        double r4093996 = r4093982 * r4093995;
        double r4093997 = r4093981 * r4093981;
        double r4093998 = r4093996 + r4093997;
        double r4093999 = 3.0;
        double r4094000 = r4093997 * r4093982;
        double r4094001 = r4093999 * r4094000;
        double r4094002 = r4093998 - r4094001;
        double r4094003 = r4094002 * r4093987;
        double r4094004 = r4093993 + r4094003;
        return r4094004;
}

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

    \[\leadsto \color{blue}{\left(\left(a \cdot \left(a \cdot a + a\right) + b \cdot b\right) - 3 \cdot \left(\left(b \cdot b\right) \cdot a\right)\right) \cdot 4 + \left(\left(a \cdot a + b \cdot b\right) \cdot \left(a \cdot a + b \cdot b\right) - 1\right)}\]
  3. Taylor expanded around inf 0.0

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

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

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

Reproduce

herbie shell --seed 2019134 
(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))