Closed
Description
I found one additional bug in the transformation of i := 0; for i = 0; i < n; i++ -> for i = range n if i is used outside of the for loop body. See the minimal reproduction: https://go.dev/play/p/9tlB2oilyJn
In particular, the postcondition of the original loop is that i has the value n, whereas for the range loop it has the value n-1.