function [ c ] = add8_TreeAdder_With_KoggeStoneArchitecture( a, b ) % Approximate function add8_TreeAdder_With_KoggeStoneArchitecture % Library = EvoApprox8b % Circuit = add8_TA_wt_KSA % Area (180) = 2240 % Delay (180) = 1.080 % Power (180) = 841.10 % Area (45) = 157 % Delay (45) = 0.430 % Power (45) = 67.95 % Nodes = 52 % HD = 0 % MAE = 0.00000 % MSE = 0.00000 % MRE = 0.00 % % WCE = 0 % WCRE = 0 % % EP = 0.0 % a = uint16(a); b = uint16(b); c = 0; n0 = bitand(bitshift(a, -0), 1, 'uint16'); n2 = bitand(bitshift(a, -1), 1, 'uint16'); n4 = bitand(bitshift(a, -2), 1, 'uint16'); n6 = bitand(bitshift(a, -3), 1, 'uint16'); n8 = bitand(bitshift(a, -4), 1, 'uint16'); n10 = bitand(bitshift(a, -5), 1, 'uint16'); n12 = bitand(bitshift(a, -6), 1, 'uint16'); n14 = bitand(bitshift(a, -7), 1, 'uint16'); n16 = bitand(bitshift(b, -0), 1, 'uint16'); n18 = bitand(bitshift(b, -1), 1, 'uint16'); n20 = bitand(bitshift(b, -2), 1, 'uint16'); n22 = bitand(bitshift(b, -3), 1, 'uint16'); n24 = bitand(bitshift(b, -4), 1, 'uint16'); n26 = bitand(bitshift(b, -5), 1, 'uint16'); n28 = bitand(bitshift(b, -6), 1, 'uint16'); n30 = bitand(bitshift(b, -7), 1, 'uint16'); n32 = bitxor(n0, n16); n33 = bitand(n0, n16); n34 = bitxor(n2, n18); n35 = bitand(n2, n18); n36 = bitxor(n4, n20); n37 = bitand(n4, n20); n38 = bitxor(n6, n22); n39 = bitand(n6, n22); n40 = bitxor(n8, n24); n41 = bitand(n8, n24); n42 = bitxor(n10, n26); n43 = bitand(n10, n26); n44 = bitxor(n12, n28); n45 = bitand(n12, n28); n46 = bitxor(n14, n30); n47 = bitand(n14, n30); n48 = bitand(n34, n33); n52 = bitor(n35, n48); n54 = bitand(n36, n35); n56 = bitand(n36, n34); n58 = bitor(n37, n54); n60 = bitand(n38, n37); n62 = bitand(n38, n36); n64 = bitor(n39, n60); n66 = bitand(n40, n39); n68 = bitand(n40, n38); n70 = bitor(n41, n66); n72 = bitand(n42, n41); n74 = bitand(n42, n40); n76 = bitor(n43, n72); n78 = bitand(n44, n43); n80 = bitand(n44, n42); n82 = bitor(n45, n78); n84 = bitand(n56, n33); n86 = bitor(n58, n84); n88 = bitand(n62, n52); n92 = bitor(n64, n88); n94 = bitand(n68, n58); n96 = bitand(n68, n56); n98 = bitor(n70, n94); n100 = bitand(n74, n64); n102 = bitand(n74, n62); n104 = bitor(n76, n100); n106 = bitand(n80, n70); n108 = bitand(n80, n68); n110 = bitor(n82, n106); n112 = bitand(n96, n33); n114 = bitor(n98, n112); n116 = bitand(n102, n52); n118 = bitor(n104, n116); n120 = bitand(n108, n86); n122 = bitor(n110, n120); n124 = bitxor(n34, n33); n126 = bitxor(n36, n52); n128 = bitxor(n38, n86); n130 = bitxor(n40, n92); n132 = bitxor(n42, n114); n134 = bitxor(n44, n118); n136 = bitxor(n46, n122); n137 = bitand(n46, n122); n138 = bitor(n47, n137); c = bitor(c, bitshift(bitand(n32, 1), 0)); c = bitor(c, bitshift(bitand(n124, 1), 1)); c = bitor(c, bitshift(bitand(n126, 1), 2)); c = bitor(c, bitshift(bitand(n128, 1), 3)); c = bitor(c, bitshift(bitand(n130, 1), 4)); c = bitor(c, bitshift(bitand(n132, 1), 5)); c = bitor(c, bitshift(bitand(n134, 1), 6)); c = bitor(c, bitshift(bitand(n136, 1), 7)); c = bitor(c, bitshift(bitand(n138, 1), 8)); end