Portability nitpick: It would be cleaner to make sure the 1 constant is 64 bits wide with a cast for crazy compilers.