Only use unpromoted arithmetic for types no larger than 32 bit on 32 bit systems. Use explicit integer sizes in random test to avoid errors on 32 bit systems.