SMS: Precise abstract interpretation of hardware designs