type Arr = [[stride(16)]] array<i32, 3>;

[[block]]
struct buf1 {
  x_GLF_uniform_int_values : Arr;
};

type Arr_1 = [[stride(16)]] array<f32, 1>;

[[block]]
struct buf0 {
  x_GLF_uniform_float_values : Arr_1;
};

[[group(0), binding(1)]] var<uniform> x_7 : buf1;

var<private> gl_FragCoord : vec4<f32>;

[[group(0), binding(0)]] var<uniform> x_11 : buf0;

var<private> x_GLF_color : vec4<f32>;

fn main_1() {
  var a : i32;
  var i : i32;
  var j : i32;
  let x_36 : i32 = x_7.x_GLF_uniform_int_values[2];
  a = x_36;
  let x_38 : i32 = x_7.x_GLF_uniform_int_values[2];
  i = x_38;
  loop {
    let x_43 : i32 = i;
    let x_45 : i32 = x_7.x_GLF_uniform_int_values[0];
    if ((x_43 < x_45)) {
    } else {
      break;
    }
    let x_49 : i32 = x_7.x_GLF_uniform_int_values[2];
    j = x_49;
    loop {
      let x_54 : i32 = j;
      let x_56 : i32 = x_7.x_GLF_uniform_int_values[0];
      if ((x_54 < x_56)) {
      } else {
        break;
      }
      loop {
        let x_64 : i32 = x_7.x_GLF_uniform_int_values[1];
        a = x_64;
        let x_66 : f32 = gl_FragCoord.y;
        let x_68 : f32 = x_11.x_GLF_uniform_float_values[0];
        if ((x_66 < x_68)) {
          discard;
        }

        continuing {
          let x_72 : i32 = a;
          let x_74 : i32 = x_7.x_GLF_uniform_int_values[1];
          if ((x_72 < x_74)) {
          } else {
            break;
          }
        }
      }
      let x_77 : f32 = gl_FragCoord.y;
      let x_79 : f32 = x_11.x_GLF_uniform_float_values[0];
      if ((x_77 < x_79)) {
        break;
      }

      continuing {
        let x_83 : i32 = j;
        j = (x_83 + 1);
      }
    }

    continuing {
      let x_85 : i32 = i;
      i = (x_85 + 1);
    }
  }
  let x_87 : i32 = a;
  let x_89 : i32 = x_7.x_GLF_uniform_int_values[1];
  if ((x_87 == x_89)) {
    let x_94 : i32 = a;
    let x_97 : i32 = x_7.x_GLF_uniform_int_values[2];
    let x_100 : i32 = x_7.x_GLF_uniform_int_values[2];
    let x_102 : i32 = a;
    x_GLF_color = vec4<f32>(f32(x_94), f32(x_97), f32(x_100), f32(x_102));
  } else {
    let x_106 : i32 = x_7.x_GLF_uniform_int_values[2];
    let x_107 : f32 = f32(x_106);
    x_GLF_color = vec4<f32>(x_107, x_107, x_107, x_107);
  }
  return;
}

struct main_out {
  [[location(0)]]
  x_GLF_color_1 : vec4<f32>;
};

[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
  gl_FragCoord = gl_FragCoord_param;
  main_1();
  return main_out(x_GLF_color);
}