uniform half4 testInputs, colorGreen, colorRed; half4 constant_swizzle() { half4 v = testInputs; half x = v[0]; half y = v[1]; half z = v[2]; half w = v[3]; return half4(x, y, z, w); // -1.25, 0, 0.75, 2.25 } half4 foldable_index() { const int ZERO = 0, ONE = 1, TWO = 2, THREE = 3; half x = testInputs[ZERO]; half y = testInputs[ONE]; half z = testInputs[TWO]; half w = testInputs[THREE]; return half4(x, y, z, w); // -1.25, 0, 0.75, 2.25 } half4 foldable() { half4 v = half4(0, 1, 2, 3); half x = v[0]; half y = v[1]; half z = v[2]; half w = v[3]; return half4(x, y, z, w); // 0, 1, 2, 3 } half4 main() { half4 a = constant_swizzle(); half4 b = foldable_index(); half4 c = foldable(); return a == half4(-1.25, 0, 0.75, 2.25) && b == half4(-1.25, 0, 0.75, 2.25) && c == half4(0, 1, 2, 3) ? colorGreen : colorRed; }