#include <metal_stdlib>

using namespace metal;
uint subgroupBroadcast_c36fe1() {
  uint arg_0 = 1u;
  uint res = simd_broadcast(arg_0,ushort(1u));
  return res;
}

fragment void fragment_main(device uint* tint_symbol [[buffer(0)]]) {
  *(tint_symbol) = subgroupBroadcast_c36fe1();
  return;
}

kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]]) {
  *(tint_symbol_1) = subgroupBroadcast_c36fe1();
  return;
}

