#include <metal_stdlib>
using namespace metal;

struct In {
  float4 pos;
};

struct f_inputs {
  int4 fbf_2 [[color(2)]];
  float4 uv [[user(locn0)]];
  uint4 fbf_0 [[color(0)]];
};

void g(int a, float b, float c, uint d) {
}

void f_inner(int4 fbf_2, In in, float4 uv, uint4 fbf_0) {
  g(fbf_2[2u], in.pos[0u], uv[0u], fbf_0[1u]);
}

fragment void f(f_inputs inputs [[stage_in]], float4 In_pos [[position]]) {
  f_inner(inputs.fbf_2, In{.pos=In_pos}, inputs.uv, inputs.fbf_0);
}
