fn f(x : i32) -> i32 {
if (x == 10) {
discard;
}
return x;
@stage(fragment)
fn main(@location(1) x: vec3<i32>) -> @location(2) i32 {
var y = x.x;
loop {
let r = f(y);
if (r == 0) {
break;
return y;