in reply to Re (tilly) 1: subroutine recurse vs goto LABEL
in thread subroutine recurse vs goto LABEL
So use a block and redo instead of goto for tail-end recursion elimination, if the compiler doesn't just do it for you. In this case, a "while there is still more to work on" loop is clearly correct.