uniform half4 input, expected;
uniform half4 colorGreen, colorRed;

half4 main(float2 coords) {
    const half4 constVal = half4(0);
    return (sin(input.x)       == expected.x     &&
            sin(input.xy)      == expected.xy    &&
            sin(input.xyz)     == expected.xyz   &&
            sin(input.xyzw)    == expected.xyzw  &&
            sin(constVal.x)    == expected.x     &&
            sin(constVal.xy)   == expected.xy    &&
            sin(constVal.xyz)  == expected.xyz   &&
            sin(constVal.xyzw) == expected.xyzw) ? colorGreen : colorRed;
}
