Average Error: 0.2 → 0.1
Time: 37.4s
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(a \cdot a\right) \cdot a + \left(b \cdot b + a \cdot a\right)\right) \cdot 4 + \left(\left(\left(b \cdot b\right) \cdot \left(\left(a \cdot a\right) \cdot 2 + b \cdot b\right) + {a}^{4}\right) + -12 \cdot \left(\left(b \cdot b\right) \cdot a\right)\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(\left(\left(a \cdot a\right) \cdot a + \left(b \cdot b + a \cdot a\right)\right) \cdot 4 + \left(\left(\left(b \cdot b\right) \cdot \left(\left(a \cdot a\right) \cdot 2 + b \cdot b\right) + {a}^{4}\right) + -12 \cdot \left(\left(b \cdot b\right) \cdot a\right)\right)\right) - 1
double f(double a, double b) {
        double r8103568 = a;
        double r8103569 = r8103568 * r8103568;
        double r8103570 = b;
        double r8103571 = r8103570 * r8103570;
        double r8103572 = r8103569 + r8103571;
        double r8103573 = 2.0;
        double r8103574 = pow(r8103572, r8103573);
        double r8103575 = 4.0;
        double r8103576 = 1.0;
        double r8103577 = r8103576 + r8103568;
        double r8103578 = r8103569 * r8103577;
        double r8103579 = 3.0;
        double r8103580 = r8103579 * r8103568;
        double r8103581 = r8103576 - r8103580;
        double r8103582 = r8103571 * r8103581;
        double r8103583 = r8103578 + r8103582;
        double r8103584 = r8103575 * r8103583;
        double r8103585 = r8103574 + r8103584;
        double r8103586 = r8103585 - r8103576;
        return r8103586;
}

double f(double a, double b) {
        double r8103587 = a;
        double r8103588 = r8103587 * r8103587;
        double r8103589 = r8103588 * r8103587;
        double r8103590 = b;
        double r8103591 = r8103590 * r8103590;
        double r8103592 = r8103591 + r8103588;
        double r8103593 = r8103589 + r8103592;
        double r8103594 = 4.0;
        double r8103595 = r8103593 * r8103594;
        double r8103596 = 2.0;
        double r8103597 = r8103588 * r8103596;
        double r8103598 = r8103597 + r8103591;
        double r8103599 = r8103591 * r8103598;
        double r8103600 = pow(r8103587, r8103594);
        double r8103601 = r8103599 + r8103600;
        double r8103602 = -12.0;
        double r8103603 = r8103591 * r8103587;
        double r8103604 = r8103602 * r8103603;
        double r8103605 = r8103601 + r8103604;
        double r8103606 = r8103595 + r8103605;
        double r8103607 = 1.0;
        double r8103608 = r8103606 - r8103607;
        return r8103608;
}

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(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(a \cdot a + b \cdot b\right) \cdot \left(a \cdot a + b \cdot b\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1}\]
  3. Taylor expanded around inf 0.0

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

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\color{blue}{\left(\left(b \cdot b\right) \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right) + \left(a \cdot a\right) \cdot \left(a \cdot a\right)\right)} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  5. Using strategy rm
  6. Applied pow20.2

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right) + \left(a \cdot a\right) \cdot \color{blue}{{a}^{2}}\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  7. Applied pow10.2

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right) + \left(a \cdot \color{blue}{{a}^{1}}\right) \cdot {a}^{2}\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  8. Applied pow10.2

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right) + \left(\color{blue}{{a}^{1}} \cdot {a}^{1}\right) \cdot {a}^{2}\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  9. Applied pow-prod-up0.2

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right) + \color{blue}{{a}^{\left(1 + 1\right)}} \cdot {a}^{2}\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  10. Applied pow-prod-up0.1

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

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

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

Reproduce

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