/*Placed in the public domain by Sam Trenholme*/

#include <stdint.h>

#include <stdio.h>

#define p uint32_t

#define f(a) for(c=0;c<a;c++)

#define n f(3){b[c*13]^=s[c];a[16+c]^=s[c];}k(a,b

k(p *a,p *b){p A[19],x,y,r,q[3],c,i;f(3)q[c]=b[c*

13+12];for(i=12;i;i--){f(3)b[c*13+i]=b[c*13+i-1];

}f(3)b[c*13]=q[c];f(12){i=c+1+((c%3)*13);b[i]^=a[

c+1];}f(19){y=(c*7)%19;r=((c*c+c)/2)%32;x=a[y]^(a

[(y+1)%19]|(~a[(y+2)%19]));A[c]=(x>>r)|(x<<(32-r)

);}f(19)a[c]=A[c]^A[(c+1)%19]^A[(c+4)%19];a[0]^=1

;f(3)a[c+13]^=q[c];}l(p *a,p *b,char *v){p s[3],q

,c,r,x,d=0;for(;;){f(3)s[c]=0;f(3){for(q=0;q<4;){

if(!(x=*v&255))d=x=1;v++;s[c]|=x<<(q++*8);if(d){n

);return;}}}n);}}main(int j,char **h){p a[39],b[3

*13],c,e,g;if(j==2){f(39){a[c]=b[c]=0;}l(a,b,h[1]

);f(16)k(a,b);f(4){k(a,b);for(j=1;j<3;++j){g=a[j]

;for(e=4;e;e--){printf("%02x",g&255);g>>=8;}}}}}

There may some more bloat that needs to be removed from this code, however, for the time being, it appears to be a fairly lean implementation of the 32-bit version of RadioGatún. Certainly more efficient that the rather bloated RadioGatún implementation included with Deadwood (which, horror beyond horrors, has comments and other completely unnecessary pieces of code).