The current DU-chain implementation of #156 doesn't achieve the expected level of simplification for CSE. Since the variable is in SSA form and we're only interested in the last assignment for CSE, perhaps we can focus solely on du-chain.tail which record last assignment for a var?