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 %a "a"
9               OpName %b "b"
10               OpName %c "c"
11               OpName %_GLF_color "_GLF_color"
12               OpName %buf0 "buf0"
13               OpMemberName %buf0 0 "_GLF_uniform_float_values"
14               OpName %_ ""
15               OpDecorate %_GLF_color Location 0
16               OpDecorate %_arr_float_uint_2 ArrayStride 16
17               OpMemberDecorate %buf0 0 Offset 0
18               OpDecorate %buf0 Block
19               OpDecorate %_ DescriptorSet 0
20               OpDecorate %_ Binding 0
21       %void = OpTypeVoid
22         %11 = OpTypeFunction %void
23      %float = OpTypeFloat 32
24%_ptr_Function_float = OpTypePointer Function %float
25   %float_n1 = OpConstant %float -1
26%float_1_70000005 = OpConstant %float 1.70000005
27    %v4float = OpTypeVector %float 4
28%_ptr_Output_v4float = OpTypePointer Output %v4float
29 %_GLF_color = OpVariable %_ptr_Output_v4float Output
30       %bool = OpTypeBool
31       %uint = OpTypeInt 32 0
32     %uint_2 = OpConstant %uint 2
33%_arr_float_uint_2 = OpTypeArray %float %uint_2
34       %buf0 = OpTypeStruct %_arr_float_uint_2
35%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
36          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
37        %int = OpTypeInt 32 1
38      %int_0 = OpConstant %int 0
39%_ptr_Uniform_float = OpTypePointer Uniform %float
40      %int_1 = OpConstant %int 1
41       %main = OpFunction %void None %11
42         %26 = OpLabel
43          %a = OpVariable %_ptr_Function_float Function
44          %b = OpVariable %_ptr_Function_float Function
45          %c = OpVariable %_ptr_Function_float Function
46               OpStore %a %float_n1
47               OpStore %b %float_1_70000005
48         %27 = OpLoad %float %a
49         %28 = OpLoad %float %b
50         %29 = OpExtInst %float %1 Pow %27 %28
51               OpStore %c %29
52         %30 = OpLoad %float %c
53         %31 = OpCompositeConstruct %v4float %30 %30 %30 %30
54               OpStore %_GLF_color %31
55         %32 = OpLoad %float %a
56         %33 = OpFOrdEqual %bool %32 %float_n1
57         %34 = OpLoad %float %b
58         %35 = OpFOrdEqual %bool %34 %float_1_70000005
59         %36 = OpLogicalAnd %bool %33 %35
60               OpSelectionMerge %37 None
61               OpBranchConditional %36 %38 %39
62         %38 = OpLabel
63         %40 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
64         %41 = OpLoad %float %40
65         %42 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
66         %43 = OpLoad %float %42
67         %44 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1
68         %45 = OpLoad %float %44
69         %46 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
70         %47 = OpLoad %float %46
71         %48 = OpCompositeConstruct %v4float %41 %43 %45 %47
72               OpStore %_GLF_color %48
73               OpBranch %37
74         %39 = OpLabel
75         %49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
76         %50 = OpLoad %float %49
77         %51 = OpCompositeConstruct %v4float %50 %50 %50 %50
78               OpStore %_GLF_color %51
79               OpBranch %37
80         %37 = OpLabel
81               OpReturn
82               OpFunctionEnd
83