This is the second batch of basic simplifications & canonicalizations. Luc Van Oostenryck (9): unop: add testcases for unop simplifications unop: prepare simplify_unop() to handle more cases unop: simplify -(x + C) --> -C - x unop: simplify -(x - y) --> y - x unop: simplify -(~x) --> x + 1 unop: simplify ~(x + C) --> ~C - x unop: simplify ~(C - x) --> x + ~C unop: simplify ~(x ^ C) --> x ^ ~C unop: simplify ~(-x) --> x - 1 simplify.c | 50 +++++++++++++++++++++++-- validation/optim/simplify-neg-add-cte.c | 11 ++++++ validation/optim/simplify-neg-not.c | 9 +++++ validation/optim/simplify-neg-sub.c | 9 +++++ validation/optim/simplify-not-add-cte.c | 11 ++++++ validation/optim/simplify-not-neg.c | 9 +++++ validation/optim/simplify-not-sub-cte.c | 11 ++++++ validation/optim/simplify-not-xor-cte.c | 11 ++++++ 8 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 validation/optim/simplify-neg-add-cte.c create mode 100644 validation/optim/simplify-neg-not.c create mode 100644 validation/optim/simplify-neg-sub.c create mode 100644 validation/optim/simplify-not-add-cte.c create mode 100644 validation/optim/simplify-not-neg.c create mode 100644 validation/optim/simplify-not-sub-cte.c create mode 100644 validation/optim/simplify-not-xor-cte.c -- 2.28.0