1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform float unknownInput; 4cb93a386Sopenharmony_ciuniform vec4 colorRed; 5cb93a386Sopenharmony_ciuniform vec4 colorGreen; 6cb93a386Sopenharmony_cibool test_int_b() { 7cb93a386Sopenharmony_ci int unknown = int(unknownInput); 8cb93a386Sopenharmony_ci bool ok = true; 9cb93a386Sopenharmony_ci ok = ok && ivec4(0) / ivec4(unknown) == ivec4(0); 10cb93a386Sopenharmony_ci ivec4 val = ivec4(unknown); 11cb93a386Sopenharmony_ci val += ivec4(1); 12cb93a386Sopenharmony_ci val -= ivec4(1); 13cb93a386Sopenharmony_ci val = val + ivec4(1); 14cb93a386Sopenharmony_ci val = val - ivec4(1); 15cb93a386Sopenharmony_ci ok = ok && val == ivec4(unknown); 16cb93a386Sopenharmony_ci val *= ivec4(2); 17cb93a386Sopenharmony_ci val /= ivec4(2); 18cb93a386Sopenharmony_ci val = val * ivec4(2); 19cb93a386Sopenharmony_ci val = val / ivec4(2); 20cb93a386Sopenharmony_ci ok = ok && val == ivec4(unknown); 21cb93a386Sopenharmony_ci return ok; 22cb93a386Sopenharmony_ci} 23cb93a386Sopenharmony_civec4 main() { 24cb93a386Sopenharmony_ci float _0_unknown = unknownInput; 25cb93a386Sopenharmony_ci bool _1_ok = true; 26cb93a386Sopenharmony_ci _1_ok = _1_ok && vec4(0.0) / vec4(_0_unknown) == vec4(0.0); 27cb93a386Sopenharmony_ci vec4 _2_val = vec4(_0_unknown); 28cb93a386Sopenharmony_ci _2_val += vec4(1.0); 29cb93a386Sopenharmony_ci _2_val -= vec4(1.0); 30cb93a386Sopenharmony_ci _2_val = _2_val + vec4(1.0); 31cb93a386Sopenharmony_ci _2_val = _2_val - vec4(1.0); 32cb93a386Sopenharmony_ci _1_ok = _1_ok && _2_val == vec4(_0_unknown); 33cb93a386Sopenharmony_ci _2_val *= vec4(2.0); 34cb93a386Sopenharmony_ci _2_val /= vec4(2.0); 35cb93a386Sopenharmony_ci _2_val = _2_val * vec4(2.0); 36cb93a386Sopenharmony_ci _2_val = _2_val / vec4(2.0); 37cb93a386Sopenharmony_ci _1_ok = _1_ok && _2_val == vec4(_0_unknown); 38cb93a386Sopenharmony_ci return _1_ok && test_int_b() ? colorGreen : colorRed; 39cb93a386Sopenharmony_ci} 40