/* [config]
 * expect_result: pass
 * glsl_version: 1.30
 * require_extensions: GL_AMD_shader_trinary_minmax
 * [end config]
 *
 * Check that the following test vectors are constant folded correctly:
 * mid3(uvec2(0u, 0u), uvec2(0u, 0u), uvec2(0u, 1u)) => uvec2(0u, 0u)
 * mid3(uvec2(0u, 0u), uvec2(0u, 0u), uvec2(2u, 5u)) => uvec2(0u, 0u)
 * mid3(uvec2(0u, 0u), uvec2(0u, 1u), uvec2(34u, 0u)) => uvec2(0u, 0u)
 * mid3(uvec2(0u, 0u), uvec2(1u, 1u), uvec2(1u, 2u)) => uvec2(1u, 1u)
 * mid3(uvec2(0u, 0u), uvec2(1u, 1u), uvec2(5u, 34u)) => uvec2(1u, 1u)
 * mid3(uvec2(0u, 0u), uvec2(2u, 2u), uvec2(0u, 1u)) => uvec2(0u, 1u)
 * mid3(uvec2(0u, 0u), uvec2(2u, 2u), uvec2(2u, 5u)) => uvec2(2u, 2u)
 * mid3(uvec2(0u, 0u), uvec2(2u, 5u), uvec2(34u, 0u)) => uvec2(2u, 0u)
 * mid3(uvec2(0u, 0u), uvec2(5u, 5u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(0u, 0u), uvec2(5u, 5u), uvec2(5u, 34u)) => uvec2(5u, 5u)
 * mid3(uvec2(0u, 0u), uvec2(34u, 34u), uvec2(0u, 1u)) => uvec2(0u, 1u)
 * mid3(uvec2(0u, 0u), uvec2(34u, 34u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(0u, 1u), uvec2(34u, 0u), uvec2(34u, 0u)) => uvec2(34u, 0u)
 * mid3(uvec2(1u, 1u), uvec2(0u, 0u), uvec2(1u, 2u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(0u, 0u), uvec2(5u, 34u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(1u, 1u), uvec2(0u, 1u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(1u, 1u), uvec2(2u, 5u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(1u, 2u), uvec2(34u, 0u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(2u, 2u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(1u, 1u), uvec2(2u, 2u), uvec2(5u, 34u)) => uvec2(2u, 2u)
 * mid3(uvec2(1u, 1u), uvec2(5u, 5u), uvec2(0u, 1u)) => uvec2(1u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(5u, 5u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(1u, 1u), uvec2(5u, 34u), uvec2(34u, 0u)) => uvec2(5u, 1u)
 * mid3(uvec2(1u, 1u), uvec2(34u, 34u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(1u, 1u), uvec2(34u, 34u), uvec2(5u, 34u)) => uvec2(5u, 34u)
 * mid3(uvec2(2u, 2u), uvec2(0u, 0u), uvec2(0u, 1u)) => uvec2(0u, 1u)
 * mid3(uvec2(2u, 2u), uvec2(0u, 0u), uvec2(2u, 5u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(0u, 1u), uvec2(34u, 0u)) => uvec2(2u, 1u)
 * mid3(uvec2(2u, 2u), uvec2(1u, 1u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(1u, 1u), uvec2(5u, 34u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(2u, 2u), uvec2(0u, 1u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(2u, 2u), uvec2(2u, 5u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(2u, 5u), uvec2(34u, 0u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(5u, 5u), uvec2(1u, 2u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(5u, 5u), uvec2(5u, 34u)) => uvec2(5u, 5u)
 * mid3(uvec2(2u, 2u), uvec2(34u, 34u), uvec2(0u, 1u)) => uvec2(2u, 2u)
 * mid3(uvec2(2u, 2u), uvec2(34u, 34u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(2u, 5u), uvec2(34u, 0u), uvec2(34u, 0u)) => uvec2(34u, 0u)
 * mid3(uvec2(5u, 5u), uvec2(0u, 0u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(5u, 5u), uvec2(0u, 0u), uvec2(5u, 34u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(1u, 1u), uvec2(0u, 1u)) => uvec2(1u, 1u)
 * mid3(uvec2(5u, 5u), uvec2(1u, 1u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(1u, 2u), uvec2(34u, 0u)) => uvec2(5u, 2u)
 * mid3(uvec2(5u, 5u), uvec2(2u, 2u), uvec2(1u, 2u)) => uvec2(2u, 2u)
 * mid3(uvec2(5u, 5u), uvec2(2u, 2u), uvec2(5u, 34u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(5u, 5u), uvec2(0u, 1u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(5u, 5u), uvec2(2u, 5u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(5u, 34u), uvec2(34u, 0u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(34u, 34u), uvec2(1u, 2u)) => uvec2(5u, 5u)
 * mid3(uvec2(5u, 5u), uvec2(34u, 34u), uvec2(5u, 34u)) => uvec2(5u, 34u)
 * mid3(uvec2(34u, 34u), uvec2(0u, 0u), uvec2(0u, 1u)) => uvec2(0u, 1u)
 * mid3(uvec2(34u, 34u), uvec2(0u, 0u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(34u, 34u), uvec2(0u, 1u), uvec2(34u, 0u)) => uvec2(34u, 1u)
 * mid3(uvec2(34u, 34u), uvec2(1u, 1u), uvec2(1u, 2u)) => uvec2(1u, 2u)
 * mid3(uvec2(34u, 34u), uvec2(1u, 1u), uvec2(5u, 34u)) => uvec2(5u, 34u)
 * mid3(uvec2(34u, 34u), uvec2(2u, 2u), uvec2(0u, 1u)) => uvec2(2u, 2u)
 * mid3(uvec2(34u, 34u), uvec2(2u, 2u), uvec2(2u, 5u)) => uvec2(2u, 5u)
 * mid3(uvec2(34u, 34u), uvec2(2u, 5u), uvec2(34u, 0u)) => uvec2(34u, 5u)
 * mid3(uvec2(34u, 34u), uvec2(5u, 5u), uvec2(1u, 2u)) => uvec2(5u, 5u)
 * mid3(uvec2(34u, 34u), uvec2(5u, 5u), uvec2(5u, 34u)) => uvec2(5u, 34u)
 * mid3(uvec2(34u, 34u), uvec2(34u, 34u), uvec2(0u, 1u)) => uvec2(34u, 34u)
 * mid3(uvec2(34u, 34u), uvec2(34u, 34u), uvec2(2u, 5u)) => uvec2(34u, 34u)
 * mid3(uvec2(34u, 0u), uvec2(34u, 0u), uvec2(34u, 0u)) => uvec2(34u, 0u)
 */
