uniform half4 a, b;
uniform uint2 c, d;
uniform int3 e, f;
void main() {
    const int4 int4_zero = int4(0);
    bool4 expectTTFF = lessThanEqual(half4(2, 2.25, 2.5, 2.75), half4(2.25));
    bool4 expectFFTT = lessThanEqual(int4_zero, int4(-100, -50, 0, 50));

    sk_FragColor.x = lessThanEqual(a, b).x ? 1 : 0;
    sk_FragColor.y = lessThanEqual(c, d).y ? 1 : 0;
    sk_FragColor.z = lessThanEqual(e, f).z ? 1 : 0;
    sk_FragColor.w = any(expectTTFF) || any(expectFFTT) ? 1 : 0;
}
