#include <metal_stdlib>

using namespace metal;
void reflect_f47fdb() {
  float3 res =   reflect(float3(), float3());
}

vertex void vertex_main() {
  reflect_f47fdb();
  return;
}

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

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

