[numthreads(1, 1, 1)]
void unused_entry_point() {
  return;
}

RWByteAddressBuffer v : register(u0, space0);
static uint i = 0u;

int idx1() {
  i = (i + 1u);
  return 1;
}

int idx2() {
  i = (i + 2u);
  return 1;
}

int idx3() {
  i = (i + 3u);
  return 1;
}

void foo() {
  float a[4] = (float[4])0;
  {
    const int tint_symbol_save = idx1();
    a[tint_symbol_save] = (a[tint_symbol_save] * 2.0f);
    while (true) {
      const int tint_symbol_2 = idx2();
      if (!((a[tint_symbol_2] < 10.0f))) {
        break;
      }
      {
      }
      {
        const int tint_symbol_1_save = idx3();
        a[tint_symbol_1_save] = (a[tint_symbol_1_save] + 1.0f);
      }
    }
  }
}