Describe the bug
The reassociation pass needs to be able to determine when operations are zero/sign extend operations in order to know if it can safely reassociate through these operations. It is somewhat fragile in how it does this meaning to get best results we need to run bitslice_simp and concat_simp before any use of reassocation. This is unfortunate and it would be better if reassociation could use an analysis more able to see through these operations.