[[block]]
struct buf0 {
  injectionSwitch : vec2<f32>;
};

var<private> x_GLF_color : vec4<f32>;

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

fn computeColor_() -> vec3<f32> {
  var x_injected_loop_counter : i32;
  x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
  x_injected_loop_counter = 1;
  loop {
    let x_38 : f32 = x_7.injectionSwitch.x;
    if ((x_38 > 1.0)) {
      let x_43 : f32 = x_7.injectionSwitch.x;
      if ((x_43 > 1.0)) {
        continue;
      } else {
        continue;
      }
      continue;
    }
    return vec3<f32>(1.0, 1.0, 1.0);
  }
  return vec3<f32>(0.0, 0.0, 0.0);
}

fn main_1() {
  let x_31 : vec3<f32> = computeColor_();
  return;
}

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

[[stage(fragment)]]
fn main() -> main_out {
  main_1();
  return main_out(x_GLF_color);
}
