! test by: ./i2c --stdout --tidy test/shiftadd.imp | fgrep "ATOM1 = "|head -1 begin integer atom1 atom1 = (atom1-106)>>1+91; !a,an->v na,nan->n ! This minimal test seems to generate correct C but the same code in test/pass1.imp gives: ! // 1226 atom1 = (atom1-106)>>1+91; !a,an->v na,nan->n ! ATOM1 = (unsigned int)ATOM1 - 106 >> 1 + 91; ! reproduce it with: ./i2c --stdout --tidy test/pass1.imp | fgrep "ATOM1 = (unsigned int)ATOM1" endofprogram