uniform half4 colorWhite;

half4 main(float2 coords) {
    half4 color = half4(0);

    for (int counter=0; counter<10; ++counter) ;
    for (int counter=0; counter<10; ++counter) {}
    for (int counter=0; counter<10; ++counter) { false, 1 == 2; colorWhite; }

    if (colorWhite.x == 1) color.g = 1; else 1;
    if (colorWhite.x == 2) 0; else color.a = 1;
    if (colorWhite.x == 3) 0; else 1;

    while (colorWhite.x == 2) 1 + 2 + 3;

    do 1 * 2 * 3; while (colorWhite.x == 2);

    return color;
}
