/*#pragma settings NoInline*/

uniform half4 colorGreen, colorRed;

bool check(float2 v1, float2 v2, float2 v3, float3 v4, int2 v5, int2 v6, float2 v7, float2 v8,
           float4 v9, int2 v10, bool4 v11, float2 v12, float2 v13, float2 v14, bool2 v15,
           bool2 v16, bool3 v17) {
    return half(v1.x) + half(v2.x) + half(v3.x) + half(v4.x) +
           half(v5.x) + half(v6.x) + half(v7.x) + half(v8.x) +
           half(v9.x) + half(v10.x) + half(v11.x) + half(v12.x) +
           half(v13.x) + half(v14.x) + half(v15.x) + half(v16.x) +
           half(v17.x) == 17;
}

half4 main(float2 coords) {
    float2 v1 = float2(1);
    float2 v2 = float2(1, 2);
    float2 v3 = float2(float2(1));
    float3 v4 = float3(float2(1), 1.0);
    int2   v5 = int2(1);
    int2   v6 = int2(float2(1, 2));
    float2 v7 = float2(int2(1, 2));
    float2 v8 = float2(v5);
    float4 v9 = float4(v6.x, sqrt(2), int2(3, 4));
    int2   v10 = int2(3.14, v1.x);
    bool4  v11 = bool4(bool2(true, false), true, false);
    float2 v12 = float2(1.0, false);
    float2 v13 = float2(false);
    float2 v14 = float2(bool2(false));
    bool2  v15 = bool2(1.0);
    bool2  v16 = bool2(float2(1));
    bool3  v17 = bool3(1.0, int2(77));

    return check(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
                   ? colorGreen
                   : colorRed;
}
