Ackのループ化は末尾だけ(>>134)でしょ。
それともスタックや継続使って、
第一引数も第二引数も0じゃない時をループ展開してるの?