"Branching program" redirects here. For other uses, see NC (complexity) § Barrington's theorem. In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are perfor