
out vec4 sk_FragColor;
uniform vec4 colorGreen;
uniform vec4 colorRed;
vec4 main() {
    vec4 value = colorGreen.yyyy * 2.5;
    vec4 whole;
    vec4 fraction;

    bvec4 ok;
    fraction.x = modf(value.x, whole.x);
    ok.x = whole.x == 2.0 && fraction.x == 0.5;
    fraction.xy = modf(value.xy, whole.xy);
    ok.y = whole.y == 2.0 && fraction.y == 0.5;
    fraction.xyz = modf(value.xyz, whole.xyz);
    ok.z = whole.z == 2.0 && fraction.z == 0.5;
    fraction = modf(value, whole);
    ok.w = whole.w == 2.0 && fraction.w == 0.5;
    return all(ok) ? colorGreen : colorRed;
}
