This was caused by an oversight in rB45dbc38a8b15. When the next operation character is found the offset is shifted in the original string. The remaining length has to be recalculated with that offset before shifting the remaining characters to make room for the ")".