1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00
ZoKrates/zokrates_cli/examples/sha256/merkleproof.code
2018-08-13 13:33:05 +02:00

904 lines
316 KiB
Text

def NOT(x):
return 1 - x
def AND(x, y):
return x * y
def OR(x, y):
return NOT(AND(NOT(x), NOT(y)))
def XOR(x, y):
return AND(OR(x, y), NOT(AND(x,y)))
def NOT(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return NOT(b31), NOT(b30), NOT(b29), NOT(b28), NOT(b27), NOT(b26), NOT(b25), NOT(b24), NOT(b23), NOT(b22), NOT(b21), NOT(b20), NOT(b19), NOT(b18), NOT(b17), NOT(b16), NOT(b15), NOT(b14), NOT(b13), NOT(b12), NOT(b11), NOT(b10), NOT(b9), NOT(b8), NOT(b7), NOT(b6), NOT(b5), NOT(b4), NOT(b3), NOT(b2), NOT(b1), NOT(b0)
def XOR(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0):
return XOR(b31, c31), XOR(b30, c30), XOR(b29, c29), XOR(b28, c28), XOR(b27, c27), XOR(b26, c26), XOR(b25, c25), XOR(b24, c24), XOR(b23, c23), XOR(b22, c22), XOR(b21, c21), XOR(b20, c20), XOR(b19, c19), XOR(b18, c18), XOR(b17, c17), XOR(b16, c16), XOR(b15, c15), XOR(b14, c14), XOR(b13, c13), XOR(b12, c12), XOR(b11, c11), XOR(b10, c10), XOR(b9, c9), XOR(b8, c8), XOR(b7, c7), XOR(b6, c6), XOR(b5, c5), XOR(b4, c4), XOR(b3, c3), XOR(b2, c2), XOR(b1, c1), XOR(b0, c0)
def AND(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0):
return AND(b31, c31), AND(b30, c30), AND(b29, c29), AND(b28, c28), AND(b27, c27), AND(b26, c26), AND(b25, c25), AND(b24, c24), AND(b23, c23), AND(b22, c22), AND(b21, c21), AND(b20, c20), AND(b19, c19), AND(b18, c18), AND(b17, c17), AND(b16, c16), AND(b15, c15), AND(b14, c14), AND(b13, c13), AND(b12, c12), AND(b11, c11), AND(b10, c10), AND(b9, c9), AND(b8, c8), AND(b7, c7), AND(b6, c6), AND(b5, c5), AND(b4, c4), AND(b3, c3), AND(b2, c2), AND(b1, c1), AND(b0, c0)
def ANDXORANDXORAND(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0):
return XOR(XOR(AND(a31,b31),AND(a31,c31)),AND(b31,c31)), XOR(XOR(AND(a30,b30),AND(a30,c30)),AND(b30,c30)), XOR(XOR(AND(a29,b29),AND(a29,c29)),AND(b29,c29)), XOR(XOR(AND(a28,b28),AND(a28,c28)),AND(b28,c28)), XOR(XOR(AND(a27,b27),AND(a27,c27)),AND(b27,c27)), XOR(XOR(AND(a26,b26),AND(a26,c26)),AND(b26,c26)), XOR(XOR(AND(a25,b25),AND(a25,c25)),AND(b25,c25)), XOR(XOR(AND(a24,b24),AND(a24,c24)),AND(b24,c24)), XOR(XOR(AND(a23,b23),AND(a23,c23)),AND(b23,c23)), XOR(XOR(AND(a22,b22),AND(a22,c22)),AND(b22,c22)), XOR(XOR(AND(a21,b21),AND(a21,c21)),AND(b21,c21)), XOR(XOR(AND(a20,b20),AND(a20,c20)),AND(b20,c20)), XOR(XOR(AND(a19,b19),AND(a19,c19)),AND(b19,c19)), XOR(XOR(AND(a18,b18),AND(a18,c18)),AND(b18,c18)), XOR(XOR(AND(a17,b17),AND(a17,c17)),AND(b17,c17)), XOR(XOR(AND(a16,b16),AND(a16,c16)),AND(b16,c16)), XOR(XOR(AND(a15,b15),AND(a15,c15)),AND(b15,c15)), XOR(XOR(AND(a14,b14),AND(a14,c14)),AND(b14,c14)), XOR(XOR(AND(a13,b13),AND(a13,c13)),AND(b13,c13)), XOR(XOR(AND(a12,b12),AND(a12,c12)),AND(b12,c12)), XOR(XOR(AND(a11,b11),AND(a11,c11)),AND(b11,c11)), XOR(XOR(AND(a10,b10),AND(a10,c10)),AND(b10,c10)), XOR(XOR(AND(a9,b9),AND(a9,c9)),AND(b9,c9)), XOR(XOR(AND(a8,b8),AND(a8,c8)),AND(b8,c8)), XOR(XOR(AND(a7,b7),AND(a7,c7)),AND(b7,c7)), XOR(XOR(AND(a6,b6),AND(a6,c6)),AND(b6,c6)), XOR(XOR(AND(a5,b5),AND(a5,c5)),AND(b5,c5)), XOR(XOR(AND(a4,b4),AND(a4,c4)),AND(b4,c4)), XOR(XOR(AND(a3,b3),AND(a3,c3)),AND(b3,c3)), XOR(XOR(AND(a2,b2),AND(a2,c2)),AND(b2,c2)), XOR(XOR(AND(a1,b1),AND(a1,c1)),AND(b1,c1)), XOR(XOR(AND(a0,b0),AND(a0,c0)),AND(b0,c0))
def ANDXORNOTAND(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0):
return XOR(AND(a31,b31),AND(NOT(a31), c31)), XOR(AND(a30,b30),AND(NOT(a30), c30)), XOR(AND(a29,b29),AND(NOT(a29), c29)), XOR(AND(a28,b28),AND(NOT(a28), c28)), XOR(AND(a27,b27),AND(NOT(a27), c27)), XOR(AND(a26,b26),AND(NOT(a26), c26)), XOR(AND(a25,b25),AND(NOT(a25), c25)), XOR(AND(a24,b24),AND(NOT(a24), c24)), XOR(AND(a23,b23),AND(NOT(a23), c23)), XOR(AND(a22,b22),AND(NOT(a22), c22)), XOR(AND(a21,b21),AND(NOT(a21), c21)), XOR(AND(a20,b20),AND(NOT(a20), c20)), XOR(AND(a19,b19),AND(NOT(a19), c19)), XOR(AND(a18,b18),AND(NOT(a18), c18)), XOR(AND(a17,b17),AND(NOT(a17), c17)), XOR(AND(a16,b16),AND(NOT(a16), c16)), XOR(AND(a15,b15),AND(NOT(a15), c15)), XOR(AND(a14,b14),AND(NOT(a14), c14)), XOR(AND(a13,b13),AND(NOT(a13), c13)), XOR(AND(a12,b12),AND(NOT(a12), c12)), XOR(AND(a11,b11),AND(NOT(a11), c11)), XOR(AND(a10,b10),AND(NOT(a10), c10)), XOR(AND(a9,b9),AND(NOT(a9), c9)), XOR(AND(a8,b8),AND(NOT(a8), c8)), XOR(AND(a7,b7),AND(NOT(a7), c7)), XOR(AND(a6,b6),AND(NOT(a6), c6)), XOR(AND(a5,b5),AND(NOT(a5), c5)), XOR(AND(a4,b4),AND(NOT(a4), c4)), XOR(AND(a3,b3),AND(NOT(a3), c3)), XOR(AND(a2,b2),AND(NOT(a2), c2)), XOR(AND(a1,b1),AND(NOT(a1), c1)), XOR(AND(a0,b0),AND(NOT(a0), c0))
def HALFADD(a, b):
return XOR(a, b), AND(a, b)
def FULLADD(a, b, car):
out1, car1 = HALFADD(a, b)
out2, car2 = HALFADD(out1, car)
car3 = OR(car1, car2)
return out2, car3
def ADD(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0):
d0, car1 = FULLADD(b0, c0, 0)
d1, car2 = FULLADD(b1, c1, car1)
d2, car3 = FULLADD(b2, c2, car2)
d3, car4 = FULLADD(b3, c3, car3)
d4, car5 = FULLADD(b4, c4, car4)
d5, car6 = FULLADD(b5, c5, car5)
d6, car7 = FULLADD(b6, c6, car6)
d7, car8 = FULLADD(b7, c7, car7)
d8, car9 = FULLADD(b8, c8, car8)
d9, car10 = FULLADD(b9, c9, car9)
d10, car11 = FULLADD(b10, c10, car10)
d11, car12 = FULLADD(b11, c11, car11)
d12, car13 = FULLADD(b12, c12, car12)
d13, car14 = FULLADD(b13, c13, car13)
d14, car15 = FULLADD(b14, c14, car14)
d15, car16 = FULLADD(b15, c15, car15)
d16, car17 = FULLADD(b16, c16, car16)
d17, car18 = FULLADD(b17, c17, car17)
d18, car19 = FULLADD(b18, c18, car18)
d19, car20 = FULLADD(b19, c19, car19)
d20, car21 = FULLADD(b20, c20, car20)
d21, car22 = FULLADD(b21, c21, car21)
d22, car23 = FULLADD(b22, c22, car22)
d23, car24 = FULLADD(b23, c23, car23)
d24, car25 = FULLADD(b24, c24, car24)
d25, car26 = FULLADD(b25, c25, car25)
d26, car27 = FULLADD(b26, c26, car26)
d27, car28 = FULLADD(b27, c27, car27)
d28, car29 = FULLADD(b28, c28, car28)
d29, car30 = FULLADD(b29, c29, car29)
d30, car31 = FULLADD(b30, c30, car30)
d31, car32 = FULLADD(b31, c31, car31)
return d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0
def ADD(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0):
ab31, ab30, ab29, ab28, ab27, ab26, ab25, ab24, ab23, ab22, ab21, ab20, ab19, ab18, ab17, ab16, ab15, ab14, ab13, ab12, ab11, ab10, ab9, ab8, ab7, ab6, ab5, ab4, ab3, ab2, ab1, ab0 = ADD(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0)
cd31, cd30, cd29, cd28, cd27, cd26, cd25, cd24, cd23, cd22, cd21, cd20, cd19, cd18, cd17, cd16, cd15, cd14, cd13, cd12, cd11, cd10, cd9, cd8, cd7, cd6, cd5, cd4, cd3, cd2, cd1, cd0 = ADD(c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0)
abcd31, abcd30, abcd29, abcd28, abcd27, abcd26, abcd25, abcd24, abcd23, abcd22, abcd21, abcd20, abcd19, abcd18, abcd17, abcd16, abcd15, abcd14, abcd13, abcd12, abcd11, abcd10, abcd9, abcd8, abcd7, abcd6, abcd5, abcd4, abcd3, abcd2, abcd1, abcd0 = ADD(ab31, ab30, ab29, ab28, ab27, ab26, ab25, ab24, ab23, ab22, ab21, ab20, ab19, ab18, ab17, ab16, ab15, ab14, ab13, ab12, ab11, ab10, ab9, ab8, ab7, ab6, ab5, ab4, ab3, ab2, ab1, ab0, cd31, cd30, cd29, cd28, cd27, cd26, cd25, cd24, cd23, cd22, cd21, cd20, cd19, cd18, cd17, cd16, cd15, cd14, cd13, cd12, cd11, cd10, cd9, cd8, cd7, cd6, cd5, cd4, cd3, cd2, cd1, cd0)
abcde31, abcde30, abcde29, abcde28, abcde27, abcde26, abcde25, abcde24, abcde23, abcde22, abcde21, abcde20, abcde19, abcde18, abcde17, abcde16, abcde15, abcde14, abcde13, abcde12, abcde11, abcde10, abcde9, abcde8, abcde7, abcde6, abcde5, abcde4, abcde3, abcde2, abcde1, abcde0 = ADD(abcd31, abcd30, abcd29, abcd28, abcd27, abcd26, abcd25, abcd24, abcd23, abcd22, abcd21, abcd20, abcd19, abcd18, abcd17, abcd16, abcd15, abcd14, abcd13, abcd12, abcd11, abcd10, abcd9, abcd8, abcd7, abcd6, abcd5, abcd4, abcd3, abcd2, abcd1, abcd0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
return abcde31, abcde30, abcde29, abcde28, abcde27, abcde26, abcde25, abcde24, abcde23, abcde22, abcde21, abcde20, abcde19, abcde18, abcde17, abcde16, abcde15, abcde14, abcde13, abcde12, abcde11, abcde10, abcde9, abcde8, abcde7, abcde6, abcde5, abcde4, abcde3, abcde2, abcde1, abcde0
def ADD(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0):
ab31, ab30, ab29, ab28, ab27, ab26, ab25, ab24, ab23, ab22, ab21, ab20, ab19, ab18, ab17, ab16, ab15, ab14, ab13, ab12, ab11, ab10, ab9, ab8, ab7, ab6, ab5, ab4, ab3, ab2, ab1, ab0 = ADD(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0)
cd31, cd30, cd29, cd28, cd27, cd26, cd25, cd24, cd23, cd22, cd21, cd20, cd19, cd18, cd17, cd16, cd15, cd14, cd13, cd12, cd11, cd10, cd9, cd8, cd7, cd6, cd5, cd4, cd3, cd2, cd1, cd0 = ADD(c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0)
abcd31, abcd30, abcd29, abcd28, abcd27, abcd26, abcd25, abcd24, abcd23, abcd22, abcd21, abcd20, abcd19, abcd18, abcd17, abcd16, abcd15, abcd14, abcd13, abcd12, abcd11, abcd10, abcd9, abcd8, abcd7, abcd6, abcd5, abcd4, abcd3, abcd2, abcd1, abcd0 = ADD(ab31, ab30, ab29, ab28, ab27, ab26, ab25, ab24, ab23, ab22, ab21, ab20, ab19, ab18, ab17, ab16, ab15, ab14, ab13, ab12, ab11, ab10, ab9, ab8, ab7, ab6, ab5, ab4, ab3, ab2, ab1, ab0, cd31, cd30, cd29, cd28, cd27, cd26, cd25, cd24, cd23, cd22, cd21, cd20, cd19, cd18, cd17, cd16, cd15, cd14, cd13, cd12, cd11, cd10, cd9, cd8, cd7, cd6, cd5, cd4, cd3, cd2, cd1, cd0)
return abcd31, abcd30, abcd29, abcd28, abcd27, abcd26, abcd25, abcd24, abcd23, abcd22, abcd21, abcd20, abcd19, abcd18, abcd17, abcd16, abcd15, abcd14, abcd13, abcd12, abcd11, abcd10, abcd9, abcd8, abcd7, abcd6, abcd5, abcd4, abcd3, abcd2, abcd1, abcd0
def RR2(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2
def RR3(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3
def RR6(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6
def RR7(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7
def RR10(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10
def RR11(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11
def RR13(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13
def RR17(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17
def RR18(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18
def RR19(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19
def RR22(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22
def RR25(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b31, b30, b29, b28, b27, b26, b25
def AR6XAR11XAR25(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0):
u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0 = RR6(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0 = RR11(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0 = RR25(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0 = XOR(u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0)
z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0 = XOR(w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0)
return z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0
def AR2XAR13XAR22(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0):
u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0 = RR2(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0 = RR13(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0 = RR22(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0 = XOR(u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0)
z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0 = XOR(w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0)
return z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0
def AR7XAR18XAR3(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0):
u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0 = RR7(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0 = RR18(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0 = RR3(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0 = XOR(u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0)
z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0 = XOR(w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0)
return z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0
def AR17XAR19XAR10(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0):
u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0 = RR17(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0 = RR19(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0 = RR10(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0 = XOR(u31, u30, u29, u28, u27, u26, u25, u24, u23, u22, u21, u20, u19, u18, u17, u16, u15, u14, u13, u12, u11, u10, u9, u8, u7, u6, u5, u4, u3, u2, u1, u0, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1, v0)
z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0 = XOR(w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19, x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1, x0)
return z31, z30, z29, z28, z27, z26, z25, z24, z23, z22, z21, z20, z19, z18, z17, z16, z15, z14, z13, z12, z11, z10, z9, z8, z7, z6, z5, z4, z3, z2, z1, z0
def H0():
return 0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1
def H1():
return 1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,0,1
def H2():
return 0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,0,0,1,0
def H3():
return 1,0,1,0,0,1,0,1,0,1,0,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,1,1,1,0,1,0
def H4():
return 0,1,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,0,1,1,1,1,1,1,1
def H5():
return 1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,0,0
def H6():
return 0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1
def H7():
return 0,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,0,0,0,1,1,0,0,1
def COPY(b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0):
return b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0
def EXTEND(wm15b31, wm15b30, wm15b29, wm15b28, wm15b27, wm15b26, wm15b25, wm15b24, wm15b23, wm15b22, wm15b21, wm15b20, wm15b19, wm15b18, wm15b17, wm15b16, wm15b15, wm15b14, wm15b13, wm15b12, wm15b11, wm15b10, wm15b9, wm15b8, wm15b7, wm15b6, wm15b5, wm15b4, wm15b3, wm15b2, wm15b1, wm15b0, wm2b31, wm2b30, wm2b29, wm2b28, wm2b27, wm2b26, wm2b25, wm2b24, wm2b23, wm2b22, wm2b21, wm2b20, wm2b19, wm2b18, wm2b17, wm2b16, wm2b15, wm2b14, wm2b13, wm2b12, wm2b11, wm2b10, wm2b9, wm2b8, wm2b7, wm2b6, wm2b5, wm2b4, wm2b3, wm2b2, wm2b1, wm2b0, wm16b31, wm16b30, wm16b29, wm16b28, wm16b27, wm16b26, wm16b25, wm16b24, wm16b23, wm16b22, wm16b21, wm16b20, wm16b19, wm16b18, wm16b17, wm16b16, wm16b15, wm16b14, wm16b13, wm16b12, wm16b11, wm16b10, wm16b9, wm16b8, wm16b7, wm16b6, wm16b5, wm16b4, wm16b3, wm16b2, wm16b1, wm16b0, wm7b31, wm7b30, wm7b29, wm7b28, wm7b27, wm7b26, wm7b25, wm7b24, wm7b23, wm7b22, wm7b21, wm7b20, wm7b19, wm7b18, wm7b17, wm7b16, wm7b15, wm7b14, wm7b13, wm7b12, wm7b11, wm7b10, wm7b9, wm7b8, wm7b7, wm7b6, wm7b5, wm7b4, wm7b3, wm7b2, wm7b1, wm7b0):
// s0 := (w[i-15] rightrotate 7) xor (w[i-15] rightrotate 18) xor (w[i-15] rightshift 3)
szero31, szero30, szero29, szero28, szero27, szero26, szero25, szero24, szero23, szero22, szero21, szero20, szero19, szero18, szero17, szero16, szero15, szero14, szero13, szero12, szero11, szero10, szero9, szero8, szero7, szero6, szero5, szero4, szero3, szero2, szero1, szero0 = AR7XAR18XAR3(wm15b31, wm15b30, wm15b29, wm15b28, wm15b27, wm15b26, wm15b25, wm15b24, wm15b23, wm15b22, wm15b21, wm15b20, wm15b19, wm15b18, wm15b17, wm15b16, wm15b15, wm15b14, wm15b13, wm15b12, wm15b11, wm15b10, wm15b9, wm15b8, wm15b7, wm15b6, wm15b5, wm15b4, wm15b3, wm15b2, wm15b1, wm15b0)
// s1 := (w[i-2] rightrotate 17) xor (w[i-2] rightrotate 19) xor (w[i-2] rightshift 10)
sone31, sone30, sone29, sone28, sone27, sone26, sone25, sone24, sone23, sone22, sone21, sone20, sone19, sone18, sone17, sone16, sone15, sone14, sone13, sone12, sone11, sone10, sone9, sone8, sone7, sone6, sone5, sone4, sone3, sone2, sone1, sone0 = AR17XAR19XAR10(wm2b31, wm2b30, wm2b29, wm2b28, wm2b27, wm2b26, wm2b25, wm2b24, wm2b23, wm2b22, wm2b21, wm2b20, wm2b19, wm2b18, wm2b17, wm2b16, wm2b15, wm2b14, wm2b13, wm2b12, wm2b11, wm2b10, wm2b9, wm2b8, wm2b7, wm2b6, wm2b5, wm2b4, wm2b3, wm2b2, wm2b1, wm2b0)
// w[i] := w[i-16] + s0 + w[i-7] + s1
wfb31, wfb30, wfb29, wfb28, wfb27, wfb26, wfb25, wfb24, wfb23, wfb22, wfb21, wfb20, wfb19, wfb18, wfb17, wfb16, wfb15, wfb14, wfb13, wfb12, wfb11, wfb10, wfb9, wfb8, wfb7, wfb6, wfb5, wfb4, wfb3, wfb2, wfb1, wfb0 = ADD(wm16b31, wm16b30, wm16b29, wm16b28, wm16b27, wm16b26, wm16b25, wm16b24, wm16b23, wm16b22, wm16b21, wm16b20, wm16b19, wm16b18, wm16b17, wm16b16, wm16b15, wm16b14, wm16b13, wm16b12, wm16b11, wm16b10, wm16b9, wm16b8, wm16b7, wm16b6, wm16b5, wm16b4, wm16b3, wm16b2, wm16b1, wm16b0, szero31, szero30, szero29, szero28, szero27, szero26, szero25, szero24, szero23, szero22, szero21, szero20, szero19, szero18, szero17, szero16, szero15, szero14, szero13, szero12, szero11, szero10, szero9, szero8, szero7, szero6, szero5, szero4, szero3, szero2, szero1, szero0, wm7b31, wm7b30, wm7b29, wm7b28, wm7b27, wm7b26, wm7b25, wm7b24, wm7b23, wm7b22, wm7b21, wm7b20, wm7b19, wm7b18, wm7b17, wm7b16, wm7b15, wm7b14, wm7b13, wm7b12, wm7b11, wm7b10, wm7b9, wm7b8, wm7b7, wm7b6, wm7b5, wm7b4, wm7b3, wm7b2, wm7b1, wm7b0, sone31, sone30, sone29, sone28, sone27, sone26, sone25, sone24, sone23, sone22, sone21, sone20, sone19, sone18, sone17, sone16, sone15, sone14, sone13, sone12, sone11, sone10, sone9, sone8, sone7, sone6, sone5, sone4, sone3, sone2, sone1, sone0)
return wfb31, wfb30, wfb29, wfb28, wfb27, wfb26, wfb25, wfb24, wfb23, wfb22, wfb21, wfb20, wfb19, wfb18, wfb17, wfb16, wfb15, wfb14, wfb13, wfb12, wfb11, wfb10, wfb9, wfb8, wfb7, wfb6, wfb5, wfb4, wfb3, wfb2, wfb1, wfb0
def COMPROUND(k31, k30, k29, k28, k27, k26, k25, k24, k23, k22, k21, k20, k19, k18, k17, k16, k15, k14, k13, k12, k11, k10, k9, k8, k7, k6, k5, k4, k3, k2, k1, k0, w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0):
// S1 := (e rightrotate 6) xor (e rightrotate 11) xor (e rightrotate 25)
SOne31, SOne30, SOne29, SOne28, SOne27, SOne26, SOne25, SOne24, SOne23, SOne22, SOne21, SOne20, SOne19, SOne18, SOne17, SOne16, SOne15, SOne14, SOne13, SOne12, SOne11, SOne10, SOne9, SOne8, SOne7, SOne6, SOne5, SOne4, SOne3, SOne2, SOne1, SOne0 = AR6XAR11XAR25(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
// ch := (e and f) xor ((not e) and g)
ch31, ch30, ch29, ch28, ch27, ch26, ch25, ch24, ch23, ch22, ch21, ch20, ch19, ch18, ch17, ch16, ch15, ch14, ch13, ch12, ch11, ch10, ch9, ch8, ch7, ch6, ch5, ch4, ch3, ch2, ch1, ch0 = ANDXORNOTAND(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0)
// temp1 := h + S1 + ch + k[i] + w[i]
tempOne31, tempOne30, tempOne29, tempOne28, tempOne27, tempOne26, tempOne25, tempOne24, tempOne23, tempOne22, tempOne21, tempOne20, tempOne19, tempOne18, tempOne17, tempOne16, tempOne15, tempOne14, tempOne13, tempOne12, tempOne11, tempOne10, tempOne9, tempOne8, tempOne7, tempOne6, tempOne5, tempOne4, tempOne3, tempOne2, tempOne1, tempOne0 = ADD(k31, k30, k29, k28, k27, k26, k25, k24, k23, k22, k21, k20, k19, k18, k17, k16, k15, k14, k13, k12, k11, k10, k9, k8, k7, k6, k5, k4, k3, k2, k1, k0, w31, w30, w29, w28, w27, w26, w25, w24, w23, w22, w21, w20, w19, w18, w17, w16, w15, w14, w13, w12, w11, w10, w9, w8, w7, w6, w5, w4, w3, w2, w1, w0, ch31, ch30, ch29, ch28, ch27, ch26, ch25, ch24, ch23, ch22, ch21, ch20, ch19, ch18, ch17, ch16, ch15, ch14, ch13, ch12, ch11, ch10, ch9, ch8, ch7, ch6, ch5, ch4, ch3, ch2, ch1, ch0, SOne31, SOne30, SOne29, SOne28, SOne27, SOne26, SOne25, SOne24, SOne23, SOne22, SOne21, SOne20, SOne19, SOne18, SOne17, SOne16, SOne15, SOne14, SOne13, SOne12, SOne11, SOne10, SOne9, SOne8, SOne7, SOne6, SOne5, SOne4, SOne3, SOne2, SOne1, SOne0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// S0 := (a rightrotate 2) xor (a rightrotate 13) xor (a rightrotate 22)
SZero31, SZero30, SZero29, SZero28, SZero27, SZero26, SZero25, SZero24, SZero23, SZero22, SZero21, SZero20, SZero19, SZero18, SZero17, SZero16, SZero15, SZero14, SZero13, SZero12, SZero11, SZero10, SZero9, SZero8, SZero7, SZero6, SZero5, SZero4, SZero3, SZero2, SZero1, SZero0 = AR2XAR13XAR22(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
// maj := (a and b) xor (a and c) xor (b and c)
maj31, maj30, maj29, maj28, maj27, maj26, maj25, maj24, maj23, maj22, maj21, maj20, maj19, maj18, maj17, maj16, maj15, maj14, maj13, maj12, maj11, maj10, maj9, maj8, maj7, maj6, maj5, maj4, maj3, maj2, maj1, maj0 = ANDXORANDXORAND(a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)
// temp2 := S0 + maj
tempTwo31, tempTwo30, tempTwo29, tempTwo28, tempTwo27, tempTwo26, tempTwo25, tempTwo24, tempTwo23, tempTwo22, tempTwo21, tempTwo20, tempTwo19, tempTwo18, tempTwo17, tempTwo16, tempTwo15, tempTwo14, tempTwo13, tempTwo12, tempTwo11, tempTwo10, tempTwo9, tempTwo8, tempTwo7, tempTwo6, tempTwo5, tempTwo4, tempTwo3, tempTwo2, tempTwo1, tempTwo0 = ADD(SZero31, SZero30, SZero29, SZero28, SZero27, SZero26, SZero25, SZero24, SZero23, SZero22, SZero21, SZero20, SZero19, SZero18, SZero17, SZero16, SZero15, SZero14, SZero13, SZero12, SZero11, SZero10, SZero9, SZero8, SZero7, SZero6, SZero5, SZero4, SZero3, SZero2, SZero1, SZero0, maj31, maj30, maj29, maj28, maj27, maj26, maj25, maj24, maj23, maj22, maj21, maj20, maj19, maj18, maj17, maj16, maj15, maj14, maj13, maj12, maj11, maj10, maj9, maj8, maj7, maj6, maj5, maj4, maj3, maj2, maj1, maj0)
// en := d + temp1
en31, en30, en29, en28, en27, en26, en25, en24, en23, en22, en21, en20, en19, en18, en17, en16, en15, en14, en13, en12, en11, en10, en9, en8, en7, en6, en5, en4, en3, en2, en1, en0 = ADD(d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, tempOne31, tempOne30, tempOne29, tempOne28, tempOne27, tempOne26, tempOne25, tempOne24, tempOne23, tempOne22, tempOne21, tempOne20, tempOne19, tempOne18, tempOne17, tempOne16, tempOne15, tempOne14, tempOne13, tempOne12, tempOne11, tempOne10, tempOne9, tempOne8, tempOne7, tempOne6, tempOne5, tempOne4, tempOne3, tempOne2, tempOne1, tempOne0)
// an := temp1 + temp2
an31, an30, an29, an28, an27, an26, an25, an24, an23, an22, an21, an20, an19, an18, an17, an16, an15, an14, an13, an12, an11, an10, an9, an8, an7, an6, an5, an4, an3, an2, an1, an0 = ADD(tempOne31, tempOne30, tempOne29, tempOne28, tempOne27, tempOne26, tempOne25, tempOne24, tempOne23, tempOne22, tempOne21, tempOne20, tempOne19, tempOne18, tempOne17, tempOne16, tempOne15, tempOne14, tempOne13, tempOne12, tempOne11, tempOne10, tempOne9, tempOne8, tempOne7, tempOne6, tempOne5, tempOne4, tempOne3, tempOne2, tempOne1, tempOne0, tempTwo31, tempTwo30, tempTwo29, tempTwo28, tempTwo27, tempTwo26, tempTwo25, tempTwo24, tempTwo23, tempTwo22, tempTwo21, tempTwo20, tempTwo19, tempTwo18, tempTwo17, tempTwo16, tempTwo15, tempTwo14, tempTwo13, tempTwo12, tempTwo11, tempTwo10, tempTwo9, tempTwo8, tempTwo7, tempTwo6, tempTwo5, tempTwo4, tempTwo3, tempTwo2, tempTwo1, tempTwo0)
return an31, an30, an29, an28, an27, an26, an25, an24, an23, an22, an21, an20, an19, an18, an17, an16, an15, an14, an13, an12, an11, an10, an9, an8, an7, an6, an5, an4, an3, an2, an1, an0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, en31, en30, en29, en28, en27, en26, en25, en24, en23, en22, en21, en20, en19, en18, en17, en16, en15, en14, en13, en12, en11, en10, en9, en8, en7, en6, en5, en4, en3, en2, en1, en0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0
def sha256compress(i511, i510, i509, i508, i507, i506, i505, i504, i503, i502, i501, i500, i499, i498, i497, i496, i495, i494, i493, i492, i491, i490, i489, i488, i487, i486, i485, i484, i483, i482, i481, i480, i479, i478, i477, i476, i475, i474, i473, i472, i471, i470, i469, i468, i467, i466, i465, i464, i463, i462, i461, i460, i459, i458, i457, i456, i455, i454, i453, i452, i451, i450, i449, i448, i447, i446, i445, i444, i443, i442, i441, i440, i439, i438, i437, i436, i435, i434, i433, i432, i431, i430, i429, i428, i427, i426, i425, i424, i423, i422, i421, i420, i419, i418, i417, i416, i415, i414, i413, i412, i411, i410, i409, i408, i407, i406, i405, i404, i403, i402, i401, i400, i399, i398, i397, i396, i395, i394, i393, i392, i391, i390, i389, i388, i387, i386, i385, i384, i383, i382, i381, i380, i379, i378, i377, i376, i375, i374, i373, i372, i371, i370, i369, i368, i367, i366, i365, i364, i363, i362, i361, i360, i359, i358, i357, i356, i355, i354, i353, i352, i351, i350, i349, i348, i347, i346, i345, i344, i343, i342, i341, i340, i339, i338, i337, i336, i335, i334, i333, i332, i331, i330, i329, i328, i327, i326, i325, i324, i323, i322, i321, i320, i319, i318, i317, i316, i315, i314, i313, i312, i311, i310, i309, i308, i307, i306, i305, i304, i303, i302, i301, i300, i299, i298, i297, i296, i295, i294, i293, i292, i291, i290, i289, i288, i287, i286, i285, i284, i283, i282, i281, i280, i279, i278, i277, i276, i275, i274, i273, i272, i271, i270, i269, i268, i267, i266, i265, i264, i263, i262, i261, i260, i259, i258, i257, i256, i255, i254, i253, i252, i251, i250, i249, i248, i247, i246, i245, i244, i243, i242, i241, i240, i239, i238, i237, i236, i235, i234, i233, i232, i231, i230, i229, i228, i227, i226, i225, i224, i223, i222, i221, i220, i219, i218, i217, i216, i215, i214, i213, i212, i211, i210, i209, i208, i207, i206, i205, i204, i203, i202, i201, i200, i199, i198, i197, i196, i195, i194, i193, i192, i191, i190, i189, i188, i187, i186, i185, i184, i183, i182, i181, i180, i179, i178, i177, i176, i175, i174, i173, i172, i171, i170, i169, i168, i167, i166, i165, i164, i163, i162, i161, i160, i159, i158, i157, i156, i155, i154, i153, i152, i151, i150, i149, i148, i147, i146, i145, i144, i143, i142, i141, i140, i139, i138, i137, i136, i135, i134, i133, i132, i131, i130, i129, i128, i127, i126, i125, i124, i123, i122, i121, i120, i119, i118, i117, i116, i115, i114, i113, i112, i111, i110, i109, i108, i107, i106, i105, i104, i103, i102, i101, i100, i99, i98, i97, i96, i95, i94, i93, i92, i91, i90, i89, i88, i87, i86, i85, i84, i83, i82, i81, i80, i79, i78, i77, i76, i75, i74, i73, i72, i71, i70, i69, i68, i67, i66, i65, i64, i63, i62, i61, i60, i59, i58, i57, i56, i55, i54, i53, i52, i51, i50, i49, i48, i47, i46, i45, i44, i43, i42, i41, i40, i39, i38, i37, i36, i35, i34, i33, i32, i31, i30, i29, i28, i27, i26, i25, i24, i23, i22, i21, i20, i19, i18, i17, i16, i15, i14, i13, i12, i11, i10, i9, i8, i7, i6, i5, i4, i3, i2, i1, i0):
// copy chunk into first 16 words w[0..15] of the message schedule array
w0b0, w0b1, w0b2, w0b3, w0b4, w0b5, w0b6, w0b7, w0b8, w0b9, w0b10, w0b11, w0b12, w0b13, w0b14, w0b15, w0b16, w0b17, w0b18, w0b19, w0b20, w0b21, w0b22, w0b23, w0b24, w0b25, w0b26, w0b27, w0b28, w0b29, w0b30, w0b31 = COPY(i511, i510, i509, i508, i507, i506, i505, i504, i503, i502, i501, i500, i499, i498, i497, i496, i495, i494, i493, i492, i491, i490, i489, i488, i487, i486, i485, i484, i483, i482, i481, i480)
w1b0, w1b1, w1b2, w1b3, w1b4, w1b5, w1b6, w1b7, w1b8, w1b9, w1b10, w1b11, w1b12, w1b13, w1b14, w1b15, w1b16, w1b17, w1b18, w1b19, w1b20, w1b21, w1b22, w1b23, w1b24, w1b25, w1b26, w1b27, w1b28, w1b29, w1b30, w1b31 = COPY(i479, i478, i477, i476, i475, i474, i473, i472, i471, i470, i469, i468, i467, i466, i465, i464, i463, i462, i461, i460, i459, i458, i457, i456, i455, i454, i453, i452, i451, i450, i449, i448)
w2b0, w2b1, w2b2, w2b3, w2b4, w2b5, w2b6, w2b7, w2b8, w2b9, w2b10, w2b11, w2b12, w2b13, w2b14, w2b15, w2b16, w2b17, w2b18, w2b19, w2b20, w2b21, w2b22, w2b23, w2b24, w2b25, w2b26, w2b27, w2b28, w2b29, w2b30, w2b31 = COPY(i447, i446, i445, i444, i443, i442, i441, i440, i439, i438, i437, i436, i435, i434, i433, i432, i431, i430, i429, i428, i427, i426, i425, i424, i423, i422, i421, i420, i419, i418, i417, i416)
w3b0, w3b1, w3b2, w3b3, w3b4, w3b5, w3b6, w3b7, w3b8, w3b9, w3b10, w3b11, w3b12, w3b13, w3b14, w3b15, w3b16, w3b17, w3b18, w3b19, w3b20, w3b21, w3b22, w3b23, w3b24, w3b25, w3b26, w3b27, w3b28, w3b29, w3b30, w3b31 = COPY(i415, i414, i413, i412, i411, i410, i409, i408, i407, i406, i405, i404, i403, i402, i401, i400, i399, i398, i397, i396, i395, i394, i393, i392, i391, i390, i389, i388, i387, i386, i385, i384)
w4b0, w4b1, w4b2, w4b3, w4b4, w4b5, w4b6, w4b7, w4b8, w4b9, w4b10, w4b11, w4b12, w4b13, w4b14, w4b15, w4b16, w4b17, w4b18, w4b19, w4b20, w4b21, w4b22, w4b23, w4b24, w4b25, w4b26, w4b27, w4b28, w4b29, w4b30, w4b31 = COPY(i383, i382, i381, i380, i379, i378, i377, i376, i375, i374, i373, i372, i371, i370, i369, i368, i367, i366, i365, i364, i363, i362, i361, i360, i359, i358, i357, i356, i355, i354, i353, i352)
w5b0, w5b1, w5b2, w5b3, w5b4, w5b5, w5b6, w5b7, w5b8, w5b9, w5b10, w5b11, w5b12, w5b13, w5b14, w5b15, w5b16, w5b17, w5b18, w5b19, w5b20, w5b21, w5b22, w5b23, w5b24, w5b25, w5b26, w5b27, w5b28, w5b29, w5b30, w5b31 = COPY(i351, i350, i349, i348, i347, i346, i345, i344, i343, i342, i341, i340, i339, i338, i337, i336, i335, i334, i333, i332, i331, i330, i329, i328, i327, i326, i325, i324, i323, i322, i321, i320)
w6b0, w6b1, w6b2, w6b3, w6b4, w6b5, w6b6, w6b7, w6b8, w6b9, w6b10, w6b11, w6b12, w6b13, w6b14, w6b15, w6b16, w6b17, w6b18, w6b19, w6b20, w6b21, w6b22, w6b23, w6b24, w6b25, w6b26, w6b27, w6b28, w6b29, w6b30, w6b31 = COPY(i319, i318, i317, i316, i315, i314, i313, i312, i311, i310, i309, i308, i307, i306, i305, i304, i303, i302, i301, i300, i299, i298, i297, i296, i295, i294, i293, i292, i291, i290, i289, i288)
w7b0, w7b1, w7b2, w7b3, w7b4, w7b5, w7b6, w7b7, w7b8, w7b9, w7b10, w7b11, w7b12, w7b13, w7b14, w7b15, w7b16, w7b17, w7b18, w7b19, w7b20, w7b21, w7b22, w7b23, w7b24, w7b25, w7b26, w7b27, w7b28, w7b29, w7b30, w7b31 = COPY(i287, i286, i285, i284, i283, i282, i281, i280, i279, i278, i277, i276, i275, i274, i273, i272, i271, i270, i269, i268, i267, i266, i265, i264, i263, i262, i261, i260, i259, i258, i257, i256)
w8b0, w8b1, w8b2, w8b3, w8b4, w8b5, w8b6, w8b7, w8b8, w8b9, w8b10, w8b11, w8b12, w8b13, w8b14, w8b15, w8b16, w8b17, w8b18, w8b19, w8b20, w8b21, w8b22, w8b23, w8b24, w8b25, w8b26, w8b27, w8b28, w8b29, w8b30, w8b31 = COPY(i255, i254, i253, i252, i251, i250, i249, i248, i247, i246, i245, i244, i243, i242, i241, i240, i239, i238, i237, i236, i235, i234, i233, i232, i231, i230, i229, i228, i227, i226, i225, i224)
w9b0, w9b1, w9b2, w9b3, w9b4, w9b5, w9b6, w9b7, w9b8, w9b9, w9b10, w9b11, w9b12, w9b13, w9b14, w9b15, w9b16, w9b17, w9b18, w9b19, w9b20, w9b21, w9b22, w9b23, w9b24, w9b25, w9b26, w9b27, w9b28, w9b29, w9b30, w9b31 = COPY(i223, i222, i221, i220, i219, i218, i217, i216, i215, i214, i213, i212, i211, i210, i209, i208, i207, i206, i205, i204, i203, i202, i201, i200, i199, i198, i197, i196, i195, i194, i193, i192)
w10b0, w10b1, w10b2, w10b3, w10b4, w10b5, w10b6, w10b7, w10b8, w10b9, w10b10, w10b11, w10b12, w10b13, w10b14, w10b15, w10b16, w10b17, w10b18, w10b19, w10b20, w10b21, w10b22, w10b23, w10b24, w10b25, w10b26, w10b27, w10b28, w10b29, w10b30, w10b31 = COPY(i191, i190, i189, i188, i187, i186, i185, i184, i183, i182, i181, i180, i179, i178, i177, i176, i175, i174, i173, i172, i171, i170, i169, i168, i167, i166, i165, i164, i163, i162, i161, i160)
w11b0, w11b1, w11b2, w11b3, w11b4, w11b5, w11b6, w11b7, w11b8, w11b9, w11b10, w11b11, w11b12, w11b13, w11b14, w11b15, w11b16, w11b17, w11b18, w11b19, w11b20, w11b21, w11b22, w11b23, w11b24, w11b25, w11b26, w11b27, w11b28, w11b29, w11b30, w11b31 = COPY(i159, i158, i157, i156, i155, i154, i153, i152, i151, i150, i149, i148, i147, i146, i145, i144, i143, i142, i141, i140, i139, i138, i137, i136, i135, i134, i133, i132, i131, i130, i129, i128)
w12b0, w12b1, w12b2, w12b3, w12b4, w12b5, w12b6, w12b7, w12b8, w12b9, w12b10, w12b11, w12b12, w12b13, w12b14, w12b15, w12b16, w12b17, w12b18, w12b19, w12b20, w12b21, w12b22, w12b23, w12b24, w12b25, w12b26, w12b27, w12b28, w12b29, w12b30, w12b31 = COPY(i127, i126, i125, i124, i123, i122, i121, i120, i119, i118, i117, i116, i115, i114, i113, i112, i111, i110, i109, i108, i107, i106, i105, i104, i103, i102, i101, i100, i99, i98, i97, i96)
w13b0, w13b1, w13b2, w13b3, w13b4, w13b5, w13b6, w13b7, w13b8, w13b9, w13b10, w13b11, w13b12, w13b13, w13b14, w13b15, w13b16, w13b17, w13b18, w13b19, w13b20, w13b21, w13b22, w13b23, w13b24, w13b25, w13b26, w13b27, w13b28, w13b29, w13b30, w13b31 = COPY(i95, i94, i93, i92, i91, i90, i89, i88, i87, i86, i85, i84, i83, i82, i81, i80, i79, i78, i77, i76, i75, i74, i73, i72, i71, i70, i69, i68, i67, i66, i65, i64)
w14b0, w14b1, w14b2, w14b3, w14b4, w14b5, w14b6, w14b7, w14b8, w14b9, w14b10, w14b11, w14b12, w14b13, w14b14, w14b15, w14b16, w14b17, w14b18, w14b19, w14b20, w14b21, w14b22, w14b23, w14b24, w14b25, w14b26, w14b27, w14b28, w14b29, w14b30, w14b31 = COPY(i63, i62, i61, i60, i59, i58, i57, i56, i55, i54, i53, i52, i51, i50, i49, i48, i47, i46, i45, i44, i43, i42, i41, i40, i39, i38, i37, i36, i35, i34, i33, i32)
w15b0, w15b1, w15b2, w15b3, w15b4, w15b5, w15b6, w15b7, w15b8, w15b9, w15b10, w15b11, w15b12, w15b13, w15b14, w15b15, w15b16, w15b17, w15b18, w15b19, w15b20, w15b21, w15b22, w15b23, w15b24, w15b25, w15b26, w15b27, w15b28, w15b29, w15b30, w15b31 = COPY(i31, i30, i29, i28, i27, i26, i25, i24, i23, i22, i21, i20, i19, i18, i17, i16, i15, i14, i13, i12, i11, i10, i9, i8, i7, i6, i5, i4, i3, i2, i1, i0)
// EXTENSION LOOP
// PASS 16
w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0 = EXTEND(w1b31, w1b30, w1b29, w1b28, w1b27, w1b26, w1b25, w1b24, w1b23, w1b22, w1b21, w1b20, w1b19, w1b18, w1b17, w1b16, w1b15, w1b14, w1b13, w1b12, w1b11, w1b10, w1b9, w1b8, w1b7, w1b6, w1b5, w1b4, w1b3, w1b2, w1b1, w1b0, w14b31, w14b30, w14b29, w14b28, w14b27, w14b26, w14b25, w14b24, w14b23, w14b22, w14b21, w14b20, w14b19, w14b18, w14b17, w14b16, w14b15, w14b14, w14b13, w14b12, w14b11, w14b10, w14b9, w14b8, w14b7, w14b6, w14b5, w14b4, w14b3, w14b2, w14b1, w14b0, w0b31, w0b30, w0b29, w0b28, w0b27, w0b26, w0b25, w0b24, w0b23, w0b22, w0b21, w0b20, w0b19, w0b18, w0b17, w0b16, w0b15, w0b14, w0b13, w0b12, w0b11, w0b10, w0b9, w0b8, w0b7, w0b6, w0b5, w0b4, w0b3, w0b2, w0b1, w0b0, w9b31, w9b30, w9b29, w9b28, w9b27, w9b26, w9b25, w9b24, w9b23, w9b22, w9b21, w9b20, w9b19, w9b18, w9b17, w9b16, w9b15, w9b14, w9b13, w9b12, w9b11, w9b10, w9b9, w9b8, w9b7, w9b6, w9b5, w9b4, w9b3, w9b2, w9b1, w9b0)
// PASS 17
w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0 = EXTEND(w2b31, w2b30, w2b29, w2b28, w2b27, w2b26, w2b25, w2b24, w2b23, w2b22, w2b21, w2b20, w2b19, w2b18, w2b17, w2b16, w2b15, w2b14, w2b13, w2b12, w2b11, w2b10, w2b9, w2b8, w2b7, w2b6, w2b5, w2b4, w2b3, w2b2, w2b1, w2b0, w15b31, w15b30, w15b29, w15b28, w15b27, w15b26, w15b25, w15b24, w15b23, w15b22, w15b21, w15b20, w15b19, w15b18, w15b17, w15b16, w15b15, w15b14, w15b13, w15b12, w15b11, w15b10, w15b9, w15b8, w15b7, w15b6, w15b5, w15b4, w15b3, w15b2, w15b1, w15b0, w1b31, w1b30, w1b29, w1b28, w1b27, w1b26, w1b25, w1b24, w1b23, w1b22, w1b21, w1b20, w1b19, w1b18, w1b17, w1b16, w1b15, w1b14, w1b13, w1b12, w1b11, w1b10, w1b9, w1b8, w1b7, w1b6, w1b5, w1b4, w1b3, w1b2, w1b1, w1b0, w10b31, w10b30, w10b29, w10b28, w10b27, w10b26, w10b25, w10b24, w10b23, w10b22, w10b21, w10b20, w10b19, w10b18, w10b17, w10b16, w10b15, w10b14, w10b13, w10b12, w10b11, w10b10, w10b9, w10b8, w10b7, w10b6, w10b5, w10b4, w10b3, w10b2, w10b1, w10b0)
// PASS 18
w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0 = EXTEND(w3b31, w3b30, w3b29, w3b28, w3b27, w3b26, w3b25, w3b24, w3b23, w3b22, w3b21, w3b20, w3b19, w3b18, w3b17, w3b16, w3b15, w3b14, w3b13, w3b12, w3b11, w3b10, w3b9, w3b8, w3b7, w3b6, w3b5, w3b4, w3b3, w3b2, w3b1, w3b0, w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0, w2b31, w2b30, w2b29, w2b28, w2b27, w2b26, w2b25, w2b24, w2b23, w2b22, w2b21, w2b20, w2b19, w2b18, w2b17, w2b16, w2b15, w2b14, w2b13, w2b12, w2b11, w2b10, w2b9, w2b8, w2b7, w2b6, w2b5, w2b4, w2b3, w2b2, w2b1, w2b0, w11b31, w11b30, w11b29, w11b28, w11b27, w11b26, w11b25, w11b24, w11b23, w11b22, w11b21, w11b20, w11b19, w11b18, w11b17, w11b16, w11b15, w11b14, w11b13, w11b12, w11b11, w11b10, w11b9, w11b8, w11b7, w11b6, w11b5, w11b4, w11b3, w11b2, w11b1, w11b0)
// PASS 19
w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0 = EXTEND(w4b31, w4b30, w4b29, w4b28, w4b27, w4b26, w4b25, w4b24, w4b23, w4b22, w4b21, w4b20, w4b19, w4b18, w4b17, w4b16, w4b15, w4b14, w4b13, w4b12, w4b11, w4b10, w4b9, w4b8, w4b7, w4b6, w4b5, w4b4, w4b3, w4b2, w4b1, w4b0, w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0, w3b31, w3b30, w3b29, w3b28, w3b27, w3b26, w3b25, w3b24, w3b23, w3b22, w3b21, w3b20, w3b19, w3b18, w3b17, w3b16, w3b15, w3b14, w3b13, w3b12, w3b11, w3b10, w3b9, w3b8, w3b7, w3b6, w3b5, w3b4, w3b3, w3b2, w3b1, w3b0, w12b31, w12b30, w12b29, w12b28, w12b27, w12b26, w12b25, w12b24, w12b23, w12b22, w12b21, w12b20, w12b19, w12b18, w12b17, w12b16, w12b15, w12b14, w12b13, w12b12, w12b11, w12b10, w12b9, w12b8, w12b7, w12b6, w12b5, w12b4, w12b3, w12b2, w12b1, w12b0)
// PASS 20
w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0 = EXTEND(w5b31, w5b30, w5b29, w5b28, w5b27, w5b26, w5b25, w5b24, w5b23, w5b22, w5b21, w5b20, w5b19, w5b18, w5b17, w5b16, w5b15, w5b14, w5b13, w5b12, w5b11, w5b10, w5b9, w5b8, w5b7, w5b6, w5b5, w5b4, w5b3, w5b2, w5b1, w5b0, w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0, w4b31, w4b30, w4b29, w4b28, w4b27, w4b26, w4b25, w4b24, w4b23, w4b22, w4b21, w4b20, w4b19, w4b18, w4b17, w4b16, w4b15, w4b14, w4b13, w4b12, w4b11, w4b10, w4b9, w4b8, w4b7, w4b6, w4b5, w4b4, w4b3, w4b2, w4b1, w4b0, w13b31, w13b30, w13b29, w13b28, w13b27, w13b26, w13b25, w13b24, w13b23, w13b22, w13b21, w13b20, w13b19, w13b18, w13b17, w13b16, w13b15, w13b14, w13b13, w13b12, w13b11, w13b10, w13b9, w13b8, w13b7, w13b6, w13b5, w13b4, w13b3, w13b2, w13b1, w13b0)
// PASS 21
w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0 = EXTEND(w6b31, w6b30, w6b29, w6b28, w6b27, w6b26, w6b25, w6b24, w6b23, w6b22, w6b21, w6b20, w6b19, w6b18, w6b17, w6b16, w6b15, w6b14, w6b13, w6b12, w6b11, w6b10, w6b9, w6b8, w6b7, w6b6, w6b5, w6b4, w6b3, w6b2, w6b1, w6b0, w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0, w5b31, w5b30, w5b29, w5b28, w5b27, w5b26, w5b25, w5b24, w5b23, w5b22, w5b21, w5b20, w5b19, w5b18, w5b17, w5b16, w5b15, w5b14, w5b13, w5b12, w5b11, w5b10, w5b9, w5b8, w5b7, w5b6, w5b5, w5b4, w5b3, w5b2, w5b1, w5b0, w14b31, w14b30, w14b29, w14b28, w14b27, w14b26, w14b25, w14b24, w14b23, w14b22, w14b21, w14b20, w14b19, w14b18, w14b17, w14b16, w14b15, w14b14, w14b13, w14b12, w14b11, w14b10, w14b9, w14b8, w14b7, w14b6, w14b5, w14b4, w14b3, w14b2, w14b1, w14b0)
// PASS 22
w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0 = EXTEND(w7b31, w7b30, w7b29, w7b28, w7b27, w7b26, w7b25, w7b24, w7b23, w7b22, w7b21, w7b20, w7b19, w7b18, w7b17, w7b16, w7b15, w7b14, w7b13, w7b12, w7b11, w7b10, w7b9, w7b8, w7b7, w7b6, w7b5, w7b4, w7b3, w7b2, w7b1, w7b0, w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0, w6b31, w6b30, w6b29, w6b28, w6b27, w6b26, w6b25, w6b24, w6b23, w6b22, w6b21, w6b20, w6b19, w6b18, w6b17, w6b16, w6b15, w6b14, w6b13, w6b12, w6b11, w6b10, w6b9, w6b8, w6b7, w6b6, w6b5, w6b4, w6b3, w6b2, w6b1, w6b0, w15b31, w15b30, w15b29, w15b28, w15b27, w15b26, w15b25, w15b24, w15b23, w15b22, w15b21, w15b20, w15b19, w15b18, w15b17, w15b16, w15b15, w15b14, w15b13, w15b12, w15b11, w15b10, w15b9, w15b8, w15b7, w15b6, w15b5, w15b4, w15b3, w15b2, w15b1, w15b0)
// PASS 23
w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0 = EXTEND(w8b31, w8b30, w8b29, w8b28, w8b27, w8b26, w8b25, w8b24, w8b23, w8b22, w8b21, w8b20, w8b19, w8b18, w8b17, w8b16, w8b15, w8b14, w8b13, w8b12, w8b11, w8b10, w8b9, w8b8, w8b7, w8b6, w8b5, w8b4, w8b3, w8b2, w8b1, w8b0, w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0, w7b31, w7b30, w7b29, w7b28, w7b27, w7b26, w7b25, w7b24, w7b23, w7b22, w7b21, w7b20, w7b19, w7b18, w7b17, w7b16, w7b15, w7b14, w7b13, w7b12, w7b11, w7b10, w7b9, w7b8, w7b7, w7b6, w7b5, w7b4, w7b3, w7b2, w7b1, w7b0, w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0)
// PASS 24
w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0 = EXTEND(w9b31, w9b30, w9b29, w9b28, w9b27, w9b26, w9b25, w9b24, w9b23, w9b22, w9b21, w9b20, w9b19, w9b18, w9b17, w9b16, w9b15, w9b14, w9b13, w9b12, w9b11, w9b10, w9b9, w9b8, w9b7, w9b6, w9b5, w9b4, w9b3, w9b2, w9b1, w9b0, w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0, w8b31, w8b30, w8b29, w8b28, w8b27, w8b26, w8b25, w8b24, w8b23, w8b22, w8b21, w8b20, w8b19, w8b18, w8b17, w8b16, w8b15, w8b14, w8b13, w8b12, w8b11, w8b10, w8b9, w8b8, w8b7, w8b6, w8b5, w8b4, w8b3, w8b2, w8b1, w8b0, w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0)
// PASS 25
w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0 = EXTEND(w10b31, w10b30, w10b29, w10b28, w10b27, w10b26, w10b25, w10b24, w10b23, w10b22, w10b21, w10b20, w10b19, w10b18, w10b17, w10b16, w10b15, w10b14, w10b13, w10b12, w10b11, w10b10, w10b9, w10b8, w10b7, w10b6, w10b5, w10b4, w10b3, w10b2, w10b1, w10b0, w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0, w9b31, w9b30, w9b29, w9b28, w9b27, w9b26, w9b25, w9b24, w9b23, w9b22, w9b21, w9b20, w9b19, w9b18, w9b17, w9b16, w9b15, w9b14, w9b13, w9b12, w9b11, w9b10, w9b9, w9b8, w9b7, w9b6, w9b5, w9b4, w9b3, w9b2, w9b1, w9b0, w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0)
// PASS 26
w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0 = EXTEND(w11b31, w11b30, w11b29, w11b28, w11b27, w11b26, w11b25, w11b24, w11b23, w11b22, w11b21, w11b20, w11b19, w11b18, w11b17, w11b16, w11b15, w11b14, w11b13, w11b12, w11b11, w11b10, w11b9, w11b8, w11b7, w11b6, w11b5, w11b4, w11b3, w11b2, w11b1, w11b0, w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0, w10b31, w10b30, w10b29, w10b28, w10b27, w10b26, w10b25, w10b24, w10b23, w10b22, w10b21, w10b20, w10b19, w10b18, w10b17, w10b16, w10b15, w10b14, w10b13, w10b12, w10b11, w10b10, w10b9, w10b8, w10b7, w10b6, w10b5, w10b4, w10b3, w10b2, w10b1, w10b0, w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0)
// PASS 27
w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0 = EXTEND(w12b31, w12b30, w12b29, w12b28, w12b27, w12b26, w12b25, w12b24, w12b23, w12b22, w12b21, w12b20, w12b19, w12b18, w12b17, w12b16, w12b15, w12b14, w12b13, w12b12, w12b11, w12b10, w12b9, w12b8, w12b7, w12b6, w12b5, w12b4, w12b3, w12b2, w12b1, w12b0, w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0, w11b31, w11b30, w11b29, w11b28, w11b27, w11b26, w11b25, w11b24, w11b23, w11b22, w11b21, w11b20, w11b19, w11b18, w11b17, w11b16, w11b15, w11b14, w11b13, w11b12, w11b11, w11b10, w11b9, w11b8, w11b7, w11b6, w11b5, w11b4, w11b3, w11b2, w11b1, w11b0, w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0)
// PASS 28
w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0 = EXTEND(w13b31, w13b30, w13b29, w13b28, w13b27, w13b26, w13b25, w13b24, w13b23, w13b22, w13b21, w13b20, w13b19, w13b18, w13b17, w13b16, w13b15, w13b14, w13b13, w13b12, w13b11, w13b10, w13b9, w13b8, w13b7, w13b6, w13b5, w13b4, w13b3, w13b2, w13b1, w13b0, w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0, w12b31, w12b30, w12b29, w12b28, w12b27, w12b26, w12b25, w12b24, w12b23, w12b22, w12b21, w12b20, w12b19, w12b18, w12b17, w12b16, w12b15, w12b14, w12b13, w12b12, w12b11, w12b10, w12b9, w12b8, w12b7, w12b6, w12b5, w12b4, w12b3, w12b2, w12b1, w12b0, w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0)
// PASS 29
w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0 = EXTEND(w14b31, w14b30, w14b29, w14b28, w14b27, w14b26, w14b25, w14b24, w14b23, w14b22, w14b21, w14b20, w14b19, w14b18, w14b17, w14b16, w14b15, w14b14, w14b13, w14b12, w14b11, w14b10, w14b9, w14b8, w14b7, w14b6, w14b5, w14b4, w14b3, w14b2, w14b1, w14b0, w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0, w13b31, w13b30, w13b29, w13b28, w13b27, w13b26, w13b25, w13b24, w13b23, w13b22, w13b21, w13b20, w13b19, w13b18, w13b17, w13b16, w13b15, w13b14, w13b13, w13b12, w13b11, w13b10, w13b9, w13b8, w13b7, w13b6, w13b5, w13b4, w13b3, w13b2, w13b1, w13b0, w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0)
// PASS 30
w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0 = EXTEND(w15b31, w15b30, w15b29, w15b28, w15b27, w15b26, w15b25, w15b24, w15b23, w15b22, w15b21, w15b20, w15b19, w15b18, w15b17, w15b16, w15b15, w15b14, w15b13, w15b12, w15b11, w15b10, w15b9, w15b8, w15b7, w15b6, w15b5, w15b4, w15b3, w15b2, w15b1, w15b0, w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0, w14b31, w14b30, w14b29, w14b28, w14b27, w14b26, w14b25, w14b24, w14b23, w14b22, w14b21, w14b20, w14b19, w14b18, w14b17, w14b16, w14b15, w14b14, w14b13, w14b12, w14b11, w14b10, w14b9, w14b8, w14b7, w14b6, w14b5, w14b4, w14b3, w14b2, w14b1, w14b0, w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0)
// PASS 31
w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0 = EXTEND(w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0, w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0, w15b31, w15b30, w15b29, w15b28, w15b27, w15b26, w15b25, w15b24, w15b23, w15b22, w15b21, w15b20, w15b19, w15b18, w15b17, w15b16, w15b15, w15b14, w15b13, w15b12, w15b11, w15b10, w15b9, w15b8, w15b7, w15b6, w15b5, w15b4, w15b3, w15b2, w15b1, w15b0, w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0)
// PASS 32
w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0 = EXTEND(w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0, w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0, w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0, w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0)
// PASS 33
w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0 = EXTEND(w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0, w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0, w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0, w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0)
// PASS 34
w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0 = EXTEND(w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0, w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0, w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0, w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0)
// PASS 35
w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0 = EXTEND(w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0, w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0, w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0, w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0)
// PASS 36
w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0 = EXTEND(w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0, w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0, w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0, w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0)
// PASS 37
w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0 = EXTEND(w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0, w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0, w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0, w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0)
// PASS 38
w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0 = EXTEND(w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0, w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0, w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0, w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0)
// PASS 39
w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0 = EXTEND(w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0, w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0, w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0, w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0)
// PASS 40
w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0 = EXTEND(w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0, w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0, w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0, w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0)
// PASS 41
w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0 = EXTEND(w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0, w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0, w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0, w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0)
// PASS 42
w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0 = EXTEND(w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0, w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0, w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0, w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0)
// PASS 43
w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0 = EXTEND(w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0, w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0, w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0, w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0)
// PASS 44
w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0 = EXTEND(w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0, w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0, w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0, w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0)
// PASS 45
w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0 = EXTEND(w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0, w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0, w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0, w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0)
// PASS 46
w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0 = EXTEND(w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0, w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0, w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0, w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0)
// PASS 47
w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0 = EXTEND(w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0, w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0, w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0, w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0)
// PASS 48
w48b31, w48b30, w48b29, w48b28, w48b27, w48b26, w48b25, w48b24, w48b23, w48b22, w48b21, w48b20, w48b19, w48b18, w48b17, w48b16, w48b15, w48b14, w48b13, w48b12, w48b11, w48b10, w48b9, w48b8, w48b7, w48b6, w48b5, w48b4, w48b3, w48b2, w48b1, w48b0 = EXTEND(w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0, w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0, w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0, w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0)
// PASS 49
w49b31, w49b30, w49b29, w49b28, w49b27, w49b26, w49b25, w49b24, w49b23, w49b22, w49b21, w49b20, w49b19, w49b18, w49b17, w49b16, w49b15, w49b14, w49b13, w49b12, w49b11, w49b10, w49b9, w49b8, w49b7, w49b6, w49b5, w49b4, w49b3, w49b2, w49b1, w49b0 = EXTEND(w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0, w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0, w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0, w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0)
// PASS 50
w50b31, w50b30, w50b29, w50b28, w50b27, w50b26, w50b25, w50b24, w50b23, w50b22, w50b21, w50b20, w50b19, w50b18, w50b17, w50b16, w50b15, w50b14, w50b13, w50b12, w50b11, w50b10, w50b9, w50b8, w50b7, w50b6, w50b5, w50b4, w50b3, w50b2, w50b1, w50b0 = EXTEND(w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0, w48b31, w48b30, w48b29, w48b28, w48b27, w48b26, w48b25, w48b24, w48b23, w48b22, w48b21, w48b20, w48b19, w48b18, w48b17, w48b16, w48b15, w48b14, w48b13, w48b12, w48b11, w48b10, w48b9, w48b8, w48b7, w48b6, w48b5, w48b4, w48b3, w48b2, w48b1, w48b0, w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0, w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0)
// PASS 51
w51b31, w51b30, w51b29, w51b28, w51b27, w51b26, w51b25, w51b24, w51b23, w51b22, w51b21, w51b20, w51b19, w51b18, w51b17, w51b16, w51b15, w51b14, w51b13, w51b12, w51b11, w51b10, w51b9, w51b8, w51b7, w51b6, w51b5, w51b4, w51b3, w51b2, w51b1, w51b0 = EXTEND(w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0, w49b31, w49b30, w49b29, w49b28, w49b27, w49b26, w49b25, w49b24, w49b23, w49b22, w49b21, w49b20, w49b19, w49b18, w49b17, w49b16, w49b15, w49b14, w49b13, w49b12, w49b11, w49b10, w49b9, w49b8, w49b7, w49b6, w49b5, w49b4, w49b3, w49b2, w49b1, w49b0, w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0, w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0)
// PASS 52
w52b31, w52b30, w52b29, w52b28, w52b27, w52b26, w52b25, w52b24, w52b23, w52b22, w52b21, w52b20, w52b19, w52b18, w52b17, w52b16, w52b15, w52b14, w52b13, w52b12, w52b11, w52b10, w52b9, w52b8, w52b7, w52b6, w52b5, w52b4, w52b3, w52b2, w52b1, w52b0 = EXTEND(w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0, w50b31, w50b30, w50b29, w50b28, w50b27, w50b26, w50b25, w50b24, w50b23, w50b22, w50b21, w50b20, w50b19, w50b18, w50b17, w50b16, w50b15, w50b14, w50b13, w50b12, w50b11, w50b10, w50b9, w50b8, w50b7, w50b6, w50b5, w50b4, w50b3, w50b2, w50b1, w50b0, w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0, w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0)
// PASS 53
w53b31, w53b30, w53b29, w53b28, w53b27, w53b26, w53b25, w53b24, w53b23, w53b22, w53b21, w53b20, w53b19, w53b18, w53b17, w53b16, w53b15, w53b14, w53b13, w53b12, w53b11, w53b10, w53b9, w53b8, w53b7, w53b6, w53b5, w53b4, w53b3, w53b2, w53b1, w53b0 = EXTEND(w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0, w51b31, w51b30, w51b29, w51b28, w51b27, w51b26, w51b25, w51b24, w51b23, w51b22, w51b21, w51b20, w51b19, w51b18, w51b17, w51b16, w51b15, w51b14, w51b13, w51b12, w51b11, w51b10, w51b9, w51b8, w51b7, w51b6, w51b5, w51b4, w51b3, w51b2, w51b1, w51b0, w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0, w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0)
// PASS 54
w54b31, w54b30, w54b29, w54b28, w54b27, w54b26, w54b25, w54b24, w54b23, w54b22, w54b21, w54b20, w54b19, w54b18, w54b17, w54b16, w54b15, w54b14, w54b13, w54b12, w54b11, w54b10, w54b9, w54b8, w54b7, w54b6, w54b5, w54b4, w54b3, w54b2, w54b1, w54b0 = EXTEND(w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0, w52b31, w52b30, w52b29, w52b28, w52b27, w52b26, w52b25, w52b24, w52b23, w52b22, w52b21, w52b20, w52b19, w52b18, w52b17, w52b16, w52b15, w52b14, w52b13, w52b12, w52b11, w52b10, w52b9, w52b8, w52b7, w52b6, w52b5, w52b4, w52b3, w52b2, w52b1, w52b0, w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0, w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0)
// PASS 55
w55b31, w55b30, w55b29, w55b28, w55b27, w55b26, w55b25, w55b24, w55b23, w55b22, w55b21, w55b20, w55b19, w55b18, w55b17, w55b16, w55b15, w55b14, w55b13, w55b12, w55b11, w55b10, w55b9, w55b8, w55b7, w55b6, w55b5, w55b4, w55b3, w55b2, w55b1, w55b0 = EXTEND(w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0, w53b31, w53b30, w53b29, w53b28, w53b27, w53b26, w53b25, w53b24, w53b23, w53b22, w53b21, w53b20, w53b19, w53b18, w53b17, w53b16, w53b15, w53b14, w53b13, w53b12, w53b11, w53b10, w53b9, w53b8, w53b7, w53b6, w53b5, w53b4, w53b3, w53b2, w53b1, w53b0, w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0, w48b31, w48b30, w48b29, w48b28, w48b27, w48b26, w48b25, w48b24, w48b23, w48b22, w48b21, w48b20, w48b19, w48b18, w48b17, w48b16, w48b15, w48b14, w48b13, w48b12, w48b11, w48b10, w48b9, w48b8, w48b7, w48b6, w48b5, w48b4, w48b3, w48b2, w48b1, w48b0)
// PASS 56
w56b31, w56b30, w56b29, w56b28, w56b27, w56b26, w56b25, w56b24, w56b23, w56b22, w56b21, w56b20, w56b19, w56b18, w56b17, w56b16, w56b15, w56b14, w56b13, w56b12, w56b11, w56b10, w56b9, w56b8, w56b7, w56b6, w56b5, w56b4, w56b3, w56b2, w56b1, w56b0 = EXTEND(w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0, w54b31, w54b30, w54b29, w54b28, w54b27, w54b26, w54b25, w54b24, w54b23, w54b22, w54b21, w54b20, w54b19, w54b18, w54b17, w54b16, w54b15, w54b14, w54b13, w54b12, w54b11, w54b10, w54b9, w54b8, w54b7, w54b6, w54b5, w54b4, w54b3, w54b2, w54b1, w54b0, w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0, w49b31, w49b30, w49b29, w49b28, w49b27, w49b26, w49b25, w49b24, w49b23, w49b22, w49b21, w49b20, w49b19, w49b18, w49b17, w49b16, w49b15, w49b14, w49b13, w49b12, w49b11, w49b10, w49b9, w49b8, w49b7, w49b6, w49b5, w49b4, w49b3, w49b2, w49b1, w49b0)
// PASS 57
w57b31, w57b30, w57b29, w57b28, w57b27, w57b26, w57b25, w57b24, w57b23, w57b22, w57b21, w57b20, w57b19, w57b18, w57b17, w57b16, w57b15, w57b14, w57b13, w57b12, w57b11, w57b10, w57b9, w57b8, w57b7, w57b6, w57b5, w57b4, w57b3, w57b2, w57b1, w57b0 = EXTEND(w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0, w55b31, w55b30, w55b29, w55b28, w55b27, w55b26, w55b25, w55b24, w55b23, w55b22, w55b21, w55b20, w55b19, w55b18, w55b17, w55b16, w55b15, w55b14, w55b13, w55b12, w55b11, w55b10, w55b9, w55b8, w55b7, w55b6, w55b5, w55b4, w55b3, w55b2, w55b1, w55b0, w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0, w50b31, w50b30, w50b29, w50b28, w50b27, w50b26, w50b25, w50b24, w50b23, w50b22, w50b21, w50b20, w50b19, w50b18, w50b17, w50b16, w50b15, w50b14, w50b13, w50b12, w50b11, w50b10, w50b9, w50b8, w50b7, w50b6, w50b5, w50b4, w50b3, w50b2, w50b1, w50b0)
// PASS 58
w58b31, w58b30, w58b29, w58b28, w58b27, w58b26, w58b25, w58b24, w58b23, w58b22, w58b21, w58b20, w58b19, w58b18, w58b17, w58b16, w58b15, w58b14, w58b13, w58b12, w58b11, w58b10, w58b9, w58b8, w58b7, w58b6, w58b5, w58b4, w58b3, w58b2, w58b1, w58b0 = EXTEND(w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0, w56b31, w56b30, w56b29, w56b28, w56b27, w56b26, w56b25, w56b24, w56b23, w56b22, w56b21, w56b20, w56b19, w56b18, w56b17, w56b16, w56b15, w56b14, w56b13, w56b12, w56b11, w56b10, w56b9, w56b8, w56b7, w56b6, w56b5, w56b4, w56b3, w56b2, w56b1, w56b0, w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0, w51b31, w51b30, w51b29, w51b28, w51b27, w51b26, w51b25, w51b24, w51b23, w51b22, w51b21, w51b20, w51b19, w51b18, w51b17, w51b16, w51b15, w51b14, w51b13, w51b12, w51b11, w51b10, w51b9, w51b8, w51b7, w51b6, w51b5, w51b4, w51b3, w51b2, w51b1, w51b0)
// PASS 59
w59b31, w59b30, w59b29, w59b28, w59b27, w59b26, w59b25, w59b24, w59b23, w59b22, w59b21, w59b20, w59b19, w59b18, w59b17, w59b16, w59b15, w59b14, w59b13, w59b12, w59b11, w59b10, w59b9, w59b8, w59b7, w59b6, w59b5, w59b4, w59b3, w59b2, w59b1, w59b0 = EXTEND(w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0, w57b31, w57b30, w57b29, w57b28, w57b27, w57b26, w57b25, w57b24, w57b23, w57b22, w57b21, w57b20, w57b19, w57b18, w57b17, w57b16, w57b15, w57b14, w57b13, w57b12, w57b11, w57b10, w57b9, w57b8, w57b7, w57b6, w57b5, w57b4, w57b3, w57b2, w57b1, w57b0, w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0, w52b31, w52b30, w52b29, w52b28, w52b27, w52b26, w52b25, w52b24, w52b23, w52b22, w52b21, w52b20, w52b19, w52b18, w52b17, w52b16, w52b15, w52b14, w52b13, w52b12, w52b11, w52b10, w52b9, w52b8, w52b7, w52b6, w52b5, w52b4, w52b3, w52b2, w52b1, w52b0)
// PASS 60
w60b31, w60b30, w60b29, w60b28, w60b27, w60b26, w60b25, w60b24, w60b23, w60b22, w60b21, w60b20, w60b19, w60b18, w60b17, w60b16, w60b15, w60b14, w60b13, w60b12, w60b11, w60b10, w60b9, w60b8, w60b7, w60b6, w60b5, w60b4, w60b3, w60b2, w60b1, w60b0 = EXTEND(w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0, w58b31, w58b30, w58b29, w58b28, w58b27, w58b26, w58b25, w58b24, w58b23, w58b22, w58b21, w58b20, w58b19, w58b18, w58b17, w58b16, w58b15, w58b14, w58b13, w58b12, w58b11, w58b10, w58b9, w58b8, w58b7, w58b6, w58b5, w58b4, w58b3, w58b2, w58b1, w58b0, w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0, w53b31, w53b30, w53b29, w53b28, w53b27, w53b26, w53b25, w53b24, w53b23, w53b22, w53b21, w53b20, w53b19, w53b18, w53b17, w53b16, w53b15, w53b14, w53b13, w53b12, w53b11, w53b10, w53b9, w53b8, w53b7, w53b6, w53b5, w53b4, w53b3, w53b2, w53b1, w53b0)
// PASS 61
w61b31, w61b30, w61b29, w61b28, w61b27, w61b26, w61b25, w61b24, w61b23, w61b22, w61b21, w61b20, w61b19, w61b18, w61b17, w61b16, w61b15, w61b14, w61b13, w61b12, w61b11, w61b10, w61b9, w61b8, w61b7, w61b6, w61b5, w61b4, w61b3, w61b2, w61b1, w61b0 = EXTEND(w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0, w59b31, w59b30, w59b29, w59b28, w59b27, w59b26, w59b25, w59b24, w59b23, w59b22, w59b21, w59b20, w59b19, w59b18, w59b17, w59b16, w59b15, w59b14, w59b13, w59b12, w59b11, w59b10, w59b9, w59b8, w59b7, w59b6, w59b5, w59b4, w59b3, w59b2, w59b1, w59b0, w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0, w54b31, w54b30, w54b29, w54b28, w54b27, w54b26, w54b25, w54b24, w54b23, w54b22, w54b21, w54b20, w54b19, w54b18, w54b17, w54b16, w54b15, w54b14, w54b13, w54b12, w54b11, w54b10, w54b9, w54b8, w54b7, w54b6, w54b5, w54b4, w54b3, w54b2, w54b1, w54b0)
// PASS 62
w62b31, w62b30, w62b29, w62b28, w62b27, w62b26, w62b25, w62b24, w62b23, w62b22, w62b21, w62b20, w62b19, w62b18, w62b17, w62b16, w62b15, w62b14, w62b13, w62b12, w62b11, w62b10, w62b9, w62b8, w62b7, w62b6, w62b5, w62b4, w62b3, w62b2, w62b1, w62b0 = EXTEND(w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0, w60b31, w60b30, w60b29, w60b28, w60b27, w60b26, w60b25, w60b24, w60b23, w60b22, w60b21, w60b20, w60b19, w60b18, w60b17, w60b16, w60b15, w60b14, w60b13, w60b12, w60b11, w60b10, w60b9, w60b8, w60b7, w60b6, w60b5, w60b4, w60b3, w60b2, w60b1, w60b0, w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0, w55b31, w55b30, w55b29, w55b28, w55b27, w55b26, w55b25, w55b24, w55b23, w55b22, w55b21, w55b20, w55b19, w55b18, w55b17, w55b16, w55b15, w55b14, w55b13, w55b12, w55b11, w55b10, w55b9, w55b8, w55b7, w55b6, w55b5, w55b4, w55b3, w55b2, w55b1, w55b0)
// PASS 63
w63b31, w63b30, w63b29, w63b28, w63b27, w63b26, w63b25, w63b24, w63b23, w63b22, w63b21, w63b20, w63b19, w63b18, w63b17, w63b16, w63b15, w63b14, w63b13, w63b12, w63b11, w63b10, w63b9, w63b8, w63b7, w63b6, w63b5, w63b4, w63b3, w63b2, w63b1, w63b0 = EXTEND(w48b31, w48b30, w48b29, w48b28, w48b27, w48b26, w48b25, w48b24, w48b23, w48b22, w48b21, w48b20, w48b19, w48b18, w48b17, w48b16, w48b15, w48b14, w48b13, w48b12, w48b11, w48b10, w48b9, w48b8, w48b7, w48b6, w48b5, w48b4, w48b3, w48b2, w48b1, w48b0, w61b31, w61b30, w61b29, w61b28, w61b27, w61b26, w61b25, w61b24, w61b23, w61b22, w61b21, w61b20, w61b19, w61b18, w61b17, w61b16, w61b15, w61b14, w61b13, w61b12, w61b11, w61b10, w61b9, w61b8, w61b7, w61b6, w61b5, w61b4, w61b3, w61b2, w61b1, w61b0, w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0, w56b31, w56b30, w56b29, w56b28, w56b27, w56b26, w56b25, w56b24, w56b23, w56b22, w56b21, w56b20, w56b19, w56b18, w56b17, w56b16, w56b15, w56b14, w56b13, w56b12, w56b11, w56b10, w56b9, w56b8, w56b7, w56b6, w56b5, w56b4, w56b3, w56b2, w56b1, w56b0)
// INIT H0,...,H7
H0b31, H0b30, H0b29, H0b28, H0b27, H0b26, H0b25, H0b24, H0b23, H0b22, H0b21, H0b20, H0b19, H0b18, H0b17, H0b16, H0b15, H0b14, H0b13, H0b12, H0b11, H0b10, H0b9, H0b8, H0b7, H0b6, H0b5, H0b4, H0b3, H0b2, H0b1, H0b0 = H0()
H1b31, H1b30, H1b29, H1b28, H1b27, H1b26, H1b25, H1b24, H1b23, H1b22, H1b21, H1b20, H1b19, H1b18, H1b17, H1b16, H1b15, H1b14, H1b13, H1b12, H1b11, H1b10, H1b9, H1b8, H1b7, H1b6, H1b5, H1b4, H1b3, H1b2, H1b1, H1b0 = H1()
H2b31, H2b30, H2b29, H2b28, H2b27, H2b26, H2b25, H2b24, H2b23, H2b22, H2b21, H2b20, H2b19, H2b18, H2b17, H2b16, H2b15, H2b14, H2b13, H2b12, H2b11, H2b10, H2b9, H2b8, H2b7, H2b6, H2b5, H2b4, H2b3, H2b2, H2b1, H2b0 = H2()
H3b31, H3b30, H3b29, H3b28, H3b27, H3b26, H3b25, H3b24, H3b23, H3b22, H3b21, H3b20, H3b19, H3b18, H3b17, H3b16, H3b15, H3b14, H3b13, H3b12, H3b11, H3b10, H3b9, H3b8, H3b7, H3b6, H3b5, H3b4, H3b3, H3b2, H3b1, H3b0 = H3()
H4b31, H4b30, H4b29, H4b28, H4b27, H4b26, H4b25, H4b24, H4b23, H4b22, H4b21, H4b20, H4b19, H4b18, H4b17, H4b16, H4b15, H4b14, H4b13, H4b12, H4b11, H4b10, H4b9, H4b8, H4b7, H4b6, H4b5, H4b4, H4b3, H4b2, H4b1, H4b0 = H4()
H5b31, H5b30, H5b29, H5b28, H5b27, H5b26, H5b25, H5b24, H5b23, H5b22, H5b21, H5b20, H5b19, H5b18, H5b17, H5b16, H5b15, H5b14, H5b13, H5b12, H5b11, H5b10, H5b9, H5b8, H5b7, H5b6, H5b5, H5b4, H5b3, H5b2, H5b1, H5b0 = H5()
H6b31, H6b30, H6b29, H6b28, H6b27, H6b26, H6b25, H6b24, H6b23, H6b22, H6b21, H6b20, H6b19, H6b18, H6b17, H6b16, H6b15, H6b14, H6b13, H6b12, H6b11, H6b10, H6b9, H6b8, H6b7, H6b6, H6b5, H6b4, H6b3, H6b2, H6b1, H6b0 = H6()
H7b31, H7b30, H7b29, H7b28, H7b27, H7b26, H7b25, H7b24, H7b23, H7b22, H7b21, H7b20, H7b19, H7b18, H7b17, H7b16, H7b15, H7b14, H7b13, H7b12, H7b11, H7b10, H7b9, H7b8, H7b7, H7b6, H7b5, H7b4, H7b3, H7b2, H7b1, H7b0 = H7()
// INIT a,b,c,d,e,f,g,h
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0 = COPY(H0b31, H0b30, H0b29, H0b28, H0b27, H0b26, H0b25, H0b24, H0b23, H0b22, H0b21, H0b20, H0b19, H0b18, H0b17, H0b16, H0b15, H0b14, H0b13, H0b12, H0b11, H0b10, H0b9, H0b8, H0b7, H0b6, H0b5, H0b4, H0b3, H0b2, H0b1, H0b0)
b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0 = COPY(H1b31, H1b30, H1b29, H1b28, H1b27, H1b26, H1b25, H1b24, H1b23, H1b22, H1b21, H1b20, H1b19, H1b18, H1b17, H1b16, H1b15, H1b14, H1b13, H1b12, H1b11, H1b10, H1b9, H1b8, H1b7, H1b6, H1b5, H1b4, H1b3, H1b2, H1b1, H1b0)
c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0 = COPY(H2b31, H2b30, H2b29, H2b28, H2b27, H2b26, H2b25, H2b24, H2b23, H2b22, H2b21, H2b20, H2b19, H2b18, H2b17, H2b16, H2b15, H2b14, H2b13, H2b12, H2b11, H2b10, H2b9, H2b8, H2b7, H2b6, H2b5, H2b4, H2b3, H2b2, H2b1, H2b0)
d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0 = COPY(H3b31, H3b30, H3b29, H3b28, H3b27, H3b26, H3b25, H3b24, H3b23, H3b22, H3b21, H3b20, H3b19, H3b18, H3b17, H3b16, H3b15, H3b14, H3b13, H3b12, H3b11, H3b10, H3b9, H3b8, H3b7, H3b6, H3b5, H3b4, H3b3, H3b2, H3b1, H3b0)
e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0 = COPY(H4b31, H4b30, H4b29, H4b28, H4b27, H4b26, H4b25, H4b24, H4b23, H4b22, H4b21, H4b20, H4b19, H4b18, H4b17, H4b16, H4b15, H4b14, H4b13, H4b12, H4b11, H4b10, H4b9, H4b8, H4b7, H4b6, H4b5, H4b4, H4b3, H4b2, H4b1, H4b0)
f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0 = COPY(H5b31, H5b30, H5b29, H5b28, H5b27, H5b26, H5b25, H5b24, H5b23, H5b22, H5b21, H5b20, H5b19, H5b18, H5b17, H5b16, H5b15, H5b14, H5b13, H5b12, H5b11, H5b10, H5b9, H5b8, H5b7, H5b6, H5b5, H5b4, H5b3, H5b2, H5b1, H5b0)
g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0 = COPY(H6b31, H6b30, H6b29, H6b28, H6b27, H6b26, H6b25, H6b24, H6b23, H6b22, H6b21, H6b20, H6b19, H6b18, H6b17, H6b16, H6b15, H6b14, H6b13, H6b12, H6b11, H6b10, H6b9, H6b8, H6b7, H6b6, H6b5, H6b4, H6b3, H6b2, H6b1, H6b0)
h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COPY(H7b31, H7b30, H7b29, H7b28, H7b27, H7b26, H7b25, H7b24, H7b23, H7b22, H7b21, H7b20, H7b19, H7b18, H7b17, H7b16, H7b15, H7b14, H7b13, H7b12, H7b11, H7b10, H7b9, H7b8, H7b7, H7b6, H7b5, H7b4, H7b3, H7b2, H7b1, H7b0)
// PASS 0
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, w0b31, w0b30, w0b29, w0b28, w0b27, w0b26, w0b25, w0b24, w0b23, w0b22, w0b21, w0b20, w0b19, w0b18, w0b17, w0b16, w0b15, w0b14, w0b13, w0b12, w0b11, w0b10, w0b9, w0b8, w0b7, w0b6, w0b5, w0b4, w0b3, w0b2, w0b1, w0b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 1
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, w1b31, w1b30, w1b29, w1b28, w1b27, w1b26, w1b25, w1b24, w1b23, w1b22, w1b21, w1b20, w1b19, w1b18, w1b17, w1b16, w1b15, w1b14, w1b13, w1b12, w1b11, w1b10, w1b9, w1b8, w1b7, w1b6, w1b5, w1b4, w1b3, w1b2, w1b1, w1b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 2
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, w2b31, w2b30, w2b29, w2b28, w2b27, w2b26, w2b25, w2b24, w2b23, w2b22, w2b21, w2b20, w2b19, w2b18, w2b17, w2b16, w2b15, w2b14, w2b13, w2b12, w2b11, w2b10, w2b9, w2b8, w2b7, w2b6, w2b5, w2b4, w2b3, w2b2, w2b1, w2b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 3
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, w3b31, w3b30, w3b29, w3b28, w3b27, w3b26, w3b25, w3b24, w3b23, w3b22, w3b21, w3b20, w3b19, w3b18, w3b17, w3b16, w3b15, w3b14, w3b13, w3b12, w3b11, w3b10, w3b9, w3b8, w3b7, w3b6, w3b5, w3b4, w3b3, w3b2, w3b1, w3b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 4
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, w4b31, w4b30, w4b29, w4b28, w4b27, w4b26, w4b25, w4b24, w4b23, w4b22, w4b21, w4b20, w4b19, w4b18, w4b17, w4b16, w4b15, w4b14, w4b13, w4b12, w4b11, w4b10, w4b9, w4b8, w4b7, w4b6, w4b5, w4b4, w4b3, w4b2, w4b1, w4b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 5
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, w5b31, w5b30, w5b29, w5b28, w5b27, w5b26, w5b25, w5b24, w5b23, w5b22, w5b21, w5b20, w5b19, w5b18, w5b17, w5b16, w5b15, w5b14, w5b13, w5b12, w5b11, w5b10, w5b9, w5b8, w5b7, w5b6, w5b5, w5b4, w5b3, w5b2, w5b1, w5b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 6
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, w6b31, w6b30, w6b29, w6b28, w6b27, w6b26, w6b25, w6b24, w6b23, w6b22, w6b21, w6b20, w6b19, w6b18, w6b17, w6b16, w6b15, w6b14, w6b13, w6b12, w6b11, w6b10, w6b9, w6b8, w6b7, w6b6, w6b5, w6b4, w6b3, w6b2, w6b1, w6b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 7
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, w7b31, w7b30, w7b29, w7b28, w7b27, w7b26, w7b25, w7b24, w7b23, w7b22, w7b21, w7b20, w7b19, w7b18, w7b17, w7b16, w7b15, w7b14, w7b13, w7b12, w7b11, w7b10, w7b9, w7b8, w7b7, w7b6, w7b5, w7b4, w7b3, w7b2, w7b1, w7b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 8
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, w8b31, w8b30, w8b29, w8b28, w8b27, w8b26, w8b25, w8b24, w8b23, w8b22, w8b21, w8b20, w8b19, w8b18, w8b17, w8b16, w8b15, w8b14, w8b13, w8b12, w8b11, w8b10, w8b9, w8b8, w8b7, w8b6, w8b5, w8b4, w8b3, w8b2, w8b1, w8b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 9
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, w9b31, w9b30, w9b29, w9b28, w9b27, w9b26, w9b25, w9b24, w9b23, w9b22, w9b21, w9b20, w9b19, w9b18, w9b17, w9b16, w9b15, w9b14, w9b13, w9b12, w9b11, w9b10, w9b9, w9b8, w9b7, w9b6, w9b5, w9b4, w9b3, w9b2, w9b1, w9b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 10
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, w10b31, w10b30, w10b29, w10b28, w10b27, w10b26, w10b25, w10b24, w10b23, w10b22, w10b21, w10b20, w10b19, w10b18, w10b17, w10b16, w10b15, w10b14, w10b13, w10b12, w10b11, w10b10, w10b9, w10b8, w10b7, w10b6, w10b5, w10b4, w10b3, w10b2, w10b1, w10b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 11
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, w11b31, w11b30, w11b29, w11b28, w11b27, w11b26, w11b25, w11b24, w11b23, w11b22, w11b21, w11b20, w11b19, w11b18, w11b17, w11b16, w11b15, w11b14, w11b13, w11b12, w11b11, w11b10, w11b9, w11b8, w11b7, w11b6, w11b5, w11b4, w11b3, w11b2, w11b1, w11b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 12
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, w12b31, w12b30, w12b29, w12b28, w12b27, w12b26, w12b25, w12b24, w12b23, w12b22, w12b21, w12b20, w12b19, w12b18, w12b17, w12b16, w12b15, w12b14, w12b13, w12b12, w12b11, w12b10, w12b9, w12b8, w12b7, w12b6, w12b5, w12b4, w12b3, w12b2, w12b1, w12b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 13
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, w13b31, w13b30, w13b29, w13b28, w13b27, w13b26, w13b25, w13b24, w13b23, w13b22, w13b21, w13b20, w13b19, w13b18, w13b17, w13b16, w13b15, w13b14, w13b13, w13b12, w13b11, w13b10, w13b9, w13b8, w13b7, w13b6, w13b5, w13b4, w13b3, w13b2, w13b1, w13b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 14
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, w14b31, w14b30, w14b29, w14b28, w14b27, w14b26, w14b25, w14b24, w14b23, w14b22, w14b21, w14b20, w14b19, w14b18, w14b17, w14b16, w14b15, w14b14, w14b13, w14b12, w14b11, w14b10, w14b9, w14b8, w14b7, w14b6, w14b5, w14b4, w14b3, w14b2, w14b1, w14b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 15
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, w15b31, w15b30, w15b29, w15b28, w15b27, w15b26, w15b25, w15b24, w15b23, w15b22, w15b21, w15b20, w15b19, w15b18, w15b17, w15b16, w15b15, w15b14, w15b13, w15b12, w15b11, w15b10, w15b9, w15b8, w15b7, w15b6, w15b5, w15b4, w15b3, w15b2, w15b1, w15b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 16
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, w16b31, w16b30, w16b29, w16b28, w16b27, w16b26, w16b25, w16b24, w16b23, w16b22, w16b21, w16b20, w16b19, w16b18, w16b17, w16b16, w16b15, w16b14, w16b13, w16b12, w16b11, w16b10, w16b9, w16b8, w16b7, w16b6, w16b5, w16b4, w16b3, w16b2, w16b1, w16b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 17
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, w17b31, w17b30, w17b29, w17b28, w17b27, w17b26, w17b25, w17b24, w17b23, w17b22, w17b21, w17b20, w17b19, w17b18, w17b17, w17b16, w17b15, w17b14, w17b13, w17b12, w17b11, w17b10, w17b9, w17b8, w17b7, w17b6, w17b5, w17b4, w17b3, w17b2, w17b1, w17b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 18
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, w18b31, w18b30, w18b29, w18b28, w18b27, w18b26, w18b25, w18b24, w18b23, w18b22, w18b21, w18b20, w18b19, w18b18, w18b17, w18b16, w18b15, w18b14, w18b13, w18b12, w18b11, w18b10, w18b9, w18b8, w18b7, w18b6, w18b5, w18b4, w18b3, w18b2, w18b1, w18b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 19
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, w19b31, w19b30, w19b29, w19b28, w19b27, w19b26, w19b25, w19b24, w19b23, w19b22, w19b21, w19b20, w19b19, w19b18, w19b17, w19b16, w19b15, w19b14, w19b13, w19b12, w19b11, w19b10, w19b9, w19b8, w19b7, w19b6, w19b5, w19b4, w19b3, w19b2, w19b1, w19b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 20
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, w20b31, w20b30, w20b29, w20b28, w20b27, w20b26, w20b25, w20b24, w20b23, w20b22, w20b21, w20b20, w20b19, w20b18, w20b17, w20b16, w20b15, w20b14, w20b13, w20b12, w20b11, w20b10, w20b9, w20b8, w20b7, w20b6, w20b5, w20b4, w20b3, w20b2, w20b1, w20b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 21
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, w21b31, w21b30, w21b29, w21b28, w21b27, w21b26, w21b25, w21b24, w21b23, w21b22, w21b21, w21b20, w21b19, w21b18, w21b17, w21b16, w21b15, w21b14, w21b13, w21b12, w21b11, w21b10, w21b9, w21b8, w21b7, w21b6, w21b5, w21b4, w21b3, w21b2, w21b1, w21b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 22
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, w22b31, w22b30, w22b29, w22b28, w22b27, w22b26, w22b25, w22b24, w22b23, w22b22, w22b21, w22b20, w22b19, w22b18, w22b17, w22b16, w22b15, w22b14, w22b13, w22b12, w22b11, w22b10, w22b9, w22b8, w22b7, w22b6, w22b5, w22b4, w22b3, w22b2, w22b1, w22b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 23
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, w23b31, w23b30, w23b29, w23b28, w23b27, w23b26, w23b25, w23b24, w23b23, w23b22, w23b21, w23b20, w23b19, w23b18, w23b17, w23b16, w23b15, w23b14, w23b13, w23b12, w23b11, w23b10, w23b9, w23b8, w23b7, w23b6, w23b5, w23b4, w23b3, w23b2, w23b1, w23b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 24
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, w24b31, w24b30, w24b29, w24b28, w24b27, w24b26, w24b25, w24b24, w24b23, w24b22, w24b21, w24b20, w24b19, w24b18, w24b17, w24b16, w24b15, w24b14, w24b13, w24b12, w24b11, w24b10, w24b9, w24b8, w24b7, w24b6, w24b5, w24b4, w24b3, w24b2, w24b1, w24b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 25
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, w25b31, w25b30, w25b29, w25b28, w25b27, w25b26, w25b25, w25b24, w25b23, w25b22, w25b21, w25b20, w25b19, w25b18, w25b17, w25b16, w25b15, w25b14, w25b13, w25b12, w25b11, w25b10, w25b9, w25b8, w25b7, w25b6, w25b5, w25b4, w25b3, w25b2, w25b1, w25b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 26
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, w26b31, w26b30, w26b29, w26b28, w26b27, w26b26, w26b25, w26b24, w26b23, w26b22, w26b21, w26b20, w26b19, w26b18, w26b17, w26b16, w26b15, w26b14, w26b13, w26b12, w26b11, w26b10, w26b9, w26b8, w26b7, w26b6, w26b5, w26b4, w26b3, w26b2, w26b1, w26b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 27
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, w27b31, w27b30, w27b29, w27b28, w27b27, w27b26, w27b25, w27b24, w27b23, w27b22, w27b21, w27b20, w27b19, w27b18, w27b17, w27b16, w27b15, w27b14, w27b13, w27b12, w27b11, w27b10, w27b9, w27b8, w27b7, w27b6, w27b5, w27b4, w27b3, w27b2, w27b1, w27b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 28
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, w28b31, w28b30, w28b29, w28b28, w28b27, w28b26, w28b25, w28b24, w28b23, w28b22, w28b21, w28b20, w28b19, w28b18, w28b17, w28b16, w28b15, w28b14, w28b13, w28b12, w28b11, w28b10, w28b9, w28b8, w28b7, w28b6, w28b5, w28b4, w28b3, w28b2, w28b1, w28b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 29
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, w29b31, w29b30, w29b29, w29b28, w29b27, w29b26, w29b25, w29b24, w29b23, w29b22, w29b21, w29b20, w29b19, w29b18, w29b17, w29b16, w29b15, w29b14, w29b13, w29b12, w29b11, w29b10, w29b9, w29b8, w29b7, w29b6, w29b5, w29b4, w29b3, w29b2, w29b1, w29b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 30
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, w30b31, w30b30, w30b29, w30b28, w30b27, w30b26, w30b25, w30b24, w30b23, w30b22, w30b21, w30b20, w30b19, w30b18, w30b17, w30b16, w30b15, w30b14, w30b13, w30b12, w30b11, w30b10, w30b9, w30b8, w30b7, w30b6, w30b5, w30b4, w30b3, w30b2, w30b1, w30b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 31
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, w31b31, w31b30, w31b29, w31b28, w31b27, w31b26, w31b25, w31b24, w31b23, w31b22, w31b21, w31b20, w31b19, w31b18, w31b17, w31b16, w31b15, w31b14, w31b13, w31b12, w31b11, w31b10, w31b9, w31b8, w31b7, w31b6, w31b5, w31b4, w31b3, w31b2, w31b1, w31b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 32
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, w32b31, w32b30, w32b29, w32b28, w32b27, w32b26, w32b25, w32b24, w32b23, w32b22, w32b21, w32b20, w32b19, w32b18, w32b17, w32b16, w32b15, w32b14, w32b13, w32b12, w32b11, w32b10, w32b9, w32b8, w32b7, w32b6, w32b5, w32b4, w32b3, w32b2, w32b1, w32b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 33
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, w33b31, w33b30, w33b29, w33b28, w33b27, w33b26, w33b25, w33b24, w33b23, w33b22, w33b21, w33b20, w33b19, w33b18, w33b17, w33b16, w33b15, w33b14, w33b13, w33b12, w33b11, w33b10, w33b9, w33b8, w33b7, w33b6, w33b5, w33b4, w33b3, w33b2, w33b1, w33b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 34
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, w34b31, w34b30, w34b29, w34b28, w34b27, w34b26, w34b25, w34b24, w34b23, w34b22, w34b21, w34b20, w34b19, w34b18, w34b17, w34b16, w34b15, w34b14, w34b13, w34b12, w34b11, w34b10, w34b9, w34b8, w34b7, w34b6, w34b5, w34b4, w34b3, w34b2, w34b1, w34b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 35
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, w35b31, w35b30, w35b29, w35b28, w35b27, w35b26, w35b25, w35b24, w35b23, w35b22, w35b21, w35b20, w35b19, w35b18, w35b17, w35b16, w35b15, w35b14, w35b13, w35b12, w35b11, w35b10, w35b9, w35b8, w35b7, w35b6, w35b5, w35b4, w35b3, w35b2, w35b1, w35b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 36
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, w36b31, w36b30, w36b29, w36b28, w36b27, w36b26, w36b25, w36b24, w36b23, w36b22, w36b21, w36b20, w36b19, w36b18, w36b17, w36b16, w36b15, w36b14, w36b13, w36b12, w36b11, w36b10, w36b9, w36b8, w36b7, w36b6, w36b5, w36b4, w36b3, w36b2, w36b1, w36b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 37
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, w37b31, w37b30, w37b29, w37b28, w37b27, w37b26, w37b25, w37b24, w37b23, w37b22, w37b21, w37b20, w37b19, w37b18, w37b17, w37b16, w37b15, w37b14, w37b13, w37b12, w37b11, w37b10, w37b9, w37b8, w37b7, w37b6, w37b5, w37b4, w37b3, w37b2, w37b1, w37b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 38
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, w38b31, w38b30, w38b29, w38b28, w38b27, w38b26, w38b25, w38b24, w38b23, w38b22, w38b21, w38b20, w38b19, w38b18, w38b17, w38b16, w38b15, w38b14, w38b13, w38b12, w38b11, w38b10, w38b9, w38b8, w38b7, w38b6, w38b5, w38b4, w38b3, w38b2, w38b1, w38b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 39
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, w39b31, w39b30, w39b29, w39b28, w39b27, w39b26, w39b25, w39b24, w39b23, w39b22, w39b21, w39b20, w39b19, w39b18, w39b17, w39b16, w39b15, w39b14, w39b13, w39b12, w39b11, w39b10, w39b9, w39b8, w39b7, w39b6, w39b5, w39b4, w39b3, w39b2, w39b1, w39b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 40
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, w40b31, w40b30, w40b29, w40b28, w40b27, w40b26, w40b25, w40b24, w40b23, w40b22, w40b21, w40b20, w40b19, w40b18, w40b17, w40b16, w40b15, w40b14, w40b13, w40b12, w40b11, w40b10, w40b9, w40b8, w40b7, w40b6, w40b5, w40b4, w40b3, w40b2, w40b1, w40b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 41
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, w41b31, w41b30, w41b29, w41b28, w41b27, w41b26, w41b25, w41b24, w41b23, w41b22, w41b21, w41b20, w41b19, w41b18, w41b17, w41b16, w41b15, w41b14, w41b13, w41b12, w41b11, w41b10, w41b9, w41b8, w41b7, w41b6, w41b5, w41b4, w41b3, w41b2, w41b1, w41b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 42
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, w42b31, w42b30, w42b29, w42b28, w42b27, w42b26, w42b25, w42b24, w42b23, w42b22, w42b21, w42b20, w42b19, w42b18, w42b17, w42b16, w42b15, w42b14, w42b13, w42b12, w42b11, w42b10, w42b9, w42b8, w42b7, w42b6, w42b5, w42b4, w42b3, w42b2, w42b1, w42b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 43
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, w43b31, w43b30, w43b29, w43b28, w43b27, w43b26, w43b25, w43b24, w43b23, w43b22, w43b21, w43b20, w43b19, w43b18, w43b17, w43b16, w43b15, w43b14, w43b13, w43b12, w43b11, w43b10, w43b9, w43b8, w43b7, w43b6, w43b5, w43b4, w43b3, w43b2, w43b1, w43b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 44
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, w44b31, w44b30, w44b29, w44b28, w44b27, w44b26, w44b25, w44b24, w44b23, w44b22, w44b21, w44b20, w44b19, w44b18, w44b17, w44b16, w44b15, w44b14, w44b13, w44b12, w44b11, w44b10, w44b9, w44b8, w44b7, w44b6, w44b5, w44b4, w44b3, w44b2, w44b1, w44b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 45
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, w45b31, w45b30, w45b29, w45b28, w45b27, w45b26, w45b25, w45b24, w45b23, w45b22, w45b21, w45b20, w45b19, w45b18, w45b17, w45b16, w45b15, w45b14, w45b13, w45b12, w45b11, w45b10, w45b9, w45b8, w45b7, w45b6, w45b5, w45b4, w45b3, w45b2, w45b1, w45b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 46
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, w46b31, w46b30, w46b29, w46b28, w46b27, w46b26, w46b25, w46b24, w46b23, w46b22, w46b21, w46b20, w46b19, w46b18, w46b17, w46b16, w46b15, w46b14, w46b13, w46b12, w46b11, w46b10, w46b9, w46b8, w46b7, w46b6, w46b5, w46b4, w46b3, w46b2, w46b1, w46b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 47
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, w47b31, w47b30, w47b29, w47b28, w47b27, w47b26, w47b25, w47b24, w47b23, w47b22, w47b21, w47b20, w47b19, w47b18, w47b17, w47b16, w47b15, w47b14, w47b13, w47b12, w47b11, w47b10, w47b9, w47b8, w47b7, w47b6, w47b5, w47b4, w47b3, w47b2, w47b1, w47b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 48
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, w48b31, w48b30, w48b29, w48b28, w48b27, w48b26, w48b25, w48b24, w48b23, w48b22, w48b21, w48b20, w48b19, w48b18, w48b17, w48b16, w48b15, w48b14, w48b13, w48b12, w48b11, w48b10, w48b9, w48b8, w48b7, w48b6, w48b5, w48b4, w48b3, w48b2, w48b1, w48b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 49
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, w49b31, w49b30, w49b29, w49b28, w49b27, w49b26, w49b25, w49b24, w49b23, w49b22, w49b21, w49b20, w49b19, w49b18, w49b17, w49b16, w49b15, w49b14, w49b13, w49b12, w49b11, w49b10, w49b9, w49b8, w49b7, w49b6, w49b5, w49b4, w49b3, w49b2, w49b1, w49b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 50
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, w50b31, w50b30, w50b29, w50b28, w50b27, w50b26, w50b25, w50b24, w50b23, w50b22, w50b21, w50b20, w50b19, w50b18, w50b17, w50b16, w50b15, w50b14, w50b13, w50b12, w50b11, w50b10, w50b9, w50b8, w50b7, w50b6, w50b5, w50b4, w50b3, w50b2, w50b1, w50b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 51
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, w51b31, w51b30, w51b29, w51b28, w51b27, w51b26, w51b25, w51b24, w51b23, w51b22, w51b21, w51b20, w51b19, w51b18, w51b17, w51b16, w51b15, w51b14, w51b13, w51b12, w51b11, w51b10, w51b9, w51b8, w51b7, w51b6, w51b5, w51b4, w51b3, w51b2, w51b1, w51b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 52
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, w52b31, w52b30, w52b29, w52b28, w52b27, w52b26, w52b25, w52b24, w52b23, w52b22, w52b21, w52b20, w52b19, w52b18, w52b17, w52b16, w52b15, w52b14, w52b13, w52b12, w52b11, w52b10, w52b9, w52b8, w52b7, w52b6, w52b5, w52b4, w52b3, w52b2, w52b1, w52b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 53
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, w53b31, w53b30, w53b29, w53b28, w53b27, w53b26, w53b25, w53b24, w53b23, w53b22, w53b21, w53b20, w53b19, w53b18, w53b17, w53b16, w53b15, w53b14, w53b13, w53b12, w53b11, w53b10, w53b9, w53b8, w53b7, w53b6, w53b5, w53b4, w53b3, w53b2, w53b1, w53b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 54
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, w54b31, w54b30, w54b29, w54b28, w54b27, w54b26, w54b25, w54b24, w54b23, w54b22, w54b21, w54b20, w54b19, w54b18, w54b17, w54b16, w54b15, w54b14, w54b13, w54b12, w54b11, w54b10, w54b9, w54b8, w54b7, w54b6, w54b5, w54b4, w54b3, w54b2, w54b1, w54b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 55
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, w55b31, w55b30, w55b29, w55b28, w55b27, w55b26, w55b25, w55b24, w55b23, w55b22, w55b21, w55b20, w55b19, w55b18, w55b17, w55b16, w55b15, w55b14, w55b13, w55b12, w55b11, w55b10, w55b9, w55b8, w55b7, w55b6, w55b5, w55b4, w55b3, w55b2, w55b1, w55b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 56
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, w56b31, w56b30, w56b29, w56b28, w56b27, w56b26, w56b25, w56b24, w56b23, w56b22, w56b21, w56b20, w56b19, w56b18, w56b17, w56b16, w56b15, w56b14, w56b13, w56b12, w56b11, w56b10, w56b9, w56b8, w56b7, w56b6, w56b5, w56b4, w56b3, w56b2, w56b1, w56b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 57
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, w57b31, w57b30, w57b29, w57b28, w57b27, w57b26, w57b25, w57b24, w57b23, w57b22, w57b21, w57b20, w57b19, w57b18, w57b17, w57b16, w57b15, w57b14, w57b13, w57b12, w57b11, w57b10, w57b9, w57b8, w57b7, w57b6, w57b5, w57b4, w57b3, w57b2, w57b1, w57b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 58
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, w58b31, w58b30, w58b29, w58b28, w58b27, w58b26, w58b25, w58b24, w58b23, w58b22, w58b21, w58b20, w58b19, w58b18, w58b17, w58b16, w58b15, w58b14, w58b13, w58b12, w58b11, w58b10, w58b9, w58b8, w58b7, w58b6, w58b5, w58b4, w58b3, w58b2, w58b1, w58b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 59
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, w59b31, w59b30, w59b29, w59b28, w59b27, w59b26, w59b25, w59b24, w59b23, w59b22, w59b21, w59b20, w59b19, w59b18, w59b17, w59b16, w59b15, w59b14, w59b13, w59b12, w59b11, w59b10, w59b9, w59b8, w59b7, w59b6, w59b5, w59b4, w59b3, w59b2, w59b1, w59b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 60
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, w60b31, w60b30, w60b29, w60b28, w60b27, w60b26, w60b25, w60b24, w60b23, w60b22, w60b21, w60b20, w60b19, w60b18, w60b17, w60b16, w60b15, w60b14, w60b13, w60b12, w60b11, w60b10, w60b9, w60b8, w60b7, w60b6, w60b5, w60b4, w60b3, w60b2, w60b1, w60b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 61
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, w61b31, w61b30, w61b29, w61b28, w61b27, w61b26, w61b25, w61b24, w61b23, w61b22, w61b21, w61b20, w61b19, w61b18, w61b17, w61b16, w61b15, w61b14, w61b13, w61b12, w61b11, w61b10, w61b9, w61b8, w61b7, w61b6, w61b5, w61b4, w61b3, w61b2, w61b1, w61b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 62
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, w62b31, w62b30, w62b29, w62b28, w62b27, w62b26, w62b25, w62b24, w62b23, w62b22, w62b21, w62b20, w62b19, w62b18, w62b17, w62b16, w62b15, w62b14, w62b13, w62b12, w62b11, w62b10, w62b9, w62b8, w62b7, w62b6, w62b5, w62b4, w62b3, w62b2, w62b1, w62b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// PASS 63
a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = COMPROUND(1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, w63b31, w63b30, w63b29, w63b28, w63b27, w63b26, w63b25, w63b24, w63b23, w63b22, w63b21, w63b20, w63b19, w63b18, w63b17, w63b16, w63b15, w63b14, w63b13, w63b12, w63b11, w63b10, w63b9, w63b8, w63b7, w63b6, w63b5, w63b4, w63b3, w63b2, w63b1, w63b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
// H := H + ai
H0b31, H0b30, H0b29, H0b28, H0b27, H0b26, H0b25, H0b24, H0b23, H0b22, H0b21, H0b20, H0b19, H0b18, H0b17, H0b16, H0b15, H0b14, H0b13, H0b12, H0b11, H0b10, H0b9, H0b8, H0b7, H0b6, H0b5, H0b4, H0b3, H0b2, H0b1, H0b0 = ADD(H0b31, H0b30, H0b29, H0b28, H0b27, H0b26, H0b25, H0b24, H0b23, H0b22, H0b21, H0b20, H0b19, H0b18, H0b17, H0b16, H0b15, H0b14, H0b13, H0b12, H0b11, H0b10, H0b9, H0b8, H0b7, H0b6, H0b5, H0b4, H0b3, H0b2, H0b1, H0b0, a31, a30, a29, a28, a27, a26, a25, a24, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)
H1b31, H1b30, H1b29, H1b28, H1b27, H1b26, H1b25, H1b24, H1b23, H1b22, H1b21, H1b20, H1b19, H1b18, H1b17, H1b16, H1b15, H1b14, H1b13, H1b12, H1b11, H1b10, H1b9, H1b8, H1b7, H1b6, H1b5, H1b4, H1b3, H1b2, H1b1, H1b0 = ADD(H1b31, H1b30, H1b29, H1b28, H1b27, H1b26, H1b25, H1b24, H1b23, H1b22, H1b21, H1b20, H1b19, H1b18, H1b17, H1b16, H1b15, H1b14, H1b13, H1b12, H1b11, H1b10, H1b9, H1b8, H1b7, H1b6, H1b5, H1b4, H1b3, H1b2, H1b1, H1b0, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0)
H2b31, H2b30, H2b29, H2b28, H2b27, H2b26, H2b25, H2b24, H2b23, H2b22, H2b21, H2b20, H2b19, H2b18, H2b17, H2b16, H2b15, H2b14, H2b13, H2b12, H2b11, H2b10, H2b9, H2b8, H2b7, H2b6, H2b5, H2b4, H2b3, H2b2, H2b1, H2b0 = ADD(H2b31, H2b30, H2b29, H2b28, H2b27, H2b26, H2b25, H2b24, H2b23, H2b22, H2b21, H2b20, H2b19, H2b18, H2b17, H2b16, H2b15, H2b14, H2b13, H2b12, H2b11, H2b10, H2b9, H2b8, H2b7, H2b6, H2b5, H2b4, H2b3, H2b2, H2b1, H2b0, c31, c30, c29, c28, c27, c26, c25, c24, c23, c22, c21, c20, c19, c18, c17, c16, c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)
H3b31, H3b30, H3b29, H3b28, H3b27, H3b26, H3b25, H3b24, H3b23, H3b22, H3b21, H3b20, H3b19, H3b18, H3b17, H3b16, H3b15, H3b14, H3b13, H3b12, H3b11, H3b10, H3b9, H3b8, H3b7, H3b6, H3b5, H3b4, H3b3, H3b2, H3b1, H3b0 = ADD(H3b31, H3b30, H3b29, H3b28, H3b27, H3b26, H3b25, H3b24, H3b23, H3b22, H3b21, H3b20, H3b19, H3b18, H3b17, H3b16, H3b15, H3b14, H3b13, H3b12, H3b11, H3b10, H3b9, H3b8, H3b7, H3b6, H3b5, H3b4, H3b3, H3b2, H3b1, H3b0, d31, d30, d29, d28, d27, d26, d25, d24, d23, d22, d21, d20, d19, d18, d17, d16, d15, d14, d13, d12, d11, d10, d9, d8, d7, d6, d5, d4, d3, d2, d1, d0)
H4b31, H4b30, H4b29, H4b28, H4b27, H4b26, H4b25, H4b24, H4b23, H4b22, H4b21, H4b20, H4b19, H4b18, H4b17, H4b16, H4b15, H4b14, H4b13, H4b12, H4b11, H4b10, H4b9, H4b8, H4b7, H4b6, H4b5, H4b4, H4b3, H4b2, H4b1, H4b0 = ADD(H4b31, H4b30, H4b29, H4b28, H4b27, H4b26, H4b25, H4b24, H4b23, H4b22, H4b21, H4b20, H4b19, H4b18, H4b17, H4b16, H4b15, H4b14, H4b13, H4b12, H4b11, H4b10, H4b9, H4b8, H4b7, H4b6, H4b5, H4b4, H4b3, H4b2, H4b1, H4b0, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
H5b31, H5b30, H5b29, H5b28, H5b27, H5b26, H5b25, H5b24, H5b23, H5b22, H5b21, H5b20, H5b19, H5b18, H5b17, H5b16, H5b15, H5b14, H5b13, H5b12, H5b11, H5b10, H5b9, H5b8, H5b7, H5b6, H5b5, H5b4, H5b3, H5b2, H5b1, H5b0 = ADD(H5b31, H5b30, H5b29, H5b28, H5b27, H5b26, H5b25, H5b24, H5b23, H5b22, H5b21, H5b20, H5b19, H5b18, H5b17, H5b16, H5b15, H5b14, H5b13, H5b12, H5b11, H5b10, H5b9, H5b8, H5b7, H5b6, H5b5, H5b4, H5b3, H5b2, H5b1, H5b0, f31, f30, f29, f28, f27, f26, f25, f24, f23, f22, f21, f20, f19, f18, f17, f16, f15, f14, f13, f12, f11, f10, f9, f8, f7, f6, f5, f4, f3, f2, f1, f0)
H6b31, H6b30, H6b29, H6b28, H6b27, H6b26, H6b25, H6b24, H6b23, H6b22, H6b21, H6b20, H6b19, H6b18, H6b17, H6b16, H6b15, H6b14, H6b13, H6b12, H6b11, H6b10, H6b9, H6b8, H6b7, H6b6, H6b5, H6b4, H6b3, H6b2, H6b1, H6b0 = ADD(H6b31, H6b30, H6b29, H6b28, H6b27, H6b26, H6b25, H6b24, H6b23, H6b22, H6b21, H6b20, H6b19, H6b18, H6b17, H6b16, H6b15, H6b14, H6b13, H6b12, H6b11, H6b10, H6b9, H6b8, H6b7, H6b6, H6b5, H6b4, H6b3, H6b2, H6b1, H6b0, g31, g30, g29, g28, g27, g26, g25, g24, g23, g22, g21, g20, g19, g18, g17, g16, g15, g14, g13, g12, g11, g10, g9, g8, g7, g6, g5, g4, g3, g2, g1, g0)
H7b31, H7b30, H7b29, H7b28, H7b27, H7b26, H7b25, H7b24, H7b23, H7b22, H7b21, H7b20, H7b19, H7b18, H7b17, H7b16, H7b15, H7b14, H7b13, H7b12, H7b11, H7b10, H7b9, H7b8, H7b7, H7b6, H7b5, H7b4, H7b3, H7b2, H7b1, H7b0 = ADD(H7b31, H7b30, H7b29, H7b28, H7b27, H7b26, H7b25, H7b24, H7b23, H7b22, H7b21, H7b20, H7b19, H7b18, H7b17, H7b16, H7b15, H7b14, H7b13, H7b12, H7b11, H7b10, H7b9, H7b8, H7b7, H7b6, H7b5, H7b4, H7b3, H7b2, H7b1, H7b0, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0)
return H0b31, H0b30, H0b29, H0b28, H0b27, H0b26, H0b25, H0b24, H0b23, H0b22, H0b21, H0b20, H0b19, H0b18, H0b17, H0b16, H0b15, H0b14, H0b13, H0b12, H0b11, H0b10, H0b9, H0b8, H0b7, H0b6, H0b5, H0b4, H0b3, H0b2, H0b1, H0b0, H1b31, H1b30, H1b29, H1b28, H1b27, H1b26, H1b25, H1b24, H1b23, H1b22, H1b21, H1b20, H1b19, H1b18, H1b17, H1b16, H1b15, H1b14, H1b13, H1b12, H1b11, H1b10, H1b9, H1b8, H1b7, H1b6, H1b5, H1b4, H1b3, H1b2, H1b1, H1b0, H2b31, H2b30, H2b29, H2b28, H2b27, H2b26, H2b25, H2b24, H2b23, H2b22, H2b21, H2b20, H2b19, H2b18, H2b17, H2b16, H2b15, H2b14, H2b13, H2b12, H2b11, H2b10, H2b9, H2b8, H2b7, H2b6, H2b5, H2b4, H2b3, H2b2, H2b1, H2b0, H3b31, H3b30, H3b29, H3b28, H3b27, H3b26, H3b25, H3b24, H3b23, H3b22, H3b21, H3b20, H3b19, H3b18, H3b17, H3b16, H3b15, H3b14, H3b13, H3b12, H3b11, H3b10, H3b9, H3b8, H3b7, H3b6, H3b5, H3b4, H3b3, H3b2, H3b1, H3b0, H4b31, H4b30, H4b29, H4b28, H4b27, H4b26, H4b25, H4b24, H4b23, H4b22, H4b21, H4b20, H4b19, H4b18, H4b17, H4b16, H4b15, H4b14, H4b13, H4b12, H4b11, H4b10, H4b9, H4b8, H4b7, H4b6, H4b5, H4b4, H4b3, H4b2, H4b1, H4b0, H5b31, H5b30, H5b29, H5b28, H5b27, H5b26, H5b25, H5b24, H5b23, H5b22, H5b21, H5b20, H5b19, H5b18, H5b17, H5b16, H5b15, H5b14, H5b13, H5b12, H5b11, H5b10, H5b9, H5b8, H5b7, H5b6, H5b5, H5b4, H5b3, H5b2, H5b1, H5b0, H6b31, H6b30, H6b29, H6b28, H6b27, H6b26, H6b25, H6b24, H6b23, H6b22, H6b21, H6b20, H6b19, H6b18, H6b17, H6b16, H6b15, H6b14, H6b13, H6b12, H6b11, H6b10, H6b9, H6b8, H6b7, H6b6, H6b5, H6b4, H6b3, H6b2, H6b1, H6b0, H7b31, H7b30, H7b29, H7b28, H7b27, H7b26, H7b25, H7b24, H7b23, H7b22, H7b21, H7b20, H7b19, H7b18, H7b17, H7b16, H7b15, H7b14, H7b13, H7b12, H7b11, H7b10, H7b9, H7b8, H7b7, H7b6, H7b5, H7b4, H7b3, H7b2, H7b1, H7b0
def main(private i511, private i510, private i509, private i508, private i507, private i506, private i505, private i504, private i503, private i502, private i501, private i500, private i499, private i498, private i497, private i496, private i495, private i494, private i493, private i492, private i491, private i490, private i489, private i488, private i487, private i486, private i485, private i484, private i483, private i482, private i481, private i480, private i479, private i478, private i477, private i476, private i475, private i474, private i473, private i472, private i471, private i470, private i469, private i468, private i467, private i466, private i465, private i464, private i463, private i462, private i461, private i460, private i459, private i458, private i457, private i456, private i455, private i454, private i453, private i452, private i451, private i450, private i449, private i448, private i447, private i446, private i445, private i444, private i443, private i442, private i441, private i440, private i439, private i438, private i437, private i436, private i435, private i434, private i433, private i432, private i431, private i430, private i429, private i428, private i427, private i426, private i425, private i424, private i423, private i422, private i421, private i420, private i419, private i418, private i417, private i416, private i415, private i414, private i413, private i412, private i411, private i410, private i409, private i408, private i407, private i406, private i405, private i404, private i403, private i402, private i401, private i400, private i399, private i398, private i397, private i396, private i395, private i394, private i393, private i392, private i391, private i390, private i389, private i388, private i387, private i386, private i385, private i384, private i383, private i382, private i381, private i380, private i379, private i378, private i377, private i376, private i375, private i374, private i373, private i372, private i371, private i370, private i369, private i368, private i367, private i366, private i365, private i364, private i363, private i362, private i361, private i360, private i359, private i358, private i357, private i356, private i355, private i354, private i353, private i352, private i351, private i350, private i349, private i348, private i347, private i346, private i345, private i344, private i343, private i342, private i341, private i340, private i339, private i338, private i337, private i336, private i335, private i334, private i333, private i332, private i331, private i330, private i329, private i328, private i327, private i326, private i325, private i324, private i323, private i322, private i321, private i320, private i319, private i318, private i317, private i316, private i315, private i314, private i313, private i312, private i311, private i310, private i309, private i308, private i307, private i306, private i305, private i304, private i303, private i302, private i301, private i300, private i299, private i298, private i297, private i296, private i295, private i294, private i293, private i292, private i291, private i290, private i289, private i288, private i287, private i286, private i285, private i284, private i283, private i282, private i281, private i280, private i279, private i278, private i277, private i276, private i275, private i274, private i273, private i272, private i271, private i270, private i269, private i268, private i267, private i266, private i265, private i264, private i263, private i262, private i261, private i260, private i259, private i258, private i257, private i256, private i255, private i254, private i253, private i252, private i251, private i250, private i249, private i248, private i247, private i246, private i245, private i244, private i243, private i242, private i241, private i240, private i239, private i238, private i237, private i236, private i235, private i234, private i233, private i232, private i231, private i230, private i229, private i228, private i227, private i226, private i225, private i224, private i223, private i222, private i221, private i220, private i219, private i218, private i217, private i216, private i215, private i214, private i213, private i212, private i211, private i210, private i209, private i208, private i207, private i206, private i205, private i204, private i203, private i202, private i201, private i200, private i199, private i198, private i197, private i196, private i195, private i194, private i193, private i192, private i191, private i190, private i189, private i188, private i187, private i186, private i185, private i184, private i183, private i182, private i181, private i180, private i179, private i178, private i177, private i176, private i175, private i174, private i173, private i172, private i171, private i170, private i169, private i168, private i167, private i166, private i165, private i164, private i163, private i162, private i161, private i160, private i159, private i158, private i157, private i156, private i155, private i154, private i153, private i152, private i151, private i150, private i149, private i148, private i147, private i146, private i145, private i144, private i143, private i142, private i141, private i140, private i139, private i138, private i137, private i136, private i135, private i134, private i133, private i132, private i131, private i130, private i129, private i128, private i127, private i126, private i125, private i124, private i123, private i122, private i121, private i120, private i119, private i118, private i117, private i116, private i115, private i114, private i113, private i112, private i111, private i110, private i109, private i108, private i107, private i106, private i105, private i104, private i103, private i102, private i101, private i100, private i99, private i98, private i97, private i96, private i95, private i94, private i93, private i92, private i91, private i90, private i89, private i88, private i87, private i86, private i85, private i84, private i83, private i82, private i81, private i80, private i79, private i78, private i77, private i76, private i75, private i74, private i73, private i72, private i71, private i70, private i69, private i68, private i67, private i66, private i65, private i64, private i63, private i62, private i61, private i60, private i59, private i58, private i57, private i56, private i55, private i54, private i53, private i52, private i51, private i50, private i49, private i48, private i47, private i46, private i45, private i44, private i43, private i42, private i41, private i40, private i39, private i38, private i37, private i36, private i35, private i34, private i33, private i32, private i31, private i30, private i29, private i28, private i27, private i26, private i25, private i24, private i23, private i22, private i21, private i20, private i19, private i18, private i17, private i16, private i15, private i14, private i13, private i12, private i11, private i10, private i9, private i8, private i7, private i6, private i5, private i4, private i3, private i2, private i1, private i0, private left255, private left254, private left253, private left252, private left251, private left250, private left249, private left248, private left247, private left246, private left245, private left244, private left243, private left242, private left241, private left240, private left239, private left238, private left237, private left236, private left235, private left234, private left233, private left232, private left231, private left230, private left229, private left228, private left227, private left226, private left225, private left224, private left223, private left222, private left221, private left220, private left219, private left218, private left217, private left216, private left215, private left214, private left213, private left212, private left211, private left210, private left209, private left208, private left207, private left206, private left205, private left204, private left203, private left202, private left201, private left200, private left199, private left198, private left197, private left196, private left195, private left194, private left193, private left192, private left191, private left190, private left189, private left188, private left187, private left186, private left185, private left184, private left183, private left182, private left181, private left180, private left179, private left178, private left177, private left176, private left175, private left174, private left173, private left172, private left171, private left170, private left169, private left168, private left167, private left166, private left165, private left164, private left163, private left162, private left161, private left160, private left159, private left158, private left157, private left156, private left155, private left154, private left153, private left152, private left151, private left150, private left149, private left148, private left147, private left146, private left145, private left144, private left143, private left142, private left141, private left140, private left139, private left138, private left137, private left136, private left135, private left134, private left133, private left132, private left131, private left130, private left129, private left128, private left127, private left126, private left125, private left124, private left123, private left122, private left121, private left120, private left119, private left118, private left117, private left116, private left115, private left114, private left113, private left112, private left111, private left110, private left109, private left108, private left107, private left106, private left105, private left104, private left103, private left102, private left101, private left100, private left99, private left98, private left97, private left96, private left95, private left94, private left93, private left92, private left91, private left90, private left89, private left88, private left87, private left86, private left85, private left84, private left83, private left82, private left81, private left80, private left79, private left78, private left77, private left76, private left75, private left74, private left73, private left72, private left71, private left70, private left69, private left68, private left67, private left66, private left65, private left64, private left63, private left62, private left61, private left60, private left59, private left58, private left57, private left56, private left55, private left54, private left53, private left52, private left51, private left50, private left49, private left48, private left47, private left46, private left45, private left44, private left43, private left42, private left41, private left40, private left39, private left38, private left37, private left36, private left35, private left34, private left33, private left32, private left31, private left30, private left29, private left28, private left27, private left26, private left25, private left24, private left23, private left22, private left21, private left20, private left19, private left18, private left17, private left16, private left15, private left14, private left13, private left12, private left11, private left10, private left9, private left8, private left7, private left6, private left5, private left4, private left3, private left2, private left1, private left0, root255, root254, root253, root252, root251, root250, root249, root248, root247, root246, root245, root244, root243, root242, root241, root240, root239, root238, root237, root236, root235, root234, root233, root232, root231, root230, root229, root228, root227, root226, root225, root224, root223, root222, root221, root220, root219, root218, root217, root216, root215, root214, root213, root212, root211, root210, root209, root208, root207, root206, root205, root204, root203, root202, root201, root200, root199, root198, root197, root196, root195, root194, root193, root192, root191, root190, root189, root188, root187, root186, root185, root184, root183, root182, root181, root180, root179, root178, root177, root176, root175, root174, root173, root172, root171, root170, root169, root168, root167, root166, root165, root164, root163, root162, root161, root160, root159, root158, root157, root156, root155, root154, root153, root152, root151, root150, root149, root148, root147, root146, root145, root144, root143, root142, root141, root140, root139, root138, root137, root136, root135, root134, root133, root132, root131, root130, root129, root128, root127, root126, root125, root124, root123, root122, root121, root120, root119, root118, root117, root116, root115, root114, root113, root112, root111, root110, root109, root108, root107, root106, root105, root104, root103, root102, root101, root100, root99, root98, root97, root96, root95, root94, root93, root92, root91, root90, root89, root88, root87, root86, root85, root84, root83, root82, root81, root80, root79, root78, root77, root76, root75, root74, root73, root72, root71, root70, root69, root68, root67, root66, root65, root64, root63, root62, root61, root60, root59, root58, root57, root56, root55, root54, root53, root52, root51, root50, root49, root48, root47, root46, root45, root44, root43, root42, root41, root40, root39, root38, root37, root36, root35, root34, root33, root32, root31, root30, root29, root28, root27, root26, root25, root24, root23, root22, root21, root20, root19, root18, root17, root16, root15, root14, root13, root12, root11, root10, root9, root8, root7, root6, root5, root4, root3, root2, root1, root0):
// compute the hash of the private input
r255, r254, r253, r252, r251, r250, r249, r248, r247, r246, r245, r244, r243, r242, r241, r240, r239, r238, r237, r236, r235, r234, r233, r232, r231, r230, r229, r228, r227, r226, r225, r224, r223, r222, r221, r220, r219, r218, r217, r216, r215, r214, r213, r212, r211, r210, r209, r208, r207, r206, r205, r204, r203, r202, r201, r200, r199, r198, r197, r196, r195, r194, r193, r192, r191, r190, r189, r188, r187, r186, r185, r184, r183, r182, r181, r180, r179, r178, r177, r176, r175, r174, r173, r172, r171, r170, r169, r168, r167, r166, r165, r164, r163, r162, r161, r160, r159, r158, r157, r156, r155, r154, r153, r152, r151, r150, r149, r148, r147, r146, r145, r144, r143, r142, r141, r140, r139, r138, r137, r136, r135, r134, r133, r132, r131, r130, r129, r128, r127, r126, r125, r124, r123, r122, r121, r120, r119, r118, r117, r116, r115, r114, r113, r112, r111, r110, r109, r108, r107, r106, r105, r104, r103, r102, r101, r100, r99, r98, r97, r96, r95, r94, r93, r92, r91, r90, r89, r88, r87, r86, r85, r84, r83, r82, r81, r80, r79, r78, r77, r76, r75, r74, r73, r72, r71, r70, r69, r68, r67, r66, r65, r64, r63, r62, r61, r60, r59, r58, r57, r56, r55, r54, r53, r52, r51, r50, r49, r48, r47, r46, r45, r44, r43, r42, r41, r40, r39, r38, r37, r36, r35, r34, r33, r32, r31, r30, r29, r28, r27, r26, r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13, r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0 = sha256compress(i511, i510, i509, i508, i507, i506, i505, i504, i503, i502, i501, i500, i499, i498, i497, i496, i495, i494, i493, i492, i491, i490, i489, i488, i487, i486, i485, i484, i483, i482, i481, i480, i479, i478, i477, i476, i475, i474, i473, i472, i471, i470, i469, i468, i467, i466, i465, i464, i463, i462, i461, i460, i459, i458, i457, i456, i455, i454, i453, i452, i451, i450, i449, i448, i447, i446, i445, i444, i443, i442, i441, i440, i439, i438, i437, i436, i435, i434, i433, i432, i431, i430, i429, i428, i427, i426, i425, i424, i423, i422, i421, i420, i419, i418, i417, i416, i415, i414, i413, i412, i411, i410, i409, i408, i407, i406, i405, i404, i403, i402, i401, i400, i399, i398, i397, i396, i395, i394, i393, i392, i391, i390, i389, i388, i387, i386, i385, i384, i383, i382, i381, i380, i379, i378, i377, i376, i375, i374, i373, i372, i371, i370, i369, i368, i367, i366, i365, i364, i363, i362, i361, i360, i359, i358, i357, i356, i355, i354, i353, i352, i351, i350, i349, i348, i347, i346, i345, i344, i343, i342, i341, i340, i339, i338, i337, i336, i335, i334, i333, i332, i331, i330, i329, i328, i327, i326, i325, i324, i323, i322, i321, i320, i319, i318, i317, i316, i315, i314, i313, i312, i311, i310, i309, i308, i307, i306, i305, i304, i303, i302, i301, i300, i299, i298, i297, i296, i295, i294, i293, i292, i291, i290, i289, i288, i287, i286, i285, i284, i283, i282, i281, i280, i279, i278, i277, i276, i275, i274, i273, i272, i271, i270, i269, i268, i267, i266, i265, i264, i263, i262, i261, i260, i259, i258, i257, i256, i255, i254, i253, i252, i251, i250, i249, i248, i247, i246, i245, i244, i243, i242, i241, i240, i239, i238, i237, i236, i235, i234, i233, i232, i231, i230, i229, i228, i227, i226, i225, i224, i223, i222, i221, i220, i219, i218, i217, i216, i215, i214, i213, i212, i211, i210, i209, i208, i207, i206, i205, i204, i203, i202, i201, i200, i199, i198, i197, i196, i195, i194, i193, i192, i191, i190, i189, i188, i187, i186, i185, i184, i183, i182, i181, i180, i179, i178, i177, i176, i175, i174, i173, i172, i171, i170, i169, i168, i167, i166, i165, i164, i163, i162, i161, i160, i159, i158, i157, i156, i155, i154, i153, i152, i151, i150, i149, i148, i147, i146, i145, i144, i143, i142, i141, i140, i139, i138, i137, i136, i135, i134, i133, i132, i131, i130, i129, i128, i127, i126, i125, i124, i123, i122, i121, i120, i119, i118, i117, i116, i115, i114, i113, i112, i111, i110, i109, i108, i107, i106, i105, i104, i103, i102, i101, i100, i99, i98, i97, i96, i95, i94, i93, i92, i91, i90, i89, i88, i87, i86, i85, i84, i83, i82, i81, i80, i79, i78, i77, i76, i75, i74, i73, i72, i71, i70, i69, i68, i67, i66, i65, i64, i63, i62, i61, i60, i59, i58, i57, i56, i55, i54, i53, i52, i51, i50, i49, i48, i47, i46, i45, i44, i43, i42, i41, i40, i39, i38, i37, i36, i35, i34, i33, i32, i31, i30, i29, i28, i27, i26, i25, i24, i23, i22, i21, i20, i19, i18, i17, i16, i15, i14, i13, i12, i11, i10, i9, i8, i7, i6, i5, i4, i3, i2, i1, i0)
h255, h254, h253, h252, h251, h250, h249, h248, h247, h246, h245, h244, h243, h242, h241, h240, h239, h238, h237, h236, h235, h234, h233, h232, h231, h230, h229, h228, h227, h226, h225, h224, h223, h222, h221, h220, h219, h218, h217, h216, h215, h214, h213, h212, h211, h210, h209, h208, h207, h206, h205, h204, h203, h202, h201, h200, h199, h198, h197, h196, h195, h194, h193, h192, h191, h190, h189, h188, h187, h186, h185, h184, h183, h182, h181, h180, h179, h178, h177, h176, h175, h174, h173, h172, h171, h170, h169, h168, h167, h166, h165, h164, h163, h162, h161, h160, h159, h158, h157, h156, h155, h154, h153, h152, h151, h150, h149, h148, h147, h146, h145, h144, h143, h142, h141, h140, h139, h138, h137, h136, h135, h134, h133, h132, h131, h130, h129, h128, h127, h126, h125, h124, h123, h122, h121, h120, h119, h118, h117, h116, h115, h114, h113, h112, h111, h110, h109, h108, h107, h106, h105, h104, h103, h102, h101, h100, h99, h98, h97, h96, h95, h94, h93, h92, h91, h90, h89, h88, h87, h86, h85, h84, h83, h82, h81, h80, h79, h78, h77, h76, h75, h74, h73, h72, h71, h70, h69, h68, h67, h66, h65, h64, h63, h62, h61, h60, h59, h58, h57, h56, h55, h54, h53, h52, h51, h50, h49, h48, h47, h46, h45, h44, h43, h42, h41, h40, h39, h38, h37, h36, h35, h34, h33, h32, h31, h30, h29, h28, h27, h26, h25, h24, h23, h22, h21, h20, h19, h18, h17, h16, h15, h14, h13, h12, h11, h10, h9, h8, h7, h6, h5, h4, h3, h2, h1, h0 = sha256compress(left255, left254, left253, left252, left251, left250, left249, left248, left247, left246, left245, left244, left243, left242, left241, left240, left239, left238, left237, left236, left235, left234, left233, left232, left231, left230, left229, left228, left227, left226, left225, left224, left223, left222, left221, left220, left219, left218, left217, left216, left215, left214, left213, left212, left211, left210, left209, left208, left207, left206, left205, left204, left203, left202, left201, left200, left199, left198, left197, left196, left195, left194, left193, left192, left191, left190, left189, left188, left187, left186, left185, left184, left183, left182, left181, left180, left179, left178, left177, left176, left175, left174, left173, left172, left171, left170, left169, left168, left167, left166, left165, left164, left163, left162, left161, left160, left159, left158, left157, left156, left155, left154, left153, left152, left151, left150, left149, left148, left147, left146, left145, left144, left143, left142, left141, left140, left139, left138, left137, left136, left135, left134, left133, left132, left131, left130, left129, left128, left127, left126, left125, left124, left123, left122, left121, left120, left119, left118, left117, left116, left115, left114, left113, left112, left111, left110, left109, left108, left107, left106, left105, left104, left103, left102, left101, left100, left99, left98, left97, left96, left95, left94, left93, left92, left91, left90, left89, left88, left87, left86, left85, left84, left83, left82, left81, left80, left79, left78, left77, left76, left75, left74, left73, left72, left71, left70, left69, left68, left67, left66, left65, left64, left63, left62, left61, left60, left59, left58, left57, left56, left55, left54, left53, left52, left51, left50, left49, left48, left47, left46, left45, left44, left43, left42, left41, left40, left39, left38, left37, left36, left35, left34, left33, left32, left31, left30, left29, left28, left27, left26, left25, left24, left23, left22, left21, left20, left19, left18, left17, left16, left15, left14, left13, left12, left11, left10, left9, left8, left7, left6, left5, left4, left3, left2, left1, left0, r255, r254, r253, r252, r251, r250, r249, r248, r247, r246, r245, r244, r243, r242, r241, r240, r239, r238, r237, r236, r235, r234, r233, r232, r231, r230, r229, r228, r227, r226, r225, r224, r223, r222, r221, r220, r219, r218, r217, r216, r215, r214, r213, r212, r211, r210, r209, r208, r207, r206, r205, r204, r203, r202, r201, r200, r199, r198, r197, r196, r195, r194, r193, r192, r191, r190, r189, r188, r187, r186, r185, r184, r183, r182, r181, r180, r179, r178, r177, r176, r175, r174, r173, r172, r171, r170, r169, r168, r167, r166, r165, r164, r163, r162, r161, r160, r159, r158, r157, r156, r155, r154, r153, r152, r151, r150, r149, r148, r147, r146, r145, r144, r143, r142, r141, r140, r139, r138, r137, r136, r135, r134, r133, r132, r131, r130, r129, r128, r127, r126, r125, r124, r123, r122, r121, r120, r119, r118, r117, r116, r115, r114, r113, r112, r111, r110, r109, r108, r107, r106, r105, r104, r103, r102, r101, r100, r99, r98, r97, r96, r95, r94, r93, r92, r91, r90, r89, r88, r87, r86, r85, r84, r83, r82, r81, r80, r79, r78, r77, r76, r75, r74, r73, r72, r71, r70, r69, r68, r67, r66, r65, r64, r63, r62, r61, r60, r59, r58, r57, r56, r55, r54, r53, r52, r51, r50, r49, r48, r47, r46, r45, r44, r43, r42, r41, r40, r39, r38, r37, r36, r35, r34, r33, r32, r31, r30, r29, r28, r27, r26, r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13, r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0)
h0 == root0
h1 == root1
h2 == root2
h3 == root3
h4 == root4
h5 == root5
h6 == root6
h7 == root7
h8 == root8
h9 == root9
h10 == root10
h11 == root11
h12 == root12
h13 == root13
h14 == root14
h15 == root15
h16 == root16
h17 == root17
h18 == root18
h19 == root19
h20 == root20
h21 == root21
h22 == root22
h23 == root23
h24 == root24
h25 == root25
h26 == root26
h27 == root27
h28 == root28
h29 == root29
h30 == root30
h31 == root31
h32 == root32
h33 == root33
h34 == root34
h35 == root35
h36 == root36
h37 == root37
h38 == root38
h39 == root39
h40 == root40
h41 == root41
h42 == root42
h43 == root43
h44 == root44
h45 == root45
h46 == root46
h47 == root47
h48 == root48
h49 == root49
h50 == root50
h51 == root51
h52 == root52
h53 == root53
h54 == root54
h55 == root55
h56 == root56
h57 == root57
h58 == root58
h59 == root59
h60 == root60
h61 == root61
h62 == root62
h63 == root63
h64 == root64
h65 == root65
h66 == root66
h67 == root67
h68 == root68
h69 == root69
h70 == root70
h71 == root71
h72 == root72
h73 == root73
h74 == root74
h75 == root75
h76 == root76
h77 == root77
h78 == root78
h79 == root79
h80 == root80
h81 == root81
h82 == root82
h83 == root83
h84 == root84
h85 == root85
h86 == root86
h87 == root87
h88 == root88
h89 == root89
h90 == root90
h91 == root91
h92 == root92
h93 == root93
h94 == root94
h95 == root95
h96 == root96
h97 == root97
h98 == root98
h99 == root99
h100 == root100
h101 == root101
h102 == root102
h103 == root103
h104 == root104
h105 == root105
h106 == root106
h107 == root107
h108 == root108
h109 == root109
h110 == root110
h111 == root111
h112 == root112
h113 == root113
h114 == root114
h115 == root115
h116 == root116
h117 == root117
h118 == root118
h119 == root119
h120 == root120
h121 == root121
h122 == root122
h123 == root123
h124 == root124
h125 == root125
h126 == root126
h127 == root127
h128 == root128
h129 == root129
h130 == root130
h131 == root131
h132 == root132
h133 == root133
h134 == root134
h135 == root135
h136 == root136
h137 == root137
h138 == root138
h139 == root139
h140 == root140
h141 == root141
h142 == root142
h143 == root143
h144 == root144
h145 == root145
h146 == root146
h147 == root147
h148 == root148
h149 == root149
h150 == root150
h151 == root151
h152 == root152
h153 == root153
h154 == root154
h155 == root155
h156 == root156
h157 == root157
h158 == root158
h159 == root159
h160 == root160
h161 == root161
h162 == root162
h163 == root163
h164 == root164
h165 == root165
h166 == root166
h167 == root167
h168 == root168
h169 == root169
h170 == root170
h171 == root171
h172 == root172
h173 == root173
h174 == root174
h175 == root175
h176 == root176
h177 == root177
h178 == root178
h179 == root179
h180 == root180
h181 == root181
h182 == root182
h183 == root183
h184 == root184
h185 == root185
h186 == root186
h187 == root187
h188 == root188
h189 == root189
h190 == root190
h191 == root191
h192 == root192
h193 == root193
h194 == root194
h195 == root195
h196 == root196
h197 == root197
h198 == root198
h199 == root199
h200 == root200
h201 == root201
h202 == root202
h203 == root203
h204 == root204
h205 == root205
h206 == root206
h207 == root207
h208 == root208
h209 == root209
h210 == root210
h211 == root211
h212 == root212
h213 == root213
h214 == root214
h215 == root215
h216 == root216
h217 == root217
h218 == root218
h219 == root219
h220 == root220
h221 == root221
h222 == root222
h223 == root223
h224 == root224
h225 == root225
h226 == root226
h227 == root227
h228 == root228
h229 == root229
h230 == root230
h231 == root231
h232 == root232
h233 == root233
h234 == root234
h235 == root235
h236 == root236
h237 == root237
h238 == root238
h239 == root239
h240 == root240
h241 == root241
h242 == root242
h243 == root243
h244 == root244
h245 == root245
h246 == root246
h247 == root247
h248 == root248
h249 == root249
h250 == root250
h251 == root251
h252 == root252
h253 == root253
h254 == root254
h255 == root255
return 1