int finish(int hash) { int h = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3)); h = h ^ (h >> 11); return 0x1fffffff & (h + ((0x00003fff & h) << 15)); }