fn isNan_67ecd3() {
  var res : vec2<bool> = isNan(vec2<f32>());
}

[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
  isNan_67ecd3();
  return vec4<f32>();
}

[[stage(fragment)]]
fn fragment_main() {
  isNan_67ecd3();
}

[[stage(compute), workgroup_size(1)]]
fn compute_main() {
  isNan_67ecd3();
}
