#include <metal_stdlib>

using namespace metal;
void textureStore_fcbe66(texture3d<float, access::write> tint_symbol) {
  uint3 arg_1 = uint3(1u);
  float4 arg_2 = float4(1.0f);
  tint_symbol.write(arg_2, uint3(arg_1));
}

fragment void fragment_main(texture3d<float, access::write> tint_symbol_1 [[texture(0)]]) {
  textureStore_fcbe66(tint_symbol_1);
  return;
}

kernel void compute_main(texture3d<float, access::write> tint_symbol_2 [[texture(0)]]) {
  textureStore_fcbe66(tint_symbol_2);
  return;
}

