Preserve debug information.
Added local optimization: -x ^ ?1...1 => x + ?1...1.