is the ```%``` correct? or the compiler is smart enough to optimize it?