#include <metal_stdlib>
using namespace metal;

void smoothstep_0c4ffc() {
  float4 res = float4(0.5f);
}
vertex float4 vertex_main() {
  smoothstep_0c4ffc();
  return float4(0.0f);
}
fragment void fragment_main() {
  smoothstep_0c4ffc();
}
kernel void compute_main() {
  smoothstep_0c4ffc();
}
