/*#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 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;
}
