module subtracter_1( 
                    X,Y,BIN,
                    D,BOUT
                    );
output D;
output BOUT;
input  X;
input  Y;
input  BIN;

reg D;
reg BOUT;

always @(X or Y or BIN)
begin
  D    <= X ^ Y ^ BIN;
  BOUT <= ((~ X) & Y ) + ((~ X) & BIN) + (Y & BIN); 
end
endmodule