Simple... you compiler is evaluating BOTH increments before performing the sum, without caching the intermediate results. This means that when you add i twice, it now has the value of 7.
If you do
int j=++i;
int k=++i;
i = j+k;
you'll see 13 as expected.