#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(0);
  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;
}

