#include <metal_stdlib>

using namespace metal;
struct tint_symbol {
  float4 value [[position]];
};

void normalize_64d8c0() {
  float3 res =   normalize(float3());
}

vertex tint_symbol vertex_main() {
  normalize_64d8c0();
  tint_symbol const tint_symbol_1 = {.value=float4()};
  return tint_symbol_1;
}

fragment void fragment_main() {
  normalize_64d8c0();
  return;
}

kernel void compute_main() {
  normalize_64d8c0();
  return;
}

