#include <metal_stdlib>
using namespace metal;

struct frexp_result_f32 {
  float fract;
  int exp;
};

kernel void tint_symbol() {
  float const runtime_in = 1.25f;
  frexp_result_f32 res = frexp_result_f32{.fract=0.625f, .exp=1};
  frexp_result_f32 v = {};
  v.fract = frexp(runtime_in, v.exp);
  res = v;
  res = frexp_result_f32{.fract=0.625f, .exp=1};
  float const fract = res.fract;
  int const exp = res.exp;
}
