reorganized and more robust abstract interpretation of predicates