x+y xor result = 11100111000000111100000 -> wrong outputs: ... 5432109876543210987654321098765432109876543210 x + y = 1100001110001111100010001100100000011011100110 result = 1100001110001111100010010000011000011100000110 (... z2 z1 z0) -> z 5, 6, 7, 8, 15, 16, 17, 20, 21, 22 // z20 (0->1) qfj or mqg // z21 (0->1) hgs ^ hhh // z22 (1->0) kqs ^ vjk z15 (1->0) sth and bhw z16 (1->0) tds ^ mqr z17 (0->1) jts ^ hhm z05 (0->1) y05 and x05 -> mit anderem z Gatter tauschen (z.B. z 8, 15, 16, 22) z06 (0->1) bvc ^ qfg z07 (0->1) cwh ^ tpd (cwh 1->0) // z08 (1->0) wcg ^ dsn ---- SWAP: qfg and mvv (z06, z07, z08, z20, z21, z22) z05 and z15 z16 and z17 WORKS ON ONE EXAMPLE ---- z06 (0->1) (dkr or fdd) ^ 1 dkr = gcs ^ hdc = 1 fdd = hdc and gcs = 0 hdc = 0, gcs = 1 gcs = dhf or hrr = 1 -> 0 dhf nsg and kkt 1 hrr x04 and y04 0 z07 (0->1) 1 ^ (bgf or sfb) bgf = qfg and bvc = 1 -> 0 sfb = 0 // 2 gates: qfg = 1 -> 0 z08 (1->0) 0 ^ (ddj or ktn -> 0) ddj = cwh and tpd = 1 -> 0 ktn = 0 z15 (1->0) (nfn or cwj) and 1 nfn = khg and hdd = 1 -> 0 cwj = 0 -> 0 z16 (1->0) 1 ^ (hhb or htp -> 1) hhb = 0 htp = bhw ^ sth = 0 -> 1 bhw = 1 sth = nfn or cwj = 1 -> 0 // sth 1->0 : z16 and z15 z17 (0->1) (wmd or kvv -> 1) ^ 0 wmd y16 and x16 kvv = tds and mqr = 0 z20 (0->1) (mvv and fvm -> 1) or 0 z21 (0->1) 1 ^ (mvv ^ fvm -> 0) fvm = hcq or pjv = 1 // 2 gates: mvv = 0 -> 1 -> z22 (1->0) (mvp or wms) ^ 0 wms = hgs and hhh = 1 -> 0 hgs y21 ^ x21 mvp = x21 and y21 hhh mvv ^ fvm mvv x20 ^ y20 fvm = hcq or pjv = 1 1 hhh <> wms ? ---- z01 z01 wsg ^ pnw =1 wsg y00 and x00 = 1 pnw y01 ^ x01 = 0 z02 z02 mts ^ ntr = 1 mts x02 ^ y02 = 1 ntr wwc or hch = 0 wwc x01 and y01 = 0 hch wsg and pnw ____ z06 (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)))) ^ 1 z07 1 ^ (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1)) z08 (0 ^ 0) ^ (((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) z15 (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1)) and 1 z16 1 ^ ((0 and 1) or ((0 ^ 1) ^ (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1)))) z17 ((1 and 0) or ((0 ^ 1) and ((0 and 1) or ((0 ^ 1) ^ (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1)))))) ^ 0 z20 ((0 ^ 0) and (((((((0 ^ 0) and ((1 and 0) or ((0 ^ 1) and ((0 and 1) or ((0 ^ 1) ^ (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1))))))) or (0 and 0)) and (1 ^ 1)) or (1 and 1)) and (1 ^ 0)) or (0 and 1))) or 0 z21 (1) ^ ((0 ^ 0) ^ (((((((0 ^ 0) and ((1 and 0) or ((0 ^ 1) and ((0 and 1) or ((0 ^ 1) ^ (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1))))))) or (0 and 0)) and (1 ^ 1)) or (1 and 1)) and (1 ^ 0)) or (0 and 1))) z22 ((1 and 0) or ((0 ^ 1) and ((0 ^ 0) ^ (((((((0 ^ 0) and ((1 and 0) or ((0 ^ 1) and ((0 and 1) or ((0 ^ 1) ^ (((1 ^ 0) and ((((1 and 0) or (((((1 and 0) or ((1 ^ 0) and (((1 ^ 0) and ((0 and 0) or ((((1 ^ 0) and (((1 ^ 0) and (((((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1)) ^ (0 ^ 0)) or ((0 ^ 0) and (((((1 ^ 1) and ((1 and 0) or ((1 ^ 0) and ((0 and 0) or ((1 and 1) and (0 ^ 0)))))) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) or (0 and 1))) or (0 and 1)) and (0 ^ 0)))) or (1 and 0)))) and (1 ^ 1)) or (1 and 1)) and (0 ^ 1))) and (0 ^ 1)) or (1 and 0))) or (0 and 1))))))) or (0 and 0)) and (1 ^ 1)) or (1 and 1)) and (1 ^ 0)) or (0 and 1))))) ^ (0) cwj x14 and y14 0 gcs dhf or hrr 1 pfh y44 ^ x44 0 bpg fqq or hww 0 jts wmd or kvv 0 nfn khg and hdd 1 rpk y35 ^ x35 0 htp bhw ^ sth 0 gnf x13 ^ y13 1 qwn y39 and x39 0 z19 nhr ^ wks 0 mpd x40 and y40 0 hsf pvw and fsf 1 sbk y29 and x29 1 gjs kqk or shk 1 fww swm or rrk 0 bpn x30 and y30 0 z02 mts ^ ntr 1 vsh y23 ^ x23 1 cwh x07 ^ y07 1 wrr jqq or trc 0 khg y14 ^ x14 1 fsf y12 ^ x12 1 tts x27 and y27 0 tsp bjs and vnp 0 fvm hcq or pjv 1 z42 vsk ^ svf 0 rsm dwp and fwn 0 bjs x30 ^ y30 0 pjv y19 and x19 0 mvv x20 ^ y20 0 z43 vpb ^ jmq 0 thc tkd and shd 0 z38 nbw ^ wjn 1 jqq wjn and nbw 0 hhm y17 ^ x17 0 bvc dkr or fdd 1 mcd qjh and qcm 0 fwn x26 ^ y26 0 bsh dsf and tjv 0 nhw qjs and ncw 0 z04 nsg ^ kkt 0 mqr hhb or htp 0 z21 hgs ^ hhh 0 z39 wrr ^ htw 1 z07 cwh ^ tpd 0 dkr gcs ^ hdc 1 rhp rng and mdw 1 ddj cwh and tpd 1 jjk x43 and y43 1 swm hhm and jts 0 hrr x04 and y04 0 shd qhg or jgj 0 kbb y44 and x44 1 prp gpb and cwn 0 vcd y42 and x42 0 trc y38 and x38 0 hhh mvv ^ fvm 1 z33 qjh ^ qcm 1 z05 y05 and x05 0 khw pfh and gqg 0 tkd y03 ^ x03 0 dwk x25 ^ y25 0 bcm phm and bjw 0 gpb y31 ^ x31 1 pcd y28 and x28 0 fdd hdc and gcs 0 z11 ffw ^ cjf 0 hgs y21 ^ x21 1 z41 fcd ^ nkw 0 z22 kqs ^ vjk 1 ggk x36 and y36 0 tjv x34 ^ y34 0 cbg y25 and x25 0 mdw x24 ^ y24 1 fkk rpk and rfs 0 rwd x24 and y24 0 mdb y11 and x11 1 z40 phm ^ bjw 0 cwn tsp or bpn 0 nrv y29 ^ x29 0 qcm nhw or qdc 0 z34 tjv ^ dsf 0 mvp x21 and y21 0 bnr x08 and y08 0 pvw gqr or mdb 1 tsh sfw and gnf 1 bwd mfc and gqf 0 nbb y35 and x35 0 csk x09 ^ y09 1 z20 qfj or mqg 0 kqk x22 and y22 1 wcg x08 ^ y08 0 mfc y37 ^ x37 1 z18 wrn ^ fww 0 dnb rvw or rsm 1 mcw x23 and y23 0 ntr wwc or hch 0 vjk x22 ^ y22 0 z37 gqf ^ mfc 1 z15 sth and bhw 1 z24 rng ^ mdw 0 kkt y04 ^ x04 1 z12 fsf ^ pvw 0 z10 bpg ^ kpk 1 qhg x02 and y02 0 nhr x19 ^ y19 1 dwp cbg or srg 0 z44 pfh ^ gqg 1 wsg y00 and x00 1 qjh x33 ^ y33 1 z17 jts ^ hhm 0 ncw y32 ^ x32 1 gfq fww and wrn 0 vsk qcn or fjq 0 dhf nsg and kkt 1 qdc y32 and x32 0 tpd bgf or sfb 1 bcn dnb and bsv 1 phk y28 ^ x28 1 kvv tds and mqr 0 phm wtf or qwn 0 z09 pss ^ csk 1 vnp kwp or sbk 1 rvw y26 and x26 1 qfj mvv and fvm 0 hhb y15 and x15 0 z29 hbb ^ nrv 1 rms dsn and wcg 0 pss bnr or rms 0 sth nfn or cwj 1 kqs mvp or wms 1 z14 khg ^ hdd 0 wjn bwd or rnr 0 twv x18 and y18 1 z35 rfs ^ rpk 0 srg dwk and fbs 0 qjs prp or dmf 0 hpg nbb or fkk 0 z32 ncw ^ qjs 1 hbb pcd or wff 1 jmq y43 ^ x43 0 rng hkg or mcw 1 hww x09 and y09 0 fhs y13 and x13 0 bgf qfg and bvc 1 wrn y18 ^ x18 0 z28 phk ^ rkf 0 qfg x06 ^ y06 1 z00 y00 ^ x00 0 tds x16 ^ y16 1 wms hgs and hhh 1 vpb fkc or vcd 0 rrr y03 and x03 1 nsg thc or rrr 1 z13 sfw ^ gnf 0 z06 bvc ^ qfg 0 hch wsg and pnw 0 htw y39 ^ x39 1 npc x12 and y12 0 shk vjk and kqs 0 z36 ggk ^ hpg 0 z23 gjs ^ vsh 0 dsn ddj or ktn 1 nbw x38 ^ y38 1 mqv y33 and x33 0 bqf ggk and hpg 0 sfw npc or hsf 1 wmd y16 and x16 0 hkg vsh and gjs 1 kpk x10 ^ y10 1 dsf mcd or mqv 0 hdc x05 ^ y05 0 z08 wcg ^ dsn 1 nkw x41 ^ y41 0 jgj mts and ntr 0 fcd bcm or mpd 0 z16 tds ^ mqr 1 fkc vsk and svf 0 bsv x27 ^ y27 1 gqf bqf or rhv 0 z45 kbb or khw 1 kwp nrv and hbb 0 fqq csk and pss 0 cjq y34 and x34 0 mqg x20 and y20 0 hdd tsh or fhs 1 hcq wks and nhr 1 rfs cjq or bsh 0 wks gfq or twv 1 fbs rwd or rhp 1 rnr y37 and x37 0 cjf vfs or jgd 0 dmf y31 and x31 0 jgd kpk and bpg 0 rhv y36 ^ x36 0 svf y42 ^ x42 0 z30 bjs ^ vnp 1 gqg cst or jjk 1 bjw y40 ^ x40 0 gqr cjf and ffw 0 fjq fcd and nkw 0 pnw y01 ^ x01 0 z27 dnb ^ bsv 0 z01 wsg ^ pnw 1 qcn y41 and x41 0 sfb y06 and x06 0 z31 gpb ^ cwn 1 mts x02 ^ y02 1 z03 shd ^ tkd 0 z25 dwk ^ fbs 1 ffw y11 ^ x11 0 wff phk and rkf 1 cst jmq and vpb 0 rkf bcn or tts 1 ktn y07 and x07 0 rrk x17 and y17 0 vfs x10 and y10 0 z26 fwn ^ dwp 0 wwc x01 and y01 0 wtf htw and wrr 0 bhw y15 ^ x15 1