See: * <https://forum.nim-lang.org/t/4253>
Nim code is easier to analyze for the C compiler so the C compiler has an easier time doing constant folding and precomputing fibonacci . Besides that, it's also possible that the compiled code has (by a stroke of luck) better alignment: * <https://easyperf.net/blog/2018/01/18/Code_alignment_issues> Or have link order interfere with benchmark: * <https://web.archive.org/web/20170929071306/https://www.cis.upenn.edu/~cis501/papers/producing-wrong-data.pdf>