#define SC1 9
#define MAXGENS ((1 << SC1) - 1)
#define SC2 16
#define MAXPC ((1 << SC2) - 1)
#define SC3 (SC1 + SC2)
#define MAXCLASS ((1 << (WORD_LENGTH - SC3)) - 1)
#define MASK1 ((1U << SC1) - 1)
#define MASK2 ((1U << SC2) - 1)
#define INSWT(i) ((i) << SC3)
#define WT(i) ((i) >> SC3)
#define PACK2(i, j) (((i)<<SC2) + (j))
#define FIELD1(i) ((i) >> SC2)
#define FIELD2(i) ((i) & MASK2)
#define PACK3(i, j, k) (((((i) << SC2) + (j)) << SC1) + (k))
#define PART2(i) (((i) >> SC1) & MASK2)
#define PART3(i) ((i) & MASK1)