 
`include "andgate2_2_1.v"
`include "andgate3_3_1.v"
`include "notgate_1_1.v"
`include "norgate4_4_1.v"
`include "norgate3_3_1.v"
`include "SPLIT_f_ZK_1_4.v"
`include "SPLIT_f_ZK_1_3.v"
`timescale 1ns/1ns
module fulladder(NXUin_1_CI,NXUin_2_B,NXUin_3_A,NXUout_1_CO,NXUout_2_SUM);
input NXUin_1_CI,NXUin_2_B,NXUin_3_A;
output NXUout_1_CO,NXUout_2_SUM;
wire NXU_s11,NXU_s15;
wire NXU_s1,NXU_s12;
wire NXU_s2,NXU_s16;
wire NXU_s9,NXU_s13,NXU_s20;
wire NXU_s6,NXU_s17,NXU_s21;
wire NXU_s3,NXU_s14,NXU_s18;
wire NXU_s8;
wire NXU_s5;
wire NXU_s4,NXU_s7,NXU_s10;
wire NXU_s26,NXU_s27,NXU_s28,NXU_s29;
wire NXU_s22,NXU_s23,NXU_s24;
wire NXU_s19;
wire NXU_s41;
wire NXU_s42;
wire NXU_s43;
wire NXU_s44;
wire NXU_s45;
wire NXU_s46;
wire NXU_s30;
assign NXU_s43 = NXUin_1_CI;
assign NXU_s42 = NXUin_2_B;
assign NXU_s46 = NXUin_3_A;
andgate2_2_1 NXUmap1(.in_1(NXU_s11),.in_2(NXU_s15),.out_1(NXU_s22));
andgate2_2_1 NXUmap2(.in_1(NXU_s1),.in_2(NXU_s12),.out_1(NXU_s23));
andgate2_2_1 NXUmap3(.in_1(NXU_s2),.in_2(NXU_s16),.out_1(NXU_s24));
andgate3_3_1 NXUmap4(.in_1(NXU_s9),.in_2(NXU_s13),
.in_3(NXU_s20),.out_1(NXU_s26));

andgate3_3_1 NXUmap5(.in_1(NXU_s6),.in_2(NXU_s17),
.in_3(NXU_s21),.out_1(NXU_s27));

andgate3_3_1 NXUmap6(.in_1(NXU_s3),.in_2(NXU_s14),
.in_3(NXU_s18),.out_1(NXU_s28));

notgate_1_1 NXUmap7(.in_1(NXU_s8),.out_1(NXU_s45));
notgate_1_1 NXUmap8(.in_1(NXU_s5),.out_1(NXU_s44));
andgate3_3_1 NXUmap9(.in_1(NXU_s4),.in_2(NXU_s7),
.in_3(NXU_s10),.out_1(NXU_s29));

norgate4_4_1 NXUmap10(.in_1(NXU_s26),.in_2(NXU_s27),.in_3(NXU_s28),
.in_4(NXU_s29),.out_1(NXU_s30));
norgate3_3_1 NXUmap11(.in_1(NXU_s22),.in_2(NXU_s23),
.in_3(NXU_s24),.out_1(NXU_s25));

notgate_1_1 NXUmap12(.in_1(NXU_s19),.out_1(NXU_s41));
SPLIT_f_ZK_1_4 NXUmap13(.in_1(NXU_s41),.out_1(NXU_s1),.out_2(NXU_s2),
.out_3(NXU_s3),.out_4(NXU_s4));
SPLIT_f_ZK_1_3 NXUmap14(.in_1(NXU_s42),.out_1(NXU_s5),
.out_2(NXU_s6),.out_3(NXU_s7));

SPLIT_f_ZK_1_3 NXUmap15(.in_1(NXU_s43),.out_1(NXU_s8),
.out_2(NXU_s9),.out_3(NXU_s10));

SPLIT_f_ZK_1_4 NXUmap16(.in_1(NXU_s44),.out_1(NXU_s11),.out_2(NXU_s12),
.out_3(NXU_s13),.out_4(NXU_s14));
SPLIT_f_ZK_1_4 NXUmap17(.in_1(NXU_s45),.out_1(NXU_s15),.out_2(NXU_s16),
.out_3(NXU_s17),.out_4(NXU_s18));
SPLIT_f_ZK_1_3 NXUmap18(.in_1(NXU_s46),.out_1(NXU_s19),
.out_2(NXU_s20),.out_3(NXU_s21));

assign NXUout_1_CO = NXU_s25;
assign NXUout_2_SUM = NXU_s30;
endmodule

