Reduct
From OpenCog
Reduct is a component of MOSES that works on Combo program trees.
See The Reduct Library: Reducing Programs to Normal Form
See also OpenCogPrime:Transformation of complex programs for a list of ideas and future enhancements to perform.
See also cog-reduce!, an implementation of reduct that operates directly on atoms in the atomspace, such as PlusLink and TimesLink,