uniform half4 colorWhite; noinline bool IsEqual(half4 x, half4 y) { return x == y; } half4 main(float2 coords) { half4 colorBlue = colorWhite.00ba, colorGreen = colorWhite.0g0a, colorRed = colorWhite.r00a; half4 result; result = !IsEqual(colorWhite, colorBlue) // takes true side ? ( IsEqual(colorGreen, colorRed) ? colorRed : colorGreen) // takes false side : (!IsEqual(colorRed, colorGreen) ? colorBlue : colorWhite); // not taken return IsEqual(colorRed, colorBlue ) ? colorWhite : !IsEqual(colorRed, colorGreen) ? result : // is taken IsEqual(colorRed, colorWhite) ? colorBlue : colorRed; }