1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 8
4; Bound: 69
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint Fragment %main "main" %gl_FragCoord %gl_FragDepth %sc %s2 %sf %c1D %c2D %c4D %c3D %ic1D %ic3D %ic4D
10               OpExecutionMode %main OriginUpperLeft
11               OpExecutionMode %main DepthReplacing
12               OpSource ESSL 310
13               OpName %main "main"
14               OpName %f "f"
15               OpName %gl_FragCoord "gl_FragCoord"
16               OpName %gl_FragDepth "gl_FragDepth"
17               OpName %sc "sc"
18               OpName %S2 "S2"
19               OpMemberName %S2 0 "c"
20               OpMemberName %S2 1 "f"
21               OpName %s2 "s2"
22               OpName %sf "sf"
23               OpName %c1D "c1D"
24               OpName %c2D "c2D"
25               OpName %c4D "c4D"
26               OpName %c3D "c3D"
27               OpName %ic1D "ic1D"
28               OpName %ic3D "ic3D"
29               OpName %ic4D "ic4D"
30               OpDecorate %f RelaxedPrecision
31               OpDecorate %gl_FragCoord BuiltIn FragCoord
32               OpDecorate %gl_FragDepth BuiltIn FragDepth
33               OpDecorate %19 RelaxedPrecision
34               OpDecorate %sc RelaxedPrecision
35               OpDecorate %sc Location 0
36               OpMemberDecorate %S2 0 RelaxedPrecision
37               OpMemberDecorate %S2 1 RelaxedPrecision
38               OpDecorate %s2 Location 8
39               OpDecorate %30 RelaxedPrecision
40               OpDecorate %sf RelaxedPrecision
41               OpDecorate %sf Location 1
42               OpDecorate %34 RelaxedPrecision
43               OpDecorate %c1D RelaxedPrecision
44               OpDecorate %c1D Location 4
45               OpDecorate %36 RelaxedPrecision
46               OpDecorate %37 RelaxedPrecision
47               OpDecorate %38 RelaxedPrecision
48               OpDecorate %39 RelaxedPrecision
49               OpDecorate %c2D RelaxedPrecision
50               OpDecorate %c2D Location 5
51               OpDecorate %43 RelaxedPrecision
52               OpDecorate %44 RelaxedPrecision
53               OpDecorate %45 RelaxedPrecision
54               OpDecorate %46 RelaxedPrecision
55               OpDecorate %47 RelaxedPrecision
56               OpDecorate %c4D RelaxedPrecision
57               OpDecorate %c4D Location 7
58               OpDecorate %49 RelaxedPrecision
59               OpDecorate %50 RelaxedPrecision
60               OpDecorate %51 RelaxedPrecision
61               OpDecorate %52 RelaxedPrecision
62               OpDecorate %53 RelaxedPrecision
63               OpDecorate %c3D RelaxedPrecision
64               OpDecorate %c3D Location 6
65               OpDecorate %55 RelaxedPrecision
66               OpDecorate %56 RelaxedPrecision
67               OpDecorate %ic1D RelaxedPrecision
68               OpDecorate %ic1D Flat
69               OpDecorate %ic1D Location 1
70               OpDecorate %ic3D RelaxedPrecision
71               OpDecorate %ic3D Flat
72               OpDecorate %ic3D Location 2
73               OpDecorate %ic4D RelaxedPrecision
74               OpDecorate %ic4D Flat
75               OpDecorate %ic4D Location 3
76               OpDecorate %68 RelaxedPrecision
77       %void = OpTypeVoid
78          %3 = OpTypeFunction %void
79      %float = OpTypeFloat 32
80%_ptr_Function_float = OpTypePointer Function %float
81    %v4float = OpTypeVector %float 4
82%_ptr_Input_v4float = OpTypePointer Input %v4float
83%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
84       %uint = OpTypeInt 32 0
85     %uint_1 = OpConstant %uint 1
86%_ptr_Input_float = OpTypePointer Input %float
87%_ptr_Output_float = OpTypePointer Output %float
88%gl_FragDepth = OpVariable %_ptr_Output_float Output
89    %v3float = OpTypeVector %float 3
90%_ptr_Output_v3float = OpTypePointer Output %v3float
91         %sc = OpVariable %_ptr_Output_v3float Output
92         %S2 = OpTypeStruct %v3float %float
93%_ptr_Input_S2 = OpTypePointer Input %S2
94         %s2 = OpVariable %_ptr_Input_S2 Input
95        %int = OpTypeInt 32 1
96      %int_0 = OpConstant %int 0
97%_ptr_Input_v3float = OpTypePointer Input %v3float
98         %sf = OpVariable %_ptr_Output_float Output
99      %int_1 = OpConstant %int 1
100        %c1D = OpVariable %_ptr_Input_float Input
101    %v2float = OpTypeVector %float 2
102%_ptr_Input_v2float = OpTypePointer Input %v2float
103        %c2D = OpVariable %_ptr_Input_v2float Input
104        %c4D = OpVariable %_ptr_Input_v4float Input
105        %c3D = OpVariable %_ptr_Input_v3float Input
106%_ptr_Input_int = OpTypePointer Input %int
107       %ic1D = OpVariable %_ptr_Input_int Input
108      %v3int = OpTypeVector %int 3
109%_ptr_Input_v3int = OpTypePointer Input %v3int
110       %ic3D = OpVariable %_ptr_Input_v3int Input
111      %v4int = OpTypeVector %int 4
112%_ptr_Input_v4int = OpTypePointer Input %v4int
113       %ic4D = OpVariable %_ptr_Input_v4int Input
114      %v2int = OpTypeVector %int 2
115      %int_2 = OpConstant %int 2
116      %int_3 = OpConstant %int 3
117         %68 = OpConstantComposite %v2int %int_2 %int_3
118       %main = OpFunction %void None %3
119          %5 = OpLabel
120          %f = OpVariable %_ptr_Function_float Function
121         %15 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_1
122         %16 = OpLoad %float %15
123               OpStore %f %16
124         %19 = OpLoad %float %f
125               OpStore %gl_FragDepth %19
126         %29 = OpAccessChain %_ptr_Input_v3float %s2 %int_0
127         %30 = OpLoad %v3float %29
128               OpStore %sc %30
129         %33 = OpAccessChain %_ptr_Input_float %s2 %int_1
130         %34 = OpLoad %float %33
131               OpStore %sf %34
132         %36 = OpLoad %float %c1D
133         %37 = OpExtInst %float %1 Sinh %36
134         %38 = OpLoad %float %c1D
135         %39 = OpExtInst %float %1 Cosh %38
136         %43 = OpLoad %v2float %c2D
137         %44 = OpExtInst %v2float %1 Tanh %43
138         %45 = OpVectorTimesScalar %v2float %44 %39
139         %46 = OpCompositeConstruct %v2float %37 %37
140         %47 = OpFAdd %v2float %46 %45
141         %49 = OpLoad %v4float %c4D
142         %50 = OpExtInst %v4float %1 Asinh %49
143         %51 = OpLoad %v4float %c4D
144         %52 = OpExtInst %v4float %1 Acosh %51
145         %53 = OpFAdd %v4float %50 %52
146         %55 = OpLoad %v3float %c3D
147         %56 = OpExtInst %v3float %1 Atanh %55
148               OpReturn
149               OpFunctionEnd
150