#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  int arr[10];
};
struct QuicksortObject {
  tint_array_wrapper numbers;
};
struct buf0 {
  /* 0x0000 */ float2 resolution;
};
struct main_out {
  float4 x_GLF_color_1;
};
struct tint_symbol_1 {
  float4 x_GLF_color_1 [[color(0)]];
};

void swap_i1_i1_(thread int* const i, thread int* const j, thread QuicksortObject* const tint_symbol_3) {
  int temp = 0;
  int const x_225 = *(i);
  int const x_227 = (*(tint_symbol_3)).numbers.arr[x_225];
  temp = x_227;
  int const x_228 = *(i);
  int const x_229 = *(j);
  int const x_231 = (*(tint_symbol_3)).numbers.arr[x_229];
  (*(tint_symbol_3)).numbers.arr[x_228] = x_231;
  int const x_233 = *(j);
  int const x_234 = temp;
  (*(tint_symbol_3)).numbers.arr[x_233] = x_234;
  return;
}

int performPartition_i1_i1_(thread int* const l, thread int* const h, thread QuicksortObject* const tint_symbol_4) {
  int pivot = 0;
  int i_1 = 0;
  int j_1 = 0;
  int param = 0;
  int param_1 = 0;
  int param_2 = 0;
  int param_3 = 0;
  int const x_237 = *(h);
  int const x_239 = (*(tint_symbol_4)).numbers.arr[x_237];
  pivot = x_239;
  int const x_240 = *(l);
  i_1 = as_type<int>((as_type<uint>(x_240) - as_type<uint>(1)));
  int const x_242 = *(l);
  j_1 = x_242;
  while (true) {
    int const x_247 = j_1;
    int const x_248 = *(h);
    if ((x_247 <= as_type<int>((as_type<uint>(x_248) - as_type<uint>(1))))) {
    } else {
      break;
    }
    int const x_252 = j_1;
    int const x_254 = (*(tint_symbol_4)).numbers.arr[x_252];
    int const x_255 = pivot;
    if ((x_254 <= x_255)) {
      int const x_259 = i_1;
      i_1 = as_type<int>((as_type<uint>(x_259) + as_type<uint>(1)));
      int const x_261 = i_1;
      param = x_261;
      int const x_262 = j_1;
      param_1 = x_262;
      swap_i1_i1_(&(param), &(param_1), tint_symbol_4);
    }
    {
      int const x_264 = j_1;
      j_1 = as_type<int>((as_type<uint>(x_264) + as_type<uint>(1)));
    }
  }
  int const x_266 = i_1;
  i_1 = as_type<int>((as_type<uint>(x_266) + as_type<uint>(1)));
  int const x_268 = i_1;
  param_2 = x_268;
  int const x_269 = *(h);
  param_3 = x_269;
  swap_i1_i1_(&(param_2), &(param_3), tint_symbol_4);
  int const x_271 = i_1;
  return x_271;
}

void quicksort_(thread QuicksortObject* const tint_symbol_5) {
  int l_1 = 0;
  int h_1 = 0;
  int top = 0;
  tint_array_wrapper stack = {};
  int p = 0;
  int param_4 = 0;
  int param_5 = 0;
  l_1 = 0;
  h_1 = 9;
  top = -1;
  int const x_273 = top;
  int const x_274 = as_type<int>((as_type<uint>(x_273) + as_type<uint>(1)));
  top = x_274;
  int const x_275 = l_1;
  stack.arr[x_274] = x_275;
  int const x_277 = top;
  int const x_278 = as_type<int>((as_type<uint>(x_277) + as_type<uint>(1)));
  top = x_278;
  int const x_279 = h_1;
  stack.arr[x_278] = x_279;
  while (true) {
    int const x_285 = top;
    if ((x_285 >= 0)) {
    } else {
      break;
    }
    int const x_288 = top;
    top = as_type<int>((as_type<uint>(x_288) - as_type<uint>(1)));
    int const x_291 = stack.arr[x_288];
    h_1 = x_291;
    int const x_292 = top;
    top = as_type<int>((as_type<uint>(x_292) - as_type<uint>(1)));
    int const x_295 = stack.arr[x_292];
    l_1 = x_295;
    int const x_296 = l_1;
    param_4 = x_296;
    int const x_297 = h_1;
    param_5 = x_297;
    int const x_298 = performPartition_i1_i1_(&(param_4), &(param_5), tint_symbol_5);
    p = x_298;
    int const x_299 = p;
    int const x_301 = l_1;
    if ((as_type<int>((as_type<uint>(x_299) - as_type<uint>(1))) > x_301)) {
      int const x_305 = top;
      int const x_306 = as_type<int>((as_type<uint>(x_305) + as_type<uint>(1)));
      top = x_306;
      int const x_307 = l_1;
      stack.arr[x_306] = x_307;
      int const x_309 = top;
      int const x_310 = as_type<int>((as_type<uint>(x_309) + as_type<uint>(1)));
      top = x_310;
      int const x_311 = p;
      stack.arr[x_310] = as_type<int>((as_type<uint>(x_311) - as_type<uint>(1)));
    }
    int const x_314 = p;
    int const x_316 = h_1;
    if ((as_type<int>((as_type<uint>(x_314) + as_type<uint>(1))) < x_316)) {
      int const x_320 = top;
      int const x_321 = as_type<int>((as_type<uint>(x_320) + as_type<uint>(1)));
      top = x_321;
      int const x_322 = p;
      stack.arr[x_321] = as_type<int>((as_type<uint>(x_322) + as_type<uint>(1)));
      int const x_325 = top;
      int const x_326 = as_type<int>((as_type<uint>(x_325) + as_type<uint>(1)));
      top = x_326;
      int const x_327 = h_1;
      stack.arr[x_326] = x_327;
    }
  }
  return;
}

