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

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