var<private> position : vec4<f32>;

var<private> pos : u32;

var<private> gl_Position : vec4<f32>;

fn main_1() {
  let x_22 : vec4<f32> = position;
  gl_Position = x_22;
  pos = 0u;
  return;
}

struct main_out {
  @builtin(position)
  gl_Position : vec4<f32>;
  @location(0) @interpolate(flat)
  pos_1 : u32;
};

@stage(vertex)
fn main(@location(0) position_param : vec4<f32>) -> main_out {
  position = position_param;
  main_1();
  return main_out(gl_Position, pos);
}
