#include <metal_stdlib>
using namespace metal;
struct modf_result_vec3_f32 {
  float3 fract;
  float3 whole;
};

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