int combine(int hash, int value) { int h = 0x1fffffff & (hash + value); h = 0x1fffffff & (h + ((0x0007ffff & h) << 10)); return h ^ (h >> 6); }