You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
84 KiB

int fib(int n) { if (n <= 2) return 1; int n1; { int neg_b; { int not_a; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (1); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int o0, o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12, o13, o14, o15; { if (!(a0)) { o0 = 1; } else { o0 = 0; } }; { if (!(a1)) { o1 = 1; } else { o1 = 0; } }; { if (!(a2)) { o2 = 1; } else { o2 = 0; } }; { if (!(a3)) { o3 = 1; } else { o3 = 0; } }; { if (!(a4)) { o4 = 1; } else { o4 = 0; } }; { if (!(a5)) { o5 = 1; } else { o5 = 0; } }; { if (!(a6)) { o6 = 1; } else { o6 = 0; } }; { if (!(a7)) { o7 = 1; } else { o7 = 0; } }; { if (!(a8)) { o8 = 1; } else { o8 = 0; } }; { if (!(a9)) { o9 = 1; } else { o9 = 0; } }; { if (!(a10)) { o10 = 1; } else { o10 = 0; } }; { if (!(a11)) { o11 = 1; } else { o11 = 0; } }; { if (!(a12)) { o12 = 1; } else { o12 = 0; } }; { if (!(a13)) { o13 = 1; } else { o13 = 0; } }; { if (!(a14)) { o14 = 1; } else { o14 = 0; } }; { if (!(a15)) { o15 = 1; } else { o15 = 0; } }; { not_a = 0; not_a = not_a * 2 + (o15); not_a = not_a * 2 + (o14); not_a = not_a * 2 + (o13); not_a = not_a * 2 + (o12); not_a = not_a * 2 + (o11); not_a = not_a * 2 + (o10); not_a = not_a * 2 + (o9); not_a = not_a * 2 + (o8); not_a = not_a * 2 + (o7); not_a = not_a * 2 + (o6); not_a = not_a * 2 + (o5); not_a = not_a * 2 + (o4); not_a = not_a * 2 + (o3); not_a = not_a * 2 + (o2); not_a = not_a * 2 + (o1); not_a = not_a * 2 + (o0); }; }; { int cout; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (not_a); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; { int temp = (1); { b0 = temp % 2; if (b0 < 0) b0 = -b0; temp = temp / 2; }; { b1 = temp % 2; if (b1 < 0) b1 = -b1; temp = temp / 2; }; { b2 = temp % 2; if (b2 < 0) b2 = -b2; temp = temp / 2; }; { b3 = temp % 2; if (b3 < 0) b3 = -b3; temp = temp / 2; }; { b4 = temp % 2; if (b4 < 0) b4 = -b4; temp = temp / 2; }; { b5 = temp % 2; if (b5 < 0) b5 = -b5; temp = temp / 2; }; { b6 = temp % 2; if (b6 < 0) b6 = -b6; temp = temp / 2; }; { b7 = temp % 2; if (b7 < 0) b7 = -b7; temp = temp / 2; }; { b8 = temp % 2; if (b8 < 0) b8 = -b8; temp = temp / 2; }; { b9 = temp % 2; if (b9 < 0) b9 = -b9; temp = temp / 2; }; { b10 = temp % 2; if (b10 < 0) b10 = -b10; temp = temp / 2; }; { b11 = temp % 2; if (b11 < 0) b11 = -b11; temp = temp / 2; }; { b12 = temp % 2; if (b12 < 0) b12 = -b12; temp = temp / 2; }; { b13 = temp % 2; if (b13 < 0) b13 = -b13; temp = temp / 2; }; { b14 = temp % 2; if (b14 < 0) b14 = -b14; temp = temp / 2; }; { b15 = temp % 2; if (b15 < 0) b15 = -b15; temp = temp / 2; }; }; int c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14; int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; { int a_xor_b; { int a_or_b; { if ((a0) || (b0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s0 = 1; } else { s0 = 0; } }; }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c0 = 1; } else { c0 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a1) || (b1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s1 = 1; } else { s1 = 0; } }; }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c1 = 1; } else { c1 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a2) || (b2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s2 = 1; } else { s2 = 0; } }; }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c1)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c2 = 1; } else { c2 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a3) || (b3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s3 = 1; } else { s3 = 0; } }; }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c2)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c3 = 1; } else { c3 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a4) || (b4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s4 = 1; } else { s4 = 0; } }; }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c3)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c4 = 1; } else { c4 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a5) || (b5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s5 = 1; } else { s5 = 0; } }; }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c4)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c5 = 1; } else { c5 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a6) || (b6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s6 = 1; } else { s6 = 0; } }; }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c5)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c6 = 1; } else { c6 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a7) || (b7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s7 = 1; } else { s7 = 0; } }; }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c6)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c7 = 1; } else { c7 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a8) || (b8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s8 = 1; } else { s8 = 0; } }; }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c7)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c8 = 1; } else { c8 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a9) || (b9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s9 = 1; } else { s9 = 0; } }; }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c8)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c9 = 1; } else { c9 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a10) || (b10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s10 = 1; } else { s10 = 0; } }; }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c9)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c10 = 1; } else { c10 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a11) || (b11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s11 = 1; } else { s11 = 0; } }; }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c10)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c11 = 1; } else { c11 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a12) || (b12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s12 = 1; } else { s12 = 0; } }; }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c11)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c12 = 1; } else { c12 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a13) || (b13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s13 = 1; } else { s13 = 0; } }; }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c12)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c13 = 1; } else { c13 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a14) || (b14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s14 = 1; } else { s14 = 0; } }; }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c13)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c14 = 1; } else { c14 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a15) || (b15)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s15 = 1; } else { s15 = 0; } }; }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c14)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { cout = 1; } else { cout = 0; } }; }; { neg_b = 0; neg_b = neg_b * 2 + (s15); neg_b = neg_b * 2 + (s14); neg_b = neg_b * 2 + (s13); neg_b = neg_b * 2 + (s12); neg_b = neg_b * 2 + (s11); neg_b = neg_b * 2 + (s10); neg_b = neg_b * 2 + (s9); neg_b = neg_b * 2 + (s8); neg_b = neg_b * 2 + (s7); neg_b = neg_b * 2 + (s6); neg_b = neg_b * 2 + (s5); neg_b = neg_b * 2 + (s4); neg_b = neg_b * 2 + (s3); neg_b = neg_b * 2 + (s2); neg_b = neg_b * 2 + (s1); neg_b = neg_b * 2 + (s0); }; }; }; }; { int cout; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (n); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; { int temp = (neg_b); { b0 = temp % 2; if (b0 < 0) b0 = -b0; temp = temp / 2; }; { b1 = temp % 2; if (b1 < 0) b1 = -b1; temp = temp / 2; }; { b2 = temp % 2; if (b2 < 0) b2 = -b2; temp = temp / 2; }; { b3 = temp % 2; if (b3 < 0) b3 = -b3; temp = temp / 2; }; { b4 = temp % 2; if (b4 < 0) b4 = -b4; temp = temp / 2; }; { b5 = temp % 2; if (b5 < 0) b5 = -b5; temp = temp / 2; }; { b6 = temp % 2; if (b6 < 0) b6 = -b6; temp = temp / 2; }; { b7 = temp % 2; if (b7 < 0) b7 = -b7; temp = temp / 2; }; { b8 = temp % 2; if (b8 < 0) b8 = -b8; temp = temp / 2; }; { b9 = temp % 2; if (b9 < 0) b9 = -b9; temp = temp / 2; }; { b10 = temp % 2; if (b10 < 0) b10 = -b10; temp = temp / 2; }; { b11 = temp % 2; if (b11 < 0) b11 = -b11; temp = temp / 2; }; { b12 = temp % 2; if (b12 < 0) b12 = -b12; temp = temp / 2; }; { b13 = temp % 2; if (b13 < 0) b13 = -b13; temp = temp / 2; }; { b14 = temp % 2; if (b14 < 0) b14 = -b14; temp = temp / 2; }; { b15 = temp % 2; if (b15 < 0) b15 = -b15; temp = temp / 2; }; }; int c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14; int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; { int a_xor_b; { int a_or_b; { if ((a0) || (b0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s0 = 1; } else { s0 = 0; } }; }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c0 = 1; } else { c0 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a1) || (b1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s1 = 1; } else { s1 = 0; } }; }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c1 = 1; } else { c1 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a2) || (b2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s2 = 1; } else { s2 = 0; } }; }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c1)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c2 = 1; } else { c2 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a3) || (b3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s3 = 1; } else { s3 = 0; } }; }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c2)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c3 = 1; } else { c3 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a4) || (b4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s4 = 1; } else { s4 = 0; } }; }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c3)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c4 = 1; } else { c4 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a5) || (b5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s5 = 1; } else { s5 = 0; } }; }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c4)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c5 = 1; } else { c5 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a6) || (b6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s6 = 1; } else { s6 = 0; } }; }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c5)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c6 = 1; } else { c6 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a7) || (b7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s7 = 1; } else { s7 = 0; } }; }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c6)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c7 = 1; } else { c7 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a8) || (b8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s8 = 1; } else { s8 = 0; } }; }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c7)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c8 = 1; } else { c8 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a9) || (b9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s9 = 1; } else { s9 = 0; } }; }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c8)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c9 = 1; } else { c9 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a10) || (b10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s10 = 1; } else { s10 = 0; } }; }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c9)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c10 = 1; } else { c10 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a11) || (b11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s11 = 1; } else { s11 = 0; } }; }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c10)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c11 = 1; } else { c11 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a12) || (b12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s12 = 1; } else { s12 = 0; } }; }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c11)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c12 = 1; } else { c12 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a13) || (b13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s13 = 1; } else { s13 = 0; } }; }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c12)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c13 = 1; } else { c13 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a14) || (b14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s14 = 1; } else { s14 = 0; } }; }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c13)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c14 = 1; } else { c14 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a15) || (b15)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s15 = 1; } else { s15 = 0; } }; }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c14)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { cout = 1; } else { cout = 0; } }; }; { n1 = 0; n1 = n1 * 2 + (s15); n1 = n1 * 2 + (s14); n1 = n1 * 2 + (s13); n1 = n1 * 2 + (s12); n1 = n1 * 2 + (s11); n1 = n1 * 2 + (s10); n1 = n1 * 2 + (s9); n1 = n1 * 2 + (s8); n1 = n1 * 2 + (s7); n1 = n1 * 2 + (s6); n1 = n1 * 2 + (s5); n1 = n1 * 2 + (s4); n1 = n1 * 2 + (s3); n1 = n1 * 2 + (s2); n1 = n1 * 2 + (s1); n1 = n1 * 2 + (s0); }; }; }; }; int f1 = fib(n1); int n2; { int neg_b; { int not_a; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (2); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int o0, o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12, o13, o14, o15; { if (!(a0)) { o0 = 1; } else { o0 = 0; } }; { if (!(a1)) { o1 = 1; } else { o1 = 0; } }; { if (!(a2)) { o2 = 1; } else { o2 = 0; } }; { if (!(a3)) { o3 = 1; } else { o3 = 0; } }; { if (!(a4)) { o4 = 1; } else { o4 = 0; } }; { if (!(a5)) { o5 = 1; } else { o5 = 0; } }; { if (!(a6)) { o6 = 1; } else { o6 = 0; } }; { if (!(a7)) { o7 = 1; } else { o7 = 0; } }; { if (!(a8)) { o8 = 1; } else { o8 = 0; } }; { if (!(a9)) { o9 = 1; } else { o9 = 0; } }; { if (!(a10)) { o10 = 1; } else { o10 = 0; } }; { if (!(a11)) { o11 = 1; } else { o11 = 0; } }; { if (!(a12)) { o12 = 1; } else { o12 = 0; } }; { if (!(a13)) { o13 = 1; } else { o13 = 0; } }; { if (!(a14)) { o14 = 1; } else { o14 = 0; } }; { if (!(a15)) { o15 = 1; } else { o15 = 0; } }; { not_a = 0; not_a = not_a * 2 + (o15); not_a = not_a * 2 + (o14); not_a = not_a * 2 + (o13); not_a = not_a * 2 + (o12); not_a = not_a * 2 + (o11); not_a = not_a * 2 + (o10); not_a = not_a * 2 + (o9); not_a = not_a * 2 + (o8); not_a = not_a * 2 + (o7); not_a = not_a * 2 + (o6); not_a = not_a * 2 + (o5); not_a = not_a * 2 + (o4); not_a = not_a * 2 + (o3); not_a = not_a * 2 + (o2); not_a = not_a * 2 + (o1); not_a = not_a * 2 + (o0); }; }; { int cout; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (not_a); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; { int temp = (1); { b0 = temp % 2; if (b0 < 0) b0 = -b0; temp = temp / 2; }; { b1 = temp % 2; if (b1 < 0) b1 = -b1; temp = temp / 2; }; { b2 = temp % 2; if (b2 < 0) b2 = -b2; temp = temp / 2; }; { b3 = temp % 2; if (b3 < 0) b3 = -b3; temp = temp / 2; }; { b4 = temp % 2; if (b4 < 0) b4 = -b4; temp = temp / 2; }; { b5 = temp % 2; if (b5 < 0) b5 = -b5; temp = temp / 2; }; { b6 = temp % 2; if (b6 < 0) b6 = -b6; temp = temp / 2; }; { b7 = temp % 2; if (b7 < 0) b7 = -b7; temp = temp / 2; }; { b8 = temp % 2; if (b8 < 0) b8 = -b8; temp = temp / 2; }; { b9 = temp % 2; if (b9 < 0) b9 = -b9; temp = temp / 2; }; { b10 = temp % 2; if (b10 < 0) b10 = -b10; temp = temp / 2; }; { b11 = temp % 2; if (b11 < 0) b11 = -b11; temp = temp / 2; }; { b12 = temp % 2; if (b12 < 0) b12 = -b12; temp = temp / 2; }; { b13 = temp % 2; if (b13 < 0) b13 = -b13; temp = temp / 2; }; { b14 = temp % 2; if (b14 < 0) b14 = -b14; temp = temp / 2; }; { b15 = temp % 2; if (b15 < 0) b15 = -b15; temp = temp / 2; }; }; int c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14; int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; { int a_xor_b; { int a_or_b; { if ((a0) || (b0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s0 = 1; } else { s0 = 0; } }; }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c0 = 1; } else { c0 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a1) || (b1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s1 = 1; } else { s1 = 0; } }; }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c1 = 1; } else { c1 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a2) || (b2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s2 = 1; } else { s2 = 0; } }; }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c1)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c2 = 1; } else { c2 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a3) || (b3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s3 = 1; } else { s3 = 0; } }; }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c2)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c3 = 1; } else { c3 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a4) || (b4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s4 = 1; } else { s4 = 0; } }; }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c3)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c4 = 1; } else { c4 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a5) || (b5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s5 = 1; } else { s5 = 0; } }; }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c4)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c5 = 1; } else { c5 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a6) || (b6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s6 = 1; } else { s6 = 0; } }; }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c5)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c6 = 1; } else { c6 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a7) || (b7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s7 = 1; } else { s7 = 0; } }; }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c6)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c7 = 1; } else { c7 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a8) || (b8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s8 = 1; } else { s8 = 0; } }; }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c7)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c8 = 1; } else { c8 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a9) || (b9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s9 = 1; } else { s9 = 0; } }; }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c8)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c9 = 1; } else { c9 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a10) || (b10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s10 = 1; } else { s10 = 0; } }; }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c9)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c10 = 1; } else { c10 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a11) || (b11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s11 = 1; } else { s11 = 0; } }; }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c10)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c11 = 1; } else { c11 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a12) || (b12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s12 = 1; } else { s12 = 0; } }; }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c11)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c12 = 1; } else { c12 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a13) || (b13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s13 = 1; } else { s13 = 0; } }; }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c12)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c13 = 1; } else { c13 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a14) || (b14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s14 = 1; } else { s14 = 0; } }; }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c13)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c14 = 1; } else { c14 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a15) || (b15)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s15 = 1; } else { s15 = 0; } }; }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c14)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { cout = 1; } else { cout = 0; } }; }; { neg_b = 0; neg_b = neg_b * 2 + (s15); neg_b = neg_b * 2 + (s14); neg_b = neg_b * 2 + (s13); neg_b = neg_b * 2 + (s12); neg_b = neg_b * 2 + (s11); neg_b = neg_b * 2 + (s10); neg_b = neg_b * 2 + (s9); neg_b = neg_b * 2 + (s8); neg_b = neg_b * 2 + (s7); neg_b = neg_b * 2 + (s6); neg_b = neg_b * 2 + (s5); neg_b = neg_b * 2 + (s4); neg_b = neg_b * 2 + (s3); neg_b = neg_b * 2 + (s2); neg_b = neg_b * 2 + (s1); neg_b = neg_b * 2 + (s0); }; }; }; }; { int cout; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (n); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; { int temp = (neg_b); { b0 = temp % 2; if (b0 < 0) b0 = -b0; temp = temp / 2; }; { b1 = temp % 2; if (b1 < 0) b1 = -b1; temp = temp / 2; }; { b2 = temp % 2; if (b2 < 0) b2 = -b2; temp = temp / 2; }; { b3 = temp % 2; if (b3 < 0) b3 = -b3; temp = temp / 2; }; { b4 = temp % 2; if (b4 < 0) b4 = -b4; temp = temp / 2; }; { b5 = temp % 2; if (b5 < 0) b5 = -b5; temp = temp / 2; }; { b6 = temp % 2; if (b6 < 0) b6 = -b6; temp = temp / 2; }; { b7 = temp % 2; if (b7 < 0) b7 = -b7; temp = temp / 2; }; { b8 = temp % 2; if (b8 < 0) b8 = -b8; temp = temp / 2; }; { b9 = temp % 2; if (b9 < 0) b9 = -b9; temp = temp / 2; }; { b10 = temp % 2; if (b10 < 0) b10 = -b10; temp = temp / 2; }; { b11 = temp % 2; if (b11 < 0) b11 = -b11; temp = temp / 2; }; { b12 = temp % 2; if (b12 < 0) b12 = -b12; temp = temp / 2; }; { b13 = temp % 2; if (b13 < 0) b13 = -b13; temp = temp / 2; }; { b14 = temp % 2; if (b14 < 0) b14 = -b14; temp = temp / 2; }; { b15 = temp % 2; if (b15 < 0) b15 = -b15; temp = temp / 2; }; }; int c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14; int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; { int a_xor_b; { int a_or_b; { if ((a0) || (b0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s0 = 1; } else { s0 = 0; } }; }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c0 = 1; } else { c0 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a1) || (b1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s1 = 1; } else { s1 = 0; } }; }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c1 = 1; } else { c1 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a2) || (b2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s2 = 1; } else { s2 = 0; } }; }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c1)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c2 = 1; } else { c2 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a3) || (b3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s3 = 1; } else { s3 = 0; } }; }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c2)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c3 = 1; } else { c3 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a4) || (b4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s4 = 1; } else { s4 = 0; } }; }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c3)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c4 = 1; } else { c4 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a5) || (b5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s5 = 1; } else { s5 = 0; } }; }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c4)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c5 = 1; } else { c5 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a6) || (b6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s6 = 1; } else { s6 = 0; } }; }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c5)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c6 = 1; } else { c6 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a7) || (b7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s7 = 1; } else { s7 = 0; } }; }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c6)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c7 = 1; } else { c7 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a8) || (b8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s8 = 1; } else { s8 = 0; } }; }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c7)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c8 = 1; } else { c8 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a9) || (b9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s9 = 1; } else { s9 = 0; } }; }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c8)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c9 = 1; } else { c9 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a10) || (b10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s10 = 1; } else { s10 = 0; } }; }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c9)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c10 = 1; } else { c10 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a11) || (b11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s11 = 1; } else { s11 = 0; } }; }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c10)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c11 = 1; } else { c11 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a12) || (b12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s12 = 1; } else { s12 = 0; } }; }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c11)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c12 = 1; } else { c12 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a13) || (b13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s13 = 1; } else { s13 = 0; } }; }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c12)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c13 = 1; } else { c13 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a14) || (b14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s14 = 1; } else { s14 = 0; } }; }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c13)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c14 = 1; } else { c14 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a15) || (b15)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s15 = 1; } else { s15 = 0; } }; }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c14)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { cout = 1; } else { cout = 0; } }; }; { n2 = 0; n2 = n2 * 2 + (s15); n2 = n2 * 2 + (s14); n2 = n2 * 2 + (s13); n2 = n2 * 2 + (s12); n2 = n2 * 2 + (s11); n2 = n2 * 2 + (s10); n2 = n2 * 2 + (s9); n2 = n2 * 2 + (s8); n2 = n2 * 2 + (s7); n2 = n2 * 2 + (s6); n2 = n2 * 2 + (s5); n2 = n2 * 2 + (s4); n2 = n2 * 2 + (s3); n2 = n2 * 2 + (s2); n2 = n2 * 2 + (s1); n2 = n2 * 2 + (s0); }; }; }; }; int f2 = fib(n2); int ans; { int cout; { int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; { int temp = (f1); { a0 = temp % 2; if (a0 < 0) a0 = -a0; temp = temp / 2; }; { a1 = temp % 2; if (a1 < 0) a1 = -a1; temp = temp / 2; }; { a2 = temp % 2; if (a2 < 0) a2 = -a2; temp = temp / 2; }; { a3 = temp % 2; if (a3 < 0) a3 = -a3; temp = temp / 2; }; { a4 = temp % 2; if (a4 < 0) a4 = -a4; temp = temp / 2; }; { a5 = temp % 2; if (a5 < 0) a5 = -a5; temp = temp / 2; }; { a6 = temp % 2; if (a6 < 0) a6 = -a6; temp = temp / 2; }; { a7 = temp % 2; if (a7 < 0) a7 = -a7; temp = temp / 2; }; { a8 = temp % 2; if (a8 < 0) a8 = -a8; temp = temp / 2; }; { a9 = temp % 2; if (a9 < 0) a9 = -a9; temp = temp / 2; }; { a10 = temp % 2; if (a10 < 0) a10 = -a10; temp = temp / 2; }; { a11 = temp % 2; if (a11 < 0) a11 = -a11; temp = temp / 2; }; { a12 = temp % 2; if (a12 < 0) a12 = -a12; temp = temp / 2; }; { a13 = temp % 2; if (a13 < 0) a13 = -a13; temp = temp / 2; }; { a14 = temp % 2; if (a14 < 0) a14 = -a14; temp = temp / 2; }; { a15 = temp % 2; if (a15 < 0) a15 = -a15; temp = temp / 2; }; }; int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; { int temp = (f2); { b0 = temp % 2; if (b0 < 0) b0 = -b0; temp = temp / 2; }; { b1 = temp % 2; if (b1 < 0) b1 = -b1; temp = temp / 2; }; { b2 = temp % 2; if (b2 < 0) b2 = -b2; temp = temp / 2; }; { b3 = temp % 2; if (b3 < 0) b3 = -b3; temp = temp / 2; }; { b4 = temp % 2; if (b4 < 0) b4 = -b4; temp = temp / 2; }; { b5 = temp % 2; if (b5 < 0) b5 = -b5; temp = temp / 2; }; { b6 = temp % 2; if (b6 < 0) b6 = -b6; temp = temp / 2; }; { b7 = temp % 2; if (b7 < 0) b7 = -b7; temp = temp / 2; }; { b8 = temp % 2; if (b8 < 0) b8 = -b8; temp = temp / 2; }; { b9 = temp % 2; if (b9 < 0) b9 = -b9; temp = temp / 2; }; { b10 = temp % 2; if (b10 < 0) b10 = -b10; temp = temp / 2; }; { b11 = temp % 2; if (b11 < 0) b11 = -b11; temp = temp / 2; }; { b12 = temp % 2; if (b12 < 0) b12 = -b12; temp = temp / 2; }; { b13 = temp % 2; if (b13 < 0) b13 = -b13; temp = temp / 2; }; { b14 = temp % 2; if (b14 < 0) b14 = -b14; temp = temp / 2; }; { b15 = temp % 2; if (b15 < 0) b15 = -b15; temp = temp / 2; }; }; int c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14; int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; { int a_xor_b; { int a_or_b; { if ((a0) || (b0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s0 = 1; } else { s0 = 0; } }; }; int a_and_b; { if ((a0) && (b0)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c0 = 1; } else { c0 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a1) || (b1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c0)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c0)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s1 = 1; } else { s1 = 0; } }; }; int a_and_b; { if ((a1) && (b1)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c0)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c1 = 1; } else { c1 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a2) || (b2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c1)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c1)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s2 = 1; } else { s2 = 0; } }; }; int a_and_b; { if ((a2) && (b2)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c1)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c2 = 1; } else { c2 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a3) || (b3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c2)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c2)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s3 = 1; } else { s3 = 0; } }; }; int a_and_b; { if ((a3) && (b3)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c2)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c3 = 1; } else { c3 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a4) || (b4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c3)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c3)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s4 = 1; } else { s4 = 0; } }; }; int a_and_b; { if ((a4) && (b4)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c3)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c4 = 1; } else { c4 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a5) || (b5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c4)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c4)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s5 = 1; } else { s5 = 0; } }; }; int a_and_b; { if ((a5) && (b5)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c4)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c5 = 1; } else { c5 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a6) || (b6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c5)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c5)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s6 = 1; } else { s6 = 0; } }; }; int a_and_b; { if ((a6) && (b6)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c5)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c6 = 1; } else { c6 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a7) || (b7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c6)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c6)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s7 = 1; } else { s7 = 0; } }; }; int a_and_b; { if ((a7) && (b7)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c6)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c7 = 1; } else { c7 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a8) || (b8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c7)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c7)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s8 = 1; } else { s8 = 0; } }; }; int a_and_b; { if ((a8) && (b8)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c7)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c8 = 1; } else { c8 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a9) || (b9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c8)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c8)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s9 = 1; } else { s9 = 0; } }; }; int a_and_b; { if ((a9) && (b9)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c8)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c9 = 1; } else { c9 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a10) || (b10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c9)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c9)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s10 = 1; } else { s10 = 0; } }; }; int a_and_b; { if ((a10) && (b10)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c9)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c10 = 1; } else { c10 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a11) || (b11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c10)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c10)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s11 = 1; } else { s11 = 0; } }; }; int a_and_b; { if ((a11) && (b11)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c10)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c11 = 1; } else { c11 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a12) || (b12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c11)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c11)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s12 = 1; } else { s12 = 0; } }; }; int a_and_b; { if ((a12) && (b12)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c11)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c12 = 1; } else { c12 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a13) || (b13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c12)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c12)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s13 = 1; } else { s13 = 0; } }; }; int a_and_b; { if ((a13) && (b13)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c12)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c13 = 1; } else { c13 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a14) || (b14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c13)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c13)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s14 = 1; } else { s14 = 0; } }; }; int a_and_b; { if ((a14) && (b14)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c13)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { c14 = 1; } else { c14 = 0; } }; }; { int a_xor_b; { int a_or_b; { if ((a15) || (b15)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { a_xor_b = 1; } else { a_xor_b = 0; } }; }; { int a_or_b; { if ((a_xor_b) || (c14)) { a_or_b = 1; } else { a_or_b = 0; } }; int a_and_b; { if ((a_xor_b) && (c14)) { a_and_b = 1; } else { a_and_b = 0; } }; int a_nand_b; { if (!(a_and_b)) { a_nand_b = 1; } else { a_nand_b = 0; } }; { if ((a_or_b) && (a_nand_b)) { s15 = 1; } else { s15 = 0; } }; }; int a_and_b; { if ((a15) && (b15)) { a_and_b = 1; } else { a_and_b = 0; } }; int ab_and_cin; { if ((a_xor_b) && (c14)) { ab_and_cin = 1; } else { ab_and_cin = 0; } }; { if ((a_and_b) || (ab_and_cin)) { cout = 1; } else { cout = 0; } }; }; { ans = 0; ans = ans * 2 + (s15); ans = ans * 2 + (s14); ans = ans * 2 + (s13); ans = ans * 2 + (s12); ans = ans * 2 + (s11); ans = ans * 2 + (s10); ans = ans * 2 + (s9); ans = ans * 2 + (s8); ans = ans * 2 + (s7); ans = ans * 2 + (s6); ans = ans * 2 + (s5); ans = ans * 2 + (s4); ans = ans * 2 + (s3); ans = ans * 2 + (s2); ans = ans * 2 + (s1); ans = ans * 2 + (s0); }; }; }; return ans; } int main() { int i = 1; while (i <= 20) { putch(102); putch(105); putch(98); putch(40); putint(i); putch(41); putch(32); putch(61); putch(32); putint(fib(i)); putch(10); i = i + 1; } return 0; }