var<private> x_2 : vec3<f32>;

var<private> x_3 : i32;

var<private> x_4 : i32;

var<private> gl_Position : vec4<f32>;

fn main_1() {
  let x_22 : vec3<f32> = x_2;
  gl_Position = vec4<f32>(x_22, 1.0);
  x_4 = x_3;
  return;
}

struct main_out {
  [[location(0)]]
  x_4_1 : i32;
  [[builtin(position)]]
  gl_Position : vec4<f32>;
};

[[stage(vertex)]]
fn main([[location(0)]] x_2_param : vec3<f32>, [[location(1)]] x_3_param : i32) -> main_out {
  x_2 = x_2_param;
  x_3 = x_3_param;
  main_1();
  return main_out(x_4, gl_Position);
}
