# s838
# 35 inputs
# 2 outputs
# 32 D-type flipflops
# 149 inverters
# 241 gates (58 ANDs + 89 NANDs + 16 ORs + 78 NORs)

INPUT(X)
INPUT(Clear)
INPUT(C_32)
INPUT(C_31)
INPUT(C_30)
INPUT(C_29)
INPUT(C_28)
INPUT(C_27)
INPUT(C_26)
INPUT(C_25)
INPUT(C_24)
INPUT(C_23)
INPUT(C_22)
INPUT(C_21)
INPUT(C_20)
INPUT(C_19)
INPUT(C_18)
INPUT(C_17)
INPUT(C_16)
INPUT(C_15)
INPUT(C_14)
INPUT(C_13)
INPUT(C_12)
INPUT(C_11)
INPUT(C_10)
INPUT(C_9)
INPUT(C_8)
INPUT(C_7)
INPUT(C_6)
INPUT(C_5)
INPUT(C_4)
INPUT(C_3)
INPUT(C_2)
INPUT(C_1)
INPUT(C_0)

OUTPUT(W)
OUTPUT(Z)

Y_4 = DFF(II3)
Y_3 = DFF(II4)
Y_2 = DFF(II5)
Y_1 = DFF(II6)
Y_8 = DFF(II155)
Y_7 = DFF(II156)
Y_6 = DFF(II157)
Y_5 = DFF(II158)
Y_12 = DFF(II307)
Y_11 = DFF(II308)
Y_10 = DFF(II309)
Y_9 = DFF(II310)
Y_16 = DFF(II459)
Y_15 = DFF(II460)
Y_14 = DFF(II461)
Y_13 = DFF(II462)
Y_20 = DFF(II611)
Y_19 = DFF(II612)
Y_18 = DFF(II613)
Y_17 = DFF(II614)
Y_24 = DFF(II763)
Y_23 = DFF(II764)
Y_22 = DFF(II765)
Y_21 = DFF(II766)
Y_28 = DFF(II915)
Y_27 = DFF(II916)
Y_26 = DFF(II917)
Y_25 = DFF(II918)
Y_32 = DFF(II1067)
Y_31 = DFF(II1068)
Y_30 = DFF(II1069)
Y_29 = DFF(II1070)

