#include <metal_stdlib>
using namespace metal;
struct frexp_result_vec4_f32 {
  float4 fract;
  int4 exp;
};

void frexp_34bbfb() {
  frexp_result_vec4_f32 res = frexp_result_vec4_f32{.fract=float4(0.5f), .exp=int4(1)};
}
vertex float4 vertex_main() {
  frexp_34bbfb();
  return float4(0.0f);
}
fragment void fragment_main() {
  frexp_34bbfb();
}
kernel void compute_main() {
  frexp_34bbfb();
}
