varying lowp float xx; void main() { int x; int i = (x=(xx>0.5?2:4)); // side effects! if (x < 2) discard; lowp float c = 0.0; for (; i < 4; ++i) c += xx; gl_FragColor = vec4(c); }