struct FragmentInputs0 {
  [[builtin(position)]]
  position : vec4<f32>;
  [[location(0), interpolate(flat)]]
  loc0 : i32;
};

struct FragmentInputs1 {
  [[location(3)]]
  loc3 : vec4<f32>;
  [[builtin(sample_mask)]]
  sample_mask : u32;
};

[[stage(fragment)]]
fn main(inputs0 : FragmentInputs0, [[builtin(front_facing)]] front_facing : bool, [[location(1), interpolate(flat)]] loc1 : u32, [[builtin(sample_index)]] sample_index : u32, inputs1 : FragmentInputs1, [[location(2)]] loc2 : f32) {
  if (front_facing) {
    let foo : vec4<f32> = inputs0.position;
    let bar : u32 = (sample_index + inputs1.sample_mask);
    let i : i32 = inputs0.loc0;
    let u : u32 = loc1;
    let f : f32 = loc2;
    let v : vec4<f32> = inputs1.loc3;
  }
}
