and(X)&-ab(X)>[out(X)=in1(X)&in2(X)]; xor(X)&-ab(X)>[out(X)=in1(X)&-in2(X)|in2(X)&-in1(X)]; or(X)&-ab(X)>[out(X)=in1(X)|in2(X)]; xor(A); xor(B); or(C); and(D); and(E); out(A)=in1(B); out(A)=in1(D); in2(D)=in2(B); out(D)=in1(C); out(E)=in2(C); in1(A)=in1(E); in2(A)=in2(E); in1(A); -in2(A); in2(D); -out(C); out(B);