For `mov rax, [rax]`, `48 8b 00` it generates the following sub trees under `read_constraint`. `Mul 0, op2` can have their entire subtree removed A `add 0, op2` can have `op2` be propegated to where the `add` node was  