Everything we have tried so far has not been sufficient to catch every corner case; therefore, we need the hard way.
We must disassemble every cut string and filter out the variables used in the cut string. After that, we can check for every variable if the shifted version is required. This allows us, in turn, to speed up the code a bit since we are now able to use sets instead of looping with an if statement.
I hope I have added all possible operators; if you know any additional ones, let me know!
Everything we have tried so far has not been sufficient to catch every corner case; therefore, we need the hard way.
We must disassemble every cut string and filter out the variables used in the cut string. After that, we can check for every variable if the shifted version is required. This allows us, in turn, to speed up the code a bit since we are now able to use sets instead of looping with an if statement.
I hope I have added all possible operators; if you know any additional ones, let me know!