
out vec4 sk_FragColor;
vec4 main() {
    vec4 color = vec4(0.0);
    for (int counter = 0;counter < 10; ++counter) {
    }
    for (int counter = 0;counter < 10; ++counter) {
    }
    for (int counter = 0;counter < 10; ++counter) {
    }
    if (sqrt(1.0) == 1.0) color.y = 1.0;
    if (sqrt(1.0) == 2.0) ; else color.w = 1.0;
    return color;
}
