For big types, only use unpromoted arithmetic for types no larger than long for that system. Use explicit integer sizes in random test to avoid errors on 32 bit long systems.