#include <metal_stdlib>

using namespace metal;
float2 quadBroadcast_cfbf48() {
  float2 arg_0 = float2(1.0f);
  float2 res = quad_broadcast(arg_0,1);
  return res;
}

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

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

