pub fn propagate_input_expressions(
    blk: &mut Term<Blk>,
    apriori_insertable_expressions: Option<HashMap<Variable, Expression>>
)
Expand description

Wherever possible, substitute input variables of expressions with the input expression that defines the input variable.

Note that substitution is only possible if the input variables of the input expression itself did not change since the definition of said variable.

The expression propagation allows more dead stores to be removed during dead variable elimination.