#include <metal_stdlib>

using namespace metal;

struct frexp_result_f32 {
  float fract;
  int exp;
};
frexp_result_f32 tint_frexp(float param_0) {
  frexp_result_f32 result;
  result.fract = frexp(param_0, result.exp);
  return result;
}

kernel void tint_symbol() {
  float const in = 1.25f;
  frexp_result_f32 const res = tint_frexp(in);
  float const fract = res.fract;
  int const exp = res.exp;
  return;
}

