On Wed, Oct 7, 2009 at 4:37 PM, Tobias Grosser <gros...@fim.uni-passau.de> wrote: > I try to analyse this code: > ------------------------------------------------------ > int foo (int N) > { > int ftab[257]; > int i, j; > > for (i = 0; i < N - 7488645; i++) > j = ftab [i]; > > return j; > } > ------------------------------------------------------ > > The number of iterations I get is: > > (unsigned int) N_5(D) + 0x0ffffffff > > However I expect it to be > > (unsigned int) N_5(D) + (-1)
No, that would be (unsigned int) (N_5(D) + -1) instead. It's fold that canonicalizes this to the above form - you simply have to deal with it (unsigned arithmetic, that is). Richard.