#include <metal_stdlib>
using namespace metal;

void f_1() {
  uint3 v = uint3(0u);
  uint3 n = uint3(0u);
  uint offset_1 = 0u;
  uint count = 0u;
  uint3 const v_1 = v;
  uint3 const v_2 = n;
  uint const v_3 = count;
  uint const v_4 = min(offset_1, 32u);
  uint3 const x_15 = insert_bits(v_1, v_2, v_4, min(v_3, (32u - v_4)));
}

kernel void f() {
  f_1();
}
