1cb93a386Sopenharmony_ciuniform half4 inputA, inputB; 2cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed; 3cb93a386Sopenharmony_ci 4cb93a386Sopenharmony_cihalf4 main(float2 coords) { 5cb93a386Sopenharmony_ci const half4 constValA = half4(1, 2, 3, 4); 6cb93a386Sopenharmony_ci const half4 constValB = half4(5, 6, 7, 8); 7cb93a386Sopenharmony_ci half4 expected = half4(5, 17, 38, 70); 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_ci return (dot(inputA.x, inputB.x) == expected.x && 10cb93a386Sopenharmony_ci dot(inputA.xy, inputB.xy) == expected.y && 11cb93a386Sopenharmony_ci dot(inputA.xyz, inputB.xyz) == expected.z && 12cb93a386Sopenharmony_ci dot(inputA.xyzw, inputB.xyzw) == expected.w && 13cb93a386Sopenharmony_ci dot(constValA.x, constValB.x) == expected.x && 14cb93a386Sopenharmony_ci dot(constValA.xy, constValB.xy) == expected.y && 15cb93a386Sopenharmony_ci dot(constValA.xyz, constValB.xyz) == expected.z && 16cb93a386Sopenharmony_ci dot(constValA.xyzw, constValB.xyzw) == expected.w) ? colorGreen : colorRed; 17cb93a386Sopenharmony_ci} 18