Dr. Dobb's Journal December 1998
(a)
for(i=0 ; i<8 ; i++) { p[i] = input[i]; }
(b)
for(i=0 ; i<8 ; i++) { p[i] =b[4] [i]; }
(c)
for(i=0 ; i<17 ; i++) { r[i] = a[i] ^ (a[(i+1)%17] | ~a[(i+2)%17] ); }
for(i=0 ; i<17 ; i++) { s[i] = r[(7*i)%17] <<< ((i*(i+1)/2 )%32); }
for(i=0 ; i<17 ; i++) { t[i] = s[i] ^ s[(i+1)%17] ^ s[(i+4)%17] ; }
A[0] = t[0] ^ 0x00000001 ;
for(i=0 ; i<8 ; i++) { A[(i+1)%17] = t[(i+1)%17 ] ^ p[i]; }
for(i=0 ; i<8 ; i++) { A[(i+9)%17] = t[(i+1)%17 ] ^ b[16][i]; }
(d)
for(i=0 ; i<8 ; i++) { z[i] = a[i]; }