#include using namespace metal; struct buf0 { /* 0x0000 */ packed_float2 injectionSwitch; }; struct main_out { float4 x_GLF_color_1; }; struct tint_symbol_2 { float4 x_GLF_color_1 [[color(0)]]; }; float3 computePoint_(constant buf0& x_7) { float const x_48 = x_7.injectionSwitch.x; float const x_50 = x_7.injectionSwitch.y; if ((x_48 > x_50)) { discard_fragment(); } return float3(0.0f, 0.0f, 0.0f); } void main_1(constant buf0& x_7, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) { bool x_34 = false; while (true) { float3 const x_36 = computePoint_(x_7); float const x_41 = (*(tint_symbol_5)).x; if ((x_41 < 0.0f)) { x_34 = true; break; } float3 const x_45 = computePoint_(x_7); *(tint_symbol_6) = float4(1.0f, 0.0f, 0.0f, 1.0f); x_34 = true; break; } return; } fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_7 [[buffer(0)]]) { thread float4 tint_symbol_7 = 0.0f; thread float4 tint_symbol_8 = 0.0f; tint_symbol_7 = gl_FragCoord_param; main_1(x_7, &(tint_symbol_7), &(tint_symbol_8)); main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_8}; tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1}; return tint_symbol_4; }