  Efficient pattern matching is fundamental for practical term rewrite engines.
By preprocessing the given patterns into a finite deterministic automaton the
matching patterns can be decided in a single traversal of the relevant parts of
the input term. Most automaton-based techniques are restricted to linear
patterns, where each variable occurs at most once, and require an additional
post-processing step to check so-called variable consistency. However, we can
show that interleaving the variable consistency and pattern matching phases can
reduce the number of required steps to find all matches. Therefore, we take the
existing adaptive pattern matching automata as introduced by Sekar et al and
extend these with consistency checks. We prove that the resulting deterministic
pattern matching automaton is correct, and show several examples where some
reduction can be achieved.
