L'approccio naif è di usare 32 for annidiati, ma si può fare di meglio (di fatto quel codice "simula" i cicli in questione in un unico ciclo); tra l'altro poi l'ho un po' messo in ordine e postato altrove.