An analysis to identify sub-expressions which can be evaluated at compile-time or where versions of a function can be generated and called which are specialised to certain values of one or more arguments.
See partial evaluation.