II6 = NOT(II104)
II50 = NOT(II92)
II40 = NOT(X)
II41 = NOT(Y_4)
II42 = NOT(Y_3)
II43 = NOT(Y_2)
II44 = NOT(Y_1)
II3 = NOT(II46)
II4 = NOT(II47)
II158 = NOT(II256)
II202 = NOT(II244)
II192 = NOT(II1_1)
II193 = NOT(Y_8)
II194 = NOT(Y_7)
II195 = NOT(Y_6)
II196 = NOT(Y_5)
II155 = NOT(II198)
II156 = NOT(II199)
II310 = NOT(II408)
II354 = NOT(II396)
II344 = NOT(II1_2)
II345 = NOT(Y_12)
II346 = NOT(Y_11)
II347 = NOT(Y_10)
II348 = NOT(Y_9)
II307 = NOT(II350)
II308 = NOT(II351)
II462 = NOT(II560)
II506 = NOT(II548)
II496 = NOT(II1_3)
II497 = NOT(Y_16)
II498 = NOT(Y_15)
II499 = NOT(Y_14)
II500 = NOT(Y_13)
II459 = NOT(II502)
II460 = NOT(II503)
II614 = NOT(II712)
II658 = NOT(II700)
II648 = NOT(II1_4)
II649 = NOT(Y_20)
II650 = NOT(Y_19)
II651 = NOT(Y_18)
II652 = NOT(Y_17)
II611 = NOT(II654)
II612 = NOT(II655)
II766 = NOT(II864)
II810 = NOT(II852)
II800 = NOT(II1_5)
II801 = NOT(Y_24)
II802 = NOT(Y_23)
II803 = NOT(Y_22)
II804 = NOT(Y_21)
II763 = NOT(II806)
II764 = NOT(II807)
II918 = NOT(II1016)
II962 = NOT(II1004)
II952 = NOT(II1_6)
II953 = NOT(Y_28)
II954 = NOT(Y_27)
II955 = NOT(Y_26)
II956 = NOT(Y_25)
II915 = NOT(II958)
II916 = NOT(II959)
II1070 = NOT(II1168)
II1114 = NOT(II1156)
II1104 = NOT(II1_7)
II1105 = NOT(Y_32)
II1106 = NOT(Y_31)
II1107 = NOT(Y_30)
II1108 = NOT(Y_29)
II1067 = NOT(II1110)
II1068 = NOT(II1111)
II1219_1 = NOT(II1253)
II1230 = NOT(II1253)
II1221 = NOT(Y_1)
II1222 = NOT(Y_2)
II1223 = NOT(Y_3)
P_1 = NOT(II1226)
P_3 = NOT(II1228)
P_4 = NOT(II1229)
II1219_2 = NOT(II1316)
II1290 = NOT(II1316)
II1280 = NOT(Y_4)
II1281 = NOT(Y_5)
II1282 = NOT(Y_6)
II1283 = NOT(Y_7)
P_7 = NOT(II1288)
P_8 = NOT(II1289)
II1329 = NOT(II1328)
II1219_3 = NOT(II1384)
II1358 = NOT(II1384)
II1348 = NOT(Y_8)
II1349 = NOT(Y_9)
II1350 = NOT(Y_10)
II1351 = NOT(Y_11)
P_11 = NOT(II1356)
P_12 = NOT(II1357)
II1397 = NOT(II1396)
II1219_4 = NOT(II1452)
II1426 = NOT(II1452)
II1416 = NOT(Y_12)
II1417 = NOT(Y_13)
II1418 = NOT(Y_14)
II1419 = NOT(Y_15)
P_15 = NOT(II1424)
P_16 = NOT(II1425)
II1465 = NOT(II1464)
II1219_5 = NOT(II1520)
II1494 = NOT(II1520)
II1484 = NOT(Y_16)
II1485 = NOT(Y_17)
II1486 = NOT(Y_18)
II1487 = NOT(Y_19)
P_19 = NOT(II1492)
P_20 = NOT(II1493)
II1533 = NOT(II1532)
II1219_6 = NOT(II1588)
II1562 = NOT(II1588)
II1552 = NOT(Y_20)
II1553 = NOT(Y_21)
II1554 = NOT(Y_22)
II1555 = NOT(Y_23)
P_23 = NOT(II1560)
P_24 = NOT(II1561)
II1601 = NOT(II1600)
II1219_7 = NOT(II1656)
II1630 = NOT(II1656)
II1620 = NOT(Y_24)
II1621 = NOT(Y_25)
II1622 = NOT(Y_26)
II1623 = NOT(Y_27)
P_27 = NOT(II1628)
P_28 = NOT(II1629)
II1669 = NOT(II1668)
II1688 = NOT(Y_28)
II1689 = NOT(Y_29)
II1690 = NOT(Y_30)
II1691 = NOT(Y_31)
II1692 = NOT(Y_32)
P_30 = NOT(II1694)
II1947 = NOT(II1948)
II1951 = NOT(II1952)
II1955 = NOT(II1956)
II1963 = NOT(II1964)
II1965 = NOT(II1966)
II1971 = NOT(II1972)
II1973 = NOT(II1974)
II1996 = NOT(II1995)
II2002 = NOT(II2001)

II127_1 = AND(II41, Y_3, II109)
II127_2 = AND(II96, II113, Y_4)
II131_1 = AND(II113, II92, Y_3)
II131_2 = AND(II42, II109)
II279_1 = AND(II193, Y_7, II261)
II279_2 = AND(II248, II265, Y_8)
II283_1 = AND(II265, II244, Y_7)
II283_2 = AND(II194, II261)
II431_1 = AND(II345, Y_11, II413)
II431_2 = AND(II400, II417, Y_12)
II435_1 = AND(II417, II396, Y_11)
II435_2 = AND(II346, II413)
II583_1 = AND(II497, Y_15, II565)
II583_2 = AND(II552, II569, Y_16)
II587_1 = AND(II569, II548, Y_15)
II587_2 = AND(II498, II565)
II735_1 = AND(II649, Y_19, II717)
II735_2 = AND(II704, II721, Y_20)
II739_1 = AND(II721, II700, Y_19)
II739_2 = AND(II650, II717)
II887_1 = AND(II801, Y_23, II869)
II887_2 = AND(II856, II873, Y_24)
II891_1 = AND(II873, II852, Y_23)
II891_2 = AND(II802, II869)
II1039_1 = AND(II953, Y_27, II1021)
II1039_2 = AND(II1008, II1025, Y_28)
II1043_1 = AND(II1025, II1004, Y_27)
II1043_2 = AND(II954, II1021)
II1191_1 = AND(II1105, Y_31, II1173)
II1191_2 = AND(II1160, II1177, Y_32)
II1195_1 = AND(II1177, II1156, Y_31)
II1195_2 = AND(II1106, II1173)
II2017_1 = AND(P_29, C_29)
II2017_2 = AND(P_19, C_19)
II2021_1 = AND(P_30, C_30)
II2021_2 = AND(P_31, C_31)
II2025_1 = AND(P_32, C_32)
II2025_2 = AND(P_24, C_24)
II2029_1 = AND(P_23, C_23)
II2032_1 = AND(P_28, C_28)
II2032_2 = AND(P_11, C_11)
II2032_3 = AND(P_15, C_15)
II2037_1 = AND(P_14, C_14)
II2040_1 = AND(P_7, C_7)
II2043_1 = AND(P_18, C_18)
II2043_2 = AND(P_20, C_20)
II2047_1 = AND(P_10, C_10)
II2047_2 = AND(P_3, C_3)
II2051_1 = AND(P_8, C_8)
II2051_2 = AND(P_27, C_27)
II2055_1 = AND(P_26, C_26)
II2055_2 = AND(P_2, C_2)
II2059_1 = AND(X, C_0)
II2059_2 = AND(P_25, C_25)
II2063_1 = AND(P_16, C_16)
II2063_2 = AND(P_5, C_5)
II2070_1 = AND(P_13, C_13)
II2070_2 = AND(P_9, C_9)

