Dr. Dobb's Journal August 1998
node = T[0];
pos = node.skip;
branch = node.branch;
adr = node.adr;
while (branch != 0) {
node = T[adr + EXTRACT(pos, branch, s)];
pos = pos + branch + node.skip;
branch = node.branch;
adr = node.adr;
}
return adr;