In that case ^ is a library function and will be in a different module from
where it's used. So you need either `static` or `{.inline.}` so that
respectively Nim VM or the C compiler does constant folding.Also while C compilers certainly does constant propagation of add, mul, or/and/xor, shifts, I'm not sure they do that for the power function.
