Listing 1
1: bdd_setvarnum( 3 ) ; 2: bdd a = bdd_ithvar(0) ; 3: bdd b = bdd_ithvar(1) ; 4: bdd c = bdd_ithvar(2) ; 5: bdd z = ( a | b ) & c ; 6: bdd restrict_b_1 = bdd_restrict( z, b ) ; 7: bdd restrict_b_0 = bdd_restrict( z, !b ) ; 8: bdd p = restrict_b_0 ^ restrict_b_1 ; 9: cout << endl << p << endl ; // output <0:0, 2:1>