clast.c: insert_guard: create correct equality guards
If the domains contains an equality
a i_1 + b i_2 = 0
the original code would generate the guard
if (i_2 == -a * i_1 / b)
However, -a * i_1 may not be an integer multiple of b and
so for any given value of i_2, the test could evaluate to true
for more than one value of i_1.
This happens in particular if the domain is part of
(the convex hull of a union of) a set of domains.
This patch generates the guard
if (b * i_2 == -a * i_1)
instead, which should be safe.