like $1/\sqrt{\symNumReg}$ [@Flajolet2007] while $\symRegRange$ defines the possible range for registers which is $\lbrace 0, 1,\ldots,\symRegRange+1\rbrace$. The case $\symRegRange=0$ corresponds to a bit array and shows that the algorithm can be regarded as generalization of linear counting [@Whang1990]. The number of consumed hash value bits $\symPrecision+\symRegRange$ defines the maximum cardinality that can be tracked. Obviously, if the cardinality reaches values in the order of $2^{\symPrecision+\symRegRange}$, hash collisions will become more apparent and the estimation error will increase.

\[alg:insert\] has some properties which are especially useful for distributed data streams. First, the insertion order of elements has no influence on the final sketch state. Furthermore, any two sketches with same parameters $(\symPrecision, \symRegRange)$ representing two different sets can be easily merged. The sketch that represents the union of both sets can be constructed by taking the register-wise maximum values.

The state of a sketch is described by the vector $\boldsymbol{\symRegValVariate} = (\symRegValVariate_1,\ldots,\symRegValVariate_\symNumReg)$. Under the assumption of a uniform hash function the inserted elements are distributed over all $\symNumReg$ registers according to a multinomial distribution with equal probabilities $1/\symNumReg$ [@Flajolet2007]. Therefore, any permutation of $\boldsymbol{\symRegValVariate}$ is equally likely for a given cardinality. Thus, the order of register values $\symRegValVariate_1,\ldots,\symRegValVariate_\symNumReg$ contains no information 