#version 450 core



out gl_PerVertex {
    float gl_ClipDistance[];
};

const float cx = 4.20;
const float dx = 4.20;
in vec4 bad[10];
highp in vec4 badorder;
out invariant vec4 badorder2;
out flat vec4 badorder3;

in float f;

void main()
{
    gl_ClipDistance[2] = 3.7;

    if (bad[0].x == cx.x)
        badorder3 = bad[0];

    gl_ClipDistance[0] = f.x;
}

layout(binding = 3) uniform boundblock { int aoeu; } boundInst;
layout(binding = 7) uniform anonblock { int aoeu; } ;
layout(binding = 4) uniform sampler2D sampb1;
layout(binding = 5) uniform sampler2D sampb2[10];
layout(binding = 31) uniform sampler2D sampb4;

struct S { mediump float a; highp uvec2 b; highp vec3 c; };
struct SS { vec4 b; S s; vec4 c; };
layout(location = 0) flat out SS var;
out MS { layout(location = 17) float f; } outMS;