--- VHDL generated by LogSynth framework (c) Petr Fiser
Library IEEE;
use IEEE.std_logic_1164.all;

entity Cookbook__ternary_sum_nine is 
  Port (
    pi00,pi01,pi02,pi03,pi04,pi05,pi06,pi07,pi08,pi09,pi10,pi11,pi12,pi13,pi14,pi15,pi16,pi17,pi18,pi19,pi20,pi21,pi22,pi23,pi24,pi25,pi26,pi27,pi28,pi29,pi30,pi31,pi32,pi33,pi34,pi35,pi36,pi37,pi38,pi39,pi40,pi41,pi42,pi43,pi44,pi45,pi46,pi47,pi48,pi49,pi50,pi51,pi52,pi53,pi54,pi55,pi56,pi57,pi58,pi59,pi60,pi61,pi62,pi63,pi64,pi65,pi66,pi67,pi68,pi69,pi70,pi71,lo00,lo01,lo02,lo03,lo04,lo05,lo06,lo07,lo08,lo09,lo10,lo11,lo12,lo13,lo14,lo15,lo16,lo17,lo18,lo19,lo20,lo21,lo22,lo23,lo24,lo25,lo26,lo27,lo28,lo29,lo30,lo31,lo32,lo33,lo34,lo35,lo36,lo37,lo38,lo39,lo40,lo41: in std_logic;
    po00,po01,po02,po03,po04,po05,po06,po07,po08,po09,po10,po11,n169,n174,n179,n184,n189,n194,n199,n204,n209,n214_1,n219_1,n224_1,n229_1,n234,n239_1,n244_1,n249_1,n254_1,n259_1,n264,n269_1,n274,n279_1,n284_1,n289_1,n294,n299_1,n304,n309_1,n314_1,n319_1,n324_1,n329_1,n334,n339_1,n344,n349_1,n354,n359,n364,n369,n374: inout std_logic
  );
end Cookbook__ternary_sum_nine;

