Average Error: 0.2 → 0.9
Time: 2.6s
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 r182227 = a;
        double r182228 = r182227 * r182227;
        double r182229 = b;
        double r182230 = r182229 * r182229;
        double r182231 = r182228 + r182230;
        double r182232 = 2.0;
        double r182233 = pow(r182231, r182232);
        double r182234 = 4.0;
        double r182235 = r182234 * r182230;
        double r182236 = r182233 + r182235;
        double r182237 = 1.0;
        double r182238 = r182236 - r182237;
        return r182238;
}

double f(double a, double b) {
        double r182239 = a;
        double r182240 = 4.0;
        double r182241 = pow(r182239, r182240);
        double r182242 = b;
        double r182243 = pow(r182242, r182240);
        double r182244 = 2.0;
        double r182245 = pow(r182239, r182244);
        double r182246 = pow(r182242, r182244);
        double r182247 = r182245 * r182246;
        double r182248 = r182244 * r182247;
        double r182249 = r182243 + r182248;
        double r182250 = r182241 + r182249;
        double r182251 = 1.0;
        double r182252 = r182250 - r182251;
        return r182252;
}

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 0.9

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

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

Reproduce

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