intrinsics/gen/frexp/a3f940.wgsl:29:24 warning: use of deprecated intrinsic
  var res: vec2<f32> = frexp(vec2<f32>(), &arg_1);
                       ^^^^^

#include <metal_stdlib>

using namespace metal;

float2 tint_frexp(float2 param_0, threadgroup int2* param_1) {
  int2 exp;
  float2 sig = frexp(param_0, exp);
  *param_1 = exp;
  return sig;
}

void frexp_a3f940(threadgroup int2* const tint_symbol_1) {
  float2 res = tint_frexp(float2(), tint_symbol_1);
}

kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
  threadgroup int2 tint_symbol_2;
  {
    tint_symbol_2 = int2();
  }
  threadgroup_barrier(mem_flags::mem_threadgroup);
  frexp_a3f940(&(tint_symbol_2));
  return;
}

