#include <metal_stdlib>

using namespace metal;

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

kernel void tint_symbol() {
  float const in = 1.230000019f;
  modf_result const res = tint_modf(in);
  float const fract = res.fract;
  float const whole = res.whole;
  return;
}

