Consegui!
Para n = 20, demora 30 segundos.
Usando o vizualizador do Cs Circles, notei a redução drástica do número de passos para a execução da função regua. Com duas chamadas, para n = 5, a função executa 255 passos! Com uma chamada, para n = 20, a função executa 107 passos.