I have taken a couple of of RadioGatun/Gnoblio 1-bit variants to see how long cycles are: How many times we run the miniature RG BeltMill before the cycle repeats. ==Variant 1== See tiny-rgvariant-1.c for full source code. In the RadioGatun variant, the word size is one bit long, the belt width is 5 words wide, the belt height is 3, and the mill width is 11 words. Four words are exclusive ored during the Mill->Belt feedforward. This state is 2 bits in size, and has the following loop cycles: Repeats after 49694571 nums at 00000000 Repeats after 12130128 nums at 00000007 Repeats after 3646982 nums at 00000009 Repeats after 156279 nums at 00000010 Repeats after 854421 nums at 00000027 Repeats after 597346 nums at 00000118 Repeats after 12418 nums at 00001d1a Repeats after 8345 nums at 0000359c Repeats after 7522 nums at 00006aa8 Repeats after 713 nums at 00002947 Repeats after 84 nums at 0002c21c Repeats after 25 nums at 003b0a75 Repeats after 14 nums at 004f76ee Repeats after 6 nums at 00cbc756 Repeats after 5 nums at 01494a00 Repeats after 2 nums at 02200263 Repeats after 2 nums at 02204ee3 The hexadecimal number is a binary packing of the Belt + Mill state, as follows: // Convert the tiny belt + mill state of the RG/Gnoblio variant in // to a single 32-bit number PACK_WORD pack(DWR_WORD *belt, DWR_WORD *mill) { PACK_WORD out = 0; int a = 0; for(a=0;a<(DWR_BELTROWS * DWR_BELTCOL);a++) { out <<=1; out |= (belt[a] & 1); } for(a=0;a