#version 130
#extension GL_AMD_shader_trinary_minmax : require

void main()
{
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(0u, 0u), uvec2(0u, 1u)), uvec2(0u, 0u))) ? 1 : -1] array0;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(0u, 0u), uvec2(2u, 5u)), uvec2(0u, 0u))) ? 1 : -1] array1;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(0u, 1u), uvec2(34u, 0u)), uvec2(0u, 0u))) ? 1 : -1] array2;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(1u, 1u), uvec2(1u, 2u)), uvec2(1u, 1u))) ? 1 : -1] array3;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(1u, 1u), uvec2(5u, 34u)), uvec2(1u, 1u))) ? 1 : -1] array4;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(2u, 2u), uvec2(0u, 1u)), uvec2(0u, 1u))) ? 1 : -1] array5;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(2u, 2u), uvec2(2u, 5u)), uvec2(2u, 2u))) ? 1 : -1] array6;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(2u, 5u), uvec2(34u, 0u)), uvec2(2u, 0u))) ? 1 : -1] array7;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(5u, 5u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array8;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(5u, 5u), uvec2(5u, 34u)), uvec2(5u, 5u))) ? 1 : -1] array9;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(34u, 34u), uvec2(0u, 1u)), uvec2(0u, 1u))) ? 1 : -1] array10;
  float[all(equal(mid3(uvec2(0u, 0u), uvec2(34u, 34u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array11;
  float[all(equal(mid3(uvec2(0u, 1u), uvec2(34u, 0u), uvec2(34u, 0u)), uvec2(34u, 0u))) ? 1 : -1] array12;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(0u, 0u), uvec2(1u, 2u)), uvec2(1u, 1u))) ? 1 : -1] array13;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(0u, 0u), uvec2(5u, 34u)), uvec2(1u, 1u))) ? 1 : -1] array14;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(1u, 1u), uvec2(0u, 1u)), uvec2(1u, 1u))) ? 1 : -1] array15;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(1u, 1u), uvec2(2u, 5u)), uvec2(1u, 1u))) ? 1 : -1] array16;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(1u, 2u), uvec2(34u, 0u)), uvec2(1u, 1u))) ? 1 : -1] array17;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(2u, 2u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array18;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(2u, 2u), uvec2(5u, 34u)), uvec2(2u, 2u))) ? 1 : -1] array19;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(5u, 5u), uvec2(0u, 1u)), uvec2(1u, 1u))) ? 1 : -1] array20;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(5u, 5u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array21;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(5u, 34u), uvec2(34u, 0u)), uvec2(5u, 1u))) ? 1 : -1] array22;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(34u, 34u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array23;
  float[all(equal(mid3(uvec2(1u, 1u), uvec2(34u, 34u), uvec2(5u, 34u)), uvec2(5u, 34u))) ? 1 : -1] array24;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(0u, 0u), uvec2(0u, 1u)), uvec2(0u, 1u))) ? 1 : -1] array25;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(0u, 0u), uvec2(2u, 5u)), uvec2(2u, 2u))) ? 1 : -1] array26;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(0u, 1u), uvec2(34u, 0u)), uvec2(2u, 1u))) ? 1 : -1] array27;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(1u, 1u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array28;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(1u, 1u), uvec2(5u, 34u)), uvec2(2u, 2u))) ? 1 : -1] array29;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(2u, 2u), uvec2(0u, 1u)), uvec2(2u, 2u))) ? 1 : -1] array30;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(2u, 2u), uvec2(2u, 5u)), uvec2(2u, 2u))) ? 1 : -1] array31;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(2u, 5u), uvec2(34u, 0u)), uvec2(2u, 2u))) ? 1 : -1] array32;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(5u, 5u), uvec2(1u, 2u)), uvec2(2u, 2u))) ? 1 : -1] array33;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(5u, 5u), uvec2(5u, 34u)), uvec2(5u, 5u))) ? 1 : -1] array34;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(34u, 34u), uvec2(0u, 1u)), uvec2(2u, 2u))) ? 1 : -1] array35;
  float[all(equal(mid3(uvec2(2u, 2u), uvec2(34u, 34u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array36;
  float[all(equal(mid3(uvec2(2u, 5u), uvec2(34u, 0u), uvec2(34u, 0u)), uvec2(34u, 0u))) ? 1 : -1] array37;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(0u, 0u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array38;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(0u, 0u), uvec2(5u, 34u)), uvec2(5u, 5u))) ? 1 : -1] array39;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(1u, 1u), uvec2(0u, 1u)), uvec2(1u, 1u))) ? 1 : -1] array40;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(1u, 1u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array41;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(1u, 2u), uvec2(34u, 0u)), uvec2(5u, 2u))) ? 1 : -1] array42;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(2u, 2u), uvec2(1u, 2u)), uvec2(2u, 2u))) ? 1 : -1] array43;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(2u, 2u), uvec2(5u, 34u)), uvec2(5u, 5u))) ? 1 : -1] array44;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(5u, 5u), uvec2(0u, 1u)), uvec2(5u, 5u))) ? 1 : -1] array45;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(5u, 5u), uvec2(2u, 5u)), uvec2(5u, 5u))) ? 1 : -1] array46;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(5u, 34u), uvec2(34u, 0u)), uvec2(5u, 5u))) ? 1 : -1] array47;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(34u, 34u), uvec2(1u, 2u)), uvec2(5u, 5u))) ? 1 : -1] array48;
  float[all(equal(mid3(uvec2(5u, 5u), uvec2(34u, 34u), uvec2(5u, 34u)), uvec2(5u, 34u))) ? 1 : -1] array49;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(0u, 0u), uvec2(0u, 1u)), uvec2(0u, 1u))) ? 1 : -1] array50;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(0u, 0u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array51;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(0u, 1u), uvec2(34u, 0u)), uvec2(34u, 1u))) ? 1 : -1] array52;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(1u, 1u), uvec2(1u, 2u)), uvec2(1u, 2u))) ? 1 : -1] array53;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(1u, 1u), uvec2(5u, 34u)), uvec2(5u, 34u))) ? 1 : -1] array54;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(2u, 2u), uvec2(0u, 1u)), uvec2(2u, 2u))) ? 1 : -1] array55;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(2u, 2u), uvec2(2u, 5u)), uvec2(2u, 5u))) ? 1 : -1] array56;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(2u, 5u), uvec2(34u, 0u)), uvec2(34u, 5u))) ? 1 : -1] array57;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(5u, 5u), uvec2(1u, 2u)), uvec2(5u, 5u))) ? 1 : -1] array58;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(5u, 5u), uvec2(5u, 34u)), uvec2(5u, 34u))) ? 1 : -1] array59;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(34u, 34u), uvec2(0u, 1u)), uvec2(34u, 34u))) ? 1 : -1] array60;
  float[all(equal(mid3(uvec2(34u, 34u), uvec2(34u, 34u), uvec2(2u, 5u)), uvec2(34u, 34u))) ? 1 : -1] array61;
  float[all(equal(mid3(uvec2(34u, 0u), uvec2(34u, 0u), uvec2(34u, 0u)), uvec2(34u, 0u))) ? 1 : -1] array62;
  gl_FragColor = vec4(array0.length() + array1.length() + array2.length() + array3.length() + array4.length() + array5.length() + array6.length() + array7.length() + array8.length() + array9.length() + array10.length() + array11.length() + array12.length() + array13.length() + array14.length() + array15.length() + array16.length() + array17.length() + array18.length() + array19.length() + array20.length() + array21.length() + array22.length() + array23.length() + array24.length() + array25.length() + array26.length() + array27.length() + array28.length() + array29.length() + array30.length() + array31.length() + array32.length() + array33.length() + array34.length() + array35.length() + array36.length() + array37.length() + array38.length() + array39.length() + array40.length() + array41.length() + array42.length() + array43.length() + array44.length() + array45.length() + array46.length() + array47.length() + array48.length() + array49.length() + array50.length() + array51.length() + array52.length() + array53.length() + array54.length() + array55.length() + array56.length() + array57.length() + array58.length() + array59.length() + array60.length() + array61.length() + array62.length());
}
