#include <metal_stdlib>

using namespace metal;
struct S {
  /* 0x0000 */ uint field0[1];
};

void main_1(device S& x_6, device S& x_7, thread uint3* const tint_symbol_2) {
  uint const x_21 = (*(tint_symbol_2)).x;
  uint const x_23 = x_6.field0[x_21];
  x_7.field0[x_21] = as_type<uint>(abs(as_type<int>(x_23)));
  return;
}

kernel void tint_symbol(uint3 x_3_param [[thread_position_in_grid]], device S& x_6 [[buffer(0)]], device S& x_7 [[buffer(1)]]) {
  thread uint3 tint_symbol_3 = 0u;
  tint_symbol_3 = x_3_param;
  main_1(x_6, x_7, &(tint_symbol_3));
  return;
}

