#include <metal_stdlib>
using namespace metal;

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

kernel void f() {
  f_1();
}
