1cb93a386Sopenharmony_ciuniform half4 color; 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_cihalf add(half a, half b) { 4cb93a386Sopenharmony_ci half c = a + b; 5cb93a386Sopenharmony_ci return c; 6cb93a386Sopenharmony_ci} 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_cihalf mul(half a, half b) { 9cb93a386Sopenharmony_ci return a * b; 10cb93a386Sopenharmony_ci} 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_cihalf fma(half a, half b, half c) { 13cb93a386Sopenharmony_ci return add(mul(a, b), c); 14cb93a386Sopenharmony_ci} 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_cihalf4 main(float2 coords) { 17cb93a386Sopenharmony_ci half a = fma(color.x, color.y, color.z); 18cb93a386Sopenharmony_ci half b = fma(color.y, color.z, color.w); 19cb93a386Sopenharmony_ci half c = fma(color.z, color.w, color.x); 20cb93a386Sopenharmony_ci return half4(a, b, mul(c, c), mul(a, mul(b, c))); 21cb93a386Sopenharmony_ci} 22