#include <metal_stdlib>

using namespace metal;
struct tint_symbol_1 {
  float4 fbf [[color(0)]];
};

struct tint_symbol_2 {
  float4 value [[color(0)]];
};

float4 f_inner(float4 fbf) {
  return fbf;
}

fragment tint_symbol_2 f(tint_symbol_1 tint_symbol [[stage_in]]) {
  float4 const inner_result = f_inner(tint_symbol.fbf);
  tint_symbol_2 wrapper_result = {};
  wrapper_result.value = inner_result;
  return wrapper_result;
}

