uniform half4 testInputs, colorBlack, colorGreen, colorRed;

half4 non_constant_swizzle() {
    half4 v = half4(testInputs);
    int4 i = int4(colorBlack);
    half x = v[i[0]];
    half y = v[i[1]];
    half z = v[i[2]];
    half w = v[i[3]];
    return half4(x, y, z, w); // -1.25, -1.25, -1.25, 0
}

half4 main(float2 coords) {
    return non_constant_swizzle() == half4(-1.25, -1.25, -1.25, 0) ? colorGreen : colorRed;
}
