1cb93a386Sopenharmony_ciuniform half4 colorGreen; 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_cinoinline half4 multiplyByAlpha(half4 x) { 4cb93a386Sopenharmony_ci return x * x.aaaa; 5cb93a386Sopenharmony_ci} 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_cinoinline half add(half a, half b) { 8cb93a386Sopenharmony_ci half c = a + b; 9cb93a386Sopenharmony_ci return c; 10cb93a386Sopenharmony_ci} 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_cinoinline half mul(half a, half b) { 13cb93a386Sopenharmony_ci return a * b; 14cb93a386Sopenharmony_ci} 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_cinoinline half fma(half a, half b, half c) { 17cb93a386Sopenharmony_ci return add(mul(a, b), c); 18cb93a386Sopenharmony_ci} 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_cihalf4 main(float2 coords) { 21cb93a386Sopenharmony_ci // Functions used multiple times: 22cb93a386Sopenharmony_ci half4 result = fma(colorGreen.a, colorGreen.g, colorGreen.r).0x0x; 23cb93a386Sopenharmony_ci // Functions used only once: 24cb93a386Sopenharmony_ci result = multiplyByAlpha(result); 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ci return result; 27cb93a386Sopenharmony_ci} 28