/*#pragma settings NoInline*/ uniform half4 colorGreen, colorRed; half4 dead_fn(half4 a, half4 b) { return a * b; } half4 live_fn(half4 a, half4 b) { return a + b; } half4 main(float2 coords) { const bool TRUE = true, FALSE = false; half4 a, b; @if (FALSE) { // Dead stripping a user function. half4 unused = dead_fn(half4(0.5), half4(2)); } else { // A live user function. a = live_fn(half4(3), half4(-5)); } @if (TRUE) { // A live built-in function. b = unpremul(half4(1)); } else { // Dead stripping a built-in function. (This is a separate overload of `unpremul`.) float4 unused = unpremul(float4(-1)); } return (a != half4(0) && b != half4(0)) ? colorGreen : colorRed; }