#include <metal_stdlib>

using namespace metal;
void max_25eafe() {
  int3 res =   max(int3(), int3());
}

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

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

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

