BDD-based decompositions of multiple output logic functions