uniform half4 a, b;
uniform uint2 c, d;
uniform int3 e, f;
void main() {
    const int4 int4_zero = int4(0);
    bool4 expectTTFF = equal(half4(3, 3, 3.25, 100), half4(3));
    bool4 expectFFTT = equal(int4_zero, int4(-100, -50, 0, 0));

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