Mettle

recursiveThe call is directly recursive

Reported by --explain after a verdict.

mettle explain recursive

A function calling itself cannot be inlined without bound. Mettle expands bounded self-recursion automatically where it can prove the depth; this remark is what is left over.

Fix: rewrite as a loop where the recursion is hot and the depth is not provable. A loop also gives the vectorizer something to work with.

Related