Average Error: 0.2 → 0.0
Time: 22.2s
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(1 - 3 \cdot a\right) \cdot \left(b \cdot b\right) + \left(a + 1\right) \cdot \left(a \cdot a\right)\right) \cdot 4 + \left(\left({a}^{4} + \left(\left(b \cdot b\right) \cdot \left(a \cdot a\right)\right) \cdot 2\right) + {b}^{4}\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(1 - 3 \cdot a\right) \cdot \left(b \cdot b\right) + \left(a + 1\right) \cdot \left(a \cdot a\right)\right) \cdot 4 + \left(\left({a}^{4} + \left(\left(b \cdot b\right) \cdot \left(a \cdot a\right)\right) \cdot 2\right) + {b}^{4}\right)\right) - 1
double f(double a, double b) {
        double r2553593 = a;
        double r2553594 = r2553593 * r2553593;
        double r2553595 = b;
        double r2553596 = r2553595 * r2553595;
        double r2553597 = r2553594 + r2553596;
        double r2553598 = 2.0;
        double r2553599 = pow(r2553597, r2553598);
        double r2553600 = 4.0;
        double r2553601 = 1.0;
        double r2553602 = r2553601 + r2553593;
        double r2553603 = r2553594 * r2553602;
        double r2553604 = 3.0;
        double r2553605 = r2553604 * r2553593;
        double r2553606 = r2553601 - r2553605;
        double r2553607 = r2553596 * r2553606;
        double r2553608 = r2553603 + r2553607;
        double r2553609 = r2553600 * r2553608;
        double r2553610 = r2553599 + r2553609;
        double r2553611 = r2553610 - r2553601;
        return r2553611;
}

double f(double a, double b) {
        double r2553612 = 1.0;
        double r2553613 = 3.0;
        double r2553614 = a;
        double r2553615 = r2553613 * r2553614;
        double r2553616 = r2553612 - r2553615;
        double r2553617 = b;
        double r2553618 = r2553617 * r2553617;
        double r2553619 = r2553616 * r2553618;
        double r2553620 = r2553614 + r2553612;
        double r2553621 = r2553614 * r2553614;
        double r2553622 = r2553620 * r2553621;
        double r2553623 = r2553619 + r2553622;
        double r2553624 = 4.0;
        double r2553625 = r2553623 * r2553624;
        double r2553626 = pow(r2553614, r2553624);
        double r2553627 = r2553618 * r2553621;
        double r2553628 = 2.0;
        double r2553629 = r2553627 * r2553628;
        double r2553630 = r2553626 + r2553629;
        double r2553631 = pow(r2553617, r2553624);
        double r2553632 = r2553630 + r2553631;
        double r2553633 = r2553625 + r2553632;
        double r2553634 = r2553633 - r2553612;
        return r2553634;
}

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. Taylor expanded around inf 0.0

    \[\leadsto \left(\color{blue}{\left({b}^{4} + \left({a}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right)} + 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\]
  3. Simplified0.2

    \[\leadsto \left(\color{blue}{\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot a\right) \cdot \left(a \cdot a\right) + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right)} + 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\]
  4. Using strategy rm
  5. Applied pow20.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot a\right) \cdot \color{blue}{{a}^{2}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  6. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(\color{blue}{{a}^{1}} \cdot a\right) \cdot {a}^{2} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  7. Applied pow-plus0.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\color{blue}{{a}^{\left(1 + 1\right)}} \cdot {a}^{2} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  8. Applied pow-prod-up0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\color{blue}{{a}^{\left(\left(1 + 1\right) + 2\right)}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  9. Simplified0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left({a}^{\color{blue}{4}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  10. Using strategy rm
  11. Applied pow10.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(\color{blue}{{b}^{1}} \cdot b\right) + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  12. Applied pow-plus0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \color{blue}{{b}^{\left(1 + 1\right)}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  13. Applied pow10.1

    \[\leadsto \left(\left(\left(b \cdot \color{blue}{{b}^{1}}\right) \cdot {b}^{\left(1 + 1\right)} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  14. Applied pow10.1

    \[\leadsto \left(\left(\left(\color{blue}{{b}^{1}} \cdot {b}^{1}\right) \cdot {b}^{\left(1 + 1\right)} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  15. Applied pow-prod-up0.1

    \[\leadsto \left(\left(\color{blue}{{b}^{\left(1 + 1\right)}} \cdot {b}^{\left(1 + 1\right)} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  16. Applied pow-prod-up0.0

    \[\leadsto \left(\left(\color{blue}{{b}^{\left(\left(1 + 1\right) + \left(1 + 1\right)\right)}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  17. Simplified0.0

    \[\leadsto \left(\left({b}^{\color{blue}{4}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  18. Final simplification0.0

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

Reproduce

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