#version 310 es precision mediump float; int f(int x) { if ((x == 10)) { discard; } return x; } struct tint_symbol_2 { ivec3 x; }; struct tint_symbol_3 { int value; }; int tint_symbol_inner(ivec3 x) { int y = x.x; while (true) { int r = f(y); if ((r == 0)) { break; } } return y; } tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1) { int inner_result = tint_symbol_inner(tint_symbol_1.x); tint_symbol_3 wrapper_result = tint_symbol_3(0); wrapper_result.value = inner_result; return wrapper_result; } layout(location = 1) flat in ivec3 x; layout(location = 2) out int value; void main() { tint_symbol_2 inputs; inputs.x = x; tint_symbol_3 outputs; outputs = tint_symbol(inputs); value = outputs.value; }