SUBKEY_L
SUBKEY_L(0) = subL[0] ^ subL[2];/* kw1 */
SUBKEY_L(2) = subL[3]; /* round 1 */
SUBKEY_L(3) = subL[2] ^ subL[4]; /* round 2 */
SUBKEY_L(4) = subL[3] ^ subL[5]; /* round 3 */
SUBKEY_L(5) = subL[4] ^ subL[6]; /* round 4 */
SUBKEY_L(6) = subL[5] ^ subL[7]; /* round 5 */
SUBKEY_L(7) = subL[6] ^ tl; /* round 6 */
SUBKEY_L(8) = subL[8]; /* FL(kl1) */
SUBKEY_L(9) = subL[9]; /* FLinv(kl2) */
SUBKEY_L(10) = tl ^ subL[11]; /* round 7 */
SUBKEY_L(11) = subL[10] ^ subL[12]; /* round 8 */
SUBKEY_L(12) = subL[11] ^ subL[13]; /* round 9 */
SUBKEY_L(13) = subL[12] ^ subL[14]; /* round 10 */
SUBKEY_L(14) = subL[13] ^ subL[15]; /* round 11 */
SUBKEY_L(15) = subL[14] ^ tl; /* round 12 */
SUBKEY_L(16) = subL[16]; /* FL(kl3) */
SUBKEY_L(17) = subL[17]; /* FLinv(kl4) */
SUBKEY_L(18) = tl ^ subL[19]; /* round 13 */
SUBKEY_L(19) = subL[18] ^ subL[20]; /* round 14 */
SUBKEY_L(20) = subL[19] ^ subL[21]; /* round 15 */
SUBKEY_L(21) = subL[20] ^ subL[22]; /* round 16 */
SUBKEY_L(22) = subL[21] ^ subL[23]; /* round 17 */
SUBKEY_L(23) = subL[22]; /* round 18 */
SUBKEY_L(24) = subL[24] ^ subL[23]; /* kw3 */
SUBKEY_L(23) = subL[22] ^ tl; /* round 18 */
SUBKEY_L(24) = subL[24]; /* FL(kl5) */
SUBKEY_L(25) = subL[25]; /* FLinv(kl6) */
SUBKEY_L(26) = tl ^ subL[27]; /* round 19 */
SUBKEY_L(27) = subL[26] ^ subL[28]; /* round 20 */
SUBKEY_L(28) = subL[27] ^ subL[29]; /* round 21 */
SUBKEY_L(29) = subL[28] ^ subL[30]; /* round 22 */
SUBKEY_L(30) = subL[29] ^ subL[31]; /* round 23 */
SUBKEY_L(31) = subL[30]; /* round 24 */
SUBKEY_L(32) = subL[32] ^ subL[31]; /* kw3 */
io[0] ^= SUBKEY_L(0);
SUBKEY_L(i + 2), SUBKEY_R(i + 2), \
SUBKEY_L(i + 3), SUBKEY_R(i + 3), \
SUBKEY_L(i + 4), SUBKEY_R(i + 4), \
SUBKEY_L(i + 5), SUBKEY_R(i + 5), \
SUBKEY_L(i + 6), SUBKEY_R(i + 6), \
SUBKEY_L(i + 7), SUBKEY_R(i + 7), \
SUBKEY_L(i + 0), SUBKEY_R(i + 0), \
SUBKEY_L(i + 1), SUBKEY_R(i + 1), \
io[2] ^= SUBKEY_L(max);
io[0] ^= SUBKEY_L(i);
SUBKEY_L(i + 7), SUBKEY_R(i + 7), \
SUBKEY_L(i + 6), SUBKEY_R(i + 6), \
SUBKEY_L(i + 5), SUBKEY_R(i + 5), \
SUBKEY_L(i + 4), SUBKEY_R(i + 4), \
SUBKEY_L(i + 3), SUBKEY_R(i + 3), \
SUBKEY_L(i + 2), SUBKEY_R(i + 2), \
SUBKEY_L(i + 1), SUBKEY_R(i + 1), \
SUBKEY_L(i + 0), SUBKEY_R(i + 0), \
io[2] ^= SUBKEY_L(0);