Sort Applys and AtomSeqs based on expected matching costs.
Implement factorial as a lookup table.
Move factorial lookup somewhere where it won't need to be rebuilt.
Give up on counting cost if there's an overflow and just use Int.MaxValue
More changes to matching cost calculations, and sort sequence matches when there is more than one Apply in the sequence.
Corrected matching cost calculation. The factorial lookup is calculated rather than a hardcoded Vector now.
Factorial calculation wasn't properly using Longs
Make Applys able to calculate their matching cost.
Only sort SequenceMatches if we might get some benefit out of it.
In addition to Applys, AtomSeqs may contribute to sorting advantage as well.
Removed changes to Matching.eli
Merge branch 'acmatching-rewrite'
Moved the SequenceMatcher ordering step before get_mandatory_bindings.
Sorting SequenceMatcher only makes sense if there are two different operators to sort.
Merge branch 'acmatching-rewrite'
Greatly simplified code to decide whether to reorder SequenceMatcher
Had issues with multiple statments on one line, so removed those instances from the codebase.
Had issues with multiple statments on one line, so removed those instances from the codebase.
Merge pull request #230 from heiseda/master

Consider operators based on their cost to match.