fixed an optimizer bug with unary self-assignment ops