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;
  }
}
