
RWByteAddressBuffer i : register(u0);
[numthreads(1, 1, 1)]
void main() {
  {
    uint2 tint_loop_idx = (4294967295u).xx;
    i.Store(0u, (i.Load(0u) + 1u));
    while(true) {
      if (all((tint_loop_idx == (0u).xx))) {
        break;
      }
      if ((i.Load(0u) < 10u)) {
      } else {
        break;
      }
      {
        uint tint_low_inc = (tint_loop_idx.x - 1u);
        tint_loop_idx.x = tint_low_inc;
        uint tint_carry = uint((tint_low_inc == 4294967295u));
        tint_loop_idx.y = (tint_loop_idx.y - tint_carry);
      }
    }
  }
}

