fn select_1e960b() {
  var arg_0 = vec2<u32>();
  var arg_1 = vec2<u32>();
  var arg_2 = vec2<bool>();
  var res : vec2<u32> = select(arg_0, arg_1, arg_2);
}

@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
  select_1e960b();
  return vec4<f32>();
}

@fragment
fn fragment_main() {
  select_1e960b();
}

@compute @workgroup_size(1)
fn compute_main() {
  select_1e960b();
}
