#include <metal_stdlib>

using namespace metal;
void dot_883f0e() {
  float res =   dot(float2(), float2());
}

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

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

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

