#include <metal_stdlib>

using namespace metal;
struct buf0 {
  /* 0x0000 */ packed_float2 injectionSwitch;
};
struct buf1 {
  /* 0x0000 */ packed_float2 resolution;
};
struct tint_array_wrapper {
  int arr[10];
};
struct main_out {
  float4 x_GLF_color_1;
};
struct tint_symbol_2 {
  float4 x_GLF_color_1 [[color(0)]];
};

void merge_i1_i1_i1_(thread int* const from, thread int* const mid, thread int* const to, thread tint_array_wrapper* const tint_symbol_5, thread tint_array_wrapper* const tint_symbol_6) {
  int k = 0;
  int i = 0;
  int j = 0;
  int i_1 = 0;
  int const x_256 = *(from);
  k = x_256;
  int const x_257 = *(from);
  i = x_257;
  int const x_258 = *(mid);
  j = (x_258 + 1);
  while (true) {
    int const x_264 = i;
    int const x_265 = *(mid);
    int const x_267 = j;
    int const x_268 = *(to);
    if (((x_264 <= x_265) & (x_267 <= x_268))) {
    } else {
      break;
    }
    int const x_272 = i;
    int const x_274 = (*(tint_symbol_5)).arr[x_272];
    int const x_275 = j;
    int const x_277 = (*(tint_symbol_5)).arr[x_275];
    if ((x_274 < x_277)) {
      int const x_282 = k;
      k = (x_282 + 1);
      int const x_284 = i;
      i = (x_284 + 1);
      int const x_287 = (*(tint_symbol_5)).arr[x_284];
      (*(tint_symbol_6)).arr[x_282] = x_287;
    } else {
      int const x_289 = k;
      k = (x_289 + 1);
      int const x_291 = j;
      j = (x_291 + 1);
      int const x_294 = (*(tint_symbol_5)).arr[x_291];
      (*(tint_symbol_6)).arr[x_289] = x_294;
    }
  }
  while (true) {
    if (!((256.0f < 1.0f))) {
    } else {
      continue;
    }
    int const x_301 = i;
    int const x_303 = i;
    int const x_304 = *(mid);
    if (((x_301 < 10) & (x_303 <= x_304))) {
    } else {
      break;
    }
    int const x_309 = k;
    k = (x_309 + 1);
    int const x_311 = i;
    i = (x_311 + 1);
    int const x_314 = (*(tint_symbol_5)).arr[x_311];
    (*(tint_symbol_6)).arr[x_309] = x_314;
  }
  int const x_316 = *(from);
  i_1 = x_316;
  while (true) {
    int const x_321 = i_1;
    int const x_322 = *(to);
    if ((x_321 <= x_322)) {
    } else {
      break;
    }
    int const x_325 = i_1;
    int const x_326 = i_1;
    int const x_328 = (*(tint_symbol_6)).arr[x_326];
    (*(tint_symbol_5)).arr[x_325] = x_328;
    {
      int const x_330 = i_1;
      i_1 = (x_330 + 1);
    }
  }
  return;
}

void mergeSort_(thread tint_array_wrapper* const tint_symbol_7, thread tint_array_wrapper* const tint_symbol_8) {
  int low = 0;
  int high = 0;
  int m = 0;
  int i_2 = 0;
  int from_1 = 0;
  int mid_1 = 0;
  int to_1 = 0;
  int param = 0;
  int param_1 = 0;
  int param_2 = 0;
  low = 0;
  high = 9;
  m = 1;
  while (true) {
    int const x_337 = m;
    int const x_338 = high;
    if ((x_337 <= x_338)) {
    } else {
      break;
    }
    int const x_341 = low;
    i_2 = x_341;
    while (true) {
      int const x_346 = i_2;
      int const x_347 = high;
      if ((x_346 < x_347)) {
      } else {
        break;
      }
      int const x_350 = i_2;
      from_1 = x_350;
      int const x_351 = i_2;
      int const x_352 = m;
      mid_1 = ((x_351 + x_352) - 1);
      int const x_355 = i_2;
      int const x_356 = m;
      int const x_360 = high;
      to_1 = min(((x_355 + (2 * x_356)) - 1), x_360);
      int const x_362 = from_1;
      param = x_362;
      int const x_363 = mid_1;
      param_1 = x_363;
      int const x_364 = to_1;
      param_2 = x_364;
      merge_i1_i1_i1_(&(param), &(param_1), &(param_2), tint_symbol_7, tint_symbol_8);
      {
        int const x_366 = m;
        int const x_368 = i_2;
        i_2 = (x_368 + (2 * x_366));
      }
    }
    {
      int const x_370 = m;
      m = (2 * x_370);
    }
  }
  return;
}

