Das Bild zeigt zwei Dekompositionen einer Schaltung (eines Baumes) in AND-Gatter mit zwei Eingängen und Inverter. Als einfaches Beispiel für eine Abdeckung wird die obere Dekomposition betrachtet. Die Bibliothek beinhaltet NAND- und NOR-Zellen mit bis zu drei Eingängen und Inverter. Die Kosten werden vereinfacht durch die Anzahl der Transistoren der Zelle bestimmt und setzen sich für die einzelnen Matchings zusammen aus den Kosten der zugeordneten Zelle und den Kosten für die optimalen Matchings der Pfade bis zu den Eingängen dieser Zelle.
1. Matching
Zuerst werden die Gatter an den Eingängen betrachtet. Für die Gatter 1, 2 und 4 gibt es jeweils nur ein Matching, nämlich einen Inverter, der hier die Kosten zwei hat.
Für Gatter 3 gibt es zwei Matchings: Zum einen Weglassen der beiden Inverter 1 und 3 mit den Kosten null, oder einen Inverter. Die Kosten für das zweite Matching setzen sich zusammen aus der zugeordneten Zelle, einem Inverter mit den Kosten zwei, und dem Pfad zum Eingang dieser Zelle. In dem Beispiel besteht dieser Pfad aus dem Gatter 1, für das gerade die Kosten zwei ermittelt wurden. Die Kosten insgesamt betragen also vier.
Für Gatter 10 gibt es nur ein Matching und zwar eine 2-fach NOR-Zelle, die Gatter 2, 3 und 10 abdeckt (not(x1+x2)=(not x1)(not x2)). Die Kosten davon sind vier für die NOR-Zelle und wiederum zwei für den Eingang von Gatter 3, d.h. Gatter 1. Insgesamt hat dieses Matching die Kosten sechs.
Für Gatter 6 gibt es zwei Matchings: Das eine ist ein Inverter mit den Kosten acht (zwei für den Inverter und sechs für dessen Eingang, das Matching für Gatter 10) und das andere ein 2-fach NAND, das die Gatter 10 und 6 abdeckt. Letzteres hat insgesamt die Kosten sechs (vier für die NAND-Gatter plus zwei für Gatter 2 plus Null für die sich aufhebenden Gatter 1 und 3). Da das erste teurer ist, wird es verworfen. So werden alle weiteren Gatter bis zum Ausgang bearbeitet.
2. Akkumulation
Danach werden ausgehend vom optimalen Matching des letzten Gatters die optimalen Matchings für dessen Eingänge bestimmt, und danach die Matchings für dessen Eingänge usw.. Für das Beispiel wird das Ausgangsgatter am besten durch ein 3-fach NAND abgedeckt, das die Gatter 5, 6, 7, 10 und 12 beinhaltet. Diese Zelle wird als Teillösung gewählt. Danach müssen die optimalen Matchings für die Eingänge dieser Zelle der Lösung hinzugefügt werden. In diesem Falle sind dies die optimalen Matchings für die Gatter 2, 3 und 4 und das sind zwei Inverter für Gatter 2 und 4. Die Kosten der Lösung sind insgesamt zehn.
Dieser Algorithmus liefert für die zweite Dekomposition eine andere Lösung, nämlich ein 2-fach NOR, das die Gatter 1, 2, 3, 4, 8, 9 und 11 abdeckt, und ein 2-fach NAND für den restlichen Teil der Schaltung. Diese Lösung hat die Kosten acht und ist damit billiger als die erste Lösung.
Nachteile dieses Verfahrens sind, dass das Ergebnis von der Dekomposition abhängt und dass einige Gatter sich nicht als Baum darstellen lassen (wie z.B. XOR). Es gibt einige Erweiterungen dieses Verfahrens, die diese Nachteile vermeiden, dafür aber aufwendiger sind oder den Lösungsraum weiter einschränken.