I can workaround the problem by banning revisiting nodes but that disable some valid cases for the pruner.
I think it would be fair to challenge whether such a large literal_unroll is a targeted use case at all. I wouldn’t like to disable other valid cases to make room for my example. I just thought it’d be interesting to look at the comparison.
Again and again I find code gen the best option in many cases. Since you are more experienced, what’s your take on this? Is it better to improve things like literal_unroll until it can beat code gen, or is it better to speed up compilation of generated code? other people have also reported slow compilation times on large functions: Tips or tricks for speeding up compilation time on first call of large Numba-jitted NumPy-containing functions?