Rapaz, tô impressionado com os meus resultados. Dá uma diferença muito grande. Passei o fim-de-semana otimizando o meu código. Então, consegui reduzir o tempo de execução do código em C de 2,5 minutos para apenas 30 segundos. Contudo, se eu implemento o mesmo código em C++... Quer dizer... Como as funções compartilham dados comuns, eu, simplesmente, transformo esses dados em membros de dados privados de uma classe e as funções que o utilizam em membros privados da mesma classe. Assim, achei que o código em C++ seria mais rápido porque quase não são passados parâmetros as funções, ou seja, os dados são membros privados da classe. Contudo, o código em C++ é executado em 80 segundos. Quase três vezes mais lerdo que o código em C.
A partir de hoje, vou procurar escrever a parte mais crítica do meu código em C mesmo. ;-)