out <= ( not b and c and not d ) or ( a and c and not d ) or ( a and b and c ) or ( b and d ) or (not a and not b and not d ); out = ( ~b & c & ~d ) | ( a & c & ~d ) | ( a & b & c ) | ( b & d ) | (~a & ~b & ~d );