II135_1 = OR(II43, II104)
II135_2 = OR(Y_2, II100)
II287_1 = OR(II195, II256)
II287_2 = OR(Y_6, II252)
II439_1 = OR(II347, II408)
II439_2 = OR(Y_10, II404)
II591_1 = OR(II499, II560)
II591_2 = OR(Y_14, II556)
II743_1 = OR(II651, II712)
II743_2 = OR(Y_18, II708)
II895_1 = OR(II803, II864)
II895_2 = OR(Y_22, II860)
II1047_1 = OR(II955, II1016)
II1047_2 = OR(Y_26, II1012)
II1199_1 = OR(II1107, II1168)
II1199_2 = OR(Y_30, II1164)

II5 = NAND(II135_1, II135_2)
II92 = NAND(Y_2, Y_1)
II96 = NAND(Y_3, II50)
II100 = NAND(Y_1, II113)
II104 = NAND(II44, II113)
II157 = NAND(II287_1, II287_2)
II244 = NAND(Y_6, Y_5)
II248 = NAND(Y_7, II202)
II252 = NAND(Y_5, II265)
II256 = NAND(II196, II265)
II309 = NAND(II439_1, II439_2)
II396 = NAND(Y_10, Y_9)
II400 = NAND(Y_11, II354)
II404 = NAND(Y_9, II417)
II408 = NAND(II348, II417)
II461 = NAND(II591_1, II591_2)
II548 = NAND(Y_14, Y_13)
II552 = NAND(Y_15, II506)
II556 = NAND(Y_13, II569)
II560 = NAND(II500, II569)
II613 = NAND(II743_1, II743_2)
II700 = NAND(Y_18, Y_17)
II704 = NAND(Y_19, II658)
II708 = NAND(Y_17, II721)
II712 = NAND(II652, II721)
II765 = NAND(II895_1, II895_2)
II852 = NAND(Y_22, Y_21)
II856 = NAND(Y_23, II810)
II860 = NAND(Y_21, II873)
II864 = NAND(II804, II873)
II917 = NAND(II1047_1, II1047_2)
II1004 = NAND(Y_26, Y_25)
II1008 = NAND(Y_27, II962)
II1012 = NAND(Y_25, II1025)
II1016 = NAND(II956, II1025)
II1069 = NAND(II1199_1, II1199_2)
II1156 = NAND(Y_30, Y_29)
II1160 = NAND(Y_31, II1114)
II1164 = NAND(Y_29, II1177)
II1168 = NAND(II1108, II1177)
II1226 = NAND(X, Y_1)
II1228 = NAND(Y_3, II1259)
II1229 = NAND(Y_4, II1230)
II1253 = NAND(II1223, II1259)
II1262 = NAND(X, II1221)
II1288 = NAND(Y_7, II1321)
II1289 = NAND(Y_8, II1290)
II1316 = NAND(II1283, II1321)
II1324 = NAND(II1281, II1329)
II1328 = NAND(II1219_1, II1280)
II1356 = NAND(Y_11, II1389)
II1357 = NAND(Y_12, II1358)
II1384 = NAND(II1351, II1389)
II1392 = NAND(II1349, II1397)
II1396 = NAND(II1219_2, II1348)
II1424 = NAND(Y_15, II1457)
II1425 = NAND(Y_16, II1426)
II1452 = NAND(II1419, II1457)
II1460 = NAND(II1417, II1465)
II1464 = NAND(II1219_3, II1416)
II1492 = NAND(Y_19, II1525)
II1493 = NAND(Y_20, II1494)
II1520 = NAND(II1487, II1525)
II1528 = NAND(II1485, II1533)
II1532 = NAND(II1219_4, II1484)
II1560 = NAND(Y_23, II1593)
II1561 = NAND(Y_24, II1562)
II1588 = NAND(II1555, II1593)
II1596 = NAND(II1553, II1601)
II1600 = NAND(II1219_5, II1552)
II1628 = NAND(Y_27, II1661)
II1629 = NAND(Y_28, II1630)
II1656 = NAND(II1623, II1661)
II1664 = NAND(II1621, II1669)
II1668 = NAND(II1219_6, II1620)
II1694 = NAND(Y_30, II1726)
II1698 = NAND(II1726, II1690)
II1729 = NAND(II1688, II1219_7)
Z = NAND(II2002, II2008, II1996, II1976)
II1821 = NAND(P_1, C_1)
II1833 = NAND(P_4, C_4)
II1841 = NAND(P_6, C_6)
II1865 = NAND(P_12, C_12)
II1885 = NAND(P_17, C_17)
II1901 = NAND(P_21, C_21)
II1905 = NAND(P_22, C_22)
II1995 = NAND(II1986, II1990, II1982, II1885)
II1997 = NAND(II1950, II1833, II1821, II1905)
II2001 = NAND(II1865, II1841, II1978, II1901)

