Adding two n-bit numbers is performed as adding in parallel the lower halves of the addends, the upper halves with input carry , and the upper halves with input carry , then selecting the appropriate upper half sum based on the output carry from the lower half sum. Thus the gate level depth of the n-bit adder is equal to the depth of the half-width adder plus the depth of a mux.