// language: metal1.0
#include <metal_stdlib>
#include <simd/simd.h>

using metal::uint;

struct S {
    metal::float3 a;
};
struct Test {
    S a;
    float b;
};
struct type_2 {
    metal::float3 inner[2];
};
struct Test2_ {
    type_2 a;
    float b;
};
struct Test3_ {
    metal::float4x3 a;
    float b;
};

struct vertex_Output {
    metal::float4 member [[position]];
};
vertex vertex_Output vertex_(
  constant Test& input1_ [[buffer(0)]]
, constant Test2_& input2_ [[buffer(1)]]
, constant Test3_& input3_ [[buffer(2)]]
) {
    float _e4 = input1_.b;
    float _e8 = input2_.b;
    float _e12 = input3_.b;
    return vertex_Output { ((metal::float4(1.0) * _e4) * _e8) * _e12 };
}
