#include #include using namespace metal; struct SSBO; struct UBO { uint2 b; }; struct SSBO { packed_float3 a1; float a2; }; kernel void main0(constant UBO& _10 [[buffer(0)]]) { ((device SSBO*)as_type(_10.b))->a1 = float3(1.0, 2.0, 3.0); uint2 _35 = as_type((uint64_t)((device SSBO*)as_type(_10.b + uint2(32u)))); uint2 v2 = _35; device SSBO* _39 = ((device SSBO*)as_type(_35)); float3 v3 = float3(_39->a1); _39->a1 = float3(_39->a1) + float3(1.0); }