1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 colorGreen; 4cb93a386Sopenharmony_ciuniform vec4 colorRed; 5cb93a386Sopenharmony_civec4 main() { 6cb93a386Sopenharmony_ci vec4 value = colorGreen.yyyy * 6.0; 7cb93a386Sopenharmony_ci ivec4 exp; 8cb93a386Sopenharmony_ci vec4 result; 9cb93a386Sopenharmony_ci bvec4 ok; 10cb93a386Sopenharmony_ci result.x = frexp(value.x, exp.x); 11cb93a386Sopenharmony_ci ok.x = result.x == 0.75 && exp.x == 3; 12cb93a386Sopenharmony_ci result.xy = frexp(value.xy, exp.xy); 13cb93a386Sopenharmony_ci ok.y = result.y == 0.75 && exp.y == 3; 14cb93a386Sopenharmony_ci result.xyz = frexp(value.xyz, exp.xyz); 15cb93a386Sopenharmony_ci ok.z = result.z == 0.75 && exp.z == 3; 16cb93a386Sopenharmony_ci result = frexp(value, exp); 17cb93a386Sopenharmony_ci ok.w = result.w == 0.75 && exp.w == 3; 18cb93a386Sopenharmony_ci return all(ok) ? colorGreen : colorRed; 19cb93a386Sopenharmony_ci} 20