#include using namespace metal; int f(int x) { if ((x == 10)) { discard_fragment(); } return x; } struct tint_symbol_2 { int3 x [[user(locn1)]] [[flat]]; }; struct tint_symbol_3 { int value [[color(2)]]; }; int tint_symbol_inner(int3 x) { int y = x[0]; while (true) { int const r = f(y); if ((r == 0)) { break; } } return y; } fragment tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) { int const inner_result = tint_symbol_inner(tint_symbol_1.x); tint_symbol_3 wrapper_result = {}; wrapper_result.value = inner_result; return wrapper_result; }