#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
  texture1d<float, access::read_write> arg_0;
};

void textureStore_09e4d5(tint_module_vars_struct tint_module_vars) {
  tint_module_vars.arg_0.write(float4(1.0f), 1u);
  tint_module_vars.arg_0.fence();
}
fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
  textureStore_09e4d5(tint_module_vars);
}
kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
  textureStore_09e4d5(tint_module_vars);
}
