A more efficient semi adder