#include <metal_stdlib>

using namespace metal;

struct modf_result_vec2_f32 {
  float2 fract;
  float2 whole;
};
modf_result_vec2_f32 tint_modf(float2 param_0) {
  modf_result_vec2_f32 result;
  result.fract = modf(param_0, result.whole);
  return result;
}

kernel void tint_symbol() {
  float2 const in = float2(1.25f, 3.75f);
  modf_result_vec2_f32 const res = tint_modf(in);
  float2 const fract = res.fract;
  float2 const whole = res.whole;
  return;
}

