uniform half4 colorGreen; float this_function_is_prototyped_at_the_start_and_never_defined(); half4 this_function_is_defined_before_use(half4 x); half4 this_function_is_defined_after_use(half4 x); half4 this_function_is_defined_near_the_end(half4 x); half4 main(float2 coords); // prototyping main is allowed (although not particularly useful) half4 this_function_is_defined_before_use(half4 x) { return -this_function_is_defined_near_the_end(x); } bool this_function_is_prototyped_in_the_middle_and_never_defined(float4x4 a); half4 main(float2 coords) { return this_function_is_defined_after_use(colorGreen); } half4 this_function_is_defined_after_use(half4 x) { return this_function_is_defined_before_use(-x); } half4 this_function_is_defined_near_the_end(half4 x) { return x; } int3 this_function_is_prototyped_at_the_very_end_and_never_defined(half2x2 x, bool2 y);