crc.c:35:32: warning: result of '4823603603198064275l << 63' requires 127 bits to represent, but 'long int' only has 64 bits [-Wshift-overflow=] uint64_t remainder_xor = POLY << 63;