1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 colorRed; 4cb93a386Sopenharmony_ciuniform vec4 colorGreen; 5cb93a386Sopenharmony_ciuniform float unknownInput; 6cb93a386Sopenharmony_cibool test_int_b() { 7cb93a386Sopenharmony_ci bool ok = true; 8cb93a386Sopenharmony_ci ivec4 inputRed = ivec4(colorRed); 9cb93a386Sopenharmony_ci ivec4 inputGreen = ivec4(colorGreen); 10cb93a386Sopenharmony_ci ivec4 x = inputRed + 2; 11cb93a386Sopenharmony_ci ok = ok && x == ivec4(3, 2, 2, 3); 12cb93a386Sopenharmony_ci x = inputGreen.ywxz - 2; 13cb93a386Sopenharmony_ci ok = ok && x == ivec4(-1, -1, -2, -2); 14cb93a386Sopenharmony_ci x = inputRed + inputGreen.y; 15cb93a386Sopenharmony_ci ok = ok && x == ivec4(2, 1, 1, 2); 16cb93a386Sopenharmony_ci x.xyz = inputGreen.wyw * 9; 17cb93a386Sopenharmony_ci ok = ok && x == ivec4(9, 9, 9, 2); 18cb93a386Sopenharmony_ci x.xy = x.zw / 3; 19cb93a386Sopenharmony_ci ok = ok && x == ivec4(3, 0, 9, 2); 20cb93a386Sopenharmony_ci x = (inputRed * 5).yxwz; 21cb93a386Sopenharmony_ci ok = ok && x == ivec4(0, 5, 5, 0); 22cb93a386Sopenharmony_ci x = 2 + inputRed; 23cb93a386Sopenharmony_ci ok = ok && x == ivec4(3, 2, 2, 3); 24cb93a386Sopenharmony_ci x = 10 - inputGreen.ywxz; 25cb93a386Sopenharmony_ci ok = ok && x == ivec4(9, 9, 10, 10); 26cb93a386Sopenharmony_ci x = inputRed.x + inputGreen; 27cb93a386Sopenharmony_ci ok = ok && x == ivec4(1, 2, 1, 2); 28cb93a386Sopenharmony_ci x.xyz = 9 * inputGreen.wyw; 29cb93a386Sopenharmony_ci ok = ok && x == ivec4(9, 9, 9, 2); 30cb93a386Sopenharmony_ci x.xy = 36 / x.zw; 31cb93a386Sopenharmony_ci ok = ok && x == ivec4(4, 18, 9, 2); 32cb93a386Sopenharmony_ci x = (36 / x).yxwz; 33cb93a386Sopenharmony_ci ok = ok && x == ivec4(2, 9, 18, 4); 34cb93a386Sopenharmony_ci x += 2; 35cb93a386Sopenharmony_ci x *= 2; 36cb93a386Sopenharmony_ci x -= 4; 37cb93a386Sopenharmony_ci x /= 2; 38cb93a386Sopenharmony_ci ok = ok && x == ivec4(2, 9, 18, 4); 39cb93a386Sopenharmony_ci x = x + 2; 40cb93a386Sopenharmony_ci x = x * 2; 41cb93a386Sopenharmony_ci x = x - 4; 42cb93a386Sopenharmony_ci x = x / 2; 43cb93a386Sopenharmony_ci ok = ok && x == ivec4(2, 9, 18, 4); 44cb93a386Sopenharmony_ci return ok; 45cb93a386Sopenharmony_ci} 46cb93a386Sopenharmony_civec4 main() { 47cb93a386Sopenharmony_ci bool _0_ok = true; 48cb93a386Sopenharmony_ci vec4 _1_inputRed = colorRed; 49cb93a386Sopenharmony_ci vec4 _2_inputGreen = colorGreen; 50cb93a386Sopenharmony_ci vec4 _3_x = _1_inputRed + 2.0; 51cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0); 52cb93a386Sopenharmony_ci _3_x = _2_inputGreen.ywxz - 2.0; 53cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(-1.0, -1.0, -2.0, -2.0); 54cb93a386Sopenharmony_ci _3_x = _1_inputRed + _2_inputGreen.y; 55cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(2.0, 1.0, 1.0, 2.0); 56cb93a386Sopenharmony_ci _3_x.xyz = _2_inputGreen.wyw * 9.0; 57cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 9.0, 2.0); 58cb93a386Sopenharmony_ci _3_x.xy = _3_x.zw / 0.5; 59cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(18.0, 4.0, 9.0, 2.0); 60cb93a386Sopenharmony_ci _3_x = (_1_inputRed * 5.0).yxwz; 61cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(0.0, 5.0, 5.0, 0.0); 62cb93a386Sopenharmony_ci _3_x = 2.0 + _1_inputRed; 63cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0); 64cb93a386Sopenharmony_ci _3_x = 10.0 - _2_inputGreen.ywxz; 65cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 10.0, 10.0); 66cb93a386Sopenharmony_ci _3_x = _1_inputRed.x + _2_inputGreen; 67cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(1.0, 2.0, 1.0, 2.0); 68cb93a386Sopenharmony_ci _3_x.xyz = 9.0 * _2_inputGreen.wyw; 69cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 9.0, 2.0); 70cb93a386Sopenharmony_ci _3_x.xy = 36.0 / _3_x.zw; 71cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(4.0, 18.0, 9.0, 2.0); 72cb93a386Sopenharmony_ci _3_x = (36.0 / _3_x).yxwz; 73cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0); 74cb93a386Sopenharmony_ci _3_x += 2.0; 75cb93a386Sopenharmony_ci _3_x *= 2.0; 76cb93a386Sopenharmony_ci _3_x -= 4.0; 77cb93a386Sopenharmony_ci _3_x /= 2.0; 78cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0); 79cb93a386Sopenharmony_ci _3_x = _3_x + 2.0; 80cb93a386Sopenharmony_ci _3_x = _3_x * 2.0; 81cb93a386Sopenharmony_ci _3_x = _3_x - 4.0; 82cb93a386Sopenharmony_ci _3_x = _3_x / 2.0; 83cb93a386Sopenharmony_ci _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0); 84cb93a386Sopenharmony_ci return _0_ok && test_int_b() ? colorGreen : colorRed; 85cb93a386Sopenharmony_ci} 86