Average Error: 0.2 → 1.0
Time: 4.7s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1
double f(double a, double b) {
        double r344937 = a;
        double r344938 = r344937 * r344937;
        double r344939 = b;
        double r344940 = r344939 * r344939;
        double r344941 = r344938 + r344940;
        double r344942 = 2.0;
        double r344943 = pow(r344941, r344942);
        double r344944 = 4.0;
        double r344945 = r344944 * r344940;
        double r344946 = r344943 + r344945;
        double r344947 = 1.0;
        double r344948 = r344946 - r344947;
        return r344948;
}

double f(double a, double b) {
        double r344949 = a;
        double r344950 = 4.0;
        double r344951 = pow(r344949, r344950);
        double r344952 = b;
        double r344953 = pow(r344952, r344950);
        double r344954 = 2.0;
        double r344955 = pow(r344949, r344954);
        double r344956 = pow(r344952, r344954);
        double r344957 = r344955 * r344956;
        double r344958 = r344954 * r344957;
        double r344959 = r344953 + r344958;
        double r344960 = r344951 + r344959;
        double r344961 = 1.0;
        double r344962 = r344960 - r344961;
        return r344962;
}

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(b \cdot b\right)\right) - 1\]
  2. Taylor expanded around inf 1.0

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

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

Reproduce

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