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

entity LGSynth91__alu2 is 
  Port (
    pi0,pi1,pi2,pi3,pi4,pi5,pi6,pi7,pi8,pi9: in std_logic;
    po0,po1,po2,po3,po4,po5: inout std_logic
  );
end LGSynth91__alu2;

architecture LGSynth91__alu2_behav of LGSynth91__alu2 is
signal n22,n23,n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37,n38,n39,n40,n41,n42,n43,n44,n45,n46,n47,n48,n49,n50,n51,n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65,n66,n67,n68,n69,n70,n71,n72,n73,n74: std_logic;
begin
    po0 <= ( pi9 and n23 and pi8 )
      or ( pi9 and not n23 and not pi8 )
      or ( pi9 and n22 and not pi7 )
      or ( not pi9 and pi7 and n25 )
      or ( not pi9 and n24 and pi2 and not pi4 )
      or ( not pi9 and not pi4 and not pi5 and n26 )
      or ( not pi9 and pi7 and not pi5 and n30 )
      or ( not pi9 and pi7 and not pi5 and n31 )
      or ( not pi9 and pi7 and not pi5 and n32 )
      or ( not pi9 and pi2 and pi5 and n35 )
      or ( not pi9 and pi7 and pi5 and n36 )
      or ( not pi9 and pi5 and n31 and n36 )
      or ( not pi9 and pi7 and not pi5 and n27 and pi6 )
      or ( not pi9 and pi7 and not pi5 and n28 and n29 )
      or ( not pi9 and not pi4 and pi5 and not n33 and n34 )
      or ( not pi9 and pi4 and pi5 and pi6 and n37 )
      or ( not pi9 and not pi7 and not pi2 and pi4 and not pi5 and pi6 )
      or ( not pi9 and not pi7 and pi4 and not pi5 and not n27 and not pi6 );
    po1 <= ( pi9 and n38 and not n23 )
      or ( pi9 and n38 and pi8 )
      or ( pi9 and n22 and not pi7 )
      or ( not pi9 and n39 and pi3 )
      or ( not pi9 and n39 and not pi5 )
      or ( pi9 and not n38 and n23 and not pi8 )
      or ( not pi9 and pi7 and pi1 and pi6 )
      or ( not pi9 and pi7 and not pi5 and n31 )
      or ( not pi9 and not pi5 and n31 and not n40 )
      or ( not pi9 and pi7 and not pi5 and n41 )
      or ( not pi9 and pi7 and not pi5 and n43 )
      or ( not pi9 and pi3 and pi5 and n35 )
      or ( not pi9 and pi7 and pi5 and po3 )
      or ( not pi9 and pi5 and n31 and po3 )
      or ( not pi9 and pi7 and not pi5 and pi6 and n40 )
      or ( not pi9 and pi7 and not pi5 and n28 and n42 )
      or ( not pi9 and pi5 and pi6 and pi4 and n44 )
      or ( not pi9 and pi5 and not pi4 and n34 and not n45 )
      or ( not pi9 and not pi7 and not pi3 and not pi5 and pi6 and pi4 )
      or ( not pi9 and not pi7 and not pi5 and not pi6 and not n40 and pi4 );
    po2 <= ( not n45 )
      or ( po3 );
    po3 <= ( pi1 and pi3 );
    po4 <= ( pi9 and n46 and n22 )
      or ( pi9 and n22 and not pi7 )
      or ( pi9 and not pi7 and n48 )
      or ( pi9 and n38 and n23 and not pi8 )
      or ( pi9 and pi7 and n51 and n45 )
      or ( pi9 and pi7 and n55 and po3 )
      or ( pi9 and pi7 and n53 and n44 )
      or ( pi9 and n46 and not pi7 and n31 and pi5 )
      or ( pi9 and not pi7 and n47 and n43 and n50 )
      or ( pi9 and pi7 and n54 and not pi0 and not pi1 )
      or ( pi9 and pi7 and n53 and pi1 and n37 )
      or ( pi9 and pi7 and n53 and n37 and n40 )
      or ( pi9 and not pi7 and n47 and n49 and n50 and not pi4 )
      or ( pi9 and not pi7 and n47 and n49 and not pi4 and pi1 )
      or ( pi9 and pi7 and n49 and n52 and not pi6 and n56 )
      or ( pi9 and pi7 and n49 and n52 and not pi6 and n57 )
      or ( pi9 and pi7 and n52 and not pi6 and n56 and n57 )
      or ( pi9 and not pi7 and n47 and pi4 and n56 and n40 )
      or ( pi9 and not pi7 and n47 and pi4 and n56 and n58 )
      or ( pi9 and not pi7 and n47 and pi4 and n40 and n58 );
    po5 <= ( po2 and n36 )
      or ( po2 and not n33 );
    n22 <= ( not pi6 and n59 );
    n23 <= ( pi9 and pi7 and not pi0 and n54 )
      or ( pi9 and not pi7 and n52 and n26 )
      or ( pi9 and not pi7 and n54 and not n64 )
      or ( pi9 and not pi6 and pi7 and n59 and not n27 )
      or ( pi9 and pi7 and n25 and not n59 and not n27 )
      or ( pi9 and not pi6 and not pi7 and not n59 and pi0 )
      or ( pi9 and pi6 and pi7 and n27 and not pi0 )
      or ( pi9 and not pi5 and not pi6 and not n27 and n32 )
      or ( pi9 and not pi5 and not pi7 and not n64 and n32 )
      or ( pi9 and not pi5 and not pi6 and pi4 and n30 )
      or ( pi9 and not pi5 and not pi6 and pi4 and n29 )
      or ( pi9 and pi7 and n27 and not pi0 and n62 )
      or ( pi9 and not pi7 and not pi0 and n47 and n64 and not pi4 )
      or ( pi9 and not pi6 and pi7 and n52 and not n64 and n65 )
      or ( pi9 and not pi7 and not n27 and n47 and pi4 and n65 )
      or ( pi9 and not pi6 and pi7 and n52 and n64 and not n65 )
      or ( pi9 and not pi7 and n27 and n47 and pi4 and not n65 );
    n24 <= ( not pi6 and n27 );
    n25 <= ( pi0 and pi6 );
    n26 <= ( n24 )
      or ( pi6 and not n27 );
    n27 <= ( n71 and not pi2 )
      or ( n33 and n70 and n63 )
      or ( not pi4 and n72 and n30 )
      or ( not pi4 and n73 and not pi0 )
      or ( not pi4 and n34 and n72 and n29 )
      or ( n36 and not pi4 and n34 and not pi5 )
      or ( n36 and pi9 and not pi6 and pi7 and n59 )
      or ( n36 and pi9 and not pi6 and pi7 and n62 );
    n28 <= ( pi4 and not pi6 );
    n29 <= ( not pi0 and pi2 );
    n30 <= ( pi0 and not pi2 );
    n31 <= ( not pi4 and pi6 );
    n32 <= ( pi0 and not pi4 );
    n33 <= ( pi0 )
      or ( pi2 );
    n34 <= ( pi6 and not pi7 );
    n35 <= ( not pi4 and pi7 );
    n36 <= ( pi0 and pi2 );
    n37 <= ( pi0 and n27 );
    n38 <= ( pi9 and n51 and po3 )
      or ( pi9 and n55 and not pi7 and pi3 )
      or ( pi9 and pi6 and not pi7 and n48 )
      or ( pi9 and n51 and pi7 and not n45 )
      or ( pi9 and n55 and not n36 and n42 )
      or ( pi9 and n55 and not n36 and n41 )
      or ( pi9 and n60 and n43 and not pi5 and not pi6 )
      or ( pi9 and n43 and not pi5 and not pi7 and not n61 )
      or ( pi9 and not pi6 and not pi7 and n52 and n40 )
      or ( pi9 and not pi6 and not pi7 and not n59 and pi1 )
      or ( pi9 and pi6 and not pi7 and n52 and n46 )
      or ( pi9 and not pi6 and pi7 and n59 and n46 )
      or ( pi9 and not pi7 and n52 and n40 and n27 )
      or ( pi9 and n60 and pi7 and pi1 and n53 )
      or ( pi9 and not n60 and pi7 and not pi1 and n53 )
      or ( pi9 and pi7 and n59 and n40 and n24 )
      or ( pi9 and pi7 and n59 and pi1 and n25 )
      or ( pi9 and pi6 and not pi7 and n61 and not pi1 and n62 )
      or ( pi9 and pi6 and not pi7 and n59 and n64 and n49 )
      or ( pi9 and pi6 and pi7 and n59 and not pi1 and not pi0 )
      or ( pi9 and pi6 and not pi7 and n40 and n63 and n56 and n58 )
      or ( pi9 and pi6 and not pi7 and not n40 and n63 and not n56 and n58 )
      or ( pi9 and pi6 and not pi7 and not n40 and n63 and n56 and not n58 )
      or ( pi9 and pi6 and not pi7 and n40 and n63 and not n56 and not n58 )
      or ( pi9 and not pi6 and pi7 and n52 and n49 and n56 and n57 )
      or ( pi9 and not pi6 and pi7 and n52 and not n49 and not n56 and n57 )
      or ( pi9 and not pi6 and pi7 and n52 and not n49 and n56 and not n57 )
      or ( pi9 and not pi6 and pi7 and n52 and n49 and not n56 and not n57 );
    n39 <= ( not pi4 and not pi6 and n40 );
    n40 <= ( n71 and not pi3 )
      or ( n69 and pi9 )
      or ( n69 and not pi4 )
      or ( n70 and n45 and n63 )
      or ( not pi4 and n73 and not pi1 )
      or ( n68 and n72 and pi4 and pi7 )
      or ( pi9 and not pi4 and n74 and n29 and po3 )
      or ( not n45 and pi9 and not pi4 and n29 and pi5 )
      or ( n68 and pi9 and not pi4 and pi7 and not pi5 )
      or ( pi9 and not pi4 and pi7 and not pi5 and n25 )
      or ( pi9 and not pi4 and not n29 and pi5 and n41 )
      or ( pi9 and not pi4 and n74 and not n29 and pi5 and n42 );
    n41 <= ( pi1 and not pi3 );
    n42 <= ( not pi1 and pi3 );
    n43 <= ( pi1 and not pi4 );
    n44 <= ( pi1 and n40 );
    n45 <= ( pi1 )
      or ( pi3 );
    n46 <= ( not n40 and not n27 );
    n47 <= ( not pi5 and pi6 );
    n48 <= ( not n49 and not n64 and n59 );
    n49 <= ( n66 and n40 )
      or ( n66 and pi1 )
      or ( n67 and n44 and n59 )
      or ( n67 and not n40 and n62 )
      or ( n67 and n63 and po3 );
    n50 <= ( pi0 and n64 );
    n51 <= ( n55 and n36 );
    n52 <= ( not pi4 and pi5 );
    n53 <= ( n47 )
      or ( n31 )
      or ( n62 );
    n54 <= ( pi6 and n59 );
    n55 <= ( not pi5 and n28 );
    n56 <= ( n66 and n68 )
      or ( not n49 and n67 and n63 );
    n57 <= ( n65 and n64 );
    n58 <= ( n65 and n27 );
    n59 <= ( pi4 and pi5 );
    n60 <= ( n40 and n37 )
      or ( not n40 and not n37 );
    n61 <= ( not n49 and n50 )
      or ( n49 and not n50 );
    n62 <= ( not pi4 and not pi5 );
    n63 <= ( pi4 and not pi5 );
    n64 <= ( n66 and n27 )
      or ( n66 and pi0 )
      or ( n67 and n37 and n59 )
      or ( n67 and n63 and n36 )
      or ( n67 and not n27 and n62 );
    n65 <= ( not n64 and n67 and n63 )
      or ( n66 and not pi6 and n36 );
    n66 <= ( n72 and n35 );
    n67 <= ( pi9 and n34 );
    n68 <= ( not pi6 and po3 );
    n69 <= ( po3 and not pi5 and n74 );
    n70 <= ( pi6 and pi9 )
      or ( not pi6 and not pi7 and not pi9 );
    n71 <= ( n59 and n34 )
      or ( not pi4 and n72 and not n34 )
      or ( pi4 and not pi9 and n47 and pi7 );
    n72 <= ( pi5 and pi9 );
    n73 <= ( not pi9 and not pi6 and not pi5 )
      or ( not pi9 and not pi6 and not pi7 );
    n74 <= ( pi6 and not pi7 );
end LGSynth91__alu2_behav;
