A Data Parallel Algorithm for Boolean Function Manipulation