#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  device float4* prevent_dce;
};

float4 quadBroadcast_9d802c() {
  float4 res = quad_broadcast(float4(1.0f), 1);
  return res;
}

fragment void fragment_main(device float4* prevent_dce [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce};
  (*tint_module_vars.prevent_dce) = quadBroadcast_9d802c();
}

kernel void compute_main(device float4* prevent_dce [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce};
  (*tint_module_vars.prevent_dce) = quadBroadcast_9d802c();
}
