Bug fix in creating constants: need 1U << 31, not 1 << 31.