Computing the product of two n-bits integers requires a 2n-bits result to do not overflow.
Well, how would be possible to compute the product of two n-bits integers as two n bits integers res0 and res1, where res0 contains the lower half of the result and res1 contains the higher one?