def METHOD_NAME(values):
  """Computes a HyperLogLog sketch from a list of hash values.
  This function is intended to be used to verify the behavior of
  hyperloglog._client_hyperloglog, which is a pure tensorflow implementation of
  the same algorithm with some bit-manipulation magic rather than string
  processing of binary numbers as we do here.
  This implementation is supposed to be 'obviously correct' based on a direct
  python translation of the steps outlined in
  https://en.wikipedia.org/wiki/HyperLogLog.
  Args:
    values: a list of int64 hash values.
  Returns:
    The HyperLogLog sketch, an array of size HLL_SKETCH_SIZE.
  """
  ans = np.zeros(count_distinct.HLL_SKETCH_SIZE, dtype=np.int32)
  for val in values:
    binary = bin(val)[2:].zfill(count_distinct.HLL_SKETCH_SIZE)
    # not adding 1 here because array is 0-indexed
    j = int(binary[: count_distinct.HLL_BIT_INDEX_HEAD], 2)
    w = binary[count_distinct.HLL_BIT_INDEX_HEAD :]
    # position of left-most 1, starting at 1.  Returns 0 if 1 is not present
    rho_w = w.find('1') + 1
    ans[j] = max(ans[j], rho_w)
  return ans