#include <metal_stdlib>

using namespace metal;
float4 quadBroadcast_820991() {
  float4 res = quad_broadcast(float4(1.0f),1u);
  return res;
}

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

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

