uniform half4 testInputs;  // equals (-1.25, 0, 0.75, 2.25)
uniform half4 colorGreen, colorRed;

half4 main(float2 coords) {
    const half4 constVal = half4(-1.25, 0, 0.75, 2.25);
    int4 expected = int4(-1, 0, 0, 1);
    return (sign(int4(testInputs).x)    == expected.x &&
            sign(int4(testInputs).xy)   == expected.xy &&
            sign(int4(testInputs).xyz)  == expected.xyz &&
            sign(int4(testInputs).xyzw) == expected.xyzw &&
            sign(int4(constVal).x)      == expected.x &&
            sign(int4(constVal).xy)     == expected.xy &&
            sign(int4(constVal).xyz)    == expected.xyz &&
            sign(int4(constVal).xyzw)   == expected.xyzw) ? colorGreen : colorRed;
}
