Average Error: 0.2 → 1.0
Time: 18.1s
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 r239013 = a;
        double r239014 = r239013 * r239013;
        double r239015 = b;
        double r239016 = r239015 * r239015;
        double r239017 = r239014 + r239016;
        double r239018 = 2.0;
        double r239019 = pow(r239017, r239018);
        double r239020 = 4.0;
        double r239021 = r239020 * r239016;
        double r239022 = r239019 + r239021;
        double r239023 = 1.0;
        double r239024 = r239022 - r239023;
        return r239024;
}

double f(double a, double b) {
        double r239025 = a;
        double r239026 = 4.0;
        double r239027 = pow(r239025, r239026);
        double r239028 = b;
        double r239029 = pow(r239028, r239026);
        double r239030 = 2.0;
        double r239031 = pow(r239025, r239030);
        double r239032 = pow(r239028, r239030);
        double r239033 = r239031 * r239032;
        double r239034 = r239030 * r239033;
        double r239035 = r239029 + r239034;
        double r239036 = r239027 + r239035;
        double r239037 = 1.0;
        double r239038 = r239036 - r239037;
        return r239038;
}

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 2019323 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (26)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))