Local value numbering for common subexpression elimination