void set_float3(inout float3 vec, int idx, float val) {
  vec = (idx.xxx == int3(0, 1, 2)) ? val.xxx : vec;
}

struct OuterS {
  uint a1[8];
};

cbuffer cbuffer_uniforms : register(b4, space1) {
  uint4 uniforms[1];
};

uint f(uint i) {
  return (i + 1u);
}

[numthreads(1, 1, 1)]
void main() {
  OuterS s1 = (OuterS)0;
  float3 v = float3(0.0f, 0.0f, 0.0f);
  set_float3(v, s1.a1[uniforms[0].x], 1.0f);
  set_float3(v, f(s1.a1[uniforms[0].x]), 1.0f);
  return;
}
