#include <metal_stdlib>

using namespace metal;
float4 subgroupBroadcastFirst_8ae580() {
  float4 arg_0 = float4(1.0f);
  float4 res = simd_broadcast_first(arg_0);
  return res;
}

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

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

