An algorithm for efficient restructuring of logic circuitry to improve
selected characteristics (delay and/or area). Along a path through the
logic circuitry, the logic is converted to equivalent implementations with
the same Boolean function using specific choices from the library of
available cells, such that these conversions provide an improvement in the
cost/benefit for the selected characteristics.