struct FragmentInputs0 {
  [[builtin(position)]]
  position : vec4<f32>;
  [[location(0)]]
  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)]] 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;
  }
}
