#include <metal_stdlib>

using namespace metal;
struct tint_symbol {
  float4 value [[position]];
};

void unpack2x16unorm_7699c0() {
  float2 res =   unpack_unorm2x16_to_float(1u);
}

vertex tint_symbol vertex_main() {
  unpack2x16unorm_7699c0();
  tint_symbol const tint_symbol_1 = {.value=float4()};
  return tint_symbol_1;
}

fragment void fragment_main() {
  unpack2x16unorm_7699c0();
  return;
}

kernel void compute_main() {
  unpack2x16unorm_7699c0();
  return;
}

