自己解決です。どうやら書式に問題があったのですね。
最初の%dで32bitで解釈されたから次の%lldの挙動がおかしくなったみたいです。
何でだか分からんけどしょせんCのprintfってことですね。