architecture Cookbook__ternary_sum_nine_behav of Cookbook__ternary_sum_nine is
signal n210,n211,n212,n213,n214,n215,n216,n217,n218,n219,n220,n221,n222,n223,n224,n225,n227,n229,n231,n233,n235,n237,n239,n241,n244,n245,n246,n247,n248,n249,n250,n251,n252,n253,n254,n255,n256,n257,n258,n259,n261,n263,n265,n267,n269,n271,n273,n275,n278,n279,n280,n281,n282,n283,n284,n285,n286,n287,n288,n289,n290,n291,n292,n293,n295,n297,n299,n301,n303,n305,n307,n309,n312,n313,n314,n315,n316,n317,n318,n319,n320,n321,n322,n323,n324,n325,n326,n327,n328,n329,n330,n331,n333,n335,n337,n339,n341,n343,n345,n347,n349,n351: std_logic;
begin
    n210 <= ( not pi07 and pi15 )
      or ( pi07 and not pi15 );
    n211 <= ( pi07 and pi15 );
    n212 <= ( not n211 and not pi06 and pi14 )
      or ( not n211 and pi06 and not pi14 )
      or ( n211 and not pi06 and not pi14 )
      or ( n211 and pi06 and pi14 );
    n213 <= ( n211 and pi06 )
      or ( n211 and pi14 )
      or ( pi06 and pi14 );
    n214 <= ( not n213 and not pi05 and pi13 )
      or ( not n213 and pi05 and not pi13 )
      or ( n213 and not pi05 and not pi13 )
      or ( n213 and pi05 and pi13 );
    n215 <= ( n213 and pi05 )
      or ( n213 and pi13 )
      or ( pi05 and pi13 );
    n216 <= ( not n215 and not pi04 and pi12 )
      or ( not n215 and pi04 and not pi12 )
      or ( n215 and not pi04 and not pi12 )
      or ( n215 and pi04 and pi12 );
    n217 <= ( n215 and pi04 )
      or ( n215 and pi12 )
      or ( pi04 and pi12 );
    n218 <= ( not n217 and not pi03 and pi11 )
      or ( not n217 and pi03 and not pi11 )
      or ( n217 and not pi03 and not pi11 )
      or ( n217 and pi03 and pi11 );
    n219 <= ( n217 and pi03 )
      or ( n217 and pi11 )
      or ( pi03 and pi11 );
    n220 <= ( not n219 and not pi02 and pi10 )
      or ( not n219 and pi02 and not pi10 )
      or ( n219 and not pi02 and not pi10 )
      or ( n219 and pi02 and pi10 );
    n221 <= ( n219 and pi02 )
      or ( n219 and pi10 )
      or ( pi02 and pi10 );
    n222 <= ( not n221 and not pi01 and pi09 )
      or ( not n221 and pi01 and not pi09 )
      or ( n221 and not pi01 and not pi09 )
      or ( n221 and pi01 and pi09 );
    n223 <= ( n221 and pi01 )
      or ( n221 and pi09 )
      or ( pi01 and pi09 );
    n224 <= ( not n223 and not pi00 and pi08 )
      or ( not n223 and pi00 and not pi08 )
      or ( n223 and not pi00 and not pi08 )
      or ( n223 and pi00 and pi08 );
    n225 <= ( n223 and pi00 )
      or ( n223 and pi08 )
      or ( pi00 and pi08 );
    n169 <= ( not n210 and pi23 )
      or ( n210 and not pi23 );
    n227 <= ( n210 and pi23 );
    n174 <= ( not n227 and not n212 and pi22 )
      or ( not n227 and n212 and not pi22 )
      or ( n227 and not n212 and not pi22 )
      or ( n227 and n212 and pi22 );
    n229 <= ( n227 and n212 )
      or ( n227 and pi22 )
      or ( n212 and pi22 );
    n179 <= ( not n229 and not n214 and pi21 )
      or ( not n229 and n214 and not pi21 )
      or ( n229 and not n214 and not pi21 )
      or ( n229 and n214 and pi21 );
    n231 <= ( n229 and n214 )
      or ( n229 and pi21 )
      or ( n214 and pi21 );
    n184 <= ( not n231 and not n216 and pi20 )
      or ( not n231 and n216 and not pi20 )
      or ( n231 and not n216 and not pi20 )
      or ( n231 and n216 and pi20 );
    n233 <= ( n231 and n216 )
      or ( n231 and pi20 )
      or ( n216 and pi20 );
    n189 <= ( not n233 and not n218 and pi19 )
      or ( not n233 and n218 and not pi19 )
      or ( n233 and not n218 and not pi19 )
      or ( n233 and n218 and pi19 );
    n235 <= ( n233 and n218 )
      or ( n233 and pi19 )
      or ( n218 and pi19 );
    n194 <= ( not n235 and not n220 and pi18 )
      or ( not n235 and n220 and not pi18 )
      or ( n235 and not n220 and not pi18 )
      or ( n235 and n220 and pi18 );
    n237 <= ( n235 and n220 )
      or ( n235 and pi18 )
      or ( n220 and pi18 );
    n199 <= ( not n237 and not n222 and pi17 )
      or ( not n237 and n222 and not pi17 )
      or ( n237 and not n222 and not pi17 )
      or ( n237 and n222 and pi17 );
    n239 <= ( n237 and n222 )
      or ( n237 and pi17 )
      or ( n222 and pi17 );
    n204 <= ( not n239 and not n224 and pi16 )
      or ( not n239 and n224 and not pi16 )
      or ( n239 and not n224 and not pi16 )
      or ( n239 and n224 and pi16 );
    n241 <= ( n239 and n224 )
      or ( n239 and pi16 )
      or ( n224 and pi16 );
    n209 <= ( not n241 and n225 )
      or ( n241 and not n225 );
    n214_1 <= ( n241 and n225 );
    n244 <= ( not pi31 and pi39 )
      or ( pi31 and not pi39 );
    n245 <= ( pi31 and pi39 );
    n246 <= ( not n245 and not pi30 and pi38 )
      or ( not n245 and pi30 and not pi38 )
      or ( n245 and not pi30 and not pi38 )
      or ( n245 and pi30 and pi38 );
    n247 <= ( n245 and pi30 )
      or ( n245 and pi38 )
      or ( pi30 and pi38 );
    n248 <= ( not n247 and not pi29 and pi37 )
      or ( not n247 and pi29 and not pi37 )
      or ( n247 and not pi29 and not pi37 )
      or ( n247 and pi29 and pi37 );
    n249 <= ( n247 and pi29 )
      or ( n247 and pi37 )
      or ( pi29 and pi37 );
    n250 <= ( not n249 and not pi28 and pi36 )
      or ( not n249 and pi28 and not pi36 )
      or ( n249 and not pi28 and not pi36 )
      or ( n249 and pi28 and pi36 );
    n251 <= ( n249 and pi28 )
      or ( n249 and pi36 )
      or ( pi28 and pi36 );
    n252 <= ( not n251 and not pi27 and pi35 )
      or ( not n251 and pi27 and not pi35 )
      or ( n251 and not pi27 and not pi35 )
      or ( n251 and pi27 and pi35 );
    n253 <= ( n251 and pi27 )
      or ( n251 and pi35 )
      or ( pi27 and pi35 );
    n254 <= ( not n253 and not pi26 and pi34 )
      or ( not n253 and pi26 and not pi34 )
      or ( n253 and not pi26 and not pi34 )
      or ( n253 and pi26 and pi34 );
    n255 <= ( n253 and pi26 )
      or ( n253 and pi34 )
      or ( pi26 and pi34 );
    n256 <= ( not n255 and not pi25 and pi33 )
      or ( not n255 and pi25 and not pi33 )
      or ( n255 and not pi25 and not pi33 )
      or ( n255 and pi25 and pi33 );
    n257 <= ( n255 and pi25 )
      or ( n255 and pi33 )
      or ( pi25 and pi33 );
    n258 <= ( not n257 and not pi24 and pi32 )
      or ( not n257 and pi24 and not pi32 )
      or ( n257 and not pi24 and not pi32 )
      or ( n257 and pi24 and pi32 );
    n259 <= ( n257 and pi24 )
      or ( n257 and pi32 )
      or ( pi24 and pi32 );
    n219_1 <= ( not n244 and pi47 )
      or ( n244 and not pi47 );
    n261 <= ( n244 and pi47 );
    n224_1 <= ( not n261 and not n246 and pi46 )
      or ( not n261 and n246 and not pi46 )
      or ( n261 and not n246 and not pi46 )
      or ( n261 and n246 and pi46 );
    n263 <= ( n261 and n246 )
      or ( n261 and pi46 )
      or ( n246 and pi46 );
    n229_1 <= ( not n263 and not n248 and pi45 )
      or ( not n263 and n248 and not pi45 )
      or ( n263 and not n248 and not pi45 )
      or ( n263 and n248 and pi45 );
    n265 <= ( n263 and n248 )
      or ( n263 and pi45 )
      or ( n248 and pi45 );
    n234 <= ( not n265 and not n250 and pi44 )
      or ( not n265 and n250 and not pi44 )
      or ( n265 and not n250 and not pi44 )
      or ( n265 and n250 and pi44 );
    n267 <= ( n265 and n250 )
      or ( n265 and pi44 )
      or ( n250 and pi44 );
    n239_1 <= ( not n267 and not n252 and pi43 )
      or ( not n267 and n252 and not pi43 )
      or ( n267 and not n252 and not pi43 )
      or ( n267 and n252 and pi43 );
    n269 <= ( n267 and n252 )
      or ( n267 and pi43 )
      or ( n252 and pi43 );
    n244_1 <= ( not n269 and not n254 and pi42 )
      or ( not n269 and n254 and not pi42 )
      or ( n269 and not n254 and not pi42 )
      or ( n269 and n254 and pi42 );
    n271 <= ( n269 and n254 )
      or ( n269 and pi42 )
      or ( n254 and pi42 );
    n249_1 <= ( not n271 and not n256 and pi41 )
      or ( not n271 and n256 and not pi41 )
      or ( n271 and not n256 and not pi41 )
      or ( n271 and n256 and pi41 );
    n273 <= ( n271 and n256 )
      or ( n271 and pi41 )
      or ( n256 and pi41 );
    n254_1 <= ( not n273 and not n258 and pi40 )
      or ( not n273 and n258 and not pi40 )
      or ( n273 and not n258 and not pi40 )
      or ( n273 and n258 and pi40 );
    n275 <= ( n273 and n258 )
      or ( n273 and pi40 )
      or ( n258 and pi40 );
    n259_1 <= ( not n275 and n259 )
      or ( n275 and not n259 );
    n264 <= ( n275 and n259 );
    n278 <= ( not pi55 and pi63 )
      or ( pi55 and not pi63 );
    n279 <= ( pi55 and pi63 );
    n280 <= ( not n279 and not pi54 and pi62 )
      or ( not n279 and pi54 and not pi62 )
      or ( n279 and not pi54 and not pi62 )
      or ( n279 and pi54 and pi62 );
    n281 <= ( n279 and pi54 )
      or ( n279 and pi62 )
      or ( pi54 and pi62 );
    n282 <= ( not n281 and not pi53 and pi61 )
      or ( not n281 and pi53 and not pi61 )
      or ( n281 and not pi53 and not pi61 )
      or ( n281 and pi53 and pi61 );
    n283 <= ( n281 and pi53 )
      or ( n281 and pi61 )
      or ( pi53 and pi61 );
    n284 <= ( not n283 and not pi52 and pi60 )
      or ( not n283 and pi52 and not pi60 )
      or ( n283 and not pi52 and not pi60 )
      or ( n283 and pi52 and pi60 );
    n285 <= ( n283 and pi52 )
      or ( n283 and pi60 )
      or ( pi52 and pi60 );
    n286 <= ( not n285 and not pi51 and pi59 )
      or ( not n285 and pi51 and not pi59 )
      or ( n285 and not pi51 and not pi59 )
      or ( n285 and pi51 and pi59 );
    n287 <= ( n285 and pi51 )
      or ( n285 and pi59 )
      or ( pi51 and pi59 );
    n288 <= ( not n287 and not pi50 and pi58 )
      or ( not n287 and pi50 and not pi58 )
      or ( n287 and not pi50 and not pi58 )
      or ( n287 and pi50 and pi58 );
    n289 <= ( n287 and pi50 )
      or ( n287 and pi58 )
      or ( pi50 and pi58 );
    n290 <= ( not n289 and not pi49 and pi57 )
      or ( not n289 and pi49 and not pi57 )
      or ( n289 and not pi49 and not pi57 )
      or ( n289 and pi49 and pi57 );
    n291 <= ( n289 and pi49 )
      or ( n289 and pi57 )
      or ( pi49 and pi57 );
    n292 <= ( not n291 and not pi48 and pi56 )
      or ( not n291 and pi48 and not pi56 )
      or ( n291 and not pi48 and not pi56 )
      or ( n291 and pi48 and pi56 );
    n293 <= ( n291 and pi48 )
      or ( n291 and pi56 )
      or ( pi48 and pi56 );
    n269_1 <= ( not n278 and pi71 )
      or ( n278 and not pi71 );
    n295 <= ( n278 and pi71 );
    n274 <= ( not n295 and not n280 and pi70 )
      or ( not n295 and n280 and not pi70 )
      or ( n295 and not n280 and not pi70 )
      or ( n295 and n280 and pi70 );
    n297 <= ( n295 and n280 )
      or ( n295 and pi70 )
      or ( n280 and pi70 );
    n279_1 <= ( not n297 and not n282 and pi69 )
      or ( not n297 and n282 and not pi69 )
      or ( n297 and not n282 and not pi69 )
      or ( n297 and n282 and pi69 );
    n299 <= ( n297 and n282 )
      or ( n297 and pi69 )
      or ( n282 and pi69 );
    n284_1 <= ( not n299 and not n284 and pi68 )
      or ( not n299 and n284 and not pi68 )
      or ( n299 and not n284 and not pi68 )
      or ( n299 and n284 and pi68 );
    n301 <= ( n299 and n284 )
      or ( n299 and pi68 )
      or ( n284 and pi68 );
    n289_1 <= ( not n301 and not n286 and pi67 )
      or ( not n301 and n286 and not pi67 )
      or ( n301 and not n286 and not pi67 )
      or ( n301 and n286 and pi67 );
    n303 <= ( n301 and n286 )
      or ( n301 and pi67 )
      or ( n286 and pi67 );
    n294 <= ( not n303 and not n288 and pi66 )
      or ( not n303 and n288 and not pi66 )
      or ( n303 and not n288 and not pi66 )
      or ( n303 and n288 and pi66 );
    n305 <= ( n303 and n288 )
      or ( n303 and pi66 )
      or ( n288 and pi66 );
    n299_1 <= ( not n305 and not n290 and pi65 )
      or ( not n305 and n290 and not pi65 )
      or ( n305 and not n290 and not pi65 )
      or ( n305 and n290 and pi65 );
    n307 <= ( n305 and n290 )
      or ( n305 and pi65 )
      or ( n290 and pi65 );
    n304 <= ( not n307 and not n292 and pi64 )
      or ( not n307 and n292 and not pi64 )
      or ( n307 and not n292 and not pi64 )
      or ( n307 and n292 and pi64 );
    n309 <= ( n307 and n292 )
      or ( n307 and pi64 )
      or ( n292 and pi64 );
    n309_1 <= ( not n309 and n293 )
      or ( n309 and not n293 );
    n314_1 <= ( n309 and n293 );
    n312 <= ( not lo00 and lo10 )
      or ( lo00 and not lo10 );
    n313 <= ( lo00 and lo10 );
    n314 <= ( not n313 and not lo01 and lo11 )
      or ( not n313 and lo01 and not lo11 )
      or ( n313 and not lo01 and not lo11 )
      or ( n313 and lo01 and lo11 );
    n315 <= ( n313 and lo01 )
      or ( n313 and lo11 )
      or ( lo01 and lo11 );
    n316 <= ( not n315 and not lo02 and lo12 )
      or ( not n315 and lo02 and not lo12 )
      or ( n315 and not lo02 and not lo12 )
      or ( n315 and lo02 and lo12 );
    n317 <= ( n315 and lo02 )
      or ( n315 and lo12 )
      or ( lo02 and lo12 );
    n318 <= ( not n317 and not lo03 and lo13 )
      or ( not n317 and lo03 and not lo13 )
      or ( n317 and not lo03 and not lo13 )
      or ( n317 and lo03 and lo13 );
    n319 <= ( n317 and lo03 )
      or ( n317 and lo13 )
      or ( lo03 and lo13 );
    n320 <= ( not n319 and not lo04 and lo14 )
      or ( not n319 and lo04 and not lo14 )
      or ( n319 and not lo04 and not lo14 )
      or ( n319 and lo04 and lo14 );
    n321 <= ( n319 and lo04 )
      or ( n319 and lo14 )
      or ( lo04 and lo14 );
    n322 <= ( not n321 and not lo05 and lo15 )
      or ( not n321 and lo05 and not lo15 )
      or ( n321 and not lo05 and not lo15 )
      or ( n321 and lo05 and lo15 );
    n323 <= ( n321 and lo05 )
      or ( n321 and lo15 )
      or ( lo05 and lo15 );
    n324 <= ( not n323 and not lo06 and lo16 )
      or ( not n323 and lo06 and not lo16 )
      or ( n323 and not lo06 and not lo16 )
      or ( n323 and lo06 and lo16 );
    n325 <= ( n323 and lo06 )
      or ( n323 and lo16 )
      or ( lo06 and lo16 );
    n326 <= ( not n325 and not lo07 and lo17 )
      or ( not n325 and lo07 and not lo17 )
      or ( n325 and not lo07 and not lo17 )
      or ( n325 and lo07 and lo17 );
    n327 <= ( n325 and lo07 )
      or ( n325 and lo17 )
      or ( lo07 and lo17 );
    n328 <= ( not n327 and not lo08 and lo18 )
      or ( not n327 and lo08 and not lo18 )
      or ( n327 and not lo08 and not lo18 )
      or ( n327 and lo08 and lo18 );
    n329 <= ( n327 and lo08 )
      or ( n327 and lo18 )
      or ( lo08 and lo18 );
    n330 <= ( not n329 and not lo09 and lo19 )
      or ( not n329 and lo09 and not lo19 )
      or ( n329 and not lo09 and not lo19 )
      or ( n329 and lo09 and lo19 );
    n331 <= ( n329 and lo09 )
      or ( n329 and lo19 )
      or ( lo09 and lo19 );
    n319_1 <= ( not n312 and lo20 )
      or ( n312 and not lo20 );
    n333 <= ( n312 and lo20 );
    n324_1 <= ( not n333 and not n314 and lo21 )
      or ( not n333 and n314 and not lo21 )
      or ( n333 and not n314 and not lo21 )
      or ( n333 and n314 and lo21 );
    n335 <= ( n333 and n314 )
      or ( n333 and lo21 )
      or ( n314 and lo21 );
    n329_1 <= ( not n335 and not n316 and lo22 )
      or ( not n335 and n316 and not lo22 )
      or ( n335 and not n316 and not lo22 )
      or ( n335 and n316 and lo22 );
    n337 <= ( n335 and n316 )
      or ( n335 and lo22 )
      or ( n316 and lo22 );
    n334 <= ( not n337 and not n318 and lo23 )
      or ( not n337 and n318 and not lo23 )
      or ( n337 and not n318 and not lo23 )
      or ( n337 and n318 and lo23 );
    n339 <= ( n337 and n318 )
      or ( n337 and lo23 )
      or ( n318 and lo23 );
    n339_1 <= ( not n339 and not n320 and lo24 )
      or ( not n339 and n320 and not lo24 )
      or ( n339 and not n320 and not lo24 )
      or ( n339 and n320 and lo24 );
    n341 <= ( n339 and n320 )
      or ( n339 and lo24 )
      or ( n320 and lo24 );
    n344 <= ( not n341 and not n322 and lo25 )
      or ( not n341 and n322 and not lo25 )
      or ( n341 and not n322 and not lo25 )
      or ( n341 and n322 and lo25 );
    n343 <= ( n341 and n322 )
      or ( n341 and lo25 )
      or ( n322 and lo25 );
    n349_1 <= ( not n343 and not n324 and lo26 )
      or ( not n343 and n324 and not lo26 )
      or ( n343 and not n324 and not lo26 )
      or ( n343 and n324 and lo26 );
    n345 <= ( n343 and n324 )
      or ( n343 and lo26 )
      or ( n324 and lo26 );
    n354 <= ( not n345 and not n326 and lo27 )
      or ( not n345 and n326 and not lo27 )
      or ( n345 and not n326 and not lo27 )
      or ( n345 and n326 and lo27 );
    n347 <= ( n345 and n326 )
      or ( n345 and lo27 )
      or ( n326 and lo27 );
    n359 <= ( not n347 and not n328 and lo28 )
      or ( not n347 and n328 and not lo28 )
      or ( n347 and not n328 and not lo28 )
      or ( n347 and n328 and lo28 );
    n349 <= ( n347 and n328 )
      or ( n347 and lo28 )
      or ( n328 and lo28 );
    n364 <= ( not n349 and not n330 and lo29 )
      or ( not n349 and n330 and not lo29 )
      or ( n349 and not n330 and not lo29 )
      or ( n349 and n330 and lo29 );
    n351 <= ( n349 and n330 )
      or ( n349 and lo29 )
      or ( n330 and lo29 );
    n369 <= ( not n351 and n331 )
      or ( n351 and not n331 );
    n374 <= ( n351 and n331 );
    po00 <= ( lo41 );
    po01 <= ( lo40 );
    po02 <= ( lo39 );
    po03 <= ( lo38 );
    po04 <= ( lo37 );
    po05 <= ( lo36 );
    po06 <= ( lo35 );
    po07 <= ( lo34 );
    po08 <= ( lo33 );
    po09 <= ( lo32 );
    po10 <= ( lo31 );
    po11 <= ( lo30 );
end Cookbook__ternary_sum_nine_behav;
