unsigned long long my_pow(unsigned int x, unsigned int n) { int res = 1; while (n) { if (n & 1) res *= x; n >>= 1; x *= x; } return res; } int main(void) { unsigned long long x = my_pow(2, 63); /*@ assert (2 * x + 1) % 2 == 1; */ return 0; }