#include <metal_stdlib>

using namespace metal;
int tint_ftoi(float v) {
  return select(2147483647, select(int(v), (-2147483647 - 1), (v < -2147483648.0f)), (v < 2147483520.0f));
}

void foo(float x) {
  switch(tint_ftoi(x)) {
    default: {
      break;
    }
  }
}

int baz(int x) {
  thread int tint_symbol_1 = 0;
  tint_symbol_1 = 42;
  return x;
}

void bar(float x) {
  switch(baz(tint_ftoi(x))) {
    default: {
      break;
    }
  }
}

void tint_symbol() {
}

