1. A method for determining a solution to a set of constraints, comprising: identifying a justified Boolean node; identifying a first input node, to the justified Boolean node, that does not have a controlling range; identifying a first transitive fanin of the first input node, wherein a candidate node is included in the first transitive fanin if all paths from the candidate node to a primary output include traversal of the first input node; and marking the first input node and the nodes of the first transitive fanin as blocked.