We address the problem of term normalisation modulo associative-commutative (AC) theories, and describe several techniques
for compiling many-to-one AC matching and reduced term construction. The proposed matching method is based on the construction
of compact bipartite graphs, and is designed for working very efficiently on specific classes of AC patterns. We show how
to refine this algorithm to work in an eager way. General patterns are handled through a program transformation process. Variable
instantiation resulting from the matching phase and construction of the resulting term are also addressed. Our experimental
results with the system ELAN provide strong evidence that compilation of many-to-one AC normalisation using the combination
of these few techniques is crucial for improving the performance of algebraic programming languages.
Keywords compilation - rewrite systems - AC theories - AC many-to-one matching