II1_1 = NOR(II41, II96)
II46 = NOR(II127_1, II127_2)
II47 = NOR(II131_1, II131_2)
II109 = NOR(II43, II100)
II113 = NOR(Clear, II40)
II1_2 = NOR(II193, II248)
II198 = NOR(II279_1, II279_2)
II199 = NOR(II283_1, II283_2)
II261 = NOR(II195, II252)
II265 = NOR(Clear, II192)
II1_3 = NOR(II345, II400)
II350 = NOR(II431_1, II431_2)
II351 = NOR(II435_1, II435_2)
II413 = NOR(II347, II404)
II417 = NOR(Clear, II344)
II1_4 = NOR(II497, II552)
II502 = NOR(II583_1, II583_2)
II503 = NOR(II587_1, II587_2)
II565 = NOR(II499, II556)
II569 = NOR(Clear, II496)
II1_5 = NOR(II649, II704)
II654 = NOR(II735_1, II735_2)
II655 = NOR(II739_1, II739_2)
II717 = NOR(II651, II708)
II721 = NOR(Clear, II648)
II1_6 = NOR(II801, II856)
II806 = NOR(II887_1, II887_2)
II807 = NOR(II891_1, II891_2)
II869 = NOR(II803, II860)
II873 = NOR(Clear, II800)
II1_7 = NOR(II953, II1008)
II958 = NOR(II1039_1, II1039_2)
II959 = NOR(II1043_1, II1043_2)
II1021 = NOR(II955, II1012)
II1025 = NOR(Clear, II952)
W = NOR(II1105, II1160)
II1110 = NOR(II1191_1, II1191_2)
II1111 = NOR(II1195_1, II1195_2)
II1173 = NOR(II1107, II1164)
II1177 = NOR(Clear, II1104)
P_2 = NOR(II1222, II1262)
II1259 = NOR(Y_2, II1262)
P_5 = NOR(II1281, II1328)
P_6 = NOR(II1282, II1324)
II1321 = NOR(Y_6, II1324)
P_9 = NOR(II1349, II1396)
P_10 = NOR(II1350, II1392)
II1389 = NOR(Y_10, II1392)
P_13 = NOR(II1417, II1464)
P_14 = NOR(II1418, II1460)
II1457 = NOR(Y_14, II1460)
P_17 = NOR(II1485, II1532)
P_18 = NOR(II1486, II1528)
II1525 = NOR(Y_18, II1528)
P_21 = NOR(II1553, II1600)
P_22 = NOR(II1554, II1596)
II1593 = NOR(Y_22, II1596)
P_25 = NOR(II1621, II1668)
P_26 = NOR(II1622, II1664)
II1661 = NOR(Y_26, II1664)
P_29 = NOR(II1689, II1729)
P_31 = NOR(II1691, II1698)
P_32 = NOR(Y_31, II1698, II1692)
II1726 = NOR(II1729, Y_29)
II1948 = NOR(II2017_1, II2017_2)
II1950 = NOR(II2021_1, II2021_2)
II1952 = NOR(II2025_1, II2025_2)
II1956 = NOR(II1951, II2029_1)
II1964 = NOR(II2032_1, II2032_2, II2032_3)
II1966 = NOR(II1955, II2037_1)
II1972 = NOR(II1947, II2040_1)
II1974 = NOR(II2043_1, II2043_2)
II1976 = NOR(II2047_1, II2047_2, II1963)
II1978 = NOR(II2051_1, II2051_2, II1971)
II1982 = NOR(II2055_1, II2055_2, II1965)
II1986 = NOR(II2059_1, II2059_2)
II1990 = NOR(II2063_1, II2063_2, II1973)
II2008 = NOR(II2070_1, II2070_2, II1997)
