Perhaps this is what is desired (fixing roll over issue as well):
static int (**hget(int (**t)[2], int k))[2] { int (**t_old)[2] = t; int h = k & (SIZE - 1); for (t = t + h; **t && ***t != k; h = ((h + 1) & (SIZE - 1)), t += h, t = t_old + ((t - t_old) & (SIZE - 1))); return t; }
Perhaps this is what is desired (fixing roll over issue as well):