isl_ast_build_expr_from_basic_set: exploit earlier constraints
In particular, exploit the information in constraints that do not
involve integer divisions to try and simplify the integer divisions
in the constraints that do contain them.
For example, the guard
if (n >= 0 && n >= 4 * floord(n, 4) + 2)
can be simplified to
if (n >= 0 && n % 4 >= 2)
since the value of the "n >= 4 * floord(n, 4) + 2" is only relevant
if "n >= 0" is true, in which case the argument of the integer division
is known to be non-negative and the integer division can be converted
to a C-like modulo expression.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>