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>