def NOT x -> y y = MOO x x fed def AND x y -> z z = NOT MOO x y fed def OR x y -> z # z = NOT AND NOT x NOT y z = MOO ( NOT x NOT y ) fed def XOR x y -> z # z = AND OR x y NOT AND x y z = AND ( OR x y ) ( MOO x y ) fed def MUX x y b -> z z = XOR ( AND x NOT b ) ( AND y b ) fed def DEMUX x b -> y z zero = XOR x x y = MUX x zero b z = MUX zero x b fed def IS_PALINDROME x 32 -> y a_0 = NOT XOR x_0 x_0 loop i 16 a_i+1 = AND ( NOT XOR x_i x_31-i ) a_i pool y = AND a_16 a_16 fed def ADD x 64 y 64 -> z 65 c_0 = XOR x_0 x_0 loop i 64 z_i = XOR ( XOR x_i y_i ) c_i c_i+1 = OR ( OR ( AND x_i y_i ) ( AND x_i c_i ) ) ( AND y_i c_i ) pool z_64 = c_64 fed def MULTIPLY x 8 y 8 -> z 16 # uhhhhhhhh z 65 = ADD x 64 x 64 fed