# Minimizing AND gates in ANF

If I have a boolean expression made up of ANDs and XORs in algebraic normal form, are there any algorithms which can minimize the circuit further?

I'm looking to minimize AND gates specifically.

I'm building ANF from a truth table, so if there's a different way to go about getting a circuit made from XORs and ANDs starting with a truth table that has a minimal number of ANDs that'd be helpful too.

Edit: to be more explicit, I'm limited to using xor and and gates.

• The only realistic answer is "maybe". Commented Apr 13, 2016 at 14:42
• Karnot maps perhaps? Also, the best way to make a complex table would be multiplexor. Commented Apr 13, 2016 at 14:45
• ANF = what precisely? Commented Apr 13, 2016 at 15:17
• Algebraic normal form. en.m.wikipedia.org/wiki/Algebraic_normal_form Commented Apr 13, 2016 at 15:18
• XOR can be made to function like an inverter if you wire one input high. This means you can convert an AND gate to a NAND gate by putting an XOR inverter on the output. So solve for the NAND minimum solution using Karnough map. Then use one AND plus one XOR for each NAND gate. Commented Apr 13, 2016 at 18:16