| struct S { | 
 |   int arr[4]; | 
 | }; | 
 |  | 
 |  | 
 | RWByteAddressBuffer s : register(u0); | 
 | int foo() { | 
 |   int v[4] = (int[4])0; | 
 |   int tint_symbol[4] = (int[4])0; | 
 |   S dst_struct = (S)0; | 
 |   int dst_array[2][4] = (int[2][4])0; | 
 |   int src[4] = v; | 
 |   dst_struct.arr = src; | 
 |   int v_1[4] = v; | 
 |   dst_array[int(1)] = v_1; | 
 |   int v_2[4] = v; | 
 |   tint_symbol = v_2; | 
 |   int v_3[4] = v; | 
 |   dst_struct.arr = v_3; | 
 |   int v_4[4] = v; | 
 |   dst_array[int(0)] = v_4; | 
 |   return ((tint_symbol[int(0)] + dst_struct.arr[int(0)]) + dst_array[int(0)][int(0)]); | 
 | } | 
 |  | 
 | [numthreads(1, 1, 1)] | 
 | void main() { | 
 |   s.Store(0u, asuint(foo())); | 
 | } | 
 |  |