#include using namespace metal; struct buf0 { /* 0x0000 */ float one; }; struct main_out { float4 x_GLF_color_1; }; struct tint_symbol_1 { float4 x_GLF_color_1 [[color(0)]]; }; void func_(constant buf0& x_6) { float const x_28 = x_6.one; if ((1.0f > x_28)) { discard_fragment(); } return; } void main_1(constant buf0& x_6, thread float4* const tint_symbol_3) { *(tint_symbol_3) = float4(0.0f, 0.0f, 0.0f, 0.0f); while (true) { func_(x_6); if (false) { } else { break; } } *(tint_symbol_3) = float4(1.0f, 0.0f, 0.0f, 1.0f); return; } main_out tint_symbol_inner(constant buf0& x_6, thread float4* const tint_symbol_4) { main_1(x_6, tint_symbol_4); main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)}; return tint_symbol_2; } fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]]) { thread float4 tint_symbol_5 = 0.0f; main_out const inner_result = tint_symbol_inner(x_6, &(tint_symbol_5)); tint_symbol_1 wrapper_result = {}; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; return wrapper_result; }