SUBKEY_R
SUBKEY_R(0) = subR[0] ^ subR[2];
SUBKEY_R(2) = subR[3];
SUBKEY_R(3) = subR[2] ^ subR[4];
SUBKEY_R(4) = subR[3] ^ subR[5];
SUBKEY_R(5) = subR[4] ^ subR[6];
SUBKEY_R(6) = subR[5] ^ subR[7];
SUBKEY_R(7) = subR[6] ^ tr;
SUBKEY_R(8) = subR[8];
SUBKEY_R(9) = subR[9];
SUBKEY_R(10) = tr ^ subR[11];
SUBKEY_R(11) = subR[10] ^ subR[12];
SUBKEY_R(12) = subR[11] ^ subR[13];
SUBKEY_R(13) = subR[12] ^ subR[14];
SUBKEY_R(14) = subR[13] ^ subR[15];
SUBKEY_R(15) = subR[14] ^ tr;
SUBKEY_R(16) = subR[16];
SUBKEY_R(17) = subR[17];
SUBKEY_R(18) = tr ^ subR[19];
SUBKEY_R(19) = subR[18] ^ subR[20];
SUBKEY_R(20) = subR[19] ^ subR[21];
SUBKEY_R(21) = subR[20] ^ subR[22];
SUBKEY_R(22) = subR[21] ^ subR[23];
SUBKEY_R(23) = subR[22];
SUBKEY_R(24) = subR[24] ^ subR[23];
SUBKEY_R(23) = subR[22] ^ tr;
SUBKEY_R(24) = subR[24];
SUBKEY_R(25) = subR[25];
SUBKEY_R(26) = tr ^ subR[27];
SUBKEY_R(27) = subR[26] ^ subR[28];
SUBKEY_R(28) = subR[27] ^ subR[29];
SUBKEY_R(29) = subR[28] ^ subR[30];
SUBKEY_R(30) = subR[29] ^ subR[31];
SUBKEY_R(31) = subR[30];
SUBKEY_R(32) = subR[32] ^ subR[31];
io[1] ^= SUBKEY_R(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[3] ^= SUBKEY_R(max);
io[1] ^= SUBKEY_R(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[3] ^= SUBKEY_R(0);