CHIP XOr { IN c, f; OUT out; PARTS: //XOR == (c Or f) and (NOT(c and f)) == (c Or f) and (c Nand f) == Not[(c Or f) Nand (c Nand f)] // First stage: (c Or f) // c Or ...