code: func (h *HLLPP) decodeHash(k uint32, p uint8) (_ uint32, r uint8) {
  	if k&1 > 0 {
  		r = uint8(sliceBits32(k, 6, 1)) + (h.pp - h.p)
  	} else {
  		r = rho((uint64(k) | 1) << (64 - (h.pp + 1) + h.p))
  	}
  
  	return h.getIndex(k, p), r
  }
docs: // Return index with respect to "p" arg, and rho with respect to h.p. This is so
  // the h.pp index can be recovered easily when flushing the tmpSet.