ac プログラムには long long int 型の変数があり、値 0x7fffffffffffffff を格納しています。この値を 1024 * 4 で割ると、2251799813685247、つまり 0x7ffffffffffff になります。
ここで (1024 * 4) を乗算すると、結果は 0x7ffffffffffff000 になります。
long long unsigned int 型の変数にしても結果は変わりません。コードは 64 ビット マシンで実行されています。
結果が 0x7ffffffffffffff にならないのはなぜですか?