sum = DELTA*32ul; // 32 итерации
while(sum != 0) {
x2 -= ((x1<<4 ^ x1>>5) + x1) ^ (sum + *(key+(sum>>11&0x03)));
sum-=DELTA;
x1 -= ((x2<<4 ^ x2>>5) + x2) ^ (sum + *(key+(sum&0x03)));
}
выражения типа
(sum + *(key+(sum>>11&0x03))) и (sum + *(key+(sum&0x03)))
свел бы в 2x32 статическую табличку итого 64 лонга = 256 байт.
скорость думаю существенно увеличица, да и общая память
думаю не сильно возрастет. ибо вычисление
(sum + *(key+(sum>>11&0x03))) и (sum + *(key+(sum&0x03)))
тож занимает память.