#include <metal_stdlib>

using namespace metal;
int3 tint_extract_bits(int3 v, uint offset, uint count) {
  uint const s = min(offset, 32u);
  uint const e = min(32u, (s + count));
  return extract_bits(v, s, (e - s));
}

void f_1() {
  int3 v = int3();
  uint offset_1 = 0u;
  uint count = 0u;
  int3 const x_17 = v;
  uint const x_18 = offset_1;
  uint const x_19 = count;
  int3 const x_15 = tint_extract_bits(x_17, x_18, x_19);
  return;
}

kernel void f() {
  f_1();
  return;
}

