¿Cómo entiendo este código de número primo más grande?

Este es un código C ofuscado , que se utiliza para dificultar que el lector entienda lo que está escrito en el código.

No existen metodologías estándar que, al recorrerlas, comprenda el código directamente, en cambio, cada uno tiene su propio camino.

Personalmente, para entender cualquier código, paso por estos pasos:

  • Vuelva a formatear el código, agregando espacios, tabulaciones e indentaciones, colocando llaves alrededor de las mismas variables de alcance, expanda las expresiones aritméticas / bit a bit si están disponibles (como 1 << 2, que es lo mismo que 4).
  • Comience con main (), vaya a cada declaración e intente hacerse una idea sobre su funcionalidad y lo que hace aquí.
  • Intente desarmar ámbitos independientes y comprender lo que hacen, como bucles, funciones y ramificaciones condicionales.

Estos pasos son míos, es posible que haya (escuchado) otras formas de ofuscar un fragmento de código.

Aquí hay una pequeña ofuscación que hice para aclarar el código de número primo más grande ofuscado, espero que ahora se vea como un código C normal:

[C] / * t [1 << 25], asigna memoria para una matriz 33554432 * sizeof (int) bytes. 1LL me – Pastebin.com