Ah yes, looking at the IR output makes it clearer. There are ORs on each side of the expression all the way down. <br><br>The algorithm has been in tree for years... We could surely modify this patch to make it look more like a byte swap and trigger it in years old versions of LLVM! :/<br><br>I'll create a patch but it'll be after these few days of Christmas :)<br><br>I hope intercal can survive in the meantime? ;)<br><div class="gmail_quote"><div dir="ltr">On Thu, 24 Dec 2015 at 22:53, Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de">joerg@britannica.bec.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Dec 24, 2015 at 10:36:16PM +0000, James Molloy wrote:<br>
> I'm not sure I understand the test case I'm afraid- that's only 32<br>
> operations to look through ... What am I missing?<br>
<br>
I think the combination of "or" and "shift" forces the deep recursion.<br>
Note that this is a common avalanche pattern for ctz. I'm bit a<br>
surprised we haven't hit it earlier.<br>
<br>
Joerg<br>
</blockquote></div>