math: tweak how impossible states are handled
There is a big comment in this commit which sort of explains this as well.
The problem is that smatch_extra.c says that the state is impossible but
smatch_real_absolute.c says that the variable is 2. When we look up the
real absolute, then we're supposed to take the intersection, but before
we just returned 2. Now we end up returning the whole range because
get_real_absolute() is not allowed to fail.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>