c programs automatic predicate abstraction 3977257