#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  float arr[4];
};
struct tint_array_wrapper_1 {
  tint_array_wrapper arr[3];
};
struct tint_array_wrapper_2 {
  tint_array_wrapper_1 arr[2];
};

float f1(tint_array_wrapper a) {
  return a.arr[3];
}

float f2(tint_array_wrapper_1 a) {
  return a.arr[2].arr[3];
}

float f3(tint_array_wrapper_2 a) {
  return a.arr[1].arr[2].arr[3];
}

kernel void tint_symbol() {
  tint_array_wrapper const a1 = {.arr={}};
  tint_array_wrapper_1 const a2 = {.arr={}};
  tint_array_wrapper_2 const a3 = {.arr={}};
  float const v1 = f1(a1);
  float const v2 = f2(a2);
  float const v3 = f3(a3);
  return;
}

