With only standard word operations, such as those of the C programming language, it is difficult to directly compute the sketch of a key in constant time. Instead, the sketch bits can be packed into a range of size at most "r"4, using bitwise AND and multiplication. The bitwise AND operation serves to clear all non-sketch bits from the key, while the multiplication shifts the sketch bits into a small range. Like the "perfect" sketch, the approximate sketch preserves the order of the keys. Some preprocessing is needed to determine the correct multiplication constant. Each sketch bit in location "b""i" will get shifted to "b""i" + "m""i" via a multiplication by "m" = formula_2 2"m""i". For the approximate sketch to work, the following three properties must hold:   An inductive argument shows how the "m""i" can be constructed. Let "m"1 = "w" − "b"1. Suppose that 1 < "t" ≤ "r" and that "m"1, "m"2... "m""t-1" have already been chosen. Then pick the smallest integer "m""t" such that both properties (1) and (2) are satisfied. Property (1) requires that "m""t" ≠ "b""i" − "b""j" + "m""l" for all 1 ≤ "i", "j" ≤ "r" and 1 ≤ "l" ≤ "t"-1. Thus, there are less than "tr"2 ≤ "r"3 values that "m""t" must avoid. Since "m""t" is chosen to be minimal, ("b""t" + "m""t") ≤ ("b""t"-1 + "m""t"-1) + "r"3. This implies Property (3). The approximate sketch is thus computed as follows:  The purpose of the compression achieved by sketching is to allow all of the keys to be stored in one "w"-bit word. Let the "node sketch" of a node be the bit string  We can assume that the sketch function uses exactly "b" ≤ "r"4 bits. Then each block uses 1 + "b" ≤ "w"4/5 bits, and since "k" ≤ "w"1/5, the total number of bits in the node sketch is at most "w".