s (two dots) and 35
full adders (three dots). The dots in each column are bits of equal weight. Bits with lower weight are rightmost. The example in the adjacent image illustrates the reduction of an 8 × 8 multiplier, explained here. The initial state j = 4 is chosen as d_4 = 6, the largest value less than 8.
Stage j=4, d_4 = 6 • \operatorname{height}(c_0\cdots c_5) are all less than or equal to six bits in height, so no changes are made • \operatorname{height}(c_6) = d_4 + 1 = 7, so a half-adder is applied, reducing it to six bits and adding its carry bit to c_7 • \operatorname{height}(c_7) = 9 including the carry bit from c_6, so we apply a full-adder and a half-adder to reduce it to six bits • \operatorname{height}(c_8) = 9 including two carry bits from c_7, so we again apply a full-adder and a half-adder to reduce it to six bits • \operatorname{height}(c_9) = 8 including two carry bits from c_8, so we apply a single full-adder and reduce it to six bits • \operatorname{height}(c_{10}\cdots c_{14}) are all less than or equal to six bits in height including carry bits, so no changes are made
Stage j=3, d_3 = 4 • \operatorname{height}(c_0\cdots c_3) are all less than or equal to four bits in height, so no changes are made • \operatorname{height}(c_4) = d_3 + 1 = 5, so a half-adder is applied, reducing it to four bits and adding its carry bit to c_5 • \operatorname{height}(c_5) = 7 including the carry bit from c_4, so we apply a full-adder and a half-adder to reduce it to four bits • \operatorname{height}(c_6\cdots c_{10}) = 8 including previous carry bits, so we apply two full-adders to reduce them to four bits • \operatorname{height}(c_{11}) = 6 including previous carry bits, so we apply a full-adder to reduce it to four bits • \operatorname{height}(c_{12}\cdots c_{14}) are all less than or equal to four bits in height including carry bits, so no changes are made
Stage j=2, d_2 = 3 • \operatorname{height}(c_0\cdots c_2) are all less than or equal to three bits in height, so no changes are made • \operatorname{height}(c_3) = d_2 + 1 = 4, so a half-adder is applied, reducing it to three bits and adding its carry bit to c_4 • \operatorname{height}(c_4\cdots c_{12}) = 5 including previous carry bits, so we apply one full-adder to reduce them to three bits • \operatorname{height}(c_{13}\cdots c_{14}) are all less than or equal to three bits in height including carry bits, so no changes are made
Stage j=1, d_1 = 2 • \operatorname{height}(c_0\cdots c_1) are all less than or equal to two bits in height, so no changes are made • \operatorname{height}(c_2) = d_1 + 1 = 3, so a half-adder is applied, reducing it to two bits and adding its carry bit to c_3 • \operatorname{height}(c_3\cdots c_{13}) = 4 including previous carry bits, so we apply one full-adder to reduce them to two bits • \operatorname{height}(c_{14}) = 2 including the carry bit from c_{13}, so no changes are made
Addition The output of the last stage leaves 15 columns of height two or less which can be passed into a standard adder. ==See also==