void main_1(constant buf0& x_32, thread QuicksortObject* const tint_symbol_6, thread float4* const tint_symbol_7, thread float4* const tint_symbol_8) {
  int i_2 = 0;
  float2 uv = 0.0f;
  float3 color = 0.0f;
  i_2 = 0;
  while (true) {
    int const x_85 = i_2;
    if ((x_85 < 10)) {
    } else {
      break;
    }
    int const x_88 = i_2;
    int const x_89 = i_2;
    (*(tint_symbol_6)).numbers.arr[x_88] = as_type<int>((as_type<uint>(10) - as_type<uint>(x_89)));
    int const x_92 = i_2;
    int const x_93 = i_2;
    int const x_95 = (*(tint_symbol_6)).numbers.arr[x_93];
    int const x_96 = i_2;
    int const x_98 = (*(tint_symbol_6)).numbers.arr[x_96];
    (*(tint_symbol_6)).numbers.arr[x_92] = as_type<int>((as_type<uint>(x_95) * as_type<uint>(x_98)));
    {
      int const x_101 = i_2;
      i_2 = as_type<int>((as_type<uint>(x_101) + as_type<uint>(1)));
    }
  }
  quicksort_(tint_symbol_6);
  float4 const x_104 = *(tint_symbol_7);
  float2 const x_107 = x_32.resolution;
  uv = (float2(x_104.x, x_104.y) / x_107);
  color = float3(1.0f, 2.0f, 3.0f);
  int const x_110 = (*(tint_symbol_6)).numbers.arr[0];
  float const x_113 = color.x;
  color.x = (x_113 + float(x_110));
  float const x_117 = uv.x;
  if ((x_117 > 0.25f)) {
    int const x_122 = (*(tint_symbol_6)).numbers.arr[1];
    float const x_125 = color.x;
    color.x = (x_125 + float(x_122));
  }
  float const x_129 = uv.x;
  if ((x_129 > 0.5f)) {
    int const x_134 = (*(tint_symbol_6)).numbers.arr[2];
    float const x_137 = color.y;
    color.y = (x_137 + float(x_134));
  }
  float const x_141 = uv.x;
  if ((x_141 > 0.75f)) {
    int const x_146 = (*(tint_symbol_6)).numbers.arr[3];
    float const x_149 = color.z;
    color.z = (x_149 + float(x_146));
  }
  int const x_153 = (*(tint_symbol_6)).numbers.arr[4];
  float const x_156 = color.y;
  color.y = (x_156 + float(x_153));
  float const x_160 = uv.y;
  if ((x_160 > 0.25f)) {
    int const x_165 = (*(tint_symbol_6)).numbers.arr[5];
    float const x_168 = color.x;
    color.x = (x_168 + float(x_165));
  }
  float const x_172 = uv.y;
  if ((x_172 > 0.5f)) {
    int const x_177 = (*(tint_symbol_6)).numbers.arr[6];
    float const x_180 = color.y;
    color.y = (x_180 + float(x_177));
  }
  float const x_184 = uv.y;
  if ((x_184 > 0.75f)) {
    int const x_189 = (*(tint_symbol_6)).numbers.arr[7];
    float const x_192 = color.z;
    color.z = (x_192 + float(x_189));
  }
  int const x_196 = (*(tint_symbol_6)).numbers.arr[8];
  float const x_199 = color.z;
  color.z = (x_199 + float(x_196));
  float const x_203 = uv.x;
  float const x_205 = uv.y;
  if ((fabs((x_203 - x_205)) < 0.25f)) {
    int const x_212 = (*(tint_symbol_6)).numbers.arr[9];
    float const x_215 = color.x;
    color.x = (x_215 + float(x_212));
  }
  float3 const x_218 = color;
  float3 const x_219 = normalize(x_218);
  *(tint_symbol_8) = float4(x_219.x, x_219.y, x_219.z, 1.0f);
  return;
}

main_out tint_symbol_inner(constant buf0& x_32, float4 gl_FragCoord_param, thread float4* const tint_symbol_9, thread QuicksortObject* const tint_symbol_10, thread float4* const tint_symbol_11) {
  *(tint_symbol_9) = gl_FragCoord_param;
  main_1(x_32, tint_symbol_10, tint_symbol_9, tint_symbol_11);
  main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_11)};
  return tint_symbol_2;
}

fragment tint_symbol_1 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_32 [[buffer(0)]]) {
  thread float4 tint_symbol_12 = 0.0f;
  thread QuicksortObject tint_symbol_13 = {};
  thread float4 tint_symbol_14 = 0.0f;
  main_out const inner_result = tint_symbol_inner(x_32, gl_FragCoord_param, &(tint_symbol_12), &(tint_symbol_13), &(tint_symbol_14));
  tint_symbol_1 wrapper_result = {};
  wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
  return wrapper_result;
}

