#include <metal_stdlib>

using namespace metal;
void bar() {
}

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

float4 tint_symbol_inner() {
  float2 a = float2();
  bar();
  return float4(0.400000006f, 0.400000006f, 0.800000012f, 1.0f);
}

fragment tint_symbol_1 tint_symbol() {
  float4 const inner_result = tint_symbol_inner();
  tint_symbol_1 wrapper_result = {};
  wrapper_result.value = inner_result;
  return wrapper_result;
}

