1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %_GLF_color
5               OpExecutionMode %main OriginUpperLeft
6               OpSource ESSL 310
7               OpName %main "main"
8               OpName %j "j"
9               OpName %_GLF_color "_GLF_color"
10               OpName %a "a"
11               OpDecorate %j RelaxedPrecision
12               OpDecorate %6 RelaxedPrecision
13               OpDecorate %7 RelaxedPrecision
14               OpDecorate %_GLF_color Location 0
15               OpDecorate %8 RelaxedPrecision
16               OpDecorate %9 RelaxedPrecision
17               OpDecorate %10 RelaxedPrecision
18               OpDecorate %11 RelaxedPrecision
19               OpDecorate %12 RelaxedPrecision
20       %void = OpTypeVoid
21         %14 = OpTypeFunction %void
22        %int = OpTypeInt 32 1
23%_ptr_Function_int = OpTypePointer Function %int
24      %int_0 = OpConstant %int 0
25      %int_2 = OpConstant %int 2
26       %bool = OpTypeBool
27      %int_1 = OpConstant %int 1
28      %float = OpTypeFloat 32
29    %v4float = OpTypeVector %float 4
30%_ptr_Output_v4float = OpTypePointer Output %v4float
31 %_GLF_color = OpVariable %_ptr_Output_v4float Output
32    %float_1 = OpConstant %float 1
33    %float_0 = OpConstant %float 0
34         %26 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
35      %int_3 = OpConstant %int 3
36      %int_4 = OpConstant %int 4
37      %int_5 = OpConstant %int 5
38       %uint = OpTypeInt 32 0
39     %uint_0 = OpConstant %uint 0
40%_ptr_Output_float = OpTypePointer Output %float
41%_ptr_Function_float = OpTypePointer Function %float
42       %main = OpFunction %void None %14
43         %34 = OpLabel
44          %j = OpVariable %_ptr_Function_int Function
45          %a = OpVariable %_ptr_Function_float Function
46               OpStore %j %int_0
47               OpBranch %35
48         %35 = OpLabel
49               OpLoopMerge %36 %37 None
50               OpBranch %38
51         %38 = OpLabel
52          %6 = OpLoad %int %j
53         %39 = OpSLessThan %bool %6 %int_2
54               OpBranchConditional %39 %40 %36
55         %40 = OpLabel
56          %7 = OpLoad %int %j
57         %41 = OpSLessThan %bool %7 %int_1
58               OpSelectionMerge %42 None
59               OpBranchConditional %41 %43 %42
60         %43 = OpLabel
61               OpStore %_GLF_color %26
62               OpBranch %42
63         %42 = OpLabel
64          %8 = OpLoad %int %j
65         %44 = OpINotEqual %bool %8 %int_3
66               OpSelectionMerge %45 None
67               OpBranchConditional %44 %46 %45
68         %46 = OpLabel
69          %9 = OpLoad %int %j
70         %47 = OpINotEqual %bool %9 %int_4
71               OpSelectionMerge %48 None
72               OpBranchConditional %47 %49 %48
73         %49 = OpLabel
74         %10 = OpLoad %int %j
75         %50 = OpIEqual %bool %10 %int_5
76               OpSelectionMerge %51 None
77               OpBranchConditional %50 %52 %53
78         %52 = OpLabel
79         %54 = OpExtInst %float %1 Ldexp %float_1 %int_2
80         %55 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_0
81               OpStore %55 %54
82               OpBranch %51
83         %53 = OpLabel
84         %56 = OpExtInst %float %1 Ldexp %float_1 %int_2
85               OpStore %a %56
86               OpStore %_GLF_color %26
87               OpBranch %51
88         %51 = OpLabel
89               OpBranch %48
90         %48 = OpLabel
91               OpBranch %45
92         %45 = OpLabel
93               OpBranch %37
94         %37 = OpLabel
95         %11 = OpLoad %int %j
96         %12 = OpIAdd %int %11 %int_1
97               OpStore %j %12
98               OpBranch %35
99         %36 = OpLabel
100               OpReturn
101               OpFunctionEnd
102