void main_1(constant buf0& x_28, thread tint_array_wrapper* const tint_symbol_9, thread tint_array_wrapper* const tint_symbol_10, thread float4* const tint_symbol_11, thread float4* const tint_symbol_12) {
  int i_3 = 0;
  int j_1 = 0;
  float grey = 0.0f;
  float const x_89 = x_28.injectionSwitch.x;
  i_3 = int(x_89);
  while (true) {
    int const x_95 = i_3;
    switch(x_95) {
      case 9: {
        int const x_125 = i_3;
        (*(tint_symbol_9)).arr[x_125] = -5;
        break;
      }
      case 8: {
        int const x_123 = i_3;
        (*(tint_symbol_9)).arr[x_123] = -4;
        break;
      }
      case 7: {
        int const x_121 = i_3;
        (*(tint_symbol_9)).arr[x_121] = -3;
        break;
      }
      case 6: {
        int const x_119 = i_3;
        (*(tint_symbol_9)).arr[x_119] = -2;
        break;
      }
      case 5: {
        int const x_117 = i_3;
        (*(tint_symbol_9)).arr[x_117] = -1;
        break;
      }
      case 4: {
        int const x_115 = i_3;
        (*(tint_symbol_9)).arr[x_115] = 0;
        break;
      }
      case 3: {
        int const x_113 = i_3;
        (*(tint_symbol_9)).arr[x_113] = 1;
        break;
      }
      case 2: {
        int const x_111 = i_3;
        (*(tint_symbol_9)).arr[x_111] = 2;
        break;
      }
      case 1: {
        int const x_109 = i_3;
        (*(tint_symbol_9)).arr[x_109] = 3;
        break;
      }
      case 0: {
        int const x_107 = i_3;
        (*(tint_symbol_9)).arr[x_107] = 4;
        break;
      }
      default: {
        break;
      }
    }
    int const x_127 = i_3;
    i_3 = (x_127 + 1);
    {
      int const x_129 = i_3;
      if ((x_129 < 10)) {
      } else {
        break;
      }
    }
  }
  j_1 = 0;
  while (true) {
    int const x_135 = j_1;
    if ((x_135 < 10)) {
    } else {
      break;
    }
    int const x_138 = j_1;
    int const x_139 = j_1;
    int const x_141 = (*(tint_symbol_9)).arr[x_139];
    (*(tint_symbol_10)).arr[x_138] = x_141;
    {
      int const x_143 = j_1;
      j_1 = (x_143 + 1);
    }
  }
  mergeSort_(tint_symbol_9, tint_symbol_10);
  float const x_147 = (*(tint_symbol_11)).y;
  if ((int(x_147) < 30)) {
    int const x_154 = (*(tint_symbol_9)).arr[0];
    grey = (0.5f + (float(x_154) / 10.0f));
  } else {
    float const x_159 = (*(tint_symbol_11)).y;
    if ((int(x_159) < 60)) {
      int const x_166 = (*(tint_symbol_9)).arr[1];
      grey = (0.5f + (float(x_166) / 10.0f));
    } else {
      float const x_171 = (*(tint_symbol_11)).y;
      if ((int(x_171) < 90)) {
        int const x_178 = (*(tint_symbol_9)).arr[2];
        grey = (0.5f + (float(x_178) / 10.0f));
      } else {
        float const x_183 = (*(tint_symbol_11)).y;
        if ((int(x_183) < 120)) {
          int const x_190 = (*(tint_symbol_9)).arr[3];
          grey = (0.5f + (float(x_190) / 10.0f));
        } else {
          float const x_195 = (*(tint_symbol_11)).y;
          if ((int(x_195) < 150)) {
            discard_fragment();
          } else {
            float const x_202 = (*(tint_symbol_11)).y;
            if ((int(x_202) < 180)) {
              int const x_209 = (*(tint_symbol_9)).arr[5];
              grey = (0.5f + (float(x_209) / 10.0f));
            } else {
              float const x_214 = (*(tint_symbol_11)).y;
              if ((int(x_214) < 210)) {
                int const x_221 = (*(tint_symbol_9)).arr[6];
                grey = (0.5f + (float(x_221) / 10.0f));
              } else {
                float const x_226 = (*(tint_symbol_11)).y;
                if ((int(x_226) < 240)) {
                  int const x_233 = (*(tint_symbol_9)).arr[7];
                  grey = (0.5f + (float(x_233) / 10.0f));
                } else {
                  float const x_238 = (*(tint_symbol_11)).y;
                  if ((int(x_238) < 270)) {
                    int const x_245 = (*(tint_symbol_9)).arr[8];
                    grey = (0.5f + (float(x_245) / 10.0f));
                  } else {
                    discard_fragment();
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  float const x_249 = grey;
  float3 const x_250 = float3(x_249, x_249, x_249);
  *(tint_symbol_12) = float4(x_250.x, x_250.y, x_250.z, 1.0f);
  return;
}

fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_28 [[buffer(0)]]) {
  thread float4 tint_symbol_13 = 0.0f;
  thread tint_array_wrapper tint_symbol_14 = {};
  thread tint_array_wrapper tint_symbol_15 = {};
  thread float4 tint_symbol_16 = 0.0f;
  tint_symbol_13 = gl_FragCoord_param;
  main_1(x_28, &(tint_symbol_14), &(tint_symbol_15), &(tint_symbol_13), &(tint_symbol_16));
  main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_16};
  tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
  return tint_symbol_4;
}

