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

#include <metal_stdlib>

using namespace metal;

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

void frexp_40fc9b(threadgroup int3* const tint_symbol_1) {
  float3 res = tint_frexp(float3(), tint_symbol_1);
}

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

