#include <metal_stdlib>
using namespace metal;

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