#include <metal_stdlib>

using namespace metal;
struct S {
  /* 0x0000 */ float f;
  /* 0x0004 */ uint u;
  /* 0x0008 */ int8_t tint_pad[120];
  /* 0x0080 */ packed_float4 v;
  /* 0x0090 */ int8_t tint_pad_1[112];
};
struct tint_symbol_2 {
  float f [[user(locn0)]];
  uint u [[user(locn1)]];
};

fragment void frag_main(float4 tint_symbol_1 [[position]], tint_symbol_2 tint_symbol [[stage_in]], device S& output [[buffer(0)]]) {
  S const input = {.f=tint_symbol.f, .u=tint_symbol.u, .v=tint_symbol_1};
  float const f = input.f;
  uint const u = input.u;
  float4 const v = input.v;
  output = input;
  return;
}

