This change splits makeICmpRegion into makeAllowedICmpRegion and makeSatisfyingICmpRegion with slightly different contracts. The first one is useful for determining what values some expression may take, while the second one is useful for determining what values are guaranteed to satisfy a given icmp.
|64 ↗||(On Diff #22069)|
Optional suggestion: ... predicate with *any* value contained within Other is contained *in* the ...
|70 ↗||(On Diff #22069)|
Result = [0, 4) right? Or Pred = ule, either way?
|122 ↗||(On Diff #22069)|
Optional: I'd leave out the "== ~~(A intersect B)" part.