Evaluating search heuristics and optimization techniques in propositional satisfiability