#include <metal_stdlib>
using namespace metal;
struct modf_result_vec3_f32 {
  float3 fract;
  float3 whole;
};
struct vertex_main_outputs {
  float4 tint_symbol [[position]];
};

void modf_68d8ee() {
  modf_result_vec3_f32 res = modf_result_vec3_f32{.fract=float3(-0.5f), .whole=float3(-1.0f)};
}
float4 vertex_main_inner() {
  modf_68d8ee();
  return float4(0.0f);
}
fragment void fragment_main() {
  modf_68d8ee();
}
kernel void compute_main() {
  modf_68d8ee();
}
vertex vertex_main_outputs vertex_main() {
  return vertex_main_outputs{.tint_symbol=vertex_main_inner()};
}
