1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft 6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor" 7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise" 8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer" 9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "colorGreen" 10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorRed" 11cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v" 12cb93a386Sopenharmony_ciOpName %test_half_b "test_half_b" 13cb93a386Sopenharmony_ciOpName %ok "ok" 14cb93a386Sopenharmony_ciOpName %main "main" 15cb93a386Sopenharmony_ciOpName %_0_ok "_0_ok" 16cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 17cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 19cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 20cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0 21cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16 23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 24cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block 25cb93a386Sopenharmony_ciOpDecorate %11 Binding 0 26cb93a386Sopenharmony_ciOpDecorate %11 DescriptorSet 0 27cb93a386Sopenharmony_ciOpDecorate %30 RelaxedPrecision 28cb93a386Sopenharmony_ciOpDecorate %34 RelaxedPrecision 29cb93a386Sopenharmony_ciOpDecorate %36 RelaxedPrecision 30cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision 31cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision 32cb93a386Sopenharmony_ciOpDecorate %41 RelaxedPrecision 33cb93a386Sopenharmony_ciOpDecorate %42 RelaxedPrecision 34cb93a386Sopenharmony_ciOpDecorate %43 RelaxedPrecision 35cb93a386Sopenharmony_ciOpDecorate %44 RelaxedPrecision 36cb93a386Sopenharmony_ciOpDecorate %45 RelaxedPrecision 37cb93a386Sopenharmony_ciOpDecorate %46 RelaxedPrecision 38cb93a386Sopenharmony_ciOpDecorate %47 RelaxedPrecision 39cb93a386Sopenharmony_ciOpDecorate %48 RelaxedPrecision 40cb93a386Sopenharmony_ciOpDecorate %49 RelaxedPrecision 41cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision 42cb93a386Sopenharmony_ciOpDecorate %51 RelaxedPrecision 43cb93a386Sopenharmony_ciOpDecorate %52 RelaxedPrecision 44cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision 45cb93a386Sopenharmony_ciOpDecorate %55 RelaxedPrecision 46cb93a386Sopenharmony_ciOpDecorate %56 RelaxedPrecision 47cb93a386Sopenharmony_ciOpDecorate %57 RelaxedPrecision 48cb93a386Sopenharmony_ciOpDecorate %74 RelaxedPrecision 49cb93a386Sopenharmony_ciOpDecorate %77 RelaxedPrecision 50cb93a386Sopenharmony_ciOpDecorate %78 RelaxedPrecision 51cb93a386Sopenharmony_ciOpDecorate %79 RelaxedPrecision 52cb93a386Sopenharmony_ciOpDecorate %80 RelaxedPrecision 53cb93a386Sopenharmony_ciOpDecorate %81 RelaxedPrecision 54cb93a386Sopenharmony_ciOpDecorate %82 RelaxedPrecision 55cb93a386Sopenharmony_ciOpDecorate %83 RelaxedPrecision 56cb93a386Sopenharmony_ciOpDecorate %84 RelaxedPrecision 57cb93a386Sopenharmony_ciOpDecorate %85 RelaxedPrecision 58cb93a386Sopenharmony_ciOpDecorate %86 RelaxedPrecision 59cb93a386Sopenharmony_ciOpDecorate %87 RelaxedPrecision 60cb93a386Sopenharmony_ciOpDecorate %88 RelaxedPrecision 61cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision 62cb93a386Sopenharmony_ciOpDecorate %90 RelaxedPrecision 63cb93a386Sopenharmony_ciOpDecorate %91 RelaxedPrecision 64cb93a386Sopenharmony_ciOpDecorate %92 RelaxedPrecision 65cb93a386Sopenharmony_ciOpDecorate %95 RelaxedPrecision 66cb93a386Sopenharmony_ciOpDecorate %96 RelaxedPrecision 67cb93a386Sopenharmony_ciOpDecorate %97 RelaxedPrecision 68cb93a386Sopenharmony_ciOpDecorate %98 RelaxedPrecision 69cb93a386Sopenharmony_ciOpDecorate %114 RelaxedPrecision 70cb93a386Sopenharmony_ciOpDecorate %117 RelaxedPrecision 71cb93a386Sopenharmony_ciOpDecorate %118 RelaxedPrecision 72cb93a386Sopenharmony_ciOpDecorate %119 RelaxedPrecision 73cb93a386Sopenharmony_ciOpDecorate %120 RelaxedPrecision 74cb93a386Sopenharmony_ciOpDecorate %121 RelaxedPrecision 75cb93a386Sopenharmony_ciOpDecorate %123 RelaxedPrecision 76cb93a386Sopenharmony_ciOpDecorate %124 RelaxedPrecision 77cb93a386Sopenharmony_ciOpDecorate %125 RelaxedPrecision 78cb93a386Sopenharmony_ciOpDecorate %126 RelaxedPrecision 79cb93a386Sopenharmony_ciOpDecorate %142 RelaxedPrecision 80cb93a386Sopenharmony_ciOpDecorate %145 RelaxedPrecision 81cb93a386Sopenharmony_ciOpDecorate %146 RelaxedPrecision 82cb93a386Sopenharmony_ciOpDecorate %147 RelaxedPrecision 83cb93a386Sopenharmony_ciOpDecorate %148 RelaxedPrecision 84cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision 85cb93a386Sopenharmony_ciOpDecorate %152 RelaxedPrecision 86cb93a386Sopenharmony_ciOpDecorate %153 RelaxedPrecision 87cb93a386Sopenharmony_ciOpDecorate %154 RelaxedPrecision 88cb93a386Sopenharmony_ciOpDecorate %155 RelaxedPrecision 89cb93a386Sopenharmony_ciOpDecorate %171 RelaxedPrecision 90cb93a386Sopenharmony_ciOpDecorate %174 RelaxedPrecision 91cb93a386Sopenharmony_ciOpDecorate %175 RelaxedPrecision 92cb93a386Sopenharmony_ciOpDecorate %176 RelaxedPrecision 93cb93a386Sopenharmony_ciOpDecorate %177 RelaxedPrecision 94cb93a386Sopenharmony_ciOpDecorate %178 RelaxedPrecision 95cb93a386Sopenharmony_ciOpDecorate %179 RelaxedPrecision 96cb93a386Sopenharmony_ciOpDecorate %180 RelaxedPrecision 97cb93a386Sopenharmony_ciOpDecorate %181 RelaxedPrecision 98cb93a386Sopenharmony_ciOpDecorate %182 RelaxedPrecision 99cb93a386Sopenharmony_ciOpDecorate %183 RelaxedPrecision 100cb93a386Sopenharmony_ciOpDecorate %184 RelaxedPrecision 101cb93a386Sopenharmony_ciOpDecorate %185 RelaxedPrecision 102cb93a386Sopenharmony_ciOpDecorate %186 RelaxedPrecision 103cb93a386Sopenharmony_ciOpDecorate %187 RelaxedPrecision 104cb93a386Sopenharmony_ciOpDecorate %188 RelaxedPrecision 105cb93a386Sopenharmony_ciOpDecorate %189 RelaxedPrecision 106cb93a386Sopenharmony_ciOpDecorate %190 RelaxedPrecision 107cb93a386Sopenharmony_ciOpDecorate %191 RelaxedPrecision 108cb93a386Sopenharmony_ciOpDecorate %192 RelaxedPrecision 109cb93a386Sopenharmony_ciOpDecorate %193 RelaxedPrecision 110cb93a386Sopenharmony_ciOpDecorate %209 RelaxedPrecision 111cb93a386Sopenharmony_ciOpDecorate %212 RelaxedPrecision 112cb93a386Sopenharmony_ciOpDecorate %213 RelaxedPrecision 113cb93a386Sopenharmony_ciOpDecorate %214 RelaxedPrecision 114cb93a386Sopenharmony_ciOpDecorate %215 RelaxedPrecision 115cb93a386Sopenharmony_ciOpDecorate %216 RelaxedPrecision 116cb93a386Sopenharmony_ciOpDecorate %217 RelaxedPrecision 117cb93a386Sopenharmony_ciOpDecorate %218 RelaxedPrecision 118cb93a386Sopenharmony_ciOpDecorate %219 RelaxedPrecision 119cb93a386Sopenharmony_ciOpDecorate %220 RelaxedPrecision 120cb93a386Sopenharmony_ciOpDecorate %221 RelaxedPrecision 121cb93a386Sopenharmony_ciOpDecorate %222 RelaxedPrecision 122cb93a386Sopenharmony_ciOpDecorate %223 RelaxedPrecision 123cb93a386Sopenharmony_ciOpDecorate %224 RelaxedPrecision 124cb93a386Sopenharmony_ciOpDecorate %225 RelaxedPrecision 125cb93a386Sopenharmony_ciOpDecorate %226 RelaxedPrecision 126cb93a386Sopenharmony_ciOpDecorate %227 RelaxedPrecision 127cb93a386Sopenharmony_ciOpDecorate %228 RelaxedPrecision 128cb93a386Sopenharmony_ciOpDecorate %229 RelaxedPrecision 129cb93a386Sopenharmony_ciOpDecorate %230 RelaxedPrecision 130cb93a386Sopenharmony_ciOpDecorate %231 RelaxedPrecision 131cb93a386Sopenharmony_ciOpDecorate %247 RelaxedPrecision 132cb93a386Sopenharmony_ciOpDecorate %250 RelaxedPrecision 133cb93a386Sopenharmony_ciOpDecorate %251 RelaxedPrecision 134cb93a386Sopenharmony_ciOpDecorate %252 RelaxedPrecision 135cb93a386Sopenharmony_ciOpDecorate %253 RelaxedPrecision 136cb93a386Sopenharmony_ciOpDecorate %254 RelaxedPrecision 137cb93a386Sopenharmony_ciOpDecorate %255 RelaxedPrecision 138cb93a386Sopenharmony_ciOpDecorate %256 RelaxedPrecision 139cb93a386Sopenharmony_ciOpDecorate %257 RelaxedPrecision 140cb93a386Sopenharmony_ciOpDecorate %258 RelaxedPrecision 141cb93a386Sopenharmony_ciOpDecorate %274 RelaxedPrecision 142cb93a386Sopenharmony_ciOpDecorate %277 RelaxedPrecision 143cb93a386Sopenharmony_ciOpDecorate %278 RelaxedPrecision 144cb93a386Sopenharmony_ciOpDecorate %279 RelaxedPrecision 145cb93a386Sopenharmony_ciOpDecorate %281 RelaxedPrecision 146cb93a386Sopenharmony_ciOpDecorate %282 RelaxedPrecision 147cb93a386Sopenharmony_ciOpDecorate %283 RelaxedPrecision 148cb93a386Sopenharmony_ciOpDecorate %284 RelaxedPrecision 149cb93a386Sopenharmony_ciOpDecorate %285 RelaxedPrecision 150cb93a386Sopenharmony_ciOpDecorate %286 RelaxedPrecision 151cb93a386Sopenharmony_ciOpDecorate %287 RelaxedPrecision 152cb93a386Sopenharmony_ciOpDecorate %288 RelaxedPrecision 153cb93a386Sopenharmony_ciOpDecorate %289 RelaxedPrecision 154cb93a386Sopenharmony_ciOpDecorate %290 RelaxedPrecision 155cb93a386Sopenharmony_ciOpDecorate %291 RelaxedPrecision 156cb93a386Sopenharmony_ciOpDecorate %292 RelaxedPrecision 157cb93a386Sopenharmony_ciOpDecorate %304 RelaxedPrecision 158cb93a386Sopenharmony_ciOpDecorate %309 RelaxedPrecision 159cb93a386Sopenharmony_ciOpDecorate %347 RelaxedPrecision 160cb93a386Sopenharmony_ciOpDecorate %385 RelaxedPrecision 161cb93a386Sopenharmony_ciOpDecorate %412 RelaxedPrecision 162cb93a386Sopenharmony_ciOpDecorate %439 RelaxedPrecision 163cb93a386Sopenharmony_ciOpDecorate %477 RelaxedPrecision 164cb93a386Sopenharmony_ciOpDecorate %515 RelaxedPrecision 165cb93a386Sopenharmony_ciOpDecorate %542 RelaxedPrecision 166cb93a386Sopenharmony_ciOpDecorate %570 RelaxedPrecision 167cb93a386Sopenharmony_ciOpDecorate %584 RelaxedPrecision 168cb93a386Sopenharmony_ciOpDecorate %587 RelaxedPrecision 169cb93a386Sopenharmony_ciOpDecorate %588 RelaxedPrecision 170cb93a386Sopenharmony_ci%float = OpTypeFloat 32 171cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 172cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 173cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 174cb93a386Sopenharmony_ci%bool = OpTypeBool 175cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 176cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 177cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float 178cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 179cb93a386Sopenharmony_ci%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 180cb93a386Sopenharmony_ci%void = OpTypeVoid 181cb93a386Sopenharmony_ci%16 = OpTypeFunction %void 182cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 183cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 184cb93a386Sopenharmony_ci%20 = OpConstantComposite %v2float %float_0 %float_0 185cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 186cb93a386Sopenharmony_ci%24 = OpTypeFunction %bool 187cb93a386Sopenharmony_ci%_ptr_Function_bool = OpTypePointer Function %bool 188cb93a386Sopenharmony_ci%true = OpConstantTrue %bool 189cb93a386Sopenharmony_ci%false = OpConstantFalse %bool 190cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2 191cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3 192cb93a386Sopenharmony_ci%mat3v3float = OpTypeMatrix %v3float 3 193cb93a386Sopenharmony_ci%float_4 = OpConstant %float 4 194cb93a386Sopenharmony_ci%float_6 = OpConstant %float 6 195cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3 196cb93a386Sopenharmony_ci%float_n2 = OpConstant %float -2 197cb93a386Sopenharmony_ci%float_n4 = OpConstant %float -4 198cb93a386Sopenharmony_ci%float_8 = OpConstant %float 8 199cb93a386Sopenharmony_ci%float_0_25 = OpConstant %float 0.25 200cb93a386Sopenharmony_ci%float_0_5 = OpConstant %float 0.5 201cb93a386Sopenharmony_ci%mat2v2float = OpTypeMatrix %v2float 2 202cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2 203cb93a386Sopenharmony_ci%305 = OpTypeFunction %v4float %_ptr_Function_v2float 204cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 205cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 206cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 207cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 208cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 209cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %16 210cb93a386Sopenharmony_ci%17 = OpLabel 211cb93a386Sopenharmony_ci%21 = OpVariable %_ptr_Function_v2float Function 212cb93a386Sopenharmony_ciOpStore %21 %20 213cb93a386Sopenharmony_ci%23 = OpFunctionCall %v4float %main %21 214cb93a386Sopenharmony_ciOpStore %sk_FragColor %23 215cb93a386Sopenharmony_ciOpReturn 216cb93a386Sopenharmony_ciOpFunctionEnd 217cb93a386Sopenharmony_ci%test_half_b = OpFunction %bool None %24 218cb93a386Sopenharmony_ci%25 = OpLabel 219cb93a386Sopenharmony_ci%ok = OpVariable %_ptr_Function_bool Function 220cb93a386Sopenharmony_ciOpStore %ok %true 221cb93a386Sopenharmony_ci%30 = OpLoad %bool %ok 222cb93a386Sopenharmony_ciOpSelectionMerge %32 None 223cb93a386Sopenharmony_ciOpBranchConditional %30 %31 %32 224cb93a386Sopenharmony_ci%31 = OpLabel 225cb93a386Sopenharmony_ci%36 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 226cb93a386Sopenharmony_ci%37 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 227cb93a386Sopenharmony_ci%38 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 228cb93a386Sopenharmony_ci%34 = OpCompositeConstruct %mat3v3float %36 %37 %38 229cb93a386Sopenharmony_ci%41 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 230cb93a386Sopenharmony_ci%42 = OpCompositeConstruct %mat3v3float %41 %41 %41 231cb93a386Sopenharmony_ci%43 = OpCompositeExtract %v3float %34 0 232cb93a386Sopenharmony_ci%44 = OpCompositeExtract %v3float %42 0 233cb93a386Sopenharmony_ci%45 = OpFAdd %v3float %43 %44 234cb93a386Sopenharmony_ci%46 = OpCompositeExtract %v3float %34 1 235cb93a386Sopenharmony_ci%47 = OpCompositeExtract %v3float %42 1 236cb93a386Sopenharmony_ci%48 = OpFAdd %v3float %46 %47 237cb93a386Sopenharmony_ci%49 = OpCompositeExtract %v3float %34 2 238cb93a386Sopenharmony_ci%50 = OpCompositeExtract %v3float %42 2 239cb93a386Sopenharmony_ci%51 = OpFAdd %v3float %49 %50 240cb93a386Sopenharmony_ci%52 = OpCompositeConstruct %mat3v3float %45 %48 %51 241cb93a386Sopenharmony_ci%54 = OpCompositeConstruct %v3float %float_6 %float_4 %float_4 242cb93a386Sopenharmony_ci%55 = OpCompositeConstruct %v3float %float_4 %float_6 %float_4 243cb93a386Sopenharmony_ci%56 = OpCompositeConstruct %v3float %float_4 %float_4 %float_6 244cb93a386Sopenharmony_ci%57 = OpCompositeConstruct %mat3v3float %54 %55 %56 245cb93a386Sopenharmony_ci%59 = OpCompositeExtract %v3float %52 0 246cb93a386Sopenharmony_ci%60 = OpCompositeExtract %v3float %57 0 247cb93a386Sopenharmony_ci%61 = OpFOrdEqual %v3bool %59 %60 248cb93a386Sopenharmony_ci%62 = OpAll %bool %61 249cb93a386Sopenharmony_ci%63 = OpCompositeExtract %v3float %52 1 250cb93a386Sopenharmony_ci%64 = OpCompositeExtract %v3float %57 1 251cb93a386Sopenharmony_ci%65 = OpFOrdEqual %v3bool %63 %64 252cb93a386Sopenharmony_ci%66 = OpAll %bool %65 253cb93a386Sopenharmony_ci%67 = OpLogicalAnd %bool %62 %66 254cb93a386Sopenharmony_ci%68 = OpCompositeExtract %v3float %52 2 255cb93a386Sopenharmony_ci%69 = OpCompositeExtract %v3float %57 2 256cb93a386Sopenharmony_ci%70 = OpFOrdEqual %v3bool %68 %69 257cb93a386Sopenharmony_ci%71 = OpAll %bool %70 258cb93a386Sopenharmony_ci%72 = OpLogicalAnd %bool %67 %71 259cb93a386Sopenharmony_ciOpBranch %32 260cb93a386Sopenharmony_ci%32 = OpLabel 261cb93a386Sopenharmony_ci%73 = OpPhi %bool %false %25 %72 %31 262cb93a386Sopenharmony_ciOpStore %ok %73 263cb93a386Sopenharmony_ci%74 = OpLoad %bool %ok 264cb93a386Sopenharmony_ciOpSelectionMerge %76 None 265cb93a386Sopenharmony_ciOpBranchConditional %74 %75 %76 266cb93a386Sopenharmony_ci%75 = OpLabel 267cb93a386Sopenharmony_ci%78 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 268cb93a386Sopenharmony_ci%79 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 269cb93a386Sopenharmony_ci%80 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 270cb93a386Sopenharmony_ci%77 = OpCompositeConstruct %mat3v3float %78 %79 %80 271cb93a386Sopenharmony_ci%81 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 272cb93a386Sopenharmony_ci%82 = OpCompositeConstruct %mat3v3float %81 %81 %81 273cb93a386Sopenharmony_ci%83 = OpCompositeExtract %v3float %77 0 274cb93a386Sopenharmony_ci%84 = OpCompositeExtract %v3float %82 0 275cb93a386Sopenharmony_ci%85 = OpFSub %v3float %83 %84 276cb93a386Sopenharmony_ci%86 = OpCompositeExtract %v3float %77 1 277cb93a386Sopenharmony_ci%87 = OpCompositeExtract %v3float %82 1 278cb93a386Sopenharmony_ci%88 = OpFSub %v3float %86 %87 279cb93a386Sopenharmony_ci%89 = OpCompositeExtract %v3float %77 2 280cb93a386Sopenharmony_ci%90 = OpCompositeExtract %v3float %82 2 281cb93a386Sopenharmony_ci%91 = OpFSub %v3float %89 %90 282cb93a386Sopenharmony_ci%92 = OpCompositeConstruct %mat3v3float %85 %88 %91 283cb93a386Sopenharmony_ci%95 = OpCompositeConstruct %v3float %float_n2 %float_n4 %float_n4 284cb93a386Sopenharmony_ci%96 = OpCompositeConstruct %v3float %float_n4 %float_n2 %float_n4 285cb93a386Sopenharmony_ci%97 = OpCompositeConstruct %v3float %float_n4 %float_n4 %float_n2 286cb93a386Sopenharmony_ci%98 = OpCompositeConstruct %mat3v3float %95 %96 %97 287cb93a386Sopenharmony_ci%99 = OpCompositeExtract %v3float %92 0 288cb93a386Sopenharmony_ci%100 = OpCompositeExtract %v3float %98 0 289cb93a386Sopenharmony_ci%101 = OpFOrdEqual %v3bool %99 %100 290cb93a386Sopenharmony_ci%102 = OpAll %bool %101 291cb93a386Sopenharmony_ci%103 = OpCompositeExtract %v3float %92 1 292cb93a386Sopenharmony_ci%104 = OpCompositeExtract %v3float %98 1 293cb93a386Sopenharmony_ci%105 = OpFOrdEqual %v3bool %103 %104 294cb93a386Sopenharmony_ci%106 = OpAll %bool %105 295cb93a386Sopenharmony_ci%107 = OpLogicalAnd %bool %102 %106 296cb93a386Sopenharmony_ci%108 = OpCompositeExtract %v3float %92 2 297cb93a386Sopenharmony_ci%109 = OpCompositeExtract %v3float %98 2 298cb93a386Sopenharmony_ci%110 = OpFOrdEqual %v3bool %108 %109 299cb93a386Sopenharmony_ci%111 = OpAll %bool %110 300cb93a386Sopenharmony_ci%112 = OpLogicalAnd %bool %107 %111 301cb93a386Sopenharmony_ciOpBranch %76 302cb93a386Sopenharmony_ci%76 = OpLabel 303cb93a386Sopenharmony_ci%113 = OpPhi %bool %false %32 %112 %75 304cb93a386Sopenharmony_ciOpStore %ok %113 305cb93a386Sopenharmony_ci%114 = OpLoad %bool %ok 306cb93a386Sopenharmony_ciOpSelectionMerge %116 None 307cb93a386Sopenharmony_ciOpBranchConditional %114 %115 %116 308cb93a386Sopenharmony_ci%115 = OpLabel 309cb93a386Sopenharmony_ci%118 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 310cb93a386Sopenharmony_ci%119 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 311cb93a386Sopenharmony_ci%120 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 312cb93a386Sopenharmony_ci%117 = OpCompositeConstruct %mat3v3float %118 %119 %120 313cb93a386Sopenharmony_ci%121 = OpMatrixTimesScalar %mat3v3float %117 %float_4 314cb93a386Sopenharmony_ci%124 = OpCompositeConstruct %v3float %float_8 %float_0 %float_0 315cb93a386Sopenharmony_ci%125 = OpCompositeConstruct %v3float %float_0 %float_8 %float_0 316cb93a386Sopenharmony_ci%126 = OpCompositeConstruct %v3float %float_0 %float_0 %float_8 317cb93a386Sopenharmony_ci%123 = OpCompositeConstruct %mat3v3float %124 %125 %126 318cb93a386Sopenharmony_ci%127 = OpCompositeExtract %v3float %121 0 319cb93a386Sopenharmony_ci%128 = OpCompositeExtract %v3float %123 0 320cb93a386Sopenharmony_ci%129 = OpFOrdEqual %v3bool %127 %128 321cb93a386Sopenharmony_ci%130 = OpAll %bool %129 322cb93a386Sopenharmony_ci%131 = OpCompositeExtract %v3float %121 1 323cb93a386Sopenharmony_ci%132 = OpCompositeExtract %v3float %123 1 324cb93a386Sopenharmony_ci%133 = OpFOrdEqual %v3bool %131 %132 325cb93a386Sopenharmony_ci%134 = OpAll %bool %133 326cb93a386Sopenharmony_ci%135 = OpLogicalAnd %bool %130 %134 327cb93a386Sopenharmony_ci%136 = OpCompositeExtract %v3float %121 2 328cb93a386Sopenharmony_ci%137 = OpCompositeExtract %v3float %123 2 329cb93a386Sopenharmony_ci%138 = OpFOrdEqual %v3bool %136 %137 330cb93a386Sopenharmony_ci%139 = OpAll %bool %138 331cb93a386Sopenharmony_ci%140 = OpLogicalAnd %bool %135 %139 332cb93a386Sopenharmony_ciOpBranch %116 333cb93a386Sopenharmony_ci%116 = OpLabel 334cb93a386Sopenharmony_ci%141 = OpPhi %bool %false %76 %140 %115 335cb93a386Sopenharmony_ciOpStore %ok %141 336cb93a386Sopenharmony_ci%142 = OpLoad %bool %ok 337cb93a386Sopenharmony_ciOpSelectionMerge %144 None 338cb93a386Sopenharmony_ciOpBranchConditional %142 %143 %144 339cb93a386Sopenharmony_ci%143 = OpLabel 340cb93a386Sopenharmony_ci%146 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 341cb93a386Sopenharmony_ci%147 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 342cb93a386Sopenharmony_ci%148 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 343cb93a386Sopenharmony_ci%145 = OpCompositeConstruct %mat3v3float %146 %147 %148 344cb93a386Sopenharmony_ci%150 = OpMatrixTimesScalar %mat3v3float %145 %float_0_25 345cb93a386Sopenharmony_ci%153 = OpCompositeConstruct %v3float %float_0_5 %float_0 %float_0 346cb93a386Sopenharmony_ci%154 = OpCompositeConstruct %v3float %float_0 %float_0_5 %float_0 347cb93a386Sopenharmony_ci%155 = OpCompositeConstruct %v3float %float_0 %float_0 %float_0_5 348cb93a386Sopenharmony_ci%152 = OpCompositeConstruct %mat3v3float %153 %154 %155 349cb93a386Sopenharmony_ci%156 = OpCompositeExtract %v3float %150 0 350cb93a386Sopenharmony_ci%157 = OpCompositeExtract %v3float %152 0 351cb93a386Sopenharmony_ci%158 = OpFOrdEqual %v3bool %156 %157 352cb93a386Sopenharmony_ci%159 = OpAll %bool %158 353cb93a386Sopenharmony_ci%160 = OpCompositeExtract %v3float %150 1 354cb93a386Sopenharmony_ci%161 = OpCompositeExtract %v3float %152 1 355cb93a386Sopenharmony_ci%162 = OpFOrdEqual %v3bool %160 %161 356cb93a386Sopenharmony_ci%163 = OpAll %bool %162 357cb93a386Sopenharmony_ci%164 = OpLogicalAnd %bool %159 %163 358cb93a386Sopenharmony_ci%165 = OpCompositeExtract %v3float %150 2 359cb93a386Sopenharmony_ci%166 = OpCompositeExtract %v3float %152 2 360cb93a386Sopenharmony_ci%167 = OpFOrdEqual %v3bool %165 %166 361cb93a386Sopenharmony_ci%168 = OpAll %bool %167 362cb93a386Sopenharmony_ci%169 = OpLogicalAnd %bool %164 %168 363cb93a386Sopenharmony_ciOpBranch %144 364cb93a386Sopenharmony_ci%144 = OpLabel 365cb93a386Sopenharmony_ci%170 = OpPhi %bool %false %116 %169 %143 366cb93a386Sopenharmony_ciOpStore %ok %170 367cb93a386Sopenharmony_ci%171 = OpLoad %bool %ok 368cb93a386Sopenharmony_ciOpSelectionMerge %173 None 369cb93a386Sopenharmony_ciOpBranchConditional %171 %172 %173 370cb93a386Sopenharmony_ci%172 = OpLabel 371cb93a386Sopenharmony_ci%175 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 372cb93a386Sopenharmony_ci%176 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 373cb93a386Sopenharmony_ci%177 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 374cb93a386Sopenharmony_ci%174 = OpCompositeConstruct %mat3v3float %175 %176 %177 375cb93a386Sopenharmony_ci%178 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 376cb93a386Sopenharmony_ci%179 = OpCompositeConstruct %mat3v3float %178 %178 %178 377cb93a386Sopenharmony_ci%180 = OpCompositeExtract %v3float %179 0 378cb93a386Sopenharmony_ci%181 = OpCompositeExtract %v3float %174 0 379cb93a386Sopenharmony_ci%182 = OpFAdd %v3float %180 %181 380cb93a386Sopenharmony_ci%183 = OpCompositeExtract %v3float %179 1 381cb93a386Sopenharmony_ci%184 = OpCompositeExtract %v3float %174 1 382cb93a386Sopenharmony_ci%185 = OpFAdd %v3float %183 %184 383cb93a386Sopenharmony_ci%186 = OpCompositeExtract %v3float %179 2 384cb93a386Sopenharmony_ci%187 = OpCompositeExtract %v3float %174 2 385cb93a386Sopenharmony_ci%188 = OpFAdd %v3float %186 %187 386cb93a386Sopenharmony_ci%189 = OpCompositeConstruct %mat3v3float %182 %185 %188 387cb93a386Sopenharmony_ci%190 = OpCompositeConstruct %v3float %float_6 %float_4 %float_4 388cb93a386Sopenharmony_ci%191 = OpCompositeConstruct %v3float %float_4 %float_6 %float_4 389cb93a386Sopenharmony_ci%192 = OpCompositeConstruct %v3float %float_4 %float_4 %float_6 390cb93a386Sopenharmony_ci%193 = OpCompositeConstruct %mat3v3float %190 %191 %192 391cb93a386Sopenharmony_ci%194 = OpCompositeExtract %v3float %189 0 392cb93a386Sopenharmony_ci%195 = OpCompositeExtract %v3float %193 0 393cb93a386Sopenharmony_ci%196 = OpFOrdEqual %v3bool %194 %195 394cb93a386Sopenharmony_ci%197 = OpAll %bool %196 395cb93a386Sopenharmony_ci%198 = OpCompositeExtract %v3float %189 1 396cb93a386Sopenharmony_ci%199 = OpCompositeExtract %v3float %193 1 397cb93a386Sopenharmony_ci%200 = OpFOrdEqual %v3bool %198 %199 398cb93a386Sopenharmony_ci%201 = OpAll %bool %200 399cb93a386Sopenharmony_ci%202 = OpLogicalAnd %bool %197 %201 400cb93a386Sopenharmony_ci%203 = OpCompositeExtract %v3float %189 2 401cb93a386Sopenharmony_ci%204 = OpCompositeExtract %v3float %193 2 402cb93a386Sopenharmony_ci%205 = OpFOrdEqual %v3bool %203 %204 403cb93a386Sopenharmony_ci%206 = OpAll %bool %205 404cb93a386Sopenharmony_ci%207 = OpLogicalAnd %bool %202 %206 405cb93a386Sopenharmony_ciOpBranch %173 406cb93a386Sopenharmony_ci%173 = OpLabel 407cb93a386Sopenharmony_ci%208 = OpPhi %bool %false %144 %207 %172 408cb93a386Sopenharmony_ciOpStore %ok %208 409cb93a386Sopenharmony_ci%209 = OpLoad %bool %ok 410cb93a386Sopenharmony_ciOpSelectionMerge %211 None 411cb93a386Sopenharmony_ciOpBranchConditional %209 %210 %211 412cb93a386Sopenharmony_ci%210 = OpLabel 413cb93a386Sopenharmony_ci%213 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 414cb93a386Sopenharmony_ci%214 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 415cb93a386Sopenharmony_ci%215 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 416cb93a386Sopenharmony_ci%212 = OpCompositeConstruct %mat3v3float %213 %214 %215 417cb93a386Sopenharmony_ci%216 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 418cb93a386Sopenharmony_ci%217 = OpCompositeConstruct %mat3v3float %216 %216 %216 419cb93a386Sopenharmony_ci%218 = OpCompositeExtract %v3float %217 0 420cb93a386Sopenharmony_ci%219 = OpCompositeExtract %v3float %212 0 421cb93a386Sopenharmony_ci%220 = OpFSub %v3float %218 %219 422cb93a386Sopenharmony_ci%221 = OpCompositeExtract %v3float %217 1 423cb93a386Sopenharmony_ci%222 = OpCompositeExtract %v3float %212 1 424cb93a386Sopenharmony_ci%223 = OpFSub %v3float %221 %222 425cb93a386Sopenharmony_ci%224 = OpCompositeExtract %v3float %217 2 426cb93a386Sopenharmony_ci%225 = OpCompositeExtract %v3float %212 2 427cb93a386Sopenharmony_ci%226 = OpFSub %v3float %224 %225 428cb93a386Sopenharmony_ci%227 = OpCompositeConstruct %mat3v3float %220 %223 %226 429cb93a386Sopenharmony_ci%228 = OpCompositeConstruct %v3float %float_2 %float_4 %float_4 430cb93a386Sopenharmony_ci%229 = OpCompositeConstruct %v3float %float_4 %float_2 %float_4 431cb93a386Sopenharmony_ci%230 = OpCompositeConstruct %v3float %float_4 %float_4 %float_2 432cb93a386Sopenharmony_ci%231 = OpCompositeConstruct %mat3v3float %228 %229 %230 433cb93a386Sopenharmony_ci%232 = OpCompositeExtract %v3float %227 0 434cb93a386Sopenharmony_ci%233 = OpCompositeExtract %v3float %231 0 435cb93a386Sopenharmony_ci%234 = OpFOrdEqual %v3bool %232 %233 436cb93a386Sopenharmony_ci%235 = OpAll %bool %234 437cb93a386Sopenharmony_ci%236 = OpCompositeExtract %v3float %227 1 438cb93a386Sopenharmony_ci%237 = OpCompositeExtract %v3float %231 1 439cb93a386Sopenharmony_ci%238 = OpFOrdEqual %v3bool %236 %237 440cb93a386Sopenharmony_ci%239 = OpAll %bool %238 441cb93a386Sopenharmony_ci%240 = OpLogicalAnd %bool %235 %239 442cb93a386Sopenharmony_ci%241 = OpCompositeExtract %v3float %227 2 443cb93a386Sopenharmony_ci%242 = OpCompositeExtract %v3float %231 2 444cb93a386Sopenharmony_ci%243 = OpFOrdEqual %v3bool %241 %242 445cb93a386Sopenharmony_ci%244 = OpAll %bool %243 446cb93a386Sopenharmony_ci%245 = OpLogicalAnd %bool %240 %244 447cb93a386Sopenharmony_ciOpBranch %211 448cb93a386Sopenharmony_ci%211 = OpLabel 449cb93a386Sopenharmony_ci%246 = OpPhi %bool %false %173 %245 %210 450cb93a386Sopenharmony_ciOpStore %ok %246 451cb93a386Sopenharmony_ci%247 = OpLoad %bool %ok 452cb93a386Sopenharmony_ciOpSelectionMerge %249 None 453cb93a386Sopenharmony_ciOpBranchConditional %247 %248 %249 454cb93a386Sopenharmony_ci%248 = OpLabel 455cb93a386Sopenharmony_ci%251 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 456cb93a386Sopenharmony_ci%252 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 457cb93a386Sopenharmony_ci%253 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 458cb93a386Sopenharmony_ci%250 = OpCompositeConstruct %mat3v3float %251 %252 %253 459cb93a386Sopenharmony_ci%254 = OpMatrixTimesScalar %mat3v3float %250 %float_4 460cb93a386Sopenharmony_ci%256 = OpCompositeConstruct %v3float %float_8 %float_0 %float_0 461cb93a386Sopenharmony_ci%257 = OpCompositeConstruct %v3float %float_0 %float_8 %float_0 462cb93a386Sopenharmony_ci%258 = OpCompositeConstruct %v3float %float_0 %float_0 %float_8 463cb93a386Sopenharmony_ci%255 = OpCompositeConstruct %mat3v3float %256 %257 %258 464cb93a386Sopenharmony_ci%259 = OpCompositeExtract %v3float %254 0 465cb93a386Sopenharmony_ci%260 = OpCompositeExtract %v3float %255 0 466cb93a386Sopenharmony_ci%261 = OpFOrdEqual %v3bool %259 %260 467cb93a386Sopenharmony_ci%262 = OpAll %bool %261 468cb93a386Sopenharmony_ci%263 = OpCompositeExtract %v3float %254 1 469cb93a386Sopenharmony_ci%264 = OpCompositeExtract %v3float %255 1 470cb93a386Sopenharmony_ci%265 = OpFOrdEqual %v3bool %263 %264 471cb93a386Sopenharmony_ci%266 = OpAll %bool %265 472cb93a386Sopenharmony_ci%267 = OpLogicalAnd %bool %262 %266 473cb93a386Sopenharmony_ci%268 = OpCompositeExtract %v3float %254 2 474cb93a386Sopenharmony_ci%269 = OpCompositeExtract %v3float %255 2 475cb93a386Sopenharmony_ci%270 = OpFOrdEqual %v3bool %268 %269 476cb93a386Sopenharmony_ci%271 = OpAll %bool %270 477cb93a386Sopenharmony_ci%272 = OpLogicalAnd %bool %267 %271 478cb93a386Sopenharmony_ciOpBranch %249 479cb93a386Sopenharmony_ci%249 = OpLabel 480cb93a386Sopenharmony_ci%273 = OpPhi %bool %false %211 %272 %248 481cb93a386Sopenharmony_ciOpStore %ok %273 482cb93a386Sopenharmony_ci%274 = OpLoad %bool %ok 483cb93a386Sopenharmony_ciOpSelectionMerge %276 None 484cb93a386Sopenharmony_ciOpBranchConditional %274 %275 %276 485cb93a386Sopenharmony_ci%275 = OpLabel 486cb93a386Sopenharmony_ci%277 = OpCompositeConstruct %v2float %float_2 %float_2 487cb93a386Sopenharmony_ci%278 = OpCompositeConstruct %v2float %float_2 %float_2 488cb93a386Sopenharmony_ci%279 = OpCompositeConstruct %mat2v2float %277 %278 489cb93a386Sopenharmony_ci%281 = OpCompositeConstruct %v2float %float_4 %float_4 490cb93a386Sopenharmony_ci%282 = OpCompositeConstruct %mat2v2float %281 %281 491cb93a386Sopenharmony_ci%283 = OpCompositeExtract %v2float %282 0 492cb93a386Sopenharmony_ci%284 = OpCompositeExtract %v2float %279 0 493cb93a386Sopenharmony_ci%285 = OpFDiv %v2float %283 %284 494cb93a386Sopenharmony_ci%286 = OpCompositeExtract %v2float %282 1 495cb93a386Sopenharmony_ci%287 = OpCompositeExtract %v2float %279 1 496cb93a386Sopenharmony_ci%288 = OpFDiv %v2float %286 %287 497cb93a386Sopenharmony_ci%289 = OpCompositeConstruct %mat2v2float %285 %288 498cb93a386Sopenharmony_ci%290 = OpCompositeConstruct %v2float %float_2 %float_2 499cb93a386Sopenharmony_ci%291 = OpCompositeConstruct %v2float %float_2 %float_2 500cb93a386Sopenharmony_ci%292 = OpCompositeConstruct %mat2v2float %290 %291 501cb93a386Sopenharmony_ci%294 = OpCompositeExtract %v2float %289 0 502cb93a386Sopenharmony_ci%295 = OpCompositeExtract %v2float %292 0 503cb93a386Sopenharmony_ci%296 = OpFOrdEqual %v2bool %294 %295 504cb93a386Sopenharmony_ci%297 = OpAll %bool %296 505cb93a386Sopenharmony_ci%298 = OpCompositeExtract %v2float %289 1 506cb93a386Sopenharmony_ci%299 = OpCompositeExtract %v2float %292 1 507cb93a386Sopenharmony_ci%300 = OpFOrdEqual %v2bool %298 %299 508cb93a386Sopenharmony_ci%301 = OpAll %bool %300 509cb93a386Sopenharmony_ci%302 = OpLogicalAnd %bool %297 %301 510cb93a386Sopenharmony_ciOpBranch %276 511cb93a386Sopenharmony_ci%276 = OpLabel 512cb93a386Sopenharmony_ci%303 = OpPhi %bool %false %249 %302 %275 513cb93a386Sopenharmony_ciOpStore %ok %303 514cb93a386Sopenharmony_ci%304 = OpLoad %bool %ok 515cb93a386Sopenharmony_ciOpReturnValue %304 516cb93a386Sopenharmony_ciOpFunctionEnd 517cb93a386Sopenharmony_ci%main = OpFunction %v4float None %305 518cb93a386Sopenharmony_ci%306 = OpFunctionParameter %_ptr_Function_v2float 519cb93a386Sopenharmony_ci%307 = OpLabel 520cb93a386Sopenharmony_ci%_0_ok = OpVariable %_ptr_Function_bool Function 521cb93a386Sopenharmony_ci%575 = OpVariable %_ptr_Function_v4float Function 522cb93a386Sopenharmony_ciOpStore %_0_ok %true 523cb93a386Sopenharmony_ci%309 = OpLoad %bool %_0_ok 524cb93a386Sopenharmony_ciOpSelectionMerge %311 None 525cb93a386Sopenharmony_ciOpBranchConditional %309 %310 %311 526cb93a386Sopenharmony_ci%310 = OpLabel 527cb93a386Sopenharmony_ci%313 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 528cb93a386Sopenharmony_ci%314 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 529cb93a386Sopenharmony_ci%315 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 530cb93a386Sopenharmony_ci%312 = OpCompositeConstruct %mat3v3float %313 %314 %315 531cb93a386Sopenharmony_ci%316 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 532cb93a386Sopenharmony_ci%317 = OpCompositeConstruct %mat3v3float %316 %316 %316 533cb93a386Sopenharmony_ci%318 = OpCompositeExtract %v3float %312 0 534cb93a386Sopenharmony_ci%319 = OpCompositeExtract %v3float %317 0 535cb93a386Sopenharmony_ci%320 = OpFAdd %v3float %318 %319 536cb93a386Sopenharmony_ci%321 = OpCompositeExtract %v3float %312 1 537cb93a386Sopenharmony_ci%322 = OpCompositeExtract %v3float %317 1 538cb93a386Sopenharmony_ci%323 = OpFAdd %v3float %321 %322 539cb93a386Sopenharmony_ci%324 = OpCompositeExtract %v3float %312 2 540cb93a386Sopenharmony_ci%325 = OpCompositeExtract %v3float %317 2 541cb93a386Sopenharmony_ci%326 = OpFAdd %v3float %324 %325 542cb93a386Sopenharmony_ci%327 = OpCompositeConstruct %mat3v3float %320 %323 %326 543cb93a386Sopenharmony_ci%328 = OpCompositeConstruct %v3float %float_6 %float_4 %float_4 544cb93a386Sopenharmony_ci%329 = OpCompositeConstruct %v3float %float_4 %float_6 %float_4 545cb93a386Sopenharmony_ci%330 = OpCompositeConstruct %v3float %float_4 %float_4 %float_6 546cb93a386Sopenharmony_ci%331 = OpCompositeConstruct %mat3v3float %328 %329 %330 547cb93a386Sopenharmony_ci%332 = OpCompositeExtract %v3float %327 0 548cb93a386Sopenharmony_ci%333 = OpCompositeExtract %v3float %331 0 549cb93a386Sopenharmony_ci%334 = OpFOrdEqual %v3bool %332 %333 550cb93a386Sopenharmony_ci%335 = OpAll %bool %334 551cb93a386Sopenharmony_ci%336 = OpCompositeExtract %v3float %327 1 552cb93a386Sopenharmony_ci%337 = OpCompositeExtract %v3float %331 1 553cb93a386Sopenharmony_ci%338 = OpFOrdEqual %v3bool %336 %337 554cb93a386Sopenharmony_ci%339 = OpAll %bool %338 555cb93a386Sopenharmony_ci%340 = OpLogicalAnd %bool %335 %339 556cb93a386Sopenharmony_ci%341 = OpCompositeExtract %v3float %327 2 557cb93a386Sopenharmony_ci%342 = OpCompositeExtract %v3float %331 2 558cb93a386Sopenharmony_ci%343 = OpFOrdEqual %v3bool %341 %342 559cb93a386Sopenharmony_ci%344 = OpAll %bool %343 560cb93a386Sopenharmony_ci%345 = OpLogicalAnd %bool %340 %344 561cb93a386Sopenharmony_ciOpBranch %311 562cb93a386Sopenharmony_ci%311 = OpLabel 563cb93a386Sopenharmony_ci%346 = OpPhi %bool %false %307 %345 %310 564cb93a386Sopenharmony_ciOpStore %_0_ok %346 565cb93a386Sopenharmony_ci%347 = OpLoad %bool %_0_ok 566cb93a386Sopenharmony_ciOpSelectionMerge %349 None 567cb93a386Sopenharmony_ciOpBranchConditional %347 %348 %349 568cb93a386Sopenharmony_ci%348 = OpLabel 569cb93a386Sopenharmony_ci%351 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 570cb93a386Sopenharmony_ci%352 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 571cb93a386Sopenharmony_ci%353 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 572cb93a386Sopenharmony_ci%350 = OpCompositeConstruct %mat3v3float %351 %352 %353 573cb93a386Sopenharmony_ci%354 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 574cb93a386Sopenharmony_ci%355 = OpCompositeConstruct %mat3v3float %354 %354 %354 575cb93a386Sopenharmony_ci%356 = OpCompositeExtract %v3float %350 0 576cb93a386Sopenharmony_ci%357 = OpCompositeExtract %v3float %355 0 577cb93a386Sopenharmony_ci%358 = OpFSub %v3float %356 %357 578cb93a386Sopenharmony_ci%359 = OpCompositeExtract %v3float %350 1 579cb93a386Sopenharmony_ci%360 = OpCompositeExtract %v3float %355 1 580cb93a386Sopenharmony_ci%361 = OpFSub %v3float %359 %360 581cb93a386Sopenharmony_ci%362 = OpCompositeExtract %v3float %350 2 582cb93a386Sopenharmony_ci%363 = OpCompositeExtract %v3float %355 2 583cb93a386Sopenharmony_ci%364 = OpFSub %v3float %362 %363 584cb93a386Sopenharmony_ci%365 = OpCompositeConstruct %mat3v3float %358 %361 %364 585cb93a386Sopenharmony_ci%366 = OpCompositeConstruct %v3float %float_n2 %float_n4 %float_n4 586cb93a386Sopenharmony_ci%367 = OpCompositeConstruct %v3float %float_n4 %float_n2 %float_n4 587cb93a386Sopenharmony_ci%368 = OpCompositeConstruct %v3float %float_n4 %float_n4 %float_n2 588cb93a386Sopenharmony_ci%369 = OpCompositeConstruct %mat3v3float %366 %367 %368 589cb93a386Sopenharmony_ci%370 = OpCompositeExtract %v3float %365 0 590cb93a386Sopenharmony_ci%371 = OpCompositeExtract %v3float %369 0 591cb93a386Sopenharmony_ci%372 = OpFOrdEqual %v3bool %370 %371 592cb93a386Sopenharmony_ci%373 = OpAll %bool %372 593cb93a386Sopenharmony_ci%374 = OpCompositeExtract %v3float %365 1 594cb93a386Sopenharmony_ci%375 = OpCompositeExtract %v3float %369 1 595cb93a386Sopenharmony_ci%376 = OpFOrdEqual %v3bool %374 %375 596cb93a386Sopenharmony_ci%377 = OpAll %bool %376 597cb93a386Sopenharmony_ci%378 = OpLogicalAnd %bool %373 %377 598cb93a386Sopenharmony_ci%379 = OpCompositeExtract %v3float %365 2 599cb93a386Sopenharmony_ci%380 = OpCompositeExtract %v3float %369 2 600cb93a386Sopenharmony_ci%381 = OpFOrdEqual %v3bool %379 %380 601cb93a386Sopenharmony_ci%382 = OpAll %bool %381 602cb93a386Sopenharmony_ci%383 = OpLogicalAnd %bool %378 %382 603cb93a386Sopenharmony_ciOpBranch %349 604cb93a386Sopenharmony_ci%349 = OpLabel 605cb93a386Sopenharmony_ci%384 = OpPhi %bool %false %311 %383 %348 606cb93a386Sopenharmony_ciOpStore %_0_ok %384 607cb93a386Sopenharmony_ci%385 = OpLoad %bool %_0_ok 608cb93a386Sopenharmony_ciOpSelectionMerge %387 None 609cb93a386Sopenharmony_ciOpBranchConditional %385 %386 %387 610cb93a386Sopenharmony_ci%386 = OpLabel 611cb93a386Sopenharmony_ci%389 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 612cb93a386Sopenharmony_ci%390 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 613cb93a386Sopenharmony_ci%391 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 614cb93a386Sopenharmony_ci%388 = OpCompositeConstruct %mat3v3float %389 %390 %391 615cb93a386Sopenharmony_ci%392 = OpMatrixTimesScalar %mat3v3float %388 %float_4 616cb93a386Sopenharmony_ci%394 = OpCompositeConstruct %v3float %float_8 %float_0 %float_0 617cb93a386Sopenharmony_ci%395 = OpCompositeConstruct %v3float %float_0 %float_8 %float_0 618cb93a386Sopenharmony_ci%396 = OpCompositeConstruct %v3float %float_0 %float_0 %float_8 619cb93a386Sopenharmony_ci%393 = OpCompositeConstruct %mat3v3float %394 %395 %396 620cb93a386Sopenharmony_ci%397 = OpCompositeExtract %v3float %392 0 621cb93a386Sopenharmony_ci%398 = OpCompositeExtract %v3float %393 0 622cb93a386Sopenharmony_ci%399 = OpFOrdEqual %v3bool %397 %398 623cb93a386Sopenharmony_ci%400 = OpAll %bool %399 624cb93a386Sopenharmony_ci%401 = OpCompositeExtract %v3float %392 1 625cb93a386Sopenharmony_ci%402 = OpCompositeExtract %v3float %393 1 626cb93a386Sopenharmony_ci%403 = OpFOrdEqual %v3bool %401 %402 627cb93a386Sopenharmony_ci%404 = OpAll %bool %403 628cb93a386Sopenharmony_ci%405 = OpLogicalAnd %bool %400 %404 629cb93a386Sopenharmony_ci%406 = OpCompositeExtract %v3float %392 2 630cb93a386Sopenharmony_ci%407 = OpCompositeExtract %v3float %393 2 631cb93a386Sopenharmony_ci%408 = OpFOrdEqual %v3bool %406 %407 632cb93a386Sopenharmony_ci%409 = OpAll %bool %408 633cb93a386Sopenharmony_ci%410 = OpLogicalAnd %bool %405 %409 634cb93a386Sopenharmony_ciOpBranch %387 635cb93a386Sopenharmony_ci%387 = OpLabel 636cb93a386Sopenharmony_ci%411 = OpPhi %bool %false %349 %410 %386 637cb93a386Sopenharmony_ciOpStore %_0_ok %411 638cb93a386Sopenharmony_ci%412 = OpLoad %bool %_0_ok 639cb93a386Sopenharmony_ciOpSelectionMerge %414 None 640cb93a386Sopenharmony_ciOpBranchConditional %412 %413 %414 641cb93a386Sopenharmony_ci%413 = OpLabel 642cb93a386Sopenharmony_ci%416 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 643cb93a386Sopenharmony_ci%417 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 644cb93a386Sopenharmony_ci%418 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 645cb93a386Sopenharmony_ci%415 = OpCompositeConstruct %mat3v3float %416 %417 %418 646cb93a386Sopenharmony_ci%419 = OpMatrixTimesScalar %mat3v3float %415 %float_0_25 647cb93a386Sopenharmony_ci%421 = OpCompositeConstruct %v3float %float_0_5 %float_0 %float_0 648cb93a386Sopenharmony_ci%422 = OpCompositeConstruct %v3float %float_0 %float_0_5 %float_0 649cb93a386Sopenharmony_ci%423 = OpCompositeConstruct %v3float %float_0 %float_0 %float_0_5 650cb93a386Sopenharmony_ci%420 = OpCompositeConstruct %mat3v3float %421 %422 %423 651cb93a386Sopenharmony_ci%424 = OpCompositeExtract %v3float %419 0 652cb93a386Sopenharmony_ci%425 = OpCompositeExtract %v3float %420 0 653cb93a386Sopenharmony_ci%426 = OpFOrdEqual %v3bool %424 %425 654cb93a386Sopenharmony_ci%427 = OpAll %bool %426 655cb93a386Sopenharmony_ci%428 = OpCompositeExtract %v3float %419 1 656cb93a386Sopenharmony_ci%429 = OpCompositeExtract %v3float %420 1 657cb93a386Sopenharmony_ci%430 = OpFOrdEqual %v3bool %428 %429 658cb93a386Sopenharmony_ci%431 = OpAll %bool %430 659cb93a386Sopenharmony_ci%432 = OpLogicalAnd %bool %427 %431 660cb93a386Sopenharmony_ci%433 = OpCompositeExtract %v3float %419 2 661cb93a386Sopenharmony_ci%434 = OpCompositeExtract %v3float %420 2 662cb93a386Sopenharmony_ci%435 = OpFOrdEqual %v3bool %433 %434 663cb93a386Sopenharmony_ci%436 = OpAll %bool %435 664cb93a386Sopenharmony_ci%437 = OpLogicalAnd %bool %432 %436 665cb93a386Sopenharmony_ciOpBranch %414 666cb93a386Sopenharmony_ci%414 = OpLabel 667cb93a386Sopenharmony_ci%438 = OpPhi %bool %false %387 %437 %413 668cb93a386Sopenharmony_ciOpStore %_0_ok %438 669cb93a386Sopenharmony_ci%439 = OpLoad %bool %_0_ok 670cb93a386Sopenharmony_ciOpSelectionMerge %441 None 671cb93a386Sopenharmony_ciOpBranchConditional %439 %440 %441 672cb93a386Sopenharmony_ci%440 = OpLabel 673cb93a386Sopenharmony_ci%443 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 674cb93a386Sopenharmony_ci%444 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 675cb93a386Sopenharmony_ci%445 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 676cb93a386Sopenharmony_ci%442 = OpCompositeConstruct %mat3v3float %443 %444 %445 677cb93a386Sopenharmony_ci%446 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 678cb93a386Sopenharmony_ci%447 = OpCompositeConstruct %mat3v3float %446 %446 %446 679cb93a386Sopenharmony_ci%448 = OpCompositeExtract %v3float %447 0 680cb93a386Sopenharmony_ci%449 = OpCompositeExtract %v3float %442 0 681cb93a386Sopenharmony_ci%450 = OpFAdd %v3float %448 %449 682cb93a386Sopenharmony_ci%451 = OpCompositeExtract %v3float %447 1 683cb93a386Sopenharmony_ci%452 = OpCompositeExtract %v3float %442 1 684cb93a386Sopenharmony_ci%453 = OpFAdd %v3float %451 %452 685cb93a386Sopenharmony_ci%454 = OpCompositeExtract %v3float %447 2 686cb93a386Sopenharmony_ci%455 = OpCompositeExtract %v3float %442 2 687cb93a386Sopenharmony_ci%456 = OpFAdd %v3float %454 %455 688cb93a386Sopenharmony_ci%457 = OpCompositeConstruct %mat3v3float %450 %453 %456 689cb93a386Sopenharmony_ci%458 = OpCompositeConstruct %v3float %float_6 %float_4 %float_4 690cb93a386Sopenharmony_ci%459 = OpCompositeConstruct %v3float %float_4 %float_6 %float_4 691cb93a386Sopenharmony_ci%460 = OpCompositeConstruct %v3float %float_4 %float_4 %float_6 692cb93a386Sopenharmony_ci%461 = OpCompositeConstruct %mat3v3float %458 %459 %460 693cb93a386Sopenharmony_ci%462 = OpCompositeExtract %v3float %457 0 694cb93a386Sopenharmony_ci%463 = OpCompositeExtract %v3float %461 0 695cb93a386Sopenharmony_ci%464 = OpFOrdEqual %v3bool %462 %463 696cb93a386Sopenharmony_ci%465 = OpAll %bool %464 697cb93a386Sopenharmony_ci%466 = OpCompositeExtract %v3float %457 1 698cb93a386Sopenharmony_ci%467 = OpCompositeExtract %v3float %461 1 699cb93a386Sopenharmony_ci%468 = OpFOrdEqual %v3bool %466 %467 700cb93a386Sopenharmony_ci%469 = OpAll %bool %468 701cb93a386Sopenharmony_ci%470 = OpLogicalAnd %bool %465 %469 702cb93a386Sopenharmony_ci%471 = OpCompositeExtract %v3float %457 2 703cb93a386Sopenharmony_ci%472 = OpCompositeExtract %v3float %461 2 704cb93a386Sopenharmony_ci%473 = OpFOrdEqual %v3bool %471 %472 705cb93a386Sopenharmony_ci%474 = OpAll %bool %473 706cb93a386Sopenharmony_ci%475 = OpLogicalAnd %bool %470 %474 707cb93a386Sopenharmony_ciOpBranch %441 708cb93a386Sopenharmony_ci%441 = OpLabel 709cb93a386Sopenharmony_ci%476 = OpPhi %bool %false %414 %475 %440 710cb93a386Sopenharmony_ciOpStore %_0_ok %476 711cb93a386Sopenharmony_ci%477 = OpLoad %bool %_0_ok 712cb93a386Sopenharmony_ciOpSelectionMerge %479 None 713cb93a386Sopenharmony_ciOpBranchConditional %477 %478 %479 714cb93a386Sopenharmony_ci%478 = OpLabel 715cb93a386Sopenharmony_ci%481 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 716cb93a386Sopenharmony_ci%482 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 717cb93a386Sopenharmony_ci%483 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 718cb93a386Sopenharmony_ci%480 = OpCompositeConstruct %mat3v3float %481 %482 %483 719cb93a386Sopenharmony_ci%484 = OpCompositeConstruct %v3float %float_4 %float_4 %float_4 720cb93a386Sopenharmony_ci%485 = OpCompositeConstruct %mat3v3float %484 %484 %484 721cb93a386Sopenharmony_ci%486 = OpCompositeExtract %v3float %485 0 722cb93a386Sopenharmony_ci%487 = OpCompositeExtract %v3float %480 0 723cb93a386Sopenharmony_ci%488 = OpFSub %v3float %486 %487 724cb93a386Sopenharmony_ci%489 = OpCompositeExtract %v3float %485 1 725cb93a386Sopenharmony_ci%490 = OpCompositeExtract %v3float %480 1 726cb93a386Sopenharmony_ci%491 = OpFSub %v3float %489 %490 727cb93a386Sopenharmony_ci%492 = OpCompositeExtract %v3float %485 2 728cb93a386Sopenharmony_ci%493 = OpCompositeExtract %v3float %480 2 729cb93a386Sopenharmony_ci%494 = OpFSub %v3float %492 %493 730cb93a386Sopenharmony_ci%495 = OpCompositeConstruct %mat3v3float %488 %491 %494 731cb93a386Sopenharmony_ci%496 = OpCompositeConstruct %v3float %float_2 %float_4 %float_4 732cb93a386Sopenharmony_ci%497 = OpCompositeConstruct %v3float %float_4 %float_2 %float_4 733cb93a386Sopenharmony_ci%498 = OpCompositeConstruct %v3float %float_4 %float_4 %float_2 734cb93a386Sopenharmony_ci%499 = OpCompositeConstruct %mat3v3float %496 %497 %498 735cb93a386Sopenharmony_ci%500 = OpCompositeExtract %v3float %495 0 736cb93a386Sopenharmony_ci%501 = OpCompositeExtract %v3float %499 0 737cb93a386Sopenharmony_ci%502 = OpFOrdEqual %v3bool %500 %501 738cb93a386Sopenharmony_ci%503 = OpAll %bool %502 739cb93a386Sopenharmony_ci%504 = OpCompositeExtract %v3float %495 1 740cb93a386Sopenharmony_ci%505 = OpCompositeExtract %v3float %499 1 741cb93a386Sopenharmony_ci%506 = OpFOrdEqual %v3bool %504 %505 742cb93a386Sopenharmony_ci%507 = OpAll %bool %506 743cb93a386Sopenharmony_ci%508 = OpLogicalAnd %bool %503 %507 744cb93a386Sopenharmony_ci%509 = OpCompositeExtract %v3float %495 2 745cb93a386Sopenharmony_ci%510 = OpCompositeExtract %v3float %499 2 746cb93a386Sopenharmony_ci%511 = OpFOrdEqual %v3bool %509 %510 747cb93a386Sopenharmony_ci%512 = OpAll %bool %511 748cb93a386Sopenharmony_ci%513 = OpLogicalAnd %bool %508 %512 749cb93a386Sopenharmony_ciOpBranch %479 750cb93a386Sopenharmony_ci%479 = OpLabel 751cb93a386Sopenharmony_ci%514 = OpPhi %bool %false %441 %513 %478 752cb93a386Sopenharmony_ciOpStore %_0_ok %514 753cb93a386Sopenharmony_ci%515 = OpLoad %bool %_0_ok 754cb93a386Sopenharmony_ciOpSelectionMerge %517 None 755cb93a386Sopenharmony_ciOpBranchConditional %515 %516 %517 756cb93a386Sopenharmony_ci%516 = OpLabel 757cb93a386Sopenharmony_ci%519 = OpCompositeConstruct %v3float %float_2 %float_0 %float_0 758cb93a386Sopenharmony_ci%520 = OpCompositeConstruct %v3float %float_0 %float_2 %float_0 759cb93a386Sopenharmony_ci%521 = OpCompositeConstruct %v3float %float_0 %float_0 %float_2 760cb93a386Sopenharmony_ci%518 = OpCompositeConstruct %mat3v3float %519 %520 %521 761cb93a386Sopenharmony_ci%522 = OpMatrixTimesScalar %mat3v3float %518 %float_4 762cb93a386Sopenharmony_ci%524 = OpCompositeConstruct %v3float %float_8 %float_0 %float_0 763cb93a386Sopenharmony_ci%525 = OpCompositeConstruct %v3float %float_0 %float_8 %float_0 764cb93a386Sopenharmony_ci%526 = OpCompositeConstruct %v3float %float_0 %float_0 %float_8 765cb93a386Sopenharmony_ci%523 = OpCompositeConstruct %mat3v3float %524 %525 %526 766cb93a386Sopenharmony_ci%527 = OpCompositeExtract %v3float %522 0 767cb93a386Sopenharmony_ci%528 = OpCompositeExtract %v3float %523 0 768cb93a386Sopenharmony_ci%529 = OpFOrdEqual %v3bool %527 %528 769cb93a386Sopenharmony_ci%530 = OpAll %bool %529 770cb93a386Sopenharmony_ci%531 = OpCompositeExtract %v3float %522 1 771cb93a386Sopenharmony_ci%532 = OpCompositeExtract %v3float %523 1 772cb93a386Sopenharmony_ci%533 = OpFOrdEqual %v3bool %531 %532 773cb93a386Sopenharmony_ci%534 = OpAll %bool %533 774cb93a386Sopenharmony_ci%535 = OpLogicalAnd %bool %530 %534 775cb93a386Sopenharmony_ci%536 = OpCompositeExtract %v3float %522 2 776cb93a386Sopenharmony_ci%537 = OpCompositeExtract %v3float %523 2 777cb93a386Sopenharmony_ci%538 = OpFOrdEqual %v3bool %536 %537 778cb93a386Sopenharmony_ci%539 = OpAll %bool %538 779cb93a386Sopenharmony_ci%540 = OpLogicalAnd %bool %535 %539 780cb93a386Sopenharmony_ciOpBranch %517 781cb93a386Sopenharmony_ci%517 = OpLabel 782cb93a386Sopenharmony_ci%541 = OpPhi %bool %false %479 %540 %516 783cb93a386Sopenharmony_ciOpStore %_0_ok %541 784cb93a386Sopenharmony_ci%542 = OpLoad %bool %_0_ok 785cb93a386Sopenharmony_ciOpSelectionMerge %544 None 786cb93a386Sopenharmony_ciOpBranchConditional %542 %543 %544 787cb93a386Sopenharmony_ci%543 = OpLabel 788cb93a386Sopenharmony_ci%545 = OpCompositeConstruct %v2float %float_2 %float_2 789cb93a386Sopenharmony_ci%546 = OpCompositeConstruct %v2float %float_2 %float_2 790cb93a386Sopenharmony_ci%547 = OpCompositeConstruct %mat2v2float %545 %546 791cb93a386Sopenharmony_ci%548 = OpCompositeConstruct %v2float %float_4 %float_4 792cb93a386Sopenharmony_ci%549 = OpCompositeConstruct %mat2v2float %548 %548 793cb93a386Sopenharmony_ci%550 = OpCompositeExtract %v2float %549 0 794cb93a386Sopenharmony_ci%551 = OpCompositeExtract %v2float %547 0 795cb93a386Sopenharmony_ci%552 = OpFDiv %v2float %550 %551 796cb93a386Sopenharmony_ci%553 = OpCompositeExtract %v2float %549 1 797cb93a386Sopenharmony_ci%554 = OpCompositeExtract %v2float %547 1 798cb93a386Sopenharmony_ci%555 = OpFDiv %v2float %553 %554 799cb93a386Sopenharmony_ci%556 = OpCompositeConstruct %mat2v2float %552 %555 800cb93a386Sopenharmony_ci%557 = OpCompositeConstruct %v2float %float_2 %float_2 801cb93a386Sopenharmony_ci%558 = OpCompositeConstruct %v2float %float_2 %float_2 802cb93a386Sopenharmony_ci%559 = OpCompositeConstruct %mat2v2float %557 %558 803cb93a386Sopenharmony_ci%560 = OpCompositeExtract %v2float %556 0 804cb93a386Sopenharmony_ci%561 = OpCompositeExtract %v2float %559 0 805cb93a386Sopenharmony_ci%562 = OpFOrdEqual %v2bool %560 %561 806cb93a386Sopenharmony_ci%563 = OpAll %bool %562 807cb93a386Sopenharmony_ci%564 = OpCompositeExtract %v2float %556 1 808cb93a386Sopenharmony_ci%565 = OpCompositeExtract %v2float %559 1 809cb93a386Sopenharmony_ci%566 = OpFOrdEqual %v2bool %564 %565 810cb93a386Sopenharmony_ci%567 = OpAll %bool %566 811cb93a386Sopenharmony_ci%568 = OpLogicalAnd %bool %563 %567 812cb93a386Sopenharmony_ciOpBranch %544 813cb93a386Sopenharmony_ci%544 = OpLabel 814cb93a386Sopenharmony_ci%569 = OpPhi %bool %false %517 %568 %543 815cb93a386Sopenharmony_ciOpStore %_0_ok %569 816cb93a386Sopenharmony_ci%570 = OpLoad %bool %_0_ok 817cb93a386Sopenharmony_ciOpSelectionMerge %572 None 818cb93a386Sopenharmony_ciOpBranchConditional %570 %571 %572 819cb93a386Sopenharmony_ci%571 = OpLabel 820cb93a386Sopenharmony_ci%573 = OpFunctionCall %bool %test_half_b 821cb93a386Sopenharmony_ciOpBranch %572 822cb93a386Sopenharmony_ci%572 = OpLabel 823cb93a386Sopenharmony_ci%574 = OpPhi %bool %false %544 %573 %571 824cb93a386Sopenharmony_ciOpSelectionMerge %579 None 825cb93a386Sopenharmony_ciOpBranchConditional %574 %577 %578 826cb93a386Sopenharmony_ci%577 = OpLabel 827cb93a386Sopenharmony_ci%580 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 828cb93a386Sopenharmony_ci%584 = OpLoad %v4float %580 829cb93a386Sopenharmony_ciOpStore %575 %584 830cb93a386Sopenharmony_ciOpBranch %579 831cb93a386Sopenharmony_ci%578 = OpLabel 832cb93a386Sopenharmony_ci%585 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 833cb93a386Sopenharmony_ci%587 = OpLoad %v4float %585 834cb93a386Sopenharmony_ciOpStore %575 %587 835cb93a386Sopenharmony_ciOpBranch %579 836cb93a386Sopenharmony_ci%579 = OpLabel 837cb93a386Sopenharmony_ci%588 = OpLoad %v4float %575 838cb93a386Sopenharmony_ciOpReturnValue %588 839cb93a386Sopenharmony_ciOpFunctionEnd 840