#include <metal_stdlib>

using namespace metal;
half subgroupExclusiveAdd_4a1568() {
  half arg_0 = 1.0h;
  half res = simd_prefix_exclusive_sum(arg_0);
  return res;
}

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

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

