1; SPIR-V
2; Version: 1.0
3; Generator: Google spiregg; 0
4; Bound: 3005
5; Schema: 0
6               OpCapability Shader
7               OpCapability Geometry
8               OpExtension "SPV_GOOGLE_hlsl_functionality1"
9          %1 = OpExtInstImport "GLSL.std.450"
10               OpMemoryModel Logical GLSL450
11               OpEntryPoint Fragment %MainPS "main" %in_var_TEXCOORD0 %gl_FragCoord %gl_Layer %out_var_SV_Target0
12               OpExecutionMode %MainPS OriginUpperLeft
13               OpSource HLSL 600
14               OpName %type__Globals "type.$Globals"
15               OpMemberName %type__Globals 0 "MappingPolynomial"
16               OpMemberName %type__Globals 1 "InverseGamma"
17               OpMemberName %type__Globals 2 "ColorMatrixR_ColorCurveCd1"
18               OpMemberName %type__Globals 3 "ColorMatrixG_ColorCurveCd3Cm3"
19               OpMemberName %type__Globals 4 "ColorMatrixB_ColorCurveCm2"
20               OpMemberName %type__Globals 5 "ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3"
21               OpMemberName %type__Globals 6 "ColorCurve_Ch1_Ch2"
22               OpMemberName %type__Globals 7 "ColorShadow_Luma"
23               OpMemberName %type__Globals 8 "ColorShadow_Tint1"
24               OpMemberName %type__Globals 9 "ColorShadow_Tint2"
25               OpMemberName %type__Globals 10 "FilmSlope"
26               OpMemberName %type__Globals 11 "FilmToe"
27               OpMemberName %type__Globals 12 "FilmShoulder"
28               OpMemberName %type__Globals 13 "FilmBlackClip"
29               OpMemberName %type__Globals 14 "FilmWhiteClip"
30               OpMemberName %type__Globals 15 "ColorScale"
31               OpMemberName %type__Globals 16 "OverlayColor"
32               OpMemberName %type__Globals 17 "WhiteTemp"
33               OpMemberName %type__Globals 18 "WhiteTint"
34               OpMemberName %type__Globals 19 "ColorSaturation"
35               OpMemberName %type__Globals 20 "ColorContrast"
36               OpMemberName %type__Globals 21 "ColorGamma"
37               OpMemberName %type__Globals 22 "ColorGain"
38               OpMemberName %type__Globals 23 "ColorOffset"
39               OpMemberName %type__Globals 24 "ColorSaturationShadows"
40               OpMemberName %type__Globals 25 "ColorContrastShadows"
41               OpMemberName %type__Globals 26 "ColorGammaShadows"
42               OpMemberName %type__Globals 27 "ColorGainShadows"
43               OpMemberName %type__Globals 28 "ColorOffsetShadows"
44               OpMemberName %type__Globals 29 "ColorSaturationMidtones"
45               OpMemberName %type__Globals 30 "ColorContrastMidtones"
46               OpMemberName %type__Globals 31 "ColorGammaMidtones"
47               OpMemberName %type__Globals 32 "ColorGainMidtones"
48               OpMemberName %type__Globals 33 "ColorOffsetMidtones"
49               OpMemberName %type__Globals 34 "ColorSaturationHighlights"
50               OpMemberName %type__Globals 35 "ColorContrastHighlights"
51               OpMemberName %type__Globals 36 "ColorGammaHighlights"
52               OpMemberName %type__Globals 37 "ColorGainHighlights"
53               OpMemberName %type__Globals 38 "ColorOffsetHighlights"
54               OpMemberName %type__Globals 39 "ColorCorrectionShadowsMax"
55               OpMemberName %type__Globals 40 "ColorCorrectionHighlightsMin"
56               OpMemberName %type__Globals 41 "OutputDevice"
57               OpMemberName %type__Globals 42 "OutputGamut"
58               OpMemberName %type__Globals 43 "BlueCorrection"
59               OpMemberName %type__Globals 44 "ExpandGamut"
60               OpName %_Globals "$Globals"
61               OpName %in_var_TEXCOORD0 "in.var.TEXCOORD0"
62               OpName %out_var_SV_Target0 "out.var.SV_Target0"
63               OpName %MainPS "MainPS"
64               OpDecorateString %in_var_TEXCOORD0 UserSemantic "TEXCOORD0"
65               OpDecorate %in_var_TEXCOORD0 NoPerspective
66               OpDecorate %gl_FragCoord BuiltIn FragCoord
67               OpDecorateString %gl_FragCoord UserSemantic "SV_POSITION"
68               OpDecorate %gl_Layer BuiltIn Layer
69               OpDecorateString %gl_Layer UserSemantic "SV_RenderTargetArrayIndex"
70               OpDecorate %gl_Layer Flat
71               OpDecorateString %out_var_SV_Target0 UserSemantic "SV_Target0"
72               OpDecorate %in_var_TEXCOORD0 Location 0
73               OpDecorate %out_var_SV_Target0 Location 0
74               OpDecorate %_Globals DescriptorSet 0
75               OpDecorate %_Globals Binding 0
76               OpMemberDecorate %type__Globals 0 Offset 0
77               OpMemberDecorate %type__Globals 1 Offset 16
78               OpMemberDecorate %type__Globals 2 Offset 32
79               OpMemberDecorate %type__Globals 3 Offset 48
80               OpMemberDecorate %type__Globals 4 Offset 64
81               OpMemberDecorate %type__Globals 5 Offset 80
82               OpMemberDecorate %type__Globals 6 Offset 96
83               OpMemberDecorate %type__Globals 7 Offset 112
84               OpMemberDecorate %type__Globals 8 Offset 128
85               OpMemberDecorate %type__Globals 9 Offset 144
86               OpMemberDecorate %type__Globals 10 Offset 160
87               OpMemberDecorate %type__Globals 11 Offset 164
88               OpMemberDecorate %type__Globals 12 Offset 168
89               OpMemberDecorate %type__Globals 13 Offset 172
90               OpMemberDecorate %type__Globals 14 Offset 176
91               OpMemberDecorate %type__Globals 15 Offset 180
92               OpMemberDecorate %type__Globals 16 Offset 192
93               OpMemberDecorate %type__Globals 17 Offset 208
94               OpMemberDecorate %type__Globals 18 Offset 212
95               OpMemberDecorate %type__Globals 19 Offset 224
96               OpMemberDecorate %type__Globals 20 Offset 240
97               OpMemberDecorate %type__Globals 21 Offset 256
98               OpMemberDecorate %type__Globals 22 Offset 272
99               OpMemberDecorate %type__Globals 23 Offset 288
100               OpMemberDecorate %type__Globals 24 Offset 304
101               OpMemberDecorate %type__Globals 25 Offset 320
102               OpMemberDecorate %type__Globals 26 Offset 336
103               OpMemberDecorate %type__Globals 27 Offset 352
104               OpMemberDecorate %type__Globals 28 Offset 368
105               OpMemberDecorate %type__Globals 29 Offset 384
106               OpMemberDecorate %type__Globals 30 Offset 400
107               OpMemberDecorate %type__Globals 31 Offset 416
108               OpMemberDecorate %type__Globals 32 Offset 432
109               OpMemberDecorate %type__Globals 33 Offset 448
110               OpMemberDecorate %type__Globals 34 Offset 464
111               OpMemberDecorate %type__Globals 35 Offset 480
112               OpMemberDecorate %type__Globals 36 Offset 496
113               OpMemberDecorate %type__Globals 37 Offset 512
114               OpMemberDecorate %type__Globals 38 Offset 528
115               OpMemberDecorate %type__Globals 39 Offset 544
116               OpMemberDecorate %type__Globals 40 Offset 548
117               OpMemberDecorate %type__Globals 41 Offset 552
118               OpMemberDecorate %type__Globals 42 Offset 556
119               OpMemberDecorate %type__Globals 43 Offset 560
120               OpMemberDecorate %type__Globals 44 Offset 564
121               OpDecorate %type__Globals Block
122      %float = OpTypeFloat 32
123    %v4float = OpTypeVector %float 4
124    %v3float = OpTypeVector %float 3
125    %v2float = OpTypeVector %float 2
126        %int = OpTypeInt 32 1
127       %uint = OpTypeInt 32 0
128     %uint_2 = OpConstant %uint 2
129     %uint_7 = OpConstant %uint 7
130     %uint_4 = OpConstant %uint 4
131%float_0_952552378 = OpConstant %float 0.952552378
132    %float_0 = OpConstant %float 0
133
134; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
135%float_9_36786018en05 = OpConstant %float 9.25
136
137%float_0_343966454 = OpConstant %float 0.343966454
138%float_0_728166103 = OpConstant %float 0.728166103
139%float_n0_0721325427 = OpConstant %float -0.0721325427
140%float_1_00882518 = OpConstant %float 1.00882518
141%float_1_04981101 = OpConstant %float 1.04981101
142%float_n9_74845025en05 = OpConstant %float -9.74845025e-05
143%float_n0_495903015 = OpConstant %float -0.495903015
144%float_1_37331307 = OpConstant %float 1.37331307
145%float_0_0982400328 = OpConstant %float 0.0982400328
146%float_0_991252005 = OpConstant %float 0.991252005
147%float_0_662454188 = OpConstant %float 0.662454188
148%float_0_134004205 = OpConstant %float 0.134004205
149%float_0_156187683 = OpConstant %float 0.156187683
150%float_0_272228718 = OpConstant %float 0.272228718
151%float_0_674081743 = OpConstant %float 0.674081743
152%float_0_0536895171 = OpConstant %float 0.0536895171
153%float_n0_00557464967 = OpConstant %float -0.00557464967
154%float_0_0040607336 = OpConstant %float 0.0040607336
155%float_1_01033914 = OpConstant %float 1.01033914
156%float_1_6410234 = OpConstant %float 1.6410234
157%float_n0_324803293 = OpConstant %float -0.324803293
158%float_n0_236424699 = OpConstant %float -0.236424699
159%float_n0_663662851 = OpConstant %float -0.663662851
160%float_1_61533165 = OpConstant %float 1.61533165
161%float_0_0167563483 = OpConstant %float 0.0167563483
162%float_0_0117218941 = OpConstant %float 0.0117218941
163%float_n0_00828444213 = OpConstant %float -0.00828444213
164%float_0_988394856 = OpConstant %float 0.988394856
165%float_1_45143926 = OpConstant %float 1.45143926
166%float_n0_236510754 = OpConstant %float -0.236510754
167%float_n0_214928567 = OpConstant %float -0.214928567
168%float_n0_0765537769 = OpConstant %float -0.0765537769
169%float_1_17622972 = OpConstant %float 1.17622972
170%float_n0_0996759236 = OpConstant %float -0.0996759236
171%float_0_00831614807 = OpConstant %float 0.00831614807
172%float_n0_00603244966 = OpConstant %float -0.00603244966
173%float_0_997716308 = OpConstant %float 0.997716308
174%float_0_695452213 = OpConstant %float 0.695452213
175%float_0_140678704 = OpConstant %float 0.140678704
176%float_0_163869068 = OpConstant %float 0.163869068
177%float_0_0447945632 = OpConstant %float 0.0447945632
178%float_0_859671116 = OpConstant %float 0.859671116
179%float_0_0955343172 = OpConstant %float 0.0955343172
180%float_n0_00552588282 = OpConstant %float -0.00552588282
181%float_0_00402521016 = OpConstant %float 0.00402521016
182%float_1_00150073 = OpConstant %float 1.00150073
183         %67 = OpConstantComposite %v3float %float_0_272228718 %float_0_674081743 %float_0_0536895171
184%float_3_2409699 = OpConstant %float 3.2409699
185%float_n1_5373832 = OpConstant %float -1.5373832
186%float_n0_498610765 = OpConstant %float -0.498610765
187%float_n0_969243646 = OpConstant %float -0.969243646
188%float_1_8759675 = OpConstant %float 1.8759675
189%float_0_0415550582 = OpConstant %float 0.0415550582
190%float_0_0556300804 = OpConstant %float 0.0556300804
191%float_n0_203976959 = OpConstant %float -0.203976959
192%float_1_05697155 = OpConstant %float 1.05697155
193%float_0_412456393 = OpConstant %float 0.412456393
194%float_0_357576102 = OpConstant %float 0.357576102
195%float_0_180437505 = OpConstant %float 0.180437505
196%float_0_212672904 = OpConstant %float 0.212672904
197%float_0_715152204 = OpConstant %float 0.715152204
198%float_0_0721750036 = OpConstant %float 0.0721750036
199%float_0_0193339009 = OpConstant %float 0.0193339009
200%float_0_119191997 = OpConstant %float 0.119191997
201%float_0_950304091 = OpConstant %float 0.950304091
202%float_1_71660841 = OpConstant %float 1.71660841
203%float_n0_355662107 = OpConstant %float -0.355662107
204%float_n0_253360093 = OpConstant %float -0.253360093
205%float_n0_666682899 = OpConstant %float -0.666682899
206%float_1_61647761 = OpConstant %float 1.61647761
207%float_0_0157685 = OpConstant %float 0.0157685
208%float_0_0176422 = OpConstant %float 0.0176422
209%float_n0_0427763015 = OpConstant %float -0.0427763015
210%float_0_942228675 = OpConstant %float 0.942228675
211%float_2_49339628 = OpConstant %float 2.49339628
212%float_n0_93134588 = OpConstant %float -0.93134588
213%float_n0_402694494 = OpConstant %float -0.402694494
214%float_n0_829486787 = OpConstant %float -0.829486787
215%float_1_76265967 = OpConstant %float 1.76265967
216%float_0_0236246008 = OpConstant %float 0.0236246008
217%float_0_0358507 = OpConstant %float 0.0358507
218%float_n0_0761827007 = OpConstant %float -0.0761827007
219%float_0_957014024 = OpConstant %float 0.957014024
220%float_1_01303005 = OpConstant %float 1.01303005
221%float_0_00610530982 = OpConstant %float 0.00610530982
222%float_n0_0149710001 = OpConstant %float -0.0149710001
223%float_0_00769822998 = OpConstant %float 0.00769822998
224%float_0_998165011 = OpConstant %float 0.998165011
225%float_n0_00503202993 = OpConstant %float -0.00503202993
226%float_n0_00284131011 = OpConstant %float -0.00284131011
227%float_0_00468515977 = OpConstant %float 0.00468515977
228%float_0_924507022 = OpConstant %float 0.924507022
229%float_0_987223983 = OpConstant %float 0.987223983
230%float_n0_00611326983 = OpConstant %float -0.00611326983
231%float_0_0159533005 = OpConstant %float 0.0159533005
232%float_n0_00759836007 = OpConstant %float -0.00759836007
233%float_1_00186002 = OpConstant %float 1.00186002
234%float_0_0053300201 = OpConstant %float 0.0053300201
235%float_0_00307257008 = OpConstant %float 0.00307257008
236%float_n0_00509594986 = OpConstant %float -0.00509594986
237%float_1_08168006 = OpConstant %float 1.08168006
238  %float_0_5 = OpConstant %float 0.5
239   %float_n1 = OpConstant %float -1
240    %float_1 = OpConstant %float 1
241      %int_0 = OpConstant %int 0
242      %int_1 = OpConstant %int 1
243%float_0_015625 = OpConstant %float 0.015625
244        %128 = OpConstantComposite %v2float %float_0_015625 %float_0_015625
245        %129 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
246     %int_42 = OpConstant %int 42
247     %uint_3 = OpConstant %uint 3
248        %132 = OpConstantComposite %v3float %float_0 %float_0 %float_0
249      %int_9 = OpConstant %int 9
250      %int_3 = OpConstant %int 3
251        %135 = OpConstantComposite %v3float %float_1 %float_1 %float_1
252   %float_n4 = OpConstant %float -4
253     %int_44 = OpConstant %int 44
254%float_0_544169128 = OpConstant %float 0.544169128
255%float_0_239592597 = OpConstant %float 0.239592597
256%float_0_166694298 = OpConstant %float 0.166694298
257%float_0_239465594 = OpConstant %float 0.239465594
258%float_0_702153027 = OpConstant %float 0.702153027
259%float_0_058381401 = OpConstant %float 0.058381401
260%float_n0_00234390004 = OpConstant %float -0.00234390004
261%float_0_0361833982 = OpConstant %float 0.0361833982
262%float_1_05521834 = OpConstant %float 1.05521834
263%float_0_940437257 = OpConstant %float 0.940437257
264%float_n0_0183068793 = OpConstant %float -0.0183068793
265%float_0_077869609 = OpConstant %float 0.077869609
266%float_0_00837869663 = OpConstant %float 0.00837869663
267%float_0_828660011 = OpConstant %float 0.828660011
268%float_0_162961304 = OpConstant %float 0.162961304
269%float_0_00054712611 = OpConstant %float 0.00054712611
270%float_n0_000883374596 = OpConstant %float -0.000883374596
271%float_1_00033629 = OpConstant %float 1.00033629
272%float_1_06317997 = OpConstant %float 1.06317997
273%float_0_0233955998 = OpConstant %float 0.0233955998
274%float_n0_0865726024 = OpConstant %float -0.0865726024
275%float_n0_0106336996 = OpConstant %float -0.0106336996
276%float_1_20632005 = OpConstant %float 1.20632005
277%float_n0_195690006 = OpConstant %float -0.195690006
278%float_n0_000590886979 = OpConstant %float -0.000590886979
279%float_0_00105247996 = OpConstant %float 0.00105247996
280%float_0_999538004 = OpConstant %float 0.999538004
281     %int_43 = OpConstant %int 43
282     %int_15 = OpConstant %int 15
283     %int_16 = OpConstant %int 16
284     %uint_0 = OpConstant %uint 0
285     %uint_1 = OpConstant %uint 1
286     %uint_5 = OpConstant %uint 5
287     %uint_6 = OpConstant %uint 6
288      %int_2 = OpConstant %int 2
289%mat3v3float = OpTypeMatrix %v3float 3
290     %int_41 = OpConstant %int 41
291%float_0_159301758 = OpConstant %float 0.159301758
292%float_78_84375 = OpConstant %float 78.84375
293%float_0_8359375 = OpConstant %float 0.8359375
294%float_18_8515625 = OpConstant %float 18.8515625
295%float_18_6875 = OpConstant %float 18.6875
296%float_10000 = OpConstant %float 10000
297%float_0_0126833133 = OpConstant %float 0.0126833133
298        %182 = OpConstantComposite %v3float %float_0_0126833133 %float_0_0126833133 %float_0_0126833133
299        %183 = OpConstantComposite %v3float %float_0_8359375 %float_0_8359375 %float_0_8359375
300        %184 = OpConstantComposite %v3float %float_18_8515625 %float_18_8515625 %float_18_8515625
301        %185 = OpConstantComposite %v3float %float_18_6875 %float_18_6875 %float_18_6875
302%float_6_27739477 = OpConstant %float 6.27739477
303        %187 = OpConstantComposite %v3float %float_6_27739477 %float_6_27739477 %float_6_27739477
304        %188 = OpConstantComposite %v3float %float_10000 %float_10000 %float_10000
305   %float_14 = OpConstant %float 14
306%float_0_180000007 = OpConstant %float 0.180000007
307%float_0_434017599 = OpConstant %float 0.434017599
308        %192 = OpConstantComposite %v3float %float_0_434017599 %float_0_434017599 %float_0_434017599
309        %193 = OpConstantComposite %v3float %float_14 %float_14 %float_14
310        %194 = OpConstantComposite %v3float %float_0_180000007 %float_0_180000007 %float_0_180000007
311     %int_17 = OpConstant %int 17
312 %float_4000 = OpConstant %float 4000
313%float_0_312700003 = OpConstant %float 0.312700003
314%float_0_328999996 = OpConstant %float 0.328999996
315     %int_18 = OpConstant %int 18
316     %int_24 = OpConstant %int 24
317     %int_19 = OpConstant %int 19
318     %int_25 = OpConstant %int 25
319     %int_20 = OpConstant %int 20
320     %int_26 = OpConstant %int 26
321     %int_21 = OpConstant %int 21
322     %int_27 = OpConstant %int 27
323     %int_22 = OpConstant %int 22
324     %int_28 = OpConstant %int 28
325     %int_23 = OpConstant %int 23
326     %int_39 = OpConstant %int 39
327     %int_34 = OpConstant %int 34
328     %int_35 = OpConstant %int 35
329     %int_36 = OpConstant %int 36
330     %int_37 = OpConstant %int 37
331     %int_38 = OpConstant %int 38
332     %int_40 = OpConstant %int 40
333     %int_29 = OpConstant %int 29
334     %int_30 = OpConstant %int 30
335     %int_31 = OpConstant %int 31
336     %int_32 = OpConstant %int 32
337     %int_33 = OpConstant %int 33
338%float_0_0500000007 = OpConstant %float 0.0500000007
339 %float_1_75 = OpConstant %float 1.75
340%float_0_400000006 = OpConstant %float 0.400000006
341%float_0_0299999993 = OpConstant %float 0.0299999993
342    %float_2 = OpConstant %float 2
343%float_0_959999979 = OpConstant %float 0.959999979
344        %228 = OpConstantComposite %v3float %float_0_959999979 %float_0_959999979 %float_0_959999979
345     %int_13 = OpConstant %int 13
346     %int_11 = OpConstant %int 11
347     %int_14 = OpConstant %int 14
348     %int_12 = OpConstant %int 12
349%float_0_800000012 = OpConstant %float 0.800000012
350     %int_10 = OpConstant %int 10
351   %float_10 = OpConstant %float 10
352   %float_n2 = OpConstant %float -2
353    %float_3 = OpConstant %float 3
354        %238 = OpConstantComposite %v3float %float_3 %float_3 %float_3
355        %239 = OpConstantComposite %v3float %float_2 %float_2 %float_2
356%float_0_930000007 = OpConstant %float 0.930000007
357        %241 = OpConstantComposite %v3float %float_0_930000007 %float_0_930000007 %float_0_930000007
358      %int_4 = OpConstant %int 4
359      %int_8 = OpConstant %int 8
360      %int_7 = OpConstant %int 7
361      %int_5 = OpConstant %int 5
362      %int_6 = OpConstant %int 6
363%float_0_00200000009 = OpConstant %float 0.00200000009
364        %248 = OpConstantComposite %v3float %float_0_00200000009 %float_0_00200000009 %float_0_00200000009
365%float_6_10351999en05 = OpConstant %float 6.10351999e-05
366        %250 = OpConstantComposite %v3float %float_6_10351999en05 %float_6_10351999en05 %float_6_10351999en05
367  %float_4_5 = OpConstant %float 4.5
368        %252 = OpConstantComposite %v3float %float_4_5 %float_4_5 %float_4_5
369%float_0_0179999992 = OpConstant %float 0.0179999992
370        %254 = OpConstantComposite %v3float %float_0_0179999992 %float_0_0179999992 %float_0_0179999992
371%float_0_449999988 = OpConstant %float 0.449999988
372        %256 = OpConstantComposite %v3float %float_0_449999988 %float_0_449999988 %float_0_449999988
373%float_1_09899998 = OpConstant %float 1.09899998
374        %258 = OpConstantComposite %v3float %float_1_09899998 %float_1_09899998 %float_1_09899998
375%float_0_0989999995 = OpConstant %float 0.0989999995
376        %260 = OpConstantComposite %v3float %float_0_0989999995 %float_0_0989999995 %float_0_0989999995
377  %float_1_5 = OpConstant %float 1.5
378        %262 = OpConstantComposite %v3float %float_1_5 %float_1_5 %float_1_5
379        %263 = OpConstantComposite %v3float %float_0_159301758 %float_0_159301758 %float_0_159301758
380        %264 = OpConstantComposite %v3float %float_78_84375 %float_78_84375 %float_78_84375
381%float_1_00055635 = OpConstant %float 1.00055635
382 %float_7000 = OpConstant %float 7000
383%float_0_244063005 = OpConstant %float 0.244063005
384%float_99_1100006 = OpConstant %float 99.1100006
385%float_2967800 = OpConstant %float 2967800
386%float_0_237039998 = OpConstant %float 0.237039998
387%float_247_479996 = OpConstant %float 247.479996
388%float_1901800 = OpConstant %float 1901800
389   %float_n3 = OpConstant %float -3
390%float_2_86999989 = OpConstant %float 2.86999989
391%float_0_275000006 = OpConstant %float 0.275000006
392%float_0_860117733 = OpConstant %float 0.860117733
393%float_0_000154118257 = OpConstant %float 0.000154118257
394%float_1_28641219en07 = OpConstant %float 1.28641219e-07
395%float_0_00084242021 = OpConstant %float 0.00084242021
396%float_7_08145137en07 = OpConstant %float 7.08145137e-07
397%float_0_317398727 = OpConstant %float 0.317398727
398
399; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
400%float_4_22806261en05 = OpConstant %float 4.25
401
402%float_4_20481676en08 = OpConstant %float 4.20481676e-08
403%float_2_8974182en05 = OpConstant %float 2.8974182e-05
404%float_1_61456057en07 = OpConstant %float 1.61456057e-07
405    %float_8 = OpConstant %float 8
406    %float_4 = OpConstant %float 4
407%float_0_895099998 = OpConstant %float 0.895099998
408%float_0_266400009 = OpConstant %float 0.266400009
409%float_n0_161400005 = OpConstant %float -0.161400005
410%float_n0_750199974 = OpConstant %float -0.750199974
411%float_1_71350002 = OpConstant %float 1.71350002
412%float_0_0366999991 = OpConstant %float 0.0366999991
413%float_0_0388999991 = OpConstant %float 0.0388999991
414%float_n0_0684999973 = OpConstant %float -0.0684999973
415%float_1_02960002 = OpConstant %float 1.02960002
416%float_0_986992896 = OpConstant %float 0.986992896
417%float_n0_1470543 = OpConstant %float -0.1470543
418%float_0_159962699 = OpConstant %float 0.159962699
419%float_0_432305306 = OpConstant %float 0.432305306
420%float_0_518360317 = OpConstant %float 0.518360317
421%float_0_0492912009 = OpConstant %float 0.0492912009
422%float_n0_0085287001 = OpConstant %float -0.0085287001
423%float_0_040042799 = OpConstant %float 0.040042799
424%float_0_968486726 = OpConstant %float 0.968486726
425%float_5_55555534 = OpConstant %float 5.55555534
426        %307 = OpConstantComposite %v3float %float_5_55555534 %float_5_55555534 %float_5_55555534
427%float_1_00000001en10 = OpConstant %float 1.00000001e-10
428%float_0_00999999978 = OpConstant %float 0.00999999978
429%float_0_666666687 = OpConstant %float 0.666666687
430  %float_180 = OpConstant %float 180
431  %float_360 = OpConstant %float 360
432%float_65535 = OpConstant %float 65535
433        %314 = OpConstantComposite %v3float %float_65535 %float_65535 %float_65535
434%float_n4_97062206 = OpConstant %float -4.97062206
435%float_n3_02937818 = OpConstant %float -3.02937818
436%float_n2_12619996 = OpConstant %float -2.12619996
437%float_n1_51049995 = OpConstant %float -1.51049995
438%float_n1_05780005 = OpConstant %float -1.05780005
439%float_n0_466800004 = OpConstant %float -0.466800004
440%float_0_119379997 = OpConstant %float 0.119379997
441%float_0_708813429 = OpConstant %float 0.708813429
442%float_1_29118657 = OpConstant %float 1.29118657
443%float_0_808913231 = OpConstant %float 0.808913231
444%float_1_19108677 = OpConstant %float 1.19108677
445%float_1_56830001 = OpConstant %float 1.56830001
446%float_1_9483 = OpConstant %float 1.9483
447%float_2_30830002 = OpConstant %float 2.30830002
448%float_2_63840008 = OpConstant %float 2.63840008
449%float_2_85949993 = OpConstant %float 2.85949993
450%float_2_98726082 = OpConstant %float 2.98726082
451%float_3_01273918 = OpConstant %float 3.01273918
452%float_0_179999992 = OpConstant %float 0.179999992
453%float_9_99999975en05 = OpConstant %float 9.99999975e-05
454 %float_1000 = OpConstant %float 1000
455%float_0_0599999987 = OpConstant %float 0.0599999987
456%float_3_50738446en05 = OpConstant %float 3.50738446e-05
457        %338 = OpConstantComposite %v3float %float_3_50738446en05 %float_3_50738446en05 %float_3_50738446en05
458%float_n2_30102992 = OpConstant %float -2.30102992
459%float_n1_93120003 = OpConstant %float -1.93120003
460%float_n1_52049994 = OpConstant %float -1.52049994
461%float_0_801995218 = OpConstant %float 0.801995218
462%float_1_19800484 = OpConstant %float 1.19800484
463%float_1_59430003 = OpConstant %float 1.59430003
464%float_1_99730003 = OpConstant %float 1.99730003
465%float_2_37829995 = OpConstant %float 2.37829995
466%float_2_76839995 = OpConstant %float 2.76839995
467%float_3_05150008 = OpConstant %float 3.05150008
468%float_3_27462935 = OpConstant %float 3.27462935
469%float_3_32743073 = OpConstant %float 3.32743073
470%float_0_00499999989 = OpConstant %float 0.00499999989
471   %float_11 = OpConstant %float 11
472 %float_2000 = OpConstant %float 2000
473%float_0_119999997 = OpConstant %float 0.119999997
474%float_0_00313066994 = OpConstant %float 0.00313066994
475%float_12_9200001 = OpConstant %float 12.9200001
476%float_0_416666657 = OpConstant %float 0.416666657
477%float_1_05499995 = OpConstant %float 1.05499995
478%float_0_0549999997 = OpConstant %float 0.0549999997
479%float_n0_166666672 = OpConstant %float -0.166666672
480 %float_n0_5 = OpConstant %float -0.5
481%float_0_166666672 = OpConstant %float 0.166666672
482%float_n3_15737653 = OpConstant %float -3.15737653
483%float_n0_485249996 = OpConstant %float -0.485249996
484%float_1_84773242 = OpConstant %float 1.84773242
485%float_n0_718548238 = OpConstant %float -0.718548238
486%float_2_08103061 = OpConstant %float 2.08103061
487%float_3_6681242 = OpConstant %float 3.6681242
488   %float_18 = OpConstant %float 18
489    %float_7 = OpConstant %float 7
490%type__Globals = OpTypeStruct %v4float %v3float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %float %float %float %v3float %v4float %float %float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %uint %uint %float %float
491%_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals
492%_ptr_Input_v2float = OpTypePointer Input %v2float
493%_ptr_Input_v4float = OpTypePointer Input %v4float
494%_ptr_Input_uint = OpTypePointer Input %uint
495%_ptr_Output_v4float = OpTypePointer Output %v4float
496       %void = OpTypeVoid
497        %377 = OpTypeFunction %void
498%_ptr_Function_float = OpTypePointer Function %float
499%_ptr_Uniform_uint = OpTypePointer Uniform %uint
500       %bool = OpTypeBool
501%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
502%_ptr_Uniform_float = OpTypePointer Uniform %float
503%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
504     %v2bool = OpTypeVector %bool 2
505     %v3bool = OpTypeVector %bool 3
506    %uint_10 = OpConstant %uint 10
507%_arr_float_uint_10 = OpTypeArray %float %uint_10
508%_arr_float_uint_6 = OpTypeArray %float %uint_6
509   %_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform
510%in_var_TEXCOORD0 = OpVariable %_ptr_Input_v2float Input
511%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
512   %gl_Layer = OpVariable %_ptr_Input_uint Input
513%out_var_SV_Target0 = OpVariable %_ptr_Output_v4float Output
514%_ptr_Function__arr_float_uint_6 = OpTypePointer Function %_arr_float_uint_6
515%_ptr_Function__arr_float_uint_10 = OpTypePointer Function %_arr_float_uint_10
516        %391 = OpUndef %v3float
517        %392 = OpConstantComposite %v3float %float_0_952552378 %float_0 %float_9_36786018en05
518        %393 = OpConstantComposite %v3float %float_0_343966454 %float_0_728166103 %float_n0_0721325427
519        %394 = OpConstantComposite %v3float %float_0 %float_0 %float_1_00882518
520        %395 = OpConstantComposite %mat3v3float %392 %393 %394
521        %396 = OpConstantComposite %v3float %float_1_04981101 %float_0 %float_n9_74845025en05
522        %397 = OpConstantComposite %v3float %float_n0_495903015 %float_1_37331307 %float_0_0982400328
523        %398 = OpConstantComposite %v3float %float_0 %float_0 %float_0_991252005
524        %399 = OpConstantComposite %mat3v3float %396 %397 %398
525        %400 = OpConstantComposite %v3float %float_0_662454188 %float_0_134004205 %float_0_156187683
526        %401 = OpConstantComposite %v3float %float_n0_00557464967 %float_0_0040607336 %float_1_01033914
527        %402 = OpConstantComposite %mat3v3float %400 %67 %401
528        %403 = OpConstantComposite %v3float %float_1_6410234 %float_n0_324803293 %float_n0_236424699
529        %404 = OpConstantComposite %v3float %float_n0_663662851 %float_1_61533165 %float_0_0167563483
530        %405 = OpConstantComposite %v3float %float_0_0117218941 %float_n0_00828444213 %float_0_988394856
531        %406 = OpConstantComposite %mat3v3float %403 %404 %405
532        %407 = OpConstantComposite %v3float %float_1_45143926 %float_n0_236510754 %float_n0_214928567
533        %408 = OpConstantComposite %v3float %float_n0_0765537769 %float_1_17622972 %float_n0_0996759236
534        %409 = OpConstantComposite %v3float %float_0_00831614807 %float_n0_00603244966 %float_0_997716308
535        %410 = OpConstantComposite %mat3v3float %407 %408 %409
536        %411 = OpConstantComposite %v3float %float_0_695452213 %float_0_140678704 %float_0_163869068
537        %412 = OpConstantComposite %v3float %float_0_0447945632 %float_0_859671116 %float_0_0955343172
538        %413 = OpConstantComposite %v3float %float_n0_00552588282 %float_0_00402521016 %float_1_00150073
539        %414 = OpConstantComposite %mat3v3float %411 %412 %413
540        %415 = OpConstantComposite %v3float %float_3_2409699 %float_n1_5373832 %float_n0_498610765
541        %416 = OpConstantComposite %v3float %float_n0_969243646 %float_1_8759675 %float_0_0415550582
542        %417 = OpConstantComposite %v3float %float_0_0556300804 %float_n0_203976959 %float_1_05697155
543        %418 = OpConstantComposite %mat3v3float %415 %416 %417
544        %419 = OpConstantComposite %v3float %float_0_412456393 %float_0_357576102 %float_0_180437505
545        %420 = OpConstantComposite %v3float %float_0_212672904 %float_0_715152204 %float_0_0721750036
546        %421 = OpConstantComposite %v3float %float_0_0193339009 %float_0_119191997 %float_0_950304091
547        %422 = OpConstantComposite %mat3v3float %419 %420 %421
548        %423 = OpConstantComposite %v3float %float_1_71660841 %float_n0_355662107 %float_n0_253360093
549        %424 = OpConstantComposite %v3float %float_n0_666682899 %float_1_61647761 %float_0_0157685
550        %425 = OpConstantComposite %v3float %float_0_0176422 %float_n0_0427763015 %float_0_942228675
551        %426 = OpConstantComposite %mat3v3float %423 %424 %425
552        %427 = OpConstantComposite %v3float %float_2_49339628 %float_n0_93134588 %float_n0_402694494
553        %428 = OpConstantComposite %v3float %float_n0_829486787 %float_1_76265967 %float_0_0236246008
554        %429 = OpConstantComposite %v3float %float_0_0358507 %float_n0_0761827007 %float_0_957014024
555        %430 = OpConstantComposite %mat3v3float %427 %428 %429
556        %431 = OpConstantComposite %v3float %float_1_01303005 %float_0_00610530982 %float_n0_0149710001
557        %432 = OpConstantComposite %v3float %float_0_00769822998 %float_0_998165011 %float_n0_00503202993
558        %433 = OpConstantComposite %v3float %float_n0_00284131011 %float_0_00468515977 %float_0_924507022
559        %434 = OpConstantComposite %mat3v3float %431 %432 %433
560        %435 = OpConstantComposite %v3float %float_0_987223983 %float_n0_00611326983 %float_0_0159533005
561        %436 = OpConstantComposite %v3float %float_n0_00759836007 %float_1_00186002 %float_0_0053300201
562        %437 = OpConstantComposite %v3float %float_0_00307257008 %float_n0_00509594986 %float_1_08168006
563        %438 = OpConstantComposite %mat3v3float %435 %436 %437
564        %439 = OpConstantComposite %v3float %float_0_5 %float_n1 %float_0_5
565        %440 = OpConstantComposite %v3float %float_n1 %float_1 %float_0_5
566        %441 = OpConstantComposite %v3float %float_0_5 %float_0 %float_0
567        %442 = OpConstantComposite %mat3v3float %439 %440 %441
568        %443 = OpConstantComposite %v3float %float_1 %float_0 %float_0
569        %444 = OpConstantComposite %v3float %float_0 %float_1 %float_0
570        %445 = OpConstantComposite %v3float %float_0 %float_0 %float_1
571        %446 = OpConstantComposite %mat3v3float %443 %444 %445
572%float_n6_07624626 = OpConstant %float -6.07624626
573        %448 = OpConstantComposite %v3float %float_n6_07624626 %float_n6_07624626 %float_n6_07624626
574        %449 = OpConstantComposite %v3float %float_0_895099998 %float_0_266400009 %float_n0_161400005
575        %450 = OpConstantComposite %v3float %float_n0_750199974 %float_1_71350002 %float_0_0366999991
576        %451 = OpConstantComposite %v3float %float_0_0388999991 %float_n0_0684999973 %float_1_02960002
577        %452 = OpConstantComposite %mat3v3float %449 %450 %451
578        %453 = OpConstantComposite %v3float %float_0_986992896 %float_n0_1470543 %float_0_159962699
579        %454 = OpConstantComposite %v3float %float_0_432305306 %float_0_518360317 %float_0_0492912009
580        %455 = OpConstantComposite %v3float %float_n0_0085287001 %float_0_040042799 %float_0_968486726
581        %456 = OpConstantComposite %mat3v3float %453 %454 %455
582%float_0_358299971 = OpConstant %float 0.358299971
583        %458 = OpConstantComposite %v3float %float_0_544169128 %float_0_239592597 %float_0_166694298
584        %459 = OpConstantComposite %v3float %float_0_239465594 %float_0_702153027 %float_0_058381401
585        %460 = OpConstantComposite %v3float %float_n0_00234390004 %float_0_0361833982 %float_1_05521834
586        %461 = OpConstantComposite %mat3v3float %458 %459 %460
587        %462 = OpConstantComposite %v3float %float_0_940437257 %float_n0_0183068793 %float_0_077869609
588        %463 = OpConstantComposite %v3float %float_0_00837869663 %float_0_828660011 %float_0_162961304
589        %464 = OpConstantComposite %v3float %float_0_00054712611 %float_n0_000883374596 %float_1_00033629
590        %465 = OpConstantComposite %mat3v3float %462 %463 %464
591        %466 = OpConstantComposite %v3float %float_1_06317997 %float_0_0233955998 %float_n0_0865726024
592        %467 = OpConstantComposite %v3float %float_n0_0106336996 %float_1_20632005 %float_n0_195690006
593        %468 = OpConstantComposite %v3float %float_n0_000590886979 %float_0_00105247996 %float_0_999538004
594        %469 = OpConstantComposite %mat3v3float %466 %467 %468
595%float_0_0533333346 = OpConstant %float 0.0533333346
596%float_0_159999996 = OpConstant %float 0.159999996
597%float_57_2957764 = OpConstant %float 57.2957764
598%float_n67_5 = OpConstant %float -67.5
599 %float_67_5 = OpConstant %float 67.5
600        %475 = OpConstantComposite %_arr_float_uint_6 %float_n4 %float_n4 %float_n3_15737653 %float_n0_485249996 %float_1_84773242 %float_1_84773242
601        %476 = OpConstantComposite %_arr_float_uint_6 %float_n0_718548238 %float_2_08103061 %float_3_6681242 %float_4 %float_4 %float_4
602  %float_n15 = OpConstant %float -15
603  %float_n14 = OpConstant %float -14
604        %479 = OpConstantComposite %_arr_float_uint_10 %float_n4_97062206 %float_n3_02937818 %float_n2_12619996 %float_n1_51049995 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
605        %480 = OpConstantComposite %_arr_float_uint_10 %float_0_808913231 %float_1_19108677 %float_1_56830001 %float_1_9483 %float_2_30830002 %float_2_63840008 %float_2_85949993 %float_2_98726082 %float_3_01273918 %float_3_01273918
606  %float_n12 = OpConstant %float -12
607        %482 = OpConstantComposite %_arr_float_uint_10 %float_n2_30102992 %float_n2_30102992 %float_n1_93120003 %float_n1_52049994 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
608        %483 = OpConstantComposite %_arr_float_uint_10 %float_0_801995218 %float_1_19800484 %float_1_59430003 %float_1_99730003 %float_2_37829995 %float_2_76839995 %float_3_05150008 %float_3_27462935 %float_3_32743073 %float_3_32743073
609%float_0_0322580636 = OpConstant %float 0.0322580636
610%float_1_03225803 = OpConstant %float 1.03225803
611        %486 = OpConstantComposite %v2float %float_1_03225803 %float_1_03225803
612%float_4_60443853e_09 = OpConstant %float 4.60443853e+09
613%float_2_00528435e_09 = OpConstant %float 2.00528435e+09
614%float_0_333333343 = OpConstant %float 0.333333343
615    %float_5 = OpConstant %float 5
616  %float_2_5 = OpConstant %float 2.5
617%float_0_0250000004 = OpConstant %float 0.0250000004
618%float_0_239999995 = OpConstant %float 0.239999995
619%float_0_0148148146 = OpConstant %float 0.0148148146
620%float_0_819999993 = OpConstant %float 0.819999993
621        %496 = OpConstantComposite %v3float %float_9_99999975en05 %float_9_99999975en05 %float_9_99999975en05
622%float_0_0296296291 = OpConstant %float 0.0296296291
623%float_0_952381015 = OpConstant %float 0.952381015
624        %499 = OpConstantComposite %v3float %float_0_952381015 %float_0_952381015 %float_0_952381015
625     %MainPS = OpFunction %void None %377
626        %500 = OpLabel
627        %501 = OpVariable %_ptr_Function__arr_float_uint_6 Function
628        %502 = OpVariable %_ptr_Function__arr_float_uint_6 Function
629        %503 = OpVariable %_ptr_Function__arr_float_uint_6 Function
630        %504 = OpVariable %_ptr_Function__arr_float_uint_6 Function
631        %505 = OpVariable %_ptr_Function__arr_float_uint_6 Function
632        %506 = OpVariable %_ptr_Function__arr_float_uint_6 Function
633        %507 = OpVariable %_ptr_Function__arr_float_uint_10 Function
634        %508 = OpVariable %_ptr_Function__arr_float_uint_10 Function
635        %509 = OpVariable %_ptr_Function__arr_float_uint_10 Function
636        %510 = OpVariable %_ptr_Function__arr_float_uint_10 Function
637        %511 = OpVariable %_ptr_Function__arr_float_uint_10 Function
638        %512 = OpVariable %_ptr_Function__arr_float_uint_10 Function
639        %513 = OpVariable %_ptr_Function__arr_float_uint_6 Function
640        %514 = OpVariable %_ptr_Function__arr_float_uint_6 Function
641        %515 = OpVariable %_ptr_Function__arr_float_uint_6 Function
642        %516 = OpVariable %_ptr_Function__arr_float_uint_6 Function
643        %517 = OpVariable %_ptr_Function__arr_float_uint_6 Function
644        %518 = OpVariable %_ptr_Function__arr_float_uint_6 Function
645        %519 = OpVariable %_ptr_Function__arr_float_uint_6 Function
646        %520 = OpVariable %_ptr_Function__arr_float_uint_6 Function
647        %521 = OpVariable %_ptr_Function__arr_float_uint_6 Function
648        %522 = OpVariable %_ptr_Function__arr_float_uint_6 Function
649        %523 = OpVariable %_ptr_Function__arr_float_uint_6 Function
650        %524 = OpVariable %_ptr_Function__arr_float_uint_6 Function
651        %525 = OpVariable %_ptr_Function__arr_float_uint_10 Function
652        %526 = OpVariable %_ptr_Function__arr_float_uint_10 Function
653        %527 = OpVariable %_ptr_Function__arr_float_uint_10 Function
654        %528 = OpVariable %_ptr_Function__arr_float_uint_10 Function
655        %529 = OpVariable %_ptr_Function__arr_float_uint_10 Function
656        %530 = OpVariable %_ptr_Function__arr_float_uint_10 Function
657        %531 = OpVariable %_ptr_Function__arr_float_uint_6 Function
658        %532 = OpVariable %_ptr_Function__arr_float_uint_6 Function
659        %533 = OpVariable %_ptr_Function__arr_float_uint_6 Function
660        %534 = OpVariable %_ptr_Function__arr_float_uint_6 Function
661        %535 = OpVariable %_ptr_Function__arr_float_uint_6 Function
662        %536 = OpVariable %_ptr_Function__arr_float_uint_6 Function
663        %537 = OpLoad %v2float %in_var_TEXCOORD0
664        %538 = OpLoad %uint %gl_Layer
665        %539 = OpFSub %v2float %537 %128
666        %540 = OpFMul %v2float %539 %486
667        %541 = OpCompositeExtract %float %540 0
668        %542 = OpCompositeExtract %float %540 1
669        %543 = OpConvertUToF %float %538
670        %544 = OpFMul %float %543 %float_0_0322580636
671        %545 = OpCompositeConstruct %v4float %541 %542 %544 %float_0
672        %546 = OpMatrixTimesMatrix %mat3v3float %422 %434
673        %547 = OpMatrixTimesMatrix %mat3v3float %546 %406
674        %548 = OpMatrixTimesMatrix %mat3v3float %402 %438
675        %549 = OpMatrixTimesMatrix %mat3v3float %548 %418
676        %550 = OpMatrixTimesMatrix %mat3v3float %395 %406
677        %551 = OpMatrixTimesMatrix %mat3v3float %402 %399
678        %552 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_42
679        %553 = OpLoad %uint %552
680               OpBranch %554
681        %554 = OpLabel
682               OpLoopMerge %555 %556 None
683               OpBranch %557
684        %557 = OpLabel
685        %558 = OpMatrixTimesMatrix %mat3v3float %548 %430
686        %559 = OpMatrixTimesMatrix %mat3v3float %548 %426
687        %560 = OpIEqual %bool %553 %uint_1
688               OpSelectionMerge %561 None
689               OpBranchConditional %560 %562 %563
690        %563 = OpLabel
691        %564 = OpIEqual %bool %553 %uint_2
692               OpSelectionMerge %565 None
693               OpBranchConditional %564 %566 %567
694        %567 = OpLabel
695        %568 = OpIEqual %bool %553 %uint_3
696               OpSelectionMerge %569 None
697               OpBranchConditional %568 %570 %571
698        %571 = OpLabel
699        %572 = OpIEqual %bool %553 %uint_4
700               OpSelectionMerge %573 None
701               OpBranchConditional %572 %574 %575
702        %575 = OpLabel
703               OpBranch %555
704        %574 = OpLabel
705               OpBranch %555
706        %573 = OpLabel
707               OpUnreachable
708        %570 = OpLabel
709               OpBranch %555
710        %569 = OpLabel
711               OpUnreachable
712        %566 = OpLabel
713               OpBranch %555
714        %565 = OpLabel
715               OpUnreachable
716        %562 = OpLabel
717               OpBranch %555
718        %561 = OpLabel
719               OpUnreachable
720        %556 = OpLabel
721               OpBranch %554
722        %555 = OpLabel
723        %576 = OpPhi %mat3v3float %549 %575 %446 %574 %414 %570 %559 %566 %558 %562
724        %577 = OpVectorShuffle %v3float %545 %545 0 1 2
725        %578 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_41
726        %579 = OpLoad %uint %578
727        %580 = OpUGreaterThanEqual %bool %579 %uint_3
728               OpSelectionMerge %581 None
729               OpBranchConditional %580 %582 %583
730        %583 = OpLabel
731        %584 = OpFSub %v3float %577 %192
732        %585 = OpFMul %v3float %584 %193
733        %586 = OpExtInst %v3float %1 Exp2 %585
734        %587 = OpFMul %v3float %586 %194
735        %588 = OpExtInst %v3float %1 Exp2 %448
736        %589 = OpFMul %v3float %588 %194
737        %590 = OpFSub %v3float %587 %589
738               OpBranch %581
739        %582 = OpLabel
740        %591 = OpExtInst %v3float %1 Pow %577 %182
741        %592 = OpFSub %v3float %591 %183
742        %593 = OpExtInst %v3float %1 FMax %132 %592
743        %594 = OpFMul %v3float %185 %591
744        %595 = OpFSub %v3float %184 %594
745        %596 = OpFDiv %v3float %593 %595
746        %597 = OpExtInst %v3float %1 Pow %596 %187
747        %598 = OpFMul %v3float %597 %188
748               OpBranch %581
749        %581 = OpLabel
750        %599 = OpPhi %v3float %590 %583 %598 %582
751        %600 = OpAccessChain %_ptr_Uniform_float %_Globals %int_17
752        %601 = OpLoad %float %600
753        %602 = OpFMul %float %601 %float_1_00055635
754        %603 = OpFOrdLessThanEqual %bool %602 %float_7000
755        %604 = OpFDiv %float %float_4_60443853e_09 %601
756        %605 = OpFSub %float %float_2967800 %604
757        %606 = OpFDiv %float %605 %602
758        %607 = OpFAdd %float %float_99_1100006 %606
759        %608 = OpFDiv %float %607 %602
760        %609 = OpFAdd %float %float_0_244063005 %608
761        %610 = OpFDiv %float %float_2_00528435e_09 %601
762        %611 = OpFSub %float %float_1901800 %610
763        %612 = OpFDiv %float %611 %602
764        %613 = OpFAdd %float %float_247_479996 %612
765        %614 = OpFDiv %float %613 %602
766        %615 = OpFAdd %float %float_0_237039998 %614
767        %616 = OpSelect %float %603 %609 %615
768        %617 = OpFMul %float %float_n3 %616
769        %618 = OpFMul %float %617 %616
770        %619 = OpFMul %float %float_2_86999989 %616
771        %620 = OpFAdd %float %618 %619
772        %621 = OpFSub %float %620 %float_0_275000006
773        %622 = OpCompositeConstruct %v2float %616 %621
774        %623 = OpFMul %float %float_0_000154118257 %601
775        %624 = OpFAdd %float %float_0_860117733 %623
776        %625 = OpFMul %float %float_1_28641219en07 %601
777        %626 = OpFMul %float %625 %601
778        %627 = OpFAdd %float %624 %626
779        %628 = OpFMul %float %float_0_00084242021 %601
780        %629 = OpFAdd %float %float_1 %628
781        %630 = OpFMul %float %float_7_08145137en07 %601
782        %631 = OpFMul %float %630 %601
783        %632 = OpFAdd %float %629 %631
784        %633 = OpFDiv %float %627 %632
785        %634 = OpFMul %float %float_4_22806261en05 %601
786        %635 = OpFAdd %float %float_0_317398727 %634
787        %636 = OpFMul %float %float_4_20481676en08 %601
788        %637 = OpFMul %float %636 %601
789        %638 = OpFAdd %float %635 %637
790        %639 = OpFMul %float %float_2_8974182en05 %601
791        %640 = OpFSub %float %float_1 %639
792        %641 = OpFMul %float %float_1_61456057en07 %601
793        %642 = OpFMul %float %641 %601
794        %643 = OpFAdd %float %640 %642
795        %644 = OpFDiv %float %638 %643
796        %645 = OpFMul %float %float_3 %633
797        %646 = OpFMul %float %float_2 %633
798        %647 = OpFMul %float %float_8 %644
799        %648 = OpFSub %float %646 %647
800        %649 = OpFAdd %float %648 %float_4
801        %650 = OpFDiv %float %645 %649
802        %651 = OpFMul %float %float_2 %644
803        %652 = OpFDiv %float %651 %649
804        %653 = OpCompositeConstruct %v2float %650 %652
805        %654 = OpFOrdLessThan %bool %601 %float_4000
806        %655 = OpCompositeConstruct %v2bool %654 %654
807        %656 = OpSelect %v2float %655 %653 %622
808        %657 = OpAccessChain %_ptr_Uniform_float %_Globals %int_18
809        %658 = OpLoad %float %657
810        %659 = OpCompositeConstruct %v2float %633 %644
811        %660 = OpExtInst %v2float %1 Normalize %659
812        %661 = OpCompositeExtract %float %660 1
813        %662 = OpFNegate %float %661
814        %663 = OpFMul %float %662 %658
815        %664 = OpFMul %float %663 %float_0_0500000007
816        %665 = OpFAdd %float %633 %664
817        %666 = OpCompositeExtract %float %660 0
818        %667 = OpFMul %float %666 %658
819        %668 = OpFMul %float %667 %float_0_0500000007
820        %669 = OpFAdd %float %644 %668
821        %670 = OpFMul %float %float_3 %665
822        %671 = OpFMul %float %float_2 %665
823        %672 = OpFMul %float %float_8 %669
824        %673 = OpFSub %float %671 %672
825        %674 = OpFAdd %float %673 %float_4
826        %675 = OpFDiv %float %670 %674
827        %676 = OpFMul %float %float_2 %669
828        %677 = OpFDiv %float %676 %674
829        %678 = OpCompositeConstruct %v2float %675 %677
830        %679 = OpFSub %v2float %678 %653
831        %680 = OpFAdd %v2float %656 %679
832        %681 = OpCompositeExtract %float %680 0
833        %682 = OpCompositeExtract %float %680 1
834        %683 = OpExtInst %float %1 FMax %682 %float_1_00000001en10
835        %684 = OpFDiv %float %681 %683
836        %685 = OpCompositeInsert %v3float %684 %391 0
837        %686 = OpCompositeInsert %v3float %float_1 %685 1
838        %687 = OpFSub %float %float_1 %681
839        %688 = OpFSub %float %687 %682
840        %689 = OpFDiv %float %688 %683
841        %690 = OpCompositeInsert %v3float %689 %686 2
842        %691 = OpExtInst %float %1 FMax %float_0_328999996 %float_1_00000001en10
843        %692 = OpFDiv %float %float_0_312700003 %691
844        %693 = OpCompositeInsert %v3float %692 %391 0
845        %694 = OpCompositeInsert %v3float %float_1 %693 1
846        %695 = OpFDiv %float %float_0_358299971 %691
847        %696 = OpCompositeInsert %v3float %695 %694 2
848        %697 = OpVectorTimesMatrix %v3float %690 %452
849        %698 = OpVectorTimesMatrix %v3float %696 %452
850        %699 = OpCompositeExtract %float %698 0
851        %700 = OpCompositeExtract %float %697 0
852        %701 = OpFDiv %float %699 %700
853        %702 = OpCompositeConstruct %v3float %701 %float_0 %float_0
854        %703 = OpCompositeExtract %float %698 1
855        %704 = OpCompositeExtract %float %697 1
856        %705 = OpFDiv %float %703 %704
857        %706 = OpCompositeConstruct %v3float %float_0 %705 %float_0
858        %707 = OpCompositeExtract %float %698 2
859        %708 = OpCompositeExtract %float %697 2
860        %709 = OpFDiv %float %707 %708
861        %710 = OpCompositeConstruct %v3float %float_0 %float_0 %709
862        %711 = OpCompositeConstruct %mat3v3float %702 %706 %710
863        %712 = OpMatrixTimesMatrix %mat3v3float %452 %711
864        %713 = OpMatrixTimesMatrix %mat3v3float %712 %456
865        %714 = OpMatrixTimesMatrix %mat3v3float %422 %713
866        %715 = OpMatrixTimesMatrix %mat3v3float %714 %418
867        %716 = OpVectorTimesMatrix %v3float %599 %715
868        %717 = OpVectorTimesMatrix %v3float %716 %547
869        %718 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_9
870        %719 = OpAccessChain %_ptr_Uniform_float %_Globals %int_9 %int_3
871        %720 = OpLoad %float %719
872        %721 = OpFOrdNotEqual %bool %720 %float_0
873               OpSelectionMerge %722 None
874               OpBranchConditional %721 %723 %722
875        %723 = OpLabel
876        %724 = OpDot %float %717 %67
877        %725 = OpCompositeConstruct %v3float %724 %724 %724
878        %726 = OpFDiv %v3float %717 %725
879        %727 = OpFSub %v3float %726 %135
880        %728 = OpDot %float %727 %727
881        %729 = OpFMul %float %float_n4 %728
882        %730 = OpExtInst %float %1 Exp2 %729
883        %731 = OpFSub %float %float_1 %730
884        %732 = OpAccessChain %_ptr_Uniform_float %_Globals %int_44
885        %733 = OpLoad %float %732
886        %734 = OpFMul %float %float_n4 %733
887        %735 = OpFMul %float %734 %724
888        %736 = OpFMul %float %735 %724
889        %737 = OpExtInst %float %1 Exp2 %736
890        %738 = OpFSub %float %float_1 %737
891        %739 = OpFMul %float %731 %738
892        %740 = OpMatrixTimesMatrix %mat3v3float %461 %406
893        %741 = OpMatrixTimesMatrix %mat3v3float %549 %740
894        %742 = OpVectorTimesMatrix %v3float %717 %741
895        %743 = OpCompositeConstruct %v3float %739 %739 %739
896        %744 = OpExtInst %v3float %1 FMix %717 %742 %743
897               OpBranch %722
898        %722 = OpLabel
899        %745 = OpPhi %v3float %717 %581 %744 %723
900        %746 = OpDot %float %745 %67
901        %747 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_24
902        %748 = OpLoad %v4float %747
903        %749 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_19
904        %750 = OpLoad %v4float %749
905        %751 = OpFMul %v4float %748 %750
906        %752 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_25
907        %753 = OpLoad %v4float %752
908        %754 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_20
909        %755 = OpLoad %v4float %754
910        %756 = OpFMul %v4float %753 %755
911        %757 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_26
912        %758 = OpLoad %v4float %757
913        %759 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_21
914        %760 = OpLoad %v4float %759
915        %761 = OpFMul %v4float %758 %760
916        %762 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_27
917        %763 = OpLoad %v4float %762
918        %764 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_22
919        %765 = OpLoad %v4float %764
920        %766 = OpFMul %v4float %763 %765
921        %767 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_28
922        %768 = OpLoad %v4float %767
923        %769 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_23
924        %770 = OpLoad %v4float %769
925        %771 = OpFAdd %v4float %768 %770
926        %772 = OpCompositeConstruct %v3float %746 %746 %746
927        %773 = OpVectorShuffle %v3float %751 %751 0 1 2
928        %774 = OpCompositeExtract %float %751 3
929        %775 = OpCompositeConstruct %v3float %774 %774 %774
930        %776 = OpFMul %v3float %773 %775
931        %777 = OpExtInst %v3float %1 FMix %772 %745 %776
932        %778 = OpExtInst %v3float %1 FMax %132 %777
933        %779 = OpFMul %v3float %778 %307
934        %780 = OpVectorShuffle %v3float %756 %756 0 1 2
935        %781 = OpCompositeExtract %float %756 3
936        %782 = OpCompositeConstruct %v3float %781 %781 %781
937        %783 = OpFMul %v3float %780 %782
938        %784 = OpExtInst %v3float %1 Pow %779 %783
939        %785 = OpFMul %v3float %784 %194
940        %786 = OpVectorShuffle %v3float %761 %761 0 1 2
941        %787 = OpCompositeExtract %float %761 3
942        %788 = OpCompositeConstruct %v3float %787 %787 %787
943        %789 = OpFMul %v3float %786 %788
944        %790 = OpFDiv %v3float %135 %789
945        %791 = OpExtInst %v3float %1 Pow %785 %790
946        %792 = OpVectorShuffle %v3float %766 %766 0 1 2
947        %793 = OpCompositeExtract %float %766 3
948        %794 = OpCompositeConstruct %v3float %793 %793 %793
949        %795 = OpFMul %v3float %792 %794
950        %796 = OpFMul %v3float %791 %795
951        %797 = OpVectorShuffle %v3float %771 %771 0 1 2
952        %798 = OpCompositeExtract %float %771 3
953        %799 = OpCompositeConstruct %v3float %798 %798 %798
954        %800 = OpFAdd %v3float %797 %799
955        %801 = OpFAdd %v3float %796 %800
956        %802 = OpAccessChain %_ptr_Uniform_float %_Globals %int_39
957        %803 = OpLoad %float %802
958        %804 = OpExtInst %float %1 SmoothStep %float_0 %803 %746
959        %805 = OpFSub %float %float_1 %804
960        %806 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_34
961        %807 = OpLoad %v4float %806
962        %808 = OpFMul %v4float %807 %750
963        %809 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_35
964        %810 = OpLoad %v4float %809
965        %811 = OpFMul %v4float %810 %755
966        %812 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_36
967        %813 = OpLoad %v4float %812
968        %814 = OpFMul %v4float %813 %760
969        %815 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_37
970        %816 = OpLoad %v4float %815
971        %817 = OpFMul %v4float %816 %765
972        %818 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_38
973        %819 = OpLoad %v4float %818
974        %820 = OpFAdd %v4float %819 %770
975        %821 = OpVectorShuffle %v3float %808 %808 0 1 2
976        %822 = OpCompositeExtract %float %808 3
977        %823 = OpCompositeConstruct %v3float %822 %822 %822
978        %824 = OpFMul %v3float %821 %823
979        %825 = OpExtInst %v3float %1 FMix %772 %745 %824
980        %826 = OpExtInst %v3float %1 FMax %132 %825
981        %827 = OpFMul %v3float %826 %307
982        %828 = OpVectorShuffle %v3float %811 %811 0 1 2
983        %829 = OpCompositeExtract %float %811 3
984        %830 = OpCompositeConstruct %v3float %829 %829 %829
985        %831 = OpFMul %v3float %828 %830
986        %832 = OpExtInst %v3float %1 Pow %827 %831
987        %833 = OpFMul %v3float %832 %194
988        %834 = OpVectorShuffle %v3float %814 %814 0 1 2
989        %835 = OpCompositeExtract %float %814 3
990        %836 = OpCompositeConstruct %v3float %835 %835 %835
991        %837 = OpFMul %v3float %834 %836
992        %838 = OpFDiv %v3float %135 %837
993        %839 = OpExtInst %v3float %1 Pow %833 %838
994        %840 = OpVectorShuffle %v3float %817 %817 0 1 2
995        %841 = OpCompositeExtract %float %817 3
996        %842 = OpCompositeConstruct %v3float %841 %841 %841
997        %843 = OpFMul %v3float %840 %842
998        %844 = OpFMul %v3float %839 %843
999        %845 = OpVectorShuffle %v3float %820 %820 0 1 2
1000        %846 = OpCompositeExtract %float %820 3
1001        %847 = OpCompositeConstruct %v3float %846 %846 %846
1002        %848 = OpFAdd %v3float %845 %847
1003        %849 = OpFAdd %v3float %844 %848
1004        %850 = OpAccessChain %_ptr_Uniform_float %_Globals %int_40
1005        %851 = OpLoad %float %850
1006        %852 = OpExtInst %float %1 SmoothStep %851 %float_1 %746
1007        %853 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_29
1008        %854 = OpLoad %v4float %853
1009        %855 = OpFMul %v4float %854 %750
1010        %856 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_30
1011        %857 = OpLoad %v4float %856
1012        %858 = OpFMul %v4float %857 %755
1013        %859 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_31
1014        %860 = OpLoad %v4float %859
1015        %861 = OpFMul %v4float %860 %760
1016        %862 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_32
1017        %863 = OpLoad %v4float %862
1018        %864 = OpFMul %v4float %863 %765
1019        %865 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_33
1020        %866 = OpLoad %v4float %865
1021        %867 = OpFAdd %v4float %866 %770
1022        %868 = OpVectorShuffle %v3float %855 %855 0 1 2
1023        %869 = OpCompositeExtract %float %855 3
1024        %870 = OpCompositeConstruct %v3float %869 %869 %869
1025        %871 = OpFMul %v3float %868 %870
1026        %872 = OpExtInst %v3float %1 FMix %772 %745 %871
1027        %873 = OpExtInst %v3float %1 FMax %132 %872
1028        %874 = OpFMul %v3float %873 %307
1029        %875 = OpVectorShuffle %v3float %858 %858 0 1 2
1030        %876 = OpCompositeExtract %float %858 3
1031        %877 = OpCompositeConstruct %v3float %876 %876 %876
1032        %878 = OpFMul %v3float %875 %877
1033        %879 = OpExtInst %v3float %1 Pow %874 %878
1034        %880 = OpFMul %v3float %879 %194
1035        %881 = OpVectorShuffle %v3float %861 %861 0 1 2
1036        %882 = OpCompositeExtract %float %861 3
1037        %883 = OpCompositeConstruct %v3float %882 %882 %882
1038        %884 = OpFMul %v3float %881 %883
1039        %885 = OpFDiv %v3float %135 %884
1040        %886 = OpExtInst %v3float %1 Pow %880 %885
1041        %887 = OpVectorShuffle %v3float %864 %864 0 1 2
1042        %888 = OpCompositeExtract %float %864 3
1043        %889 = OpCompositeConstruct %v3float %888 %888 %888
1044        %890 = OpFMul %v3float %887 %889
1045        %891 = OpFMul %v3float %886 %890
1046        %892 = OpVectorShuffle %v3float %867 %867 0 1 2
1047        %893 = OpCompositeExtract %float %867 3
1048        %894 = OpCompositeConstruct %v3float %893 %893 %893
1049        %895 = OpFAdd %v3float %892 %894
1050        %896 = OpFAdd %v3float %891 %895
1051        %897 = OpFSub %float %804 %852
1052        %898 = OpCompositeConstruct %v3float %805 %805 %805
1053        %899 = OpFMul %v3float %801 %898
1054        %900 = OpCompositeConstruct %v3float %897 %897 %897
1055        %901 = OpFMul %v3float %896 %900
1056        %902 = OpFAdd %v3float %899 %901
1057        %903 = OpCompositeConstruct %v3float %852 %852 %852
1058        %904 = OpFMul %v3float %849 %903
1059        %905 = OpFAdd %v3float %902 %904
1060        %906 = OpVectorTimesMatrix %v3float %905 %549
1061        %907 = OpMatrixTimesMatrix %mat3v3float %551 %465
1062        %908 = OpMatrixTimesMatrix %mat3v3float %907 %550
1063        %909 = OpMatrixTimesMatrix %mat3v3float %551 %469
1064        %910 = OpMatrixTimesMatrix %mat3v3float %909 %550
1065        %911 = OpVectorTimesMatrix %v3float %905 %908
1066        %912 = OpAccessChain %_ptr_Uniform_float %_Globals %int_43
1067        %913 = OpLoad %float %912
1068        %914 = OpCompositeConstruct %v3float %913 %913 %913
1069        %915 = OpExtInst %v3float %1 FMix %905 %911 %914
1070        %916 = OpVectorTimesMatrix %v3float %915 %551
1071        %917 = OpCompositeExtract %float %916 0
1072        %918 = OpCompositeExtract %float %916 1
1073        %919 = OpExtInst %float %1 FMin %917 %918
1074        %920 = OpCompositeExtract %float %916 2
1075        %921 = OpExtInst %float %1 FMin %919 %920
1076        %922 = OpExtInst %float %1 FMax %917 %918
1077        %923 = OpExtInst %float %1 FMax %922 %920
1078        %924 = OpExtInst %float %1 FMax %923 %float_1_00000001en10
1079        %925 = OpExtInst %float %1 FMax %921 %float_1_00000001en10
1080        %926 = OpFSub %float %924 %925
1081        %927 = OpExtInst %float %1 FMax %923 %float_0_00999999978
1082        %928 = OpFDiv %float %926 %927
1083        %929 = OpFSub %float %920 %918
1084        %930 = OpFMul %float %920 %929
1085        %931 = OpFSub %float %918 %917
1086        %932 = OpFMul %float %918 %931
1087        %933 = OpFAdd %float %930 %932
1088        %934 = OpFSub %float %917 %920
1089        %935 = OpFMul %float %917 %934
1090        %936 = OpFAdd %float %933 %935
1091        %937 = OpExtInst %float %1 Sqrt %936
1092        %938 = OpFAdd %float %920 %918
1093        %939 = OpFAdd %float %938 %917
1094        %940 = OpFMul %float %float_1_75 %937
1095        %941 = OpFAdd %float %939 %940
1096        %942 = OpFMul %float %941 %float_0_333333343
1097        %943 = OpFSub %float %928 %float_0_400000006
1098        %944 = OpFMul %float %943 %float_5
1099        %945 = OpFMul %float %943 %float_2_5
1100        %946 = OpExtInst %float %1 FAbs %945
1101        %947 = OpFSub %float %float_1 %946
1102        %948 = OpExtInst %float %1 FMax %947 %float_0
1103        %949 = OpExtInst %float %1 FSign %944
1104        %950 = OpConvertFToS %int %949
1105        %951 = OpConvertSToF %float %950
1106        %952 = OpFMul %float %948 %948
1107        %953 = OpFSub %float %float_1 %952
1108        %954 = OpFMul %float %951 %953
1109        %955 = OpFAdd %float %float_1 %954
1110        %956 = OpFMul %float %955 %float_0_0250000004
1111        %957 = OpFOrdLessThanEqual %bool %942 %float_0_0533333346
1112               OpSelectionMerge %958 None
1113               OpBranchConditional %957 %959 %960
1114        %960 = OpLabel
1115        %961 = OpFOrdGreaterThanEqual %bool %942 %float_0_159999996
1116               OpSelectionMerge %962 None
1117               OpBranchConditional %961 %963 %964
1118        %964 = OpLabel
1119        %965 = OpFDiv %float %float_0_239999995 %941
1120        %966 = OpFSub %float %965 %float_0_5
1121        %967 = OpFMul %float %956 %966
1122               OpBranch %962
1123        %963 = OpLabel
1124               OpBranch %962
1125        %962 = OpLabel
1126        %968 = OpPhi %float %967 %964 %float_0 %963
1127               OpBranch %958
1128        %959 = OpLabel
1129               OpBranch %958
1130        %958 = OpLabel
1131        %969 = OpPhi %float %968 %962 %956 %959
1132        %970 = OpFAdd %float %float_1 %969
1133        %971 = OpCompositeConstruct %v3float %970 %970 %970
1134        %972 = OpFMul %v3float %916 %971
1135        %973 = OpCompositeExtract %float %972 0
1136        %974 = OpCompositeExtract %float %972 1
1137        %975 = OpFOrdEqual %bool %973 %974
1138        %976 = OpCompositeExtract %float %972 2
1139        %977 = OpFOrdEqual %bool %974 %976
1140        %978 = OpLogicalAnd %bool %975 %977
1141               OpSelectionMerge %979 None
1142               OpBranchConditional %978 %980 %981
1143        %981 = OpLabel
1144        %982 = OpExtInst %float %1 Sqrt %float_3
1145        %983 = OpFSub %float %974 %976
1146        %984 = OpFMul %float %982 %983
1147        %985 = OpFMul %float %float_2 %973
1148        %986 = OpFSub %float %985 %974
1149        %987 = OpFSub %float %986 %976
1150        %988 = OpExtInst %float %1 Atan2 %984 %987
1151        %989 = OpFMul %float %float_57_2957764 %988
1152               OpBranch %979
1153        %980 = OpLabel
1154               OpBranch %979
1155        %979 = OpLabel
1156        %990 = OpPhi %float %989 %981 %float_0 %980
1157        %991 = OpFOrdLessThan %bool %990 %float_0
1158               OpSelectionMerge %992 None
1159               OpBranchConditional %991 %993 %992
1160        %993 = OpLabel
1161        %994 = OpFAdd %float %990 %float_360
1162               OpBranch %992
1163        %992 = OpLabel
1164        %995 = OpPhi %float %990 %979 %994 %993
1165        %996 = OpExtInst %float %1 FClamp %995 %float_0 %float_360
1166        %997 = OpFOrdGreaterThan %bool %996 %float_180
1167               OpSelectionMerge %998 None
1168               OpBranchConditional %997 %999 %998
1169        %999 = OpLabel
1170       %1000 = OpFSub %float %996 %float_360
1171               OpBranch %998
1172        %998 = OpLabel
1173       %1001 = OpPhi %float %996 %992 %1000 %999
1174       %1002 = OpFMul %float %1001 %float_0_0148148146
1175       %1003 = OpExtInst %float %1 FAbs %1002
1176       %1004 = OpFSub %float %float_1 %1003
1177       %1005 = OpExtInst %float %1 SmoothStep %float_0 %float_1 %1004
1178       %1006 = OpFMul %float %1005 %1005
1179       %1007 = OpFMul %float %1006 %928
1180       %1008 = OpFSub %float %float_0_0299999993 %973
1181       %1009 = OpFMul %float %1007 %1008
1182       %1010 = OpFMul %float %1009 %float_0_180000007
1183       %1011 = OpFAdd %float %973 %1010
1184       %1012 = OpCompositeInsert %v3float %1011 %972 0
1185       %1013 = OpVectorTimesMatrix %v3float %1012 %410
1186       %1014 = OpExtInst %v3float %1 FMax %132 %1013
1187       %1015 = OpDot %float %1014 %67
1188       %1016 = OpCompositeConstruct %v3float %1015 %1015 %1015
1189       %1017 = OpExtInst %v3float %1 FMix %1016 %1014 %228
1190       %1018 = OpAccessChain %_ptr_Uniform_float %_Globals %int_13
1191       %1019 = OpLoad %float %1018
1192       %1020 = OpFAdd %float %float_1 %1019
1193       %1021 = OpAccessChain %_ptr_Uniform_float %_Globals %int_11
1194       %1022 = OpLoad %float %1021
1195       %1023 = OpFSub %float %1020 %1022
1196       %1024 = OpAccessChain %_ptr_Uniform_float %_Globals %int_14
1197       %1025 = OpLoad %float %1024
1198       %1026 = OpFAdd %float %float_1 %1025
1199       %1027 = OpAccessChain %_ptr_Uniform_float %_Globals %int_12
1200       %1028 = OpLoad %float %1027
1201       %1029 = OpFSub %float %1026 %1028
1202       %1030 = OpFOrdGreaterThan %bool %1022 %float_0_800000012
1203               OpSelectionMerge %1031 None
1204               OpBranchConditional %1030 %1032 %1033
1205       %1033 = OpLabel
1206       %1034 = OpFAdd %float %float_0_180000007 %1019
1207       %1035 = OpFDiv %float %1034 %1023
1208       %1036 = OpExtInst %float %1 Log %float_0_180000007
1209       %1037 = OpExtInst %float %1 Log %float_10
1210       %1038 = OpFDiv %float %1036 %1037
1211       %1039 = OpFSub %float %float_2 %1035
1212       %1040 = OpFDiv %float %1035 %1039
1213       %1041 = OpExtInst %float %1 Log %1040
1214       %1042 = OpFMul %float %float_0_5 %1041
1215       %1043 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
1216       %1044 = OpLoad %float %1043
1217       %1045 = OpFDiv %float %1023 %1044
1218       %1046 = OpFMul %float %1042 %1045
1219       %1047 = OpFSub %float %1038 %1046
1220               OpBranch %1031
1221       %1032 = OpLabel
1222       %1048 = OpFSub %float %float_0_819999993 %1022
1223       %1049 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
1224       %1050 = OpLoad %float %1049
1225       %1051 = OpFDiv %float %1048 %1050
1226       %1052 = OpExtInst %float %1 Log %float_0_180000007
1227       %1053 = OpExtInst %float %1 Log %float_10
1228       %1054 = OpFDiv %float %1052 %1053
1229       %1055 = OpFAdd %float %1051 %1054
1230               OpBranch %1031
1231       %1031 = OpLabel
1232       %1056 = OpPhi %float %1047 %1033 %1055 %1032
1233       %1057 = OpFSub %float %float_1 %1022
1234       %1058 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
1235       %1059 = OpLoad %float %1058
1236       %1060 = OpFDiv %float %1057 %1059
1237       %1061 = OpFSub %float %1060 %1056
1238       %1062 = OpFDiv %float %1028 %1059
1239       %1063 = OpFSub %float %1062 %1061
1240       %1064 = OpExtInst %v3float %1 Log %1017
1241       %1065 = OpExtInst %float %1 Log %float_10
1242       %1066 = OpCompositeConstruct %v3float %1065 %1065 %1065
1243       %1067 = OpFDiv %v3float %1064 %1066
1244       %1068 = OpCompositeConstruct %v3float %1059 %1059 %1059
1245       %1069 = OpCompositeConstruct %v3float %1061 %1061 %1061
1246       %1070 = OpFAdd %v3float %1067 %1069
1247       %1071 = OpFMul %v3float %1068 %1070
1248       %1072 = OpFNegate %float %1019
1249       %1073 = OpCompositeConstruct %v3float %1072 %1072 %1072
1250       %1074 = OpFMul %float %float_2 %1023
1251       %1075 = OpCompositeConstruct %v3float %1074 %1074 %1074
1252       %1076 = OpFMul %float %float_n2 %1059
1253       %1077 = OpFDiv %float %1076 %1023
1254       %1078 = OpCompositeConstruct %v3float %1077 %1077 %1077
1255       %1079 = OpCompositeConstruct %v3float %1056 %1056 %1056
1256       %1080 = OpFSub %v3float %1067 %1079
1257       %1081 = OpFMul %v3float %1078 %1080
1258       %1082 = OpExtInst %v3float %1 Exp %1081
1259       %1083 = OpFAdd %v3float %135 %1082
1260       %1084 = OpFDiv %v3float %1075 %1083
1261       %1085 = OpFAdd %v3float %1073 %1084
1262       %1086 = OpCompositeConstruct %v3float %1026 %1026 %1026
1263       %1087 = OpFMul %float %float_2 %1029
1264       %1088 = OpCompositeConstruct %v3float %1087 %1087 %1087
1265       %1089 = OpFMul %float %float_2 %1059
1266       %1090 = OpFDiv %float %1089 %1029
1267       %1091 = OpCompositeConstruct %v3float %1090 %1090 %1090
1268       %1092 = OpCompositeConstruct %v3float %1063 %1063 %1063
1269       %1093 = OpFSub %v3float %1067 %1092
1270       %1094 = OpFMul %v3float %1091 %1093
1271       %1095 = OpExtInst %v3float %1 Exp %1094
1272       %1096 = OpFAdd %v3float %135 %1095
1273       %1097 = OpFDiv %v3float %1088 %1096
1274       %1098 = OpFSub %v3float %1086 %1097
1275       %1099 = OpFOrdLessThan %v3bool %1067 %1079
1276       %1100 = OpSelect %v3float %1099 %1085 %1071
1277       %1101 = OpFOrdGreaterThan %v3bool %1067 %1092
1278       %1102 = OpSelect %v3float %1101 %1098 %1071
1279       %1103 = OpFSub %float %1063 %1056
1280       %1104 = OpCompositeConstruct %v3float %1103 %1103 %1103
1281       %1105 = OpFDiv %v3float %1080 %1104
1282       %1106 = OpExtInst %v3float %1 FClamp %1105 %132 %135
1283       %1107 = OpFOrdLessThan %bool %1063 %1056
1284       %1108 = OpFSub %v3float %135 %1106
1285       %1109 = OpCompositeConstruct %v3bool %1107 %1107 %1107
1286       %1110 = OpSelect %v3float %1109 %1108 %1106
1287       %1111 = OpFMul %v3float %239 %1110
1288       %1112 = OpFSub %v3float %238 %1111
1289       %1113 = OpFMul %v3float %1112 %1110
1290       %1114 = OpFMul %v3float %1113 %1110
1291       %1115 = OpExtInst %v3float %1 FMix %1100 %1102 %1114
1292       %1116 = OpDot %float %1115 %67
1293       %1117 = OpCompositeConstruct %v3float %1116 %1116 %1116
1294       %1118 = OpExtInst %v3float %1 FMix %1117 %1115 %241
1295       %1119 = OpExtInst %v3float %1 FMax %132 %1118
1296       %1120 = OpVectorTimesMatrix %v3float %1119 %910
1297       %1121 = OpExtInst %v3float %1 FMix %1119 %1120 %914
1298       %1122 = OpVectorTimesMatrix %v3float %1121 %549
1299       %1123 = OpExtInst %v3float %1 FMax %132 %1122
1300       %1124 = OpFOrdEqual %bool %720 %float_0
1301               OpSelectionMerge %1125 DontFlatten
1302               OpBranchConditional %1124 %1126 %1125
1303       %1126 = OpLabel
1304       %1127 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_2
1305       %1128 = OpLoad %v4float %1127
1306       %1129 = OpVectorShuffle %v3float %1128 %1128 0 1 2
1307       %1130 = OpDot %float %906 %1129
1308       %1131 = OpCompositeInsert %v3float %1130 %391 0
1309       %1132 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3
1310       %1133 = OpLoad %v4float %1132
1311       %1134 = OpVectorShuffle %v3float %1133 %1133 0 1 2
1312       %1135 = OpDot %float %906 %1134
1313       %1136 = OpCompositeInsert %v3float %1135 %1131 1
1314       %1137 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_4
1315       %1138 = OpLoad %v4float %1137
1316       %1139 = OpVectorShuffle %v3float %1138 %1138 0 1 2
1317       %1140 = OpDot %float %906 %1139
1318       %1141 = OpCompositeInsert %v3float %1140 %1136 2
1319       %1142 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_8
1320       %1143 = OpLoad %v4float %1142
1321       %1144 = OpVectorShuffle %v3float %1143 %1143 0 1 2
1322       %1145 = OpLoad %v4float %718
1323       %1146 = OpVectorShuffle %v3float %1145 %1145 0 1 2
1324       %1147 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_7
1325       %1148 = OpLoad %v4float %1147
1326       %1149 = OpVectorShuffle %v3float %1148 %1148 0 1 2
1327       %1150 = OpDot %float %906 %1149
1328       %1151 = OpFAdd %float %1150 %float_1
1329       %1152 = OpFDiv %float %float_1 %1151
1330       %1153 = OpCompositeConstruct %v3float %1152 %1152 %1152
1331       %1154 = OpFMul %v3float %1146 %1153
1332       %1155 = OpFAdd %v3float %1144 %1154
1333       %1156 = OpFMul %v3float %1141 %1155
1334       %1157 = OpExtInst %v3float %1 FMax %132 %1156
1335       %1158 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_5
1336       %1159 = OpLoad %v4float %1158
1337       %1160 = OpVectorShuffle %v3float %1159 %1159 0 0 0
1338       %1161 = OpFSub %v3float %1160 %1157
1339       %1162 = OpExtInst %v3float %1 FMax %132 %1161
1340       %1163 = OpVectorShuffle %v3float %1159 %1159 2 2 2
1341       %1164 = OpExtInst %v3float %1 FMax %1157 %1163
1342       %1165 = OpExtInst %v3float %1 FClamp %1157 %1160 %1163
1343       %1166 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_6
1344       %1167 = OpLoad %v4float %1166
1345       %1168 = OpVectorShuffle %v3float %1167 %1167 0 0 0
1346       %1169 = OpFMul %v3float %1164 %1168
1347       %1170 = OpVectorShuffle %v3float %1167 %1167 1 1 1
1348       %1171 = OpFAdd %v3float %1169 %1170
1349       %1172 = OpVectorShuffle %v3float %1159 %1159 3 3 3
1350       %1173 = OpFAdd %v3float %1164 %1172
1351       %1174 = OpFDiv %v3float %135 %1173
1352       %1175 = OpFMul %v3float %1171 %1174
1353       %1176 = OpVectorShuffle %v3float %1138 %1138 3 3 3
1354       %1177 = OpFMul %v3float %1165 %1176
1355       %1178 = OpVectorShuffle %v3float %1128 %1128 3 3 3
1356       %1179 = OpFMul %v3float %1162 %1178
1357       %1180 = OpVectorShuffle %v3float %1159 %1159 1 1 1
1358       %1181 = OpFAdd %v3float %1162 %1180
1359       %1182 = OpFDiv %v3float %135 %1181
1360       %1183 = OpFMul %v3float %1179 %1182
1361       %1184 = OpVectorShuffle %v3float %1133 %1133 3 3 3
1362       %1185 = OpFAdd %v3float %1183 %1184
1363       %1186 = OpFAdd %v3float %1177 %1185
1364       %1187 = OpFAdd %v3float %1175 %1186
1365       %1188 = OpFSub %v3float %1187 %248
1366               OpBranch %1125
1367       %1125 = OpLabel
1368       %1189 = OpPhi %v3float %1123 %1031 %1188 %1126
1369       %1190 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_0
1370       %1191 = OpLoad %float %1190
1371       %1192 = OpCompositeConstruct %v3float %1191 %1191 %1191
1372       %1193 = OpFMul %v3float %1189 %1189
1373       %1194 = OpFMul %v3float %1192 %1193
1374       %1195 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_1
1375       %1196 = OpLoad %float %1195
1376       %1197 = OpCompositeConstruct %v3float %1196 %1196 %1196
1377       %1198 = OpFMul %v3float %1197 %1189
1378       %1199 = OpFAdd %v3float %1194 %1198
1379       %1200 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_2
1380       %1201 = OpLoad %float %1200
1381       %1202 = OpCompositeConstruct %v3float %1201 %1201 %1201
1382       %1203 = OpFAdd %v3float %1199 %1202
1383       %1204 = OpAccessChain %_ptr_Uniform_v3float %_Globals %int_15
1384       %1205 = OpLoad %v3float %1204
1385       %1206 = OpFMul %v3float %1203 %1205
1386       %1207 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_16
1387       %1208 = OpLoad %v4float %1207
1388       %1209 = OpVectorShuffle %v3float %1208 %1208 0 1 2
1389       %1210 = OpAccessChain %_ptr_Uniform_float %_Globals %int_16 %int_3
1390       %1211 = OpLoad %float %1210
1391       %1212 = OpCompositeConstruct %v3float %1211 %1211 %1211
1392       %1213 = OpExtInst %v3float %1 FMix %1206 %1209 %1212
1393       %1214 = OpExtInst %v3float %1 FMax %132 %1213
1394       %1215 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_1
1395       %1216 = OpLoad %float %1215
1396       %1217 = OpCompositeConstruct %v3float %1216 %1216 %1216
1397       %1218 = OpExtInst %v3float %1 Pow %1214 %1217
1398       %1219 = OpIEqual %bool %579 %uint_0
1399               OpSelectionMerge %1220 DontFlatten
1400               OpBranchConditional %1219 %1221 %1222
1401       %1222 = OpLabel
1402       %1223 = OpIEqual %bool %579 %uint_1
1403               OpSelectionMerge %1224 None
1404               OpBranchConditional %1223 %1225 %1226
1405       %1226 = OpLabel
1406       %1227 = OpIEqual %bool %579 %uint_3
1407       %1228 = OpIEqual %bool %579 %uint_5
1408       %1229 = OpLogicalOr %bool %1227 %1228
1409               OpSelectionMerge %1230 None
1410               OpBranchConditional %1229 %1231 %1232
1411       %1232 = OpLabel
1412       %1233 = OpIEqual %bool %579 %uint_4
1413       %1234 = OpIEqual %bool %579 %uint_6
1414       %1235 = OpLogicalOr %bool %1233 %1234
1415               OpSelectionMerge %1236 None
1416               OpBranchConditional %1235 %1237 %1238
1417       %1238 = OpLabel
1418       %1239 = OpIEqual %bool %579 %uint_7
1419               OpSelectionMerge %1240 None
1420               OpBranchConditional %1239 %1241 %1242
1421       %1242 = OpLabel
1422       %1243 = OpVectorTimesMatrix %v3float %1218 %547
1423       %1244 = OpVectorTimesMatrix %v3float %1243 %576
1424       %1245 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_2
1425       %1246 = OpLoad %float %1245
1426       %1247 = OpCompositeConstruct %v3float %1246 %1246 %1246
1427       %1248 = OpExtInst %v3float %1 Pow %1244 %1247
1428               OpBranch %1240
1429       %1241 = OpLabel
1430       %1249 = OpVectorTimesMatrix %v3float %906 %547
1431       %1250 = OpVectorTimesMatrix %v3float %1249 %576
1432       %1251 = OpFMul %v3float %1250 %496
1433       %1252 = OpExtInst %v3float %1 Pow %1251 %263
1434       %1253 = OpFMul %v3float %184 %1252
1435       %1254 = OpFAdd %v3float %183 %1253
1436       %1255 = OpFMul %v3float %185 %1252
1437       %1256 = OpFAdd %v3float %135 %1255
1438       %1257 = OpFDiv %v3float %135 %1256
1439       %1258 = OpFMul %v3float %1254 %1257
1440       %1259 = OpExtInst %v3float %1 Pow %1258 %264
1441               OpBranch %1240
1442       %1240 = OpLabel
1443       %1260 = OpPhi %v3float %1248 %1242 %1259 %1241
1444               OpBranch %1236
1445       %1237 = OpLabel
1446       %1261 = OpMatrixTimesMatrix %mat3v3float %546 %399
1447       %1262 = OpFMul %v3float %906 %262
1448       %1263 = OpVectorTimesMatrix %v3float %1262 %1261
1449       %1264 = OpCompositeExtract %float %1263 0
1450       %1265 = OpCompositeExtract %float %1263 1
1451       %1266 = OpExtInst %float %1 FMin %1264 %1265
1452       %1267 = OpCompositeExtract %float %1263 2
1453       %1268 = OpExtInst %float %1 FMin %1266 %1267
1454       %1269 = OpExtInst %float %1 FMax %1264 %1265
1455       %1270 = OpExtInst %float %1 FMax %1269 %1267
1456       %1271 = OpExtInst %float %1 FMax %1270 %float_1_00000001en10
1457       %1272 = OpExtInst %float %1 FMax %1268 %float_1_00000001en10
1458       %1273 = OpFSub %float %1271 %1272
1459       %1274 = OpExtInst %float %1 FMax %1270 %float_0_00999999978
1460       %1275 = OpFDiv %float %1273 %1274
1461       %1276 = OpFSub %float %1267 %1265
1462       %1277 = OpFMul %float %1267 %1276
1463       %1278 = OpFSub %float %1265 %1264
1464       %1279 = OpFMul %float %1265 %1278
1465       %1280 = OpFAdd %float %1277 %1279
1466       %1281 = OpFSub %float %1264 %1267
1467       %1282 = OpFMul %float %1264 %1281
1468       %1283 = OpFAdd %float %1280 %1282
1469       %1284 = OpExtInst %float %1 Sqrt %1283
1470       %1285 = OpFAdd %float %1267 %1265
1471       %1286 = OpFAdd %float %1285 %1264
1472       %1287 = OpFMul %float %float_1_75 %1284
1473       %1288 = OpFAdd %float %1286 %1287
1474       %1289 = OpFMul %float %1288 %float_0_333333343
1475       %1290 = OpFSub %float %1275 %float_0_400000006
1476       %1291 = OpFMul %float %1290 %float_5
1477       %1292 = OpFMul %float %1290 %float_2_5
1478       %1293 = OpExtInst %float %1 FAbs %1292
1479       %1294 = OpFSub %float %float_1 %1293
1480       %1295 = OpExtInst %float %1 FMax %1294 %float_0
1481       %1296 = OpExtInst %float %1 FSign %1291
1482       %1297 = OpConvertFToS %int %1296
1483       %1298 = OpConvertSToF %float %1297
1484       %1299 = OpFMul %float %1295 %1295
1485       %1300 = OpFSub %float %float_1 %1299
1486       %1301 = OpFMul %float %1298 %1300
1487       %1302 = OpFAdd %float %float_1 %1301
1488       %1303 = OpFMul %float %1302 %float_0_0250000004
1489       %1304 = OpFOrdLessThanEqual %bool %1289 %float_0_0533333346
1490               OpSelectionMerge %1305 None
1491               OpBranchConditional %1304 %1306 %1307
1492       %1307 = OpLabel
1493       %1308 = OpFOrdGreaterThanEqual %bool %1289 %float_0_159999996
1494               OpSelectionMerge %1309 None
1495               OpBranchConditional %1308 %1310 %1311
1496       %1311 = OpLabel
1497       %1312 = OpFDiv %float %float_0_239999995 %1288
1498       %1313 = OpFSub %float %1312 %float_0_5
1499       %1314 = OpFMul %float %1303 %1313
1500               OpBranch %1309
1501       %1310 = OpLabel
1502               OpBranch %1309
1503       %1309 = OpLabel
1504       %1315 = OpPhi %float %1314 %1311 %float_0 %1310
1505               OpBranch %1305
1506       %1306 = OpLabel
1507               OpBranch %1305
1508       %1305 = OpLabel
1509       %1316 = OpPhi %float %1315 %1309 %1303 %1306
1510       %1317 = OpFAdd %float %float_1 %1316
1511       %1318 = OpCompositeConstruct %v3float %1317 %1317 %1317
1512       %1319 = OpFMul %v3float %1263 %1318
1513       %1320 = OpCompositeExtract %float %1319 0
1514       %1321 = OpCompositeExtract %float %1319 1
1515       %1322 = OpFOrdEqual %bool %1320 %1321
1516       %1323 = OpCompositeExtract %float %1319 2
1517       %1324 = OpFOrdEqual %bool %1321 %1323
1518       %1325 = OpLogicalAnd %bool %1322 %1324
1519               OpSelectionMerge %1326 None
1520               OpBranchConditional %1325 %1327 %1328
1521       %1328 = OpLabel
1522       %1329 = OpExtInst %float %1 Sqrt %float_3
1523       %1330 = OpFSub %float %1321 %1323
1524       %1331 = OpFMul %float %1329 %1330
1525       %1332 = OpFMul %float %float_2 %1320
1526       %1333 = OpFSub %float %1332 %1321
1527       %1334 = OpFSub %float %1333 %1323
1528       %1335 = OpExtInst %float %1 Atan2 %1331 %1334
1529       %1336 = OpFMul %float %float_57_2957764 %1335
1530               OpBranch %1326
1531       %1327 = OpLabel
1532               OpBranch %1326
1533       %1326 = OpLabel
1534       %1337 = OpPhi %float %1336 %1328 %float_0 %1327
1535       %1338 = OpFOrdLessThan %bool %1337 %float_0
1536               OpSelectionMerge %1339 None
1537               OpBranchConditional %1338 %1340 %1339
1538       %1340 = OpLabel
1539       %1341 = OpFAdd %float %1337 %float_360
1540               OpBranch %1339
1541       %1339 = OpLabel
1542       %1342 = OpPhi %float %1337 %1326 %1341 %1340
1543       %1343 = OpExtInst %float %1 FClamp %1342 %float_0 %float_360
1544       %1344 = OpFOrdGreaterThan %bool %1343 %float_180
1545               OpSelectionMerge %1345 None
1546               OpBranchConditional %1344 %1346 %1345
1547       %1346 = OpLabel
1548       %1347 = OpFSub %float %1343 %float_360
1549               OpBranch %1345
1550       %1345 = OpLabel
1551       %1348 = OpPhi %float %1343 %1339 %1347 %1346
1552       %1349 = OpFOrdGreaterThan %bool %1348 %float_n67_5
1553       %1350 = OpFOrdLessThan %bool %1348 %float_67_5
1554       %1351 = OpLogicalAnd %bool %1349 %1350
1555               OpSelectionMerge %1352 None
1556               OpBranchConditional %1351 %1353 %1352
1557       %1353 = OpLabel
1558       %1354 = OpFSub %float %1348 %float_n67_5
1559       %1355 = OpFMul %float %1354 %float_0_0296296291
1560       %1356 = OpConvertFToS %int %1355
1561       %1357 = OpConvertSToF %float %1356
1562       %1358 = OpFSub %float %1355 %1357
1563       %1359 = OpFMul %float %1358 %1358
1564       %1360 = OpFMul %float %1359 %1358
1565       %1361 = OpIEqual %bool %1356 %int_3
1566               OpSelectionMerge %1362 None
1567               OpBranchConditional %1361 %1363 %1364
1568       %1364 = OpLabel
1569       %1365 = OpIEqual %bool %1356 %int_2
1570               OpSelectionMerge %1366 None
1571               OpBranchConditional %1365 %1367 %1368
1572       %1368 = OpLabel
1573       %1369 = OpIEqual %bool %1356 %int_1
1574               OpSelectionMerge %1370 None
1575               OpBranchConditional %1369 %1371 %1372
1576       %1372 = OpLabel
1577       %1373 = OpIEqual %bool %1356 %int_0
1578               OpSelectionMerge %1374 None
1579               OpBranchConditional %1373 %1375 %1376
1580       %1376 = OpLabel
1581               OpBranch %1374
1582       %1375 = OpLabel
1583       %1377 = OpFMul %float %1360 %float_0_166666672
1584               OpBranch %1374
1585       %1374 = OpLabel
1586       %1378 = OpPhi %float %float_0 %1376 %1377 %1375
1587               OpBranch %1370
1588       %1371 = OpLabel
1589       %1379 = OpFMul %float %1360 %float_n0_5
1590       %1380 = OpFMul %float %1359 %float_0_5
1591       %1381 = OpFAdd %float %1379 %1380
1592       %1382 = OpFMul %float %1358 %float_0_5
1593       %1383 = OpFAdd %float %1381 %1382
1594       %1384 = OpFAdd %float %1383 %float_0_166666672
1595               OpBranch %1370
1596       %1370 = OpLabel
1597       %1385 = OpPhi %float %1378 %1374 %1384 %1371
1598               OpBranch %1366
1599       %1367 = OpLabel
1600       %1386 = OpFMul %float %1360 %float_0_5
1601       %1387 = OpFMul %float %1359 %float_n1
1602       %1388 = OpFAdd %float %1386 %1387
1603       %1389 = OpFAdd %float %1388 %float_0_666666687
1604               OpBranch %1366
1605       %1366 = OpLabel
1606       %1390 = OpPhi %float %1385 %1370 %1389 %1367
1607               OpBranch %1362
1608       %1363 = OpLabel
1609       %1391 = OpFMul %float %1360 %float_n0_166666672
1610       %1392 = OpFMul %float %1359 %float_0_5
1611       %1393 = OpFAdd %float %1391 %1392
1612       %1394 = OpFMul %float %1358 %float_n0_5
1613       %1395 = OpFAdd %float %1393 %1394
1614       %1396 = OpFAdd %float %1395 %float_0_166666672
1615               OpBranch %1362
1616       %1362 = OpLabel
1617       %1397 = OpPhi %float %1390 %1366 %1396 %1363
1618               OpBranch %1352
1619       %1352 = OpLabel
1620       %1398 = OpPhi %float %float_0 %1345 %1397 %1362
1621       %1399 = OpFMul %float %1398 %float_1_5
1622       %1400 = OpFMul %float %1399 %1275
1623       %1401 = OpFSub %float %float_0_0299999993 %1320
1624       %1402 = OpFMul %float %1400 %1401
1625       %1403 = OpFMul %float %1402 %float_0_180000007
1626       %1404 = OpFAdd %float %1320 %1403
1627       %1405 = OpCompositeInsert %v3float %1404 %1319 0
1628       %1406 = OpExtInst %v3float %1 FClamp %1405 %132 %314
1629       %1407 = OpVectorTimesMatrix %v3float %1406 %410
1630       %1408 = OpExtInst %v3float %1 FClamp %1407 %132 %314
1631       %1409 = OpDot %float %1408 %67
1632       %1410 = OpCompositeConstruct %v3float %1409 %1409 %1409
1633       %1411 = OpExtInst %v3float %1 FMix %1410 %1408 %228
1634       %1412 = OpCompositeExtract %float %1411 0
1635       %1413 = OpExtInst %float %1 Exp2 %float_n15
1636       %1414 = OpFMul %float %float_0_179999992 %1413
1637       %1415 = OpExtInst %float %1 Exp2 %float_18
1638       %1416 = OpFMul %float %float_0_179999992 %1415
1639               OpStore %502 %475
1640               OpStore %501 %476
1641       %1417 = OpFOrdLessThanEqual %bool %1412 %float_0
1642       %1418 = OpExtInst %float %1 Exp2 %float_n14
1643       %1419 = OpSelect %float %1417 %1418 %1412
1644       %1420 = OpExtInst %float %1 Log %1419
1645       %1421 = OpFDiv %float %1420 %1065
1646       %1422 = OpExtInst %float %1 Log %1414
1647       %1423 = OpFDiv %float %1422 %1065
1648       %1424 = OpFOrdLessThanEqual %bool %1421 %1423
1649               OpSelectionMerge %1425 None
1650               OpBranchConditional %1424 %1426 %1427
1651       %1427 = OpLabel
1652       %1428 = OpFOrdGreaterThan %bool %1421 %1423
1653       %1429 = OpExtInst %float %1 Log %float_0_180000007
1654       %1430 = OpFDiv %float %1429 %1065
1655       %1431 = OpFOrdLessThan %bool %1421 %1430
1656       %1432 = OpLogicalAnd %bool %1428 %1431
1657               OpSelectionMerge %1433 None
1658               OpBranchConditional %1432 %1434 %1435
1659       %1435 = OpLabel
1660       %1436 = OpFOrdGreaterThanEqual %bool %1421 %1430
1661       %1437 = OpExtInst %float %1 Log %1416
1662       %1438 = OpFDiv %float %1437 %1065
1663       %1439 = OpFOrdLessThan %bool %1421 %1438
1664       %1440 = OpLogicalAnd %bool %1436 %1439
1665               OpSelectionMerge %1441 None
1666               OpBranchConditional %1440 %1442 %1443
1667       %1443 = OpLabel
1668       %1444 = OpExtInst %float %1 Log %float_10000
1669       %1445 = OpFDiv %float %1444 %1065
1670               OpBranch %1441
1671       %1442 = OpLabel
1672       %1446 = OpFSub %float %1421 %1430
1673       %1447 = OpFMul %float %float_3 %1446
1674       %1448 = OpFSub %float %1438 %1430
1675       %1449 = OpFDiv %float %1447 %1448
1676       %1450 = OpConvertFToS %int %1449
1677       %1451 = OpConvertSToF %float %1450
1678       %1452 = OpFSub %float %1449 %1451
1679       %1453 = OpAccessChain %_ptr_Function_float %501 %1450
1680       %1454 = OpLoad %float %1453
1681       %1455 = OpIAdd %int %1450 %int_1
1682       %1456 = OpAccessChain %_ptr_Function_float %501 %1455
1683       %1457 = OpLoad %float %1456
1684       %1458 = OpIAdd %int %1450 %int_2
1685       %1459 = OpAccessChain %_ptr_Function_float %501 %1458
1686       %1460 = OpLoad %float %1459
1687       %1461 = OpCompositeConstruct %v3float %1454 %1457 %1460
1688       %1462 = OpFMul %float %1452 %1452
1689       %1463 = OpCompositeConstruct %v3float %1462 %1452 %float_1
1690       %1464 = OpMatrixTimesVector %v3float %442 %1461
1691       %1465 = OpDot %float %1463 %1464
1692               OpBranch %1441
1693       %1441 = OpLabel
1694       %1466 = OpPhi %float %1445 %1443 %1465 %1442
1695               OpBranch %1433
1696       %1434 = OpLabel
1697       %1467 = OpFSub %float %1421 %1423
1698       %1468 = OpFMul %float %float_3 %1467
1699       %1469 = OpFSub %float %1430 %1423
1700       %1470 = OpFDiv %float %1468 %1469
1701       %1471 = OpConvertFToS %int %1470
1702       %1472 = OpConvertSToF %float %1471
1703       %1473 = OpFSub %float %1470 %1472
1704       %1474 = OpAccessChain %_ptr_Function_float %502 %1471
1705       %1475 = OpLoad %float %1474
1706       %1476 = OpIAdd %int %1471 %int_1
1707       %1477 = OpAccessChain %_ptr_Function_float %502 %1476
1708       %1478 = OpLoad %float %1477
1709       %1479 = OpIAdd %int %1471 %int_2
1710       %1480 = OpAccessChain %_ptr_Function_float %502 %1479
1711       %1481 = OpLoad %float %1480
1712       %1482 = OpCompositeConstruct %v3float %1475 %1478 %1481
1713       %1483 = OpFMul %float %1473 %1473
1714       %1484 = OpCompositeConstruct %v3float %1483 %1473 %float_1
1715       %1485 = OpMatrixTimesVector %v3float %442 %1482
1716       %1486 = OpDot %float %1484 %1485
1717               OpBranch %1433
1718       %1433 = OpLabel
1719       %1487 = OpPhi %float %1466 %1441 %1486 %1434
1720               OpBranch %1425
1721       %1426 = OpLabel
1722       %1488 = OpExtInst %float %1 Log %float_9_99999975en05
1723       %1489 = OpFDiv %float %1488 %1065
1724               OpBranch %1425
1725       %1425 = OpLabel
1726       %1490 = OpPhi %float %1487 %1433 %1489 %1426
1727       %1491 = OpExtInst %float %1 Pow %float_10 %1490
1728       %1492 = OpCompositeInsert %v3float %1491 %391 0
1729       %1493 = OpCompositeExtract %float %1411 1
1730               OpStore %504 %475
1731               OpStore %503 %476
1732       %1494 = OpFOrdLessThanEqual %bool %1493 %float_0
1733       %1495 = OpSelect %float %1494 %1418 %1493
1734       %1496 = OpExtInst %float %1 Log %1495
1735       %1497 = OpFDiv %float %1496 %1065
1736       %1498 = OpFOrdLessThanEqual %bool %1497 %1423
1737               OpSelectionMerge %1499 None
1738               OpBranchConditional %1498 %1500 %1501
1739       %1501 = OpLabel
1740       %1502 = OpFOrdGreaterThan %bool %1497 %1423
1741       %1503 = OpExtInst %float %1 Log %float_0_180000007
1742       %1504 = OpFDiv %float %1503 %1065
1743       %1505 = OpFOrdLessThan %bool %1497 %1504
1744       %1506 = OpLogicalAnd %bool %1502 %1505
1745               OpSelectionMerge %1507 None
1746               OpBranchConditional %1506 %1508 %1509
1747       %1509 = OpLabel
1748       %1510 = OpFOrdGreaterThanEqual %bool %1497 %1504
1749       %1511 = OpExtInst %float %1 Log %1416
1750       %1512 = OpFDiv %float %1511 %1065
1751       %1513 = OpFOrdLessThan %bool %1497 %1512
1752       %1514 = OpLogicalAnd %bool %1510 %1513
1753               OpSelectionMerge %1515 None
1754               OpBranchConditional %1514 %1516 %1517
1755       %1517 = OpLabel
1756       %1518 = OpExtInst %float %1 Log %float_10000
1757       %1519 = OpFDiv %float %1518 %1065
1758               OpBranch %1515
1759       %1516 = OpLabel
1760       %1520 = OpFSub %float %1497 %1504
1761       %1521 = OpFMul %float %float_3 %1520
1762       %1522 = OpFSub %float %1512 %1504
1763       %1523 = OpFDiv %float %1521 %1522
1764       %1524 = OpConvertFToS %int %1523
1765       %1525 = OpConvertSToF %float %1524
1766       %1526 = OpFSub %float %1523 %1525
1767       %1527 = OpAccessChain %_ptr_Function_float %503 %1524
1768       %1528 = OpLoad %float %1527
1769       %1529 = OpIAdd %int %1524 %int_1
1770       %1530 = OpAccessChain %_ptr_Function_float %503 %1529
1771       %1531 = OpLoad %float %1530
1772       %1532 = OpIAdd %int %1524 %int_2
1773       %1533 = OpAccessChain %_ptr_Function_float %503 %1532
1774       %1534 = OpLoad %float %1533
1775       %1535 = OpCompositeConstruct %v3float %1528 %1531 %1534
1776       %1536 = OpFMul %float %1526 %1526
1777       %1537 = OpCompositeConstruct %v3float %1536 %1526 %float_1
1778       %1538 = OpMatrixTimesVector %v3float %442 %1535
1779       %1539 = OpDot %float %1537 %1538
1780               OpBranch %1515
1781       %1515 = OpLabel
1782       %1540 = OpPhi %float %1519 %1517 %1539 %1516
1783               OpBranch %1507
1784       %1508 = OpLabel
1785       %1541 = OpFSub %float %1497 %1423
1786       %1542 = OpFMul %float %float_3 %1541
1787       %1543 = OpFSub %float %1504 %1423
1788       %1544 = OpFDiv %float %1542 %1543
1789       %1545 = OpConvertFToS %int %1544
1790       %1546 = OpConvertSToF %float %1545
1791       %1547 = OpFSub %float %1544 %1546
1792       %1548 = OpAccessChain %_ptr_Function_float %504 %1545
1793       %1549 = OpLoad %float %1548
1794       %1550 = OpIAdd %int %1545 %int_1
1795       %1551 = OpAccessChain %_ptr_Function_float %504 %1550
1796       %1552 = OpLoad %float %1551
1797       %1553 = OpIAdd %int %1545 %int_2
1798       %1554 = OpAccessChain %_ptr_Function_float %504 %1553
1799       %1555 = OpLoad %float %1554
1800       %1556 = OpCompositeConstruct %v3float %1549 %1552 %1555
1801       %1557 = OpFMul %float %1547 %1547
1802       %1558 = OpCompositeConstruct %v3float %1557 %1547 %float_1
1803       %1559 = OpMatrixTimesVector %v3float %442 %1556
1804       %1560 = OpDot %float %1558 %1559
1805               OpBranch %1507
1806       %1507 = OpLabel
1807       %1561 = OpPhi %float %1540 %1515 %1560 %1508
1808               OpBranch %1499
1809       %1500 = OpLabel
1810       %1562 = OpExtInst %float %1 Log %float_9_99999975en05
1811       %1563 = OpFDiv %float %1562 %1065
1812               OpBranch %1499
1813       %1499 = OpLabel
1814       %1564 = OpPhi %float %1561 %1507 %1563 %1500
1815       %1565 = OpExtInst %float %1 Pow %float_10 %1564
1816       %1566 = OpCompositeInsert %v3float %1565 %1492 1
1817       %1567 = OpCompositeExtract %float %1411 2
1818               OpStore %506 %475
1819               OpStore %505 %476
1820       %1568 = OpFOrdLessThanEqual %bool %1567 %float_0
1821       %1569 = OpSelect %float %1568 %1418 %1567
1822       %1570 = OpExtInst %float %1 Log %1569
1823       %1571 = OpFDiv %float %1570 %1065
1824       %1572 = OpFOrdLessThanEqual %bool %1571 %1423
1825               OpSelectionMerge %1573 None
1826               OpBranchConditional %1572 %1574 %1575
1827       %1575 = OpLabel
1828       %1576 = OpFOrdGreaterThan %bool %1571 %1423
1829       %1577 = OpExtInst %float %1 Log %float_0_180000007
1830       %1578 = OpFDiv %float %1577 %1065
1831       %1579 = OpFOrdLessThan %bool %1571 %1578
1832       %1580 = OpLogicalAnd %bool %1576 %1579
1833               OpSelectionMerge %1581 None
1834               OpBranchConditional %1580 %1582 %1583
1835       %1583 = OpLabel
1836       %1584 = OpFOrdGreaterThanEqual %bool %1571 %1578
1837       %1585 = OpExtInst %float %1 Log %1416
1838       %1586 = OpFDiv %float %1585 %1065
1839       %1587 = OpFOrdLessThan %bool %1571 %1586
1840       %1588 = OpLogicalAnd %bool %1584 %1587
1841               OpSelectionMerge %1589 None
1842               OpBranchConditional %1588 %1590 %1591
1843       %1591 = OpLabel
1844       %1592 = OpExtInst %float %1 Log %float_10000
1845       %1593 = OpFDiv %float %1592 %1065
1846               OpBranch %1589
1847       %1590 = OpLabel
1848       %1594 = OpFSub %float %1571 %1578
1849       %1595 = OpFMul %float %float_3 %1594
1850       %1596 = OpFSub %float %1586 %1578
1851       %1597 = OpFDiv %float %1595 %1596
1852       %1598 = OpConvertFToS %int %1597
1853       %1599 = OpConvertSToF %float %1598
1854       %1600 = OpFSub %float %1597 %1599
1855       %1601 = OpAccessChain %_ptr_Function_float %505 %1598
1856       %1602 = OpLoad %float %1601
1857       %1603 = OpIAdd %int %1598 %int_1
1858       %1604 = OpAccessChain %_ptr_Function_float %505 %1603
1859       %1605 = OpLoad %float %1604
1860       %1606 = OpIAdd %int %1598 %int_2
1861       %1607 = OpAccessChain %_ptr_Function_float %505 %1606
1862       %1608 = OpLoad %float %1607
1863       %1609 = OpCompositeConstruct %v3float %1602 %1605 %1608
1864       %1610 = OpFMul %float %1600 %1600
1865       %1611 = OpCompositeConstruct %v3float %1610 %1600 %float_1
1866       %1612 = OpMatrixTimesVector %v3float %442 %1609
1867       %1613 = OpDot %float %1611 %1612
1868               OpBranch %1589
1869       %1589 = OpLabel
1870       %1614 = OpPhi %float %1593 %1591 %1613 %1590
1871               OpBranch %1581
1872       %1582 = OpLabel
1873       %1615 = OpFSub %float %1571 %1423
1874       %1616 = OpFMul %float %float_3 %1615
1875       %1617 = OpFSub %float %1578 %1423
1876       %1618 = OpFDiv %float %1616 %1617
1877       %1619 = OpConvertFToS %int %1618
1878       %1620 = OpConvertSToF %float %1619
1879       %1621 = OpFSub %float %1618 %1620
1880       %1622 = OpAccessChain %_ptr_Function_float %506 %1619
1881       %1623 = OpLoad %float %1622
1882       %1624 = OpIAdd %int %1619 %int_1
1883       %1625 = OpAccessChain %_ptr_Function_float %506 %1624
1884       %1626 = OpLoad %float %1625
1885       %1627 = OpIAdd %int %1619 %int_2
1886       %1628 = OpAccessChain %_ptr_Function_float %506 %1627
1887       %1629 = OpLoad %float %1628
1888       %1630 = OpCompositeConstruct %v3float %1623 %1626 %1629
1889       %1631 = OpFMul %float %1621 %1621
1890       %1632 = OpCompositeConstruct %v3float %1631 %1621 %float_1
1891       %1633 = OpMatrixTimesVector %v3float %442 %1630
1892       %1634 = OpDot %float %1632 %1633
1893               OpBranch %1581
1894       %1581 = OpLabel
1895       %1635 = OpPhi %float %1614 %1589 %1634 %1582
1896               OpBranch %1573
1897       %1574 = OpLabel
1898       %1636 = OpExtInst %float %1 Log %float_9_99999975en05
1899       %1637 = OpFDiv %float %1636 %1065
1900               OpBranch %1573
1901       %1573 = OpLabel
1902       %1638 = OpPhi %float %1635 %1581 %1637 %1574
1903       %1639 = OpExtInst %float %1 Pow %float_10 %1638
1904       %1640 = OpCompositeInsert %v3float %1639 %1566 2
1905       %1641 = OpVectorTimesMatrix %v3float %1640 %414
1906       %1642 = OpVectorTimesMatrix %v3float %1641 %410
1907       %1643 = OpExtInst %float %1 Pow %float_2 %float_n12
1908       %1644 = OpFMul %float %float_0_179999992 %1643
1909               OpStore %514 %475
1910               OpStore %513 %476
1911       %1645 = OpFOrdLessThanEqual %bool %1644 %float_0
1912       %1646 = OpSelect %float %1645 %1418 %1644
1913       %1647 = OpExtInst %float %1 Log %1646
1914       %1648 = OpFDiv %float %1647 %1065
1915       %1649 = OpFOrdLessThanEqual %bool %1648 %1423
1916               OpSelectionMerge %1650 None
1917               OpBranchConditional %1649 %1651 %1652
1918       %1652 = OpLabel
1919       %1653 = OpFOrdGreaterThan %bool %1648 %1423
1920       %1654 = OpExtInst %float %1 Log %float_0_180000007
1921       %1655 = OpFDiv %float %1654 %1065
1922       %1656 = OpFOrdLessThan %bool %1648 %1655
1923       %1657 = OpLogicalAnd %bool %1653 %1656
1924               OpSelectionMerge %1658 None
1925               OpBranchConditional %1657 %1659 %1660
1926       %1660 = OpLabel
1927       %1661 = OpFOrdGreaterThanEqual %bool %1648 %1655
1928       %1662 = OpExtInst %float %1 Log %1416
1929       %1663 = OpFDiv %float %1662 %1065
1930       %1664 = OpFOrdLessThan %bool %1648 %1663
1931       %1665 = OpLogicalAnd %bool %1661 %1664
1932               OpSelectionMerge %1666 None
1933               OpBranchConditional %1665 %1667 %1668
1934       %1668 = OpLabel
1935       %1669 = OpExtInst %float %1 Log %float_10000
1936       %1670 = OpFDiv %float %1669 %1065
1937               OpBranch %1666
1938       %1667 = OpLabel
1939       %1671 = OpFSub %float %1648 %1655
1940       %1672 = OpFMul %float %float_3 %1671
1941       %1673 = OpFSub %float %1663 %1655
1942       %1674 = OpFDiv %float %1672 %1673
1943       %1675 = OpConvertFToS %int %1674
1944       %1676 = OpConvertSToF %float %1675
1945       %1677 = OpFSub %float %1674 %1676
1946       %1678 = OpAccessChain %_ptr_Function_float %513 %1675
1947       %1679 = OpLoad %float %1678
1948       %1680 = OpIAdd %int %1675 %int_1
1949       %1681 = OpAccessChain %_ptr_Function_float %513 %1680
1950       %1682 = OpLoad %float %1681
1951       %1683 = OpIAdd %int %1675 %int_2
1952       %1684 = OpAccessChain %_ptr_Function_float %513 %1683
1953       %1685 = OpLoad %float %1684
1954       %1686 = OpCompositeConstruct %v3float %1679 %1682 %1685
1955       %1687 = OpFMul %float %1677 %1677
1956       %1688 = OpCompositeConstruct %v3float %1687 %1677 %float_1
1957       %1689 = OpMatrixTimesVector %v3float %442 %1686
1958       %1690 = OpDot %float %1688 %1689
1959               OpBranch %1666
1960       %1666 = OpLabel
1961       %1691 = OpPhi %float %1670 %1668 %1690 %1667
1962               OpBranch %1658
1963       %1659 = OpLabel
1964       %1692 = OpFSub %float %1648 %1423
1965       %1693 = OpFMul %float %float_3 %1692
1966       %1694 = OpFSub %float %1655 %1423
1967       %1695 = OpFDiv %float %1693 %1694
1968       %1696 = OpConvertFToS %int %1695
1969       %1697 = OpConvertSToF %float %1696
1970       %1698 = OpFSub %float %1695 %1697
1971       %1699 = OpAccessChain %_ptr_Function_float %514 %1696
1972       %1700 = OpLoad %float %1699
1973       %1701 = OpIAdd %int %1696 %int_1
1974       %1702 = OpAccessChain %_ptr_Function_float %514 %1701
1975       %1703 = OpLoad %float %1702
1976       %1704 = OpIAdd %int %1696 %int_2
1977       %1705 = OpAccessChain %_ptr_Function_float %514 %1704
1978       %1706 = OpLoad %float %1705
1979       %1707 = OpCompositeConstruct %v3float %1700 %1703 %1706
1980       %1708 = OpFMul %float %1698 %1698
1981       %1709 = OpCompositeConstruct %v3float %1708 %1698 %float_1
1982       %1710 = OpMatrixTimesVector %v3float %442 %1707
1983       %1711 = OpDot %float %1709 %1710
1984               OpBranch %1658
1985       %1658 = OpLabel
1986       %1712 = OpPhi %float %1691 %1666 %1711 %1659
1987               OpBranch %1650
1988       %1651 = OpLabel
1989       %1713 = OpExtInst %float %1 Log %float_9_99999975en05
1990       %1714 = OpFDiv %float %1713 %1065
1991               OpBranch %1650
1992       %1650 = OpLabel
1993       %1715 = OpPhi %float %1712 %1658 %1714 %1651
1994       %1716 = OpExtInst %float %1 Pow %float_10 %1715
1995               OpStore %516 %475
1996               OpStore %515 %476
1997       %1717 = OpExtInst %float %1 Log %float_0_180000007
1998       %1718 = OpFDiv %float %1717 %1065
1999       %1719 = OpFOrdLessThanEqual %bool %1718 %1423
2000               OpSelectionMerge %1720 None
2001               OpBranchConditional %1719 %1721 %1722
2002       %1722 = OpLabel
2003       %1723 = OpFOrdGreaterThan %bool %1718 %1423
2004       %1724 = OpFOrdLessThan %bool %1718 %1718
2005       %1725 = OpLogicalAnd %bool %1723 %1724
2006               OpSelectionMerge %1726 None
2007               OpBranchConditional %1725 %1727 %1728
2008       %1728 = OpLabel
2009       %1729 = OpFOrdGreaterThanEqual %bool %1718 %1718
2010       %1730 = OpExtInst %float %1 Log %1416
2011       %1731 = OpFDiv %float %1730 %1065
2012       %1732 = OpFOrdLessThan %bool %1718 %1731
2013       %1733 = OpLogicalAnd %bool %1729 %1732
2014               OpSelectionMerge %1734 None
2015               OpBranchConditional %1733 %1735 %1736
2016       %1736 = OpLabel
2017       %1737 = OpExtInst %float %1 Log %float_10000
2018       %1738 = OpFDiv %float %1737 %1065
2019               OpBranch %1734
2020       %1735 = OpLabel
2021       %1739 = OpFSub %float %1718 %1718
2022       %1740 = OpFMul %float %float_3 %1739
2023       %1741 = OpFSub %float %1731 %1718
2024       %1742 = OpFDiv %float %1740 %1741
2025       %1743 = OpConvertFToS %int %1742
2026       %1744 = OpConvertSToF %float %1743
2027       %1745 = OpFSub %float %1742 %1744
2028       %1746 = OpAccessChain %_ptr_Function_float %515 %1743
2029       %1747 = OpLoad %float %1746
2030       %1748 = OpIAdd %int %1743 %int_1
2031       %1749 = OpAccessChain %_ptr_Function_float %515 %1748
2032       %1750 = OpLoad %float %1749
2033       %1751 = OpIAdd %int %1743 %int_2
2034       %1752 = OpAccessChain %_ptr_Function_float %515 %1751
2035       %1753 = OpLoad %float %1752
2036       %1754 = OpCompositeConstruct %v3float %1747 %1750 %1753
2037       %1755 = OpFMul %float %1745 %1745
2038       %1756 = OpCompositeConstruct %v3float %1755 %1745 %float_1
2039       %1757 = OpMatrixTimesVector %v3float %442 %1754
2040       %1758 = OpDot %float %1756 %1757
2041               OpBranch %1734
2042       %1734 = OpLabel
2043       %1759 = OpPhi %float %1738 %1736 %1758 %1735
2044               OpBranch %1726
2045       %1727 = OpLabel
2046       %1760 = OpFSub %float %1718 %1423
2047       %1761 = OpFMul %float %float_3 %1760
2048       %1762 = OpAccessChain %_ptr_Function_float %516 %int_3
2049       %1763 = OpLoad %float %1762
2050       %1764 = OpAccessChain %_ptr_Function_float %516 %int_4
2051       %1765 = OpLoad %float %1764
2052       %1766 = OpAccessChain %_ptr_Function_float %516 %int_5
2053       %1767 = OpLoad %float %1766
2054       %1768 = OpCompositeConstruct %v3float %1763 %1765 %1767
2055       %1769 = OpMatrixTimesVector %v3float %442 %1768
2056       %1770 = OpCompositeExtract %float %1769 2
2057               OpBranch %1726
2058       %1726 = OpLabel
2059       %1771 = OpPhi %float %1759 %1734 %1770 %1727
2060               OpBranch %1720
2061       %1721 = OpLabel
2062       %1772 = OpExtInst %float %1 Log %float_9_99999975en05
2063       %1773 = OpFDiv %float %1772 %1065
2064               OpBranch %1720
2065       %1720 = OpLabel
2066       %1774 = OpPhi %float %1771 %1726 %1773 %1721
2067       %1775 = OpExtInst %float %1 Pow %float_10 %1774
2068       %1776 = OpExtInst %float %1 Pow %float_2 %float_11
2069       %1777 = OpFMul %float %float_0_179999992 %1776
2070               OpStore %518 %475
2071               OpStore %517 %476
2072       %1778 = OpFOrdLessThanEqual %bool %1777 %float_0
2073       %1779 = OpSelect %float %1778 %1418 %1777
2074       %1780 = OpExtInst %float %1 Log %1779
2075       %1781 = OpFDiv %float %1780 %1065
2076       %1782 = OpFOrdLessThanEqual %bool %1781 %1423
2077               OpSelectionMerge %1783 None
2078               OpBranchConditional %1782 %1784 %1785
2079       %1785 = OpLabel
2080       %1786 = OpFOrdGreaterThan %bool %1781 %1423
2081       %1787 = OpFOrdLessThan %bool %1781 %1718
2082       %1788 = OpLogicalAnd %bool %1786 %1787
2083               OpSelectionMerge %1789 None
2084               OpBranchConditional %1788 %1790 %1791
2085       %1791 = OpLabel
2086       %1792 = OpFOrdGreaterThanEqual %bool %1781 %1718
2087       %1793 = OpExtInst %float %1 Log %1416
2088       %1794 = OpFDiv %float %1793 %1065
2089       %1795 = OpFOrdLessThan %bool %1781 %1794
2090       %1796 = OpLogicalAnd %bool %1792 %1795
2091               OpSelectionMerge %1797 None
2092               OpBranchConditional %1796 %1798 %1799
2093       %1799 = OpLabel
2094       %1800 = OpExtInst %float %1 Log %float_10000
2095       %1801 = OpFDiv %float %1800 %1065
2096               OpBranch %1797
2097       %1798 = OpLabel
2098       %1802 = OpFSub %float %1781 %1718
2099       %1803 = OpFMul %float %float_3 %1802
2100       %1804 = OpFSub %float %1794 %1718
2101       %1805 = OpFDiv %float %1803 %1804
2102       %1806 = OpConvertFToS %int %1805
2103       %1807 = OpConvertSToF %float %1806
2104       %1808 = OpFSub %float %1805 %1807
2105       %1809 = OpAccessChain %_ptr_Function_float %517 %1806
2106       %1810 = OpLoad %float %1809
2107       %1811 = OpIAdd %int %1806 %int_1
2108       %1812 = OpAccessChain %_ptr_Function_float %517 %1811
2109       %1813 = OpLoad %float %1812
2110       %1814 = OpIAdd %int %1806 %int_2
2111       %1815 = OpAccessChain %_ptr_Function_float %517 %1814
2112       %1816 = OpLoad %float %1815
2113       %1817 = OpCompositeConstruct %v3float %1810 %1813 %1816
2114       %1818 = OpFMul %float %1808 %1808
2115       %1819 = OpCompositeConstruct %v3float %1818 %1808 %float_1
2116       %1820 = OpMatrixTimesVector %v3float %442 %1817
2117       %1821 = OpDot %float %1819 %1820
2118               OpBranch %1797
2119       %1797 = OpLabel
2120       %1822 = OpPhi %float %1801 %1799 %1821 %1798
2121               OpBranch %1789
2122       %1790 = OpLabel
2123       %1823 = OpFSub %float %1781 %1423
2124       %1824 = OpFMul %float %float_3 %1823
2125       %1825 = OpFSub %float %1718 %1423
2126       %1826 = OpFDiv %float %1824 %1825
2127       %1827 = OpConvertFToS %int %1826
2128       %1828 = OpConvertSToF %float %1827
2129       %1829 = OpFSub %float %1826 %1828
2130       %1830 = OpAccessChain %_ptr_Function_float %518 %1827
2131       %1831 = OpLoad %float %1830
2132       %1832 = OpIAdd %int %1827 %int_1
2133       %1833 = OpAccessChain %_ptr_Function_float %518 %1832
2134       %1834 = OpLoad %float %1833
2135       %1835 = OpIAdd %int %1827 %int_2
2136       %1836 = OpAccessChain %_ptr_Function_float %518 %1835
2137       %1837 = OpLoad %float %1836
2138       %1838 = OpCompositeConstruct %v3float %1831 %1834 %1837
2139       %1839 = OpFMul %float %1829 %1829
2140       %1840 = OpCompositeConstruct %v3float %1839 %1829 %float_1
2141       %1841 = OpMatrixTimesVector %v3float %442 %1838
2142       %1842 = OpDot %float %1840 %1841
2143               OpBranch %1789
2144       %1789 = OpLabel
2145       %1843 = OpPhi %float %1822 %1797 %1842 %1790
2146               OpBranch %1783
2147       %1784 = OpLabel
2148       %1844 = OpExtInst %float %1 Log %float_9_99999975en05
2149       %1845 = OpFDiv %float %1844 %1065
2150               OpBranch %1783
2151       %1783 = OpLabel
2152       %1846 = OpPhi %float %1843 %1789 %1845 %1784
2153       %1847 = OpExtInst %float %1 Pow %float_10 %1846
2154       %1848 = OpCompositeExtract %float %1642 0
2155               OpStore %512 %482
2156               OpStore %511 %483
2157       %1849 = OpFOrdLessThanEqual %bool %1848 %float_0
2158       %1850 = OpSelect %float %1849 %float_9_99999975en05 %1848
2159       %1851 = OpExtInst %float %1 Log %1850
2160       %1852 = OpFDiv %float %1851 %1065
2161       %1853 = OpExtInst %float %1 Log %1716
2162       %1854 = OpFDiv %float %1853 %1065
2163       %1855 = OpFOrdLessThanEqual %bool %1852 %1854
2164               OpSelectionMerge %1856 None
2165               OpBranchConditional %1855 %1857 %1858
2166       %1858 = OpLabel
2167       %1859 = OpFOrdGreaterThan %bool %1852 %1854
2168       %1860 = OpExtInst %float %1 Log %1775
2169       %1861 = OpFDiv %float %1860 %1065
2170       %1862 = OpFOrdLessThan %bool %1852 %1861
2171       %1863 = OpLogicalAnd %bool %1859 %1862
2172               OpSelectionMerge %1864 None
2173               OpBranchConditional %1863 %1865 %1866
2174       %1866 = OpLabel
2175       %1867 = OpFOrdGreaterThanEqual %bool %1852 %1861
2176       %1868 = OpExtInst %float %1 Log %1847
2177       %1869 = OpFDiv %float %1868 %1065
2178       %1870 = OpFOrdLessThan %bool %1852 %1869
2179       %1871 = OpLogicalAnd %bool %1867 %1870
2180               OpSelectionMerge %1872 None
2181               OpBranchConditional %1871 %1873 %1874
2182       %1874 = OpLabel
2183       %1875 = OpFMul %float %1852 %float_0_119999997
2184       %1876 = OpExtInst %float %1 Log %float_2000
2185       %1877 = OpFDiv %float %1876 %1065
2186       %1878 = OpFMul %float %float_0_119999997 %1868
2187       %1879 = OpFDiv %float %1878 %1065
2188       %1880 = OpFSub %float %1877 %1879
2189       %1881 = OpFAdd %float %1875 %1880
2190               OpBranch %1872
2191       %1873 = OpLabel
2192       %1882 = OpFSub %float %1852 %1861
2193       %1883 = OpFMul %float %float_7 %1882
2194       %1884 = OpFSub %float %1869 %1861
2195       %1885 = OpFDiv %float %1883 %1884
2196       %1886 = OpConvertFToS %int %1885
2197       %1887 = OpConvertSToF %float %1886
2198       %1888 = OpFSub %float %1885 %1887
2199       %1889 = OpAccessChain %_ptr_Function_float %511 %1886
2200       %1890 = OpLoad %float %1889
2201       %1891 = OpIAdd %int %1886 %int_1
2202       %1892 = OpAccessChain %_ptr_Function_float %511 %1891
2203       %1893 = OpLoad %float %1892
2204       %1894 = OpIAdd %int %1886 %int_2
2205       %1895 = OpAccessChain %_ptr_Function_float %511 %1894
2206       %1896 = OpLoad %float %1895
2207       %1897 = OpCompositeConstruct %v3float %1890 %1893 %1896
2208       %1898 = OpFMul %float %1888 %1888
2209       %1899 = OpCompositeConstruct %v3float %1898 %1888 %float_1
2210       %1900 = OpMatrixTimesVector %v3float %442 %1897
2211       %1901 = OpDot %float %1899 %1900
2212               OpBranch %1872
2213       %1872 = OpLabel
2214       %1902 = OpPhi %float %1881 %1874 %1901 %1873
2215               OpBranch %1864
2216       %1865 = OpLabel
2217       %1903 = OpFSub %float %1852 %1854
2218       %1904 = OpFMul %float %float_7 %1903
2219       %1905 = OpFSub %float %1861 %1854
2220       %1906 = OpFDiv %float %1904 %1905
2221       %1907 = OpConvertFToS %int %1906
2222       %1908 = OpConvertSToF %float %1907
2223       %1909 = OpFSub %float %1906 %1908
2224       %1910 = OpAccessChain %_ptr_Function_float %512 %1907
2225       %1911 = OpLoad %float %1910
2226       %1912 = OpIAdd %int %1907 %int_1
2227       %1913 = OpAccessChain %_ptr_Function_float %512 %1912
2228       %1914 = OpLoad %float %1913
2229       %1915 = OpIAdd %int %1907 %int_2
2230       %1916 = OpAccessChain %_ptr_Function_float %512 %1915
2231       %1917 = OpLoad %float %1916
2232       %1918 = OpCompositeConstruct %v3float %1911 %1914 %1917
2233       %1919 = OpFMul %float %1909 %1909
2234       %1920 = OpCompositeConstruct %v3float %1919 %1909 %float_1
2235       %1921 = OpMatrixTimesVector %v3float %442 %1918
2236       %1922 = OpDot %float %1920 %1921
2237               OpBranch %1864
2238       %1864 = OpLabel
2239       %1923 = OpPhi %float %1902 %1872 %1922 %1865
2240               OpBranch %1856
2241       %1857 = OpLabel
2242       %1924 = OpExtInst %float %1 Log %float_0_00499999989
2243       %1925 = OpFDiv %float %1924 %1065
2244               OpBranch %1856
2245       %1856 = OpLabel
2246       %1926 = OpPhi %float %1923 %1864 %1925 %1857
2247       %1927 = OpExtInst %float %1 Pow %float_10 %1926
2248       %1928 = OpCompositeInsert %v3float %1927 %391 0
2249       %1929 = OpCompositeExtract %float %1642 1
2250               OpStore %510 %482
2251               OpStore %509 %483
2252       %1930 = OpFOrdLessThanEqual %bool %1929 %float_0
2253       %1931 = OpSelect %float %1930 %float_9_99999975en05 %1929
2254       %1932 = OpExtInst %float %1 Log %1931
2255       %1933 = OpFDiv %float %1932 %1065
2256       %1934 = OpFOrdLessThanEqual %bool %1933 %1854
2257               OpSelectionMerge %1935 None
2258               OpBranchConditional %1934 %1936 %1937
2259       %1937 = OpLabel
2260       %1938 = OpFOrdGreaterThan %bool %1933 %1854
2261       %1939 = OpExtInst %float %1 Log %1775
2262       %1940 = OpFDiv %float %1939 %1065
2263       %1941 = OpFOrdLessThan %bool %1933 %1940
2264       %1942 = OpLogicalAnd %bool %1938 %1941
2265               OpSelectionMerge %1943 None
2266               OpBranchConditional %1942 %1944 %1945
2267       %1945 = OpLabel
2268       %1946 = OpFOrdGreaterThanEqual %bool %1933 %1940
2269       %1947 = OpExtInst %float %1 Log %1847
2270       %1948 = OpFDiv %float %1947 %1065
2271       %1949 = OpFOrdLessThan %bool %1933 %1948
2272       %1950 = OpLogicalAnd %bool %1946 %1949
2273               OpSelectionMerge %1951 None
2274               OpBranchConditional %1950 %1952 %1953
2275       %1953 = OpLabel
2276       %1954 = OpFMul %float %1933 %float_0_119999997
2277       %1955 = OpExtInst %float %1 Log %float_2000
2278       %1956 = OpFDiv %float %1955 %1065
2279       %1957 = OpFMul %float %float_0_119999997 %1947
2280       %1958 = OpFDiv %float %1957 %1065
2281       %1959 = OpFSub %float %1956 %1958
2282       %1960 = OpFAdd %float %1954 %1959
2283               OpBranch %1951
2284       %1952 = OpLabel
2285       %1961 = OpFSub %float %1933 %1940
2286       %1962 = OpFMul %float %float_7 %1961
2287       %1963 = OpFSub %float %1948 %1940
2288       %1964 = OpFDiv %float %1962 %1963
2289       %1965 = OpConvertFToS %int %1964
2290       %1966 = OpConvertSToF %float %1965
2291       %1967 = OpFSub %float %1964 %1966
2292       %1968 = OpAccessChain %_ptr_Function_float %509 %1965
2293       %1969 = OpLoad %float %1968
2294       %1970 = OpIAdd %int %1965 %int_1
2295       %1971 = OpAccessChain %_ptr_Function_float %509 %1970
2296       %1972 = OpLoad %float %1971
2297       %1973 = OpIAdd %int %1965 %int_2
2298       %1974 = OpAccessChain %_ptr_Function_float %509 %1973
2299       %1975 = OpLoad %float %1974
2300       %1976 = OpCompositeConstruct %v3float %1969 %1972 %1975
2301       %1977 = OpFMul %float %1967 %1967
2302       %1978 = OpCompositeConstruct %v3float %1977 %1967 %float_1
2303       %1979 = OpMatrixTimesVector %v3float %442 %1976
2304       %1980 = OpDot %float %1978 %1979
2305               OpBranch %1951
2306       %1951 = OpLabel
2307       %1981 = OpPhi %float %1960 %1953 %1980 %1952
2308               OpBranch %1943
2309       %1944 = OpLabel
2310       %1982 = OpFSub %float %1933 %1854
2311       %1983 = OpFMul %float %float_7 %1982
2312       %1984 = OpFSub %float %1940 %1854
2313       %1985 = OpFDiv %float %1983 %1984
2314       %1986 = OpConvertFToS %int %1985
2315       %1987 = OpConvertSToF %float %1986
2316       %1988 = OpFSub %float %1985 %1987
2317       %1989 = OpAccessChain %_ptr_Function_float %510 %1986
2318       %1990 = OpLoad %float %1989
2319       %1991 = OpIAdd %int %1986 %int_1
2320       %1992 = OpAccessChain %_ptr_Function_float %510 %1991
2321       %1993 = OpLoad %float %1992
2322       %1994 = OpIAdd %int %1986 %int_2
2323       %1995 = OpAccessChain %_ptr_Function_float %510 %1994
2324       %1996 = OpLoad %float %1995
2325       %1997 = OpCompositeConstruct %v3float %1990 %1993 %1996
2326       %1998 = OpFMul %float %1988 %1988
2327       %1999 = OpCompositeConstruct %v3float %1998 %1988 %float_1
2328       %2000 = OpMatrixTimesVector %v3float %442 %1997
2329       %2001 = OpDot %float %1999 %2000
2330               OpBranch %1943
2331       %1943 = OpLabel
2332       %2002 = OpPhi %float %1981 %1951 %2001 %1944
2333               OpBranch %1935
2334       %1936 = OpLabel
2335       %2003 = OpExtInst %float %1 Log %float_0_00499999989
2336       %2004 = OpFDiv %float %2003 %1065
2337               OpBranch %1935
2338       %1935 = OpLabel
2339       %2005 = OpPhi %float %2002 %1943 %2004 %1936
2340       %2006 = OpExtInst %float %1 Pow %float_10 %2005
2341       %2007 = OpCompositeInsert %v3float %2006 %1928 1
2342       %2008 = OpCompositeExtract %float %1642 2
2343               OpStore %508 %482
2344               OpStore %507 %483
2345       %2009 = OpFOrdLessThanEqual %bool %2008 %float_0
2346       %2010 = OpSelect %float %2009 %float_9_99999975en05 %2008
2347       %2011 = OpExtInst %float %1 Log %2010
2348       %2012 = OpFDiv %float %2011 %1065
2349       %2013 = OpFOrdLessThanEqual %bool %2012 %1854
2350               OpSelectionMerge %2014 None
2351               OpBranchConditional %2013 %2015 %2016
2352       %2016 = OpLabel
2353       %2017 = OpFOrdGreaterThan %bool %2012 %1854
2354       %2018 = OpExtInst %float %1 Log %1775
2355       %2019 = OpFDiv %float %2018 %1065
2356       %2020 = OpFOrdLessThan %bool %2012 %2019
2357       %2021 = OpLogicalAnd %bool %2017 %2020
2358               OpSelectionMerge %2022 None
2359               OpBranchConditional %2021 %2023 %2024
2360       %2024 = OpLabel
2361       %2025 = OpFOrdGreaterThanEqual %bool %2012 %2019
2362       %2026 = OpExtInst %float %1 Log %1847
2363       %2027 = OpFDiv %float %2026 %1065
2364       %2028 = OpFOrdLessThan %bool %2012 %2027
2365       %2029 = OpLogicalAnd %bool %2025 %2028
2366               OpSelectionMerge %2030 None
2367               OpBranchConditional %2029 %2031 %2032
2368       %2032 = OpLabel
2369       %2033 = OpFMul %float %2012 %float_0_119999997
2370       %2034 = OpExtInst %float %1 Log %float_2000
2371       %2035 = OpFDiv %float %2034 %1065
2372       %2036 = OpFMul %float %float_0_119999997 %2026
2373       %2037 = OpFDiv %float %2036 %1065
2374       %2038 = OpFSub %float %2035 %2037
2375       %2039 = OpFAdd %float %2033 %2038
2376               OpBranch %2030
2377       %2031 = OpLabel
2378       %2040 = OpFSub %float %2012 %2019
2379       %2041 = OpFMul %float %float_7 %2040
2380       %2042 = OpFSub %float %2027 %2019
2381       %2043 = OpFDiv %float %2041 %2042
2382       %2044 = OpConvertFToS %int %2043
2383       %2045 = OpConvertSToF %float %2044
2384       %2046 = OpFSub %float %2043 %2045
2385       %2047 = OpAccessChain %_ptr_Function_float %507 %2044
2386       %2048 = OpLoad %float %2047
2387       %2049 = OpIAdd %int %2044 %int_1
2388       %2050 = OpAccessChain %_ptr_Function_float %507 %2049
2389       %2051 = OpLoad %float %2050
2390       %2052 = OpIAdd %int %2044 %int_2
2391       %2053 = OpAccessChain %_ptr_Function_float %507 %2052
2392       %2054 = OpLoad %float %2053
2393       %2055 = OpCompositeConstruct %v3float %2048 %2051 %2054
2394       %2056 = OpFMul %float %2046 %2046
2395       %2057 = OpCompositeConstruct %v3float %2056 %2046 %float_1
2396       %2058 = OpMatrixTimesVector %v3float %442 %2055
2397       %2059 = OpDot %float %2057 %2058
2398               OpBranch %2030
2399       %2030 = OpLabel
2400       %2060 = OpPhi %float %2039 %2032 %2059 %2031
2401               OpBranch %2022
2402       %2023 = OpLabel
2403       %2061 = OpFSub %float %2012 %1854
2404       %2062 = OpFMul %float %float_7 %2061
2405       %2063 = OpFSub %float %2019 %1854
2406       %2064 = OpFDiv %float %2062 %2063
2407       %2065 = OpConvertFToS %int %2064
2408       %2066 = OpConvertSToF %float %2065
2409       %2067 = OpFSub %float %2064 %2066
2410       %2068 = OpAccessChain %_ptr_Function_float %508 %2065
2411       %2069 = OpLoad %float %2068
2412       %2070 = OpIAdd %int %2065 %int_1
2413       %2071 = OpAccessChain %_ptr_Function_float %508 %2070
2414       %2072 = OpLoad %float %2071
2415       %2073 = OpIAdd %int %2065 %int_2
2416       %2074 = OpAccessChain %_ptr_Function_float %508 %2073
2417       %2075 = OpLoad %float %2074
2418       %2076 = OpCompositeConstruct %v3float %2069 %2072 %2075
2419       %2077 = OpFMul %float %2067 %2067
2420       %2078 = OpCompositeConstruct %v3float %2077 %2067 %float_1
2421       %2079 = OpMatrixTimesVector %v3float %442 %2076
2422       %2080 = OpDot %float %2078 %2079
2423               OpBranch %2022
2424       %2022 = OpLabel
2425       %2081 = OpPhi %float %2060 %2030 %2080 %2023
2426               OpBranch %2014
2427       %2015 = OpLabel
2428       %2082 = OpExtInst %float %1 Log %float_0_00499999989
2429       %2083 = OpFDiv %float %2082 %1065
2430               OpBranch %2014
2431       %2014 = OpLabel
2432       %2084 = OpPhi %float %2081 %2022 %2083 %2015
2433       %2085 = OpExtInst %float %1 Pow %float_10 %2084
2434       %2086 = OpCompositeInsert %v3float %2085 %2007 2
2435       %2087 = OpVectorTimesMatrix %v3float %2086 %576
2436       %2088 = OpFMul %v3float %2087 %496
2437       %2089 = OpExtInst %v3float %1 Pow %2088 %263
2438       %2090 = OpFMul %v3float %184 %2089
2439       %2091 = OpFAdd %v3float %183 %2090
2440       %2092 = OpFMul %v3float %185 %2089
2441       %2093 = OpFAdd %v3float %135 %2092
2442       %2094 = OpFDiv %v3float %135 %2093
2443       %2095 = OpFMul %v3float %2091 %2094
2444       %2096 = OpExtInst %v3float %1 Pow %2095 %264
2445               OpBranch %1236
2446       %1236 = OpLabel
2447       %2097 = OpPhi %v3float %1260 %1240 %2096 %2014
2448               OpBranch %1230
2449       %1231 = OpLabel
2450       %2098 = OpMatrixTimesMatrix %mat3v3float %546 %399
2451       %2099 = OpFMul %v3float %906 %262
2452       %2100 = OpVectorTimesMatrix %v3float %2099 %2098
2453       %2101 = OpCompositeExtract %float %2100 0
2454       %2102 = OpCompositeExtract %float %2100 1
2455       %2103 = OpExtInst %float %1 FMin %2101 %2102
2456       %2104 = OpCompositeExtract %float %2100 2
2457       %2105 = OpExtInst %float %1 FMin %2103 %2104
2458       %2106 = OpExtInst %float %1 FMax %2101 %2102
2459       %2107 = OpExtInst %float %1 FMax %2106 %2104
2460       %2108 = OpExtInst %float %1 FMax %2107 %float_1_00000001en10
2461       %2109 = OpExtInst %float %1 FMax %2105 %float_1_00000001en10
2462       %2110 = OpFSub %float %2108 %2109
2463       %2111 = OpExtInst %float %1 FMax %2107 %float_0_00999999978
2464       %2112 = OpFDiv %float %2110 %2111
2465       %2113 = OpFSub %float %2104 %2102
2466       %2114 = OpFMul %float %2104 %2113
2467       %2115 = OpFSub %float %2102 %2101
2468       %2116 = OpFMul %float %2102 %2115
2469       %2117 = OpFAdd %float %2114 %2116
2470       %2118 = OpFSub %float %2101 %2104
2471       %2119 = OpFMul %float %2101 %2118
2472       %2120 = OpFAdd %float %2117 %2119
2473       %2121 = OpExtInst %float %1 Sqrt %2120
2474       %2122 = OpFAdd %float %2104 %2102
2475       %2123 = OpFAdd %float %2122 %2101
2476       %2124 = OpFMul %float %float_1_75 %2121
2477       %2125 = OpFAdd %float %2123 %2124
2478       %2126 = OpFMul %float %2125 %float_0_333333343
2479       %2127 = OpFSub %float %2112 %float_0_400000006
2480       %2128 = OpFMul %float %2127 %float_5
2481       %2129 = OpFMul %float %2127 %float_2_5
2482       %2130 = OpExtInst %float %1 FAbs %2129
2483       %2131 = OpFSub %float %float_1 %2130
2484       %2132 = OpExtInst %float %1 FMax %2131 %float_0
2485       %2133 = OpExtInst %float %1 FSign %2128
2486       %2134 = OpConvertFToS %int %2133
2487       %2135 = OpConvertSToF %float %2134
2488       %2136 = OpFMul %float %2132 %2132
2489       %2137 = OpFSub %float %float_1 %2136
2490       %2138 = OpFMul %float %2135 %2137
2491       %2139 = OpFAdd %float %float_1 %2138
2492       %2140 = OpFMul %float %2139 %float_0_0250000004
2493       %2141 = OpFOrdLessThanEqual %bool %2126 %float_0_0533333346
2494               OpSelectionMerge %2142 None
2495               OpBranchConditional %2141 %2143 %2144
2496       %2144 = OpLabel
2497       %2145 = OpFOrdGreaterThanEqual %bool %2126 %float_0_159999996
2498               OpSelectionMerge %2146 None
2499               OpBranchConditional %2145 %2147 %2148
2500       %2148 = OpLabel
2501       %2149 = OpFDiv %float %float_0_239999995 %2125
2502       %2150 = OpFSub %float %2149 %float_0_5
2503       %2151 = OpFMul %float %2140 %2150
2504               OpBranch %2146
2505       %2147 = OpLabel
2506               OpBranch %2146
2507       %2146 = OpLabel
2508       %2152 = OpPhi %float %2151 %2148 %float_0 %2147
2509               OpBranch %2142
2510       %2143 = OpLabel
2511               OpBranch %2142
2512       %2142 = OpLabel
2513       %2153 = OpPhi %float %2152 %2146 %2140 %2143
2514       %2154 = OpFAdd %float %float_1 %2153
2515       %2155 = OpCompositeConstruct %v3float %2154 %2154 %2154
2516       %2156 = OpFMul %v3float %2100 %2155
2517       %2157 = OpCompositeExtract %float %2156 0
2518       %2158 = OpCompositeExtract %float %2156 1
2519       %2159 = OpFOrdEqual %bool %2157 %2158
2520       %2160 = OpCompositeExtract %float %2156 2
2521       %2161 = OpFOrdEqual %bool %2158 %2160
2522       %2162 = OpLogicalAnd %bool %2159 %2161
2523               OpSelectionMerge %2163 None
2524               OpBranchConditional %2162 %2164 %2165
2525       %2165 = OpLabel
2526       %2166 = OpExtInst %float %1 Sqrt %float_3
2527       %2167 = OpFSub %float %2158 %2160
2528       %2168 = OpFMul %float %2166 %2167
2529       %2169 = OpFMul %float %float_2 %2157
2530       %2170 = OpFSub %float %2169 %2158
2531       %2171 = OpFSub %float %2170 %2160
2532       %2172 = OpExtInst %float %1 Atan2 %2168 %2171
2533       %2173 = OpFMul %float %float_57_2957764 %2172
2534               OpBranch %2163
2535       %2164 = OpLabel
2536               OpBranch %2163
2537       %2163 = OpLabel
2538       %2174 = OpPhi %float %2173 %2165 %float_0 %2164
2539       %2175 = OpFOrdLessThan %bool %2174 %float_0
2540               OpSelectionMerge %2176 None
2541               OpBranchConditional %2175 %2177 %2176
2542       %2177 = OpLabel
2543       %2178 = OpFAdd %float %2174 %float_360
2544               OpBranch %2176
2545       %2176 = OpLabel
2546       %2179 = OpPhi %float %2174 %2163 %2178 %2177
2547       %2180 = OpExtInst %float %1 FClamp %2179 %float_0 %float_360
2548       %2181 = OpFOrdGreaterThan %bool %2180 %float_180
2549               OpSelectionMerge %2182 None
2550               OpBranchConditional %2181 %2183 %2182
2551       %2183 = OpLabel
2552       %2184 = OpFSub %float %2180 %float_360
2553               OpBranch %2182
2554       %2182 = OpLabel
2555       %2185 = OpPhi %float %2180 %2176 %2184 %2183
2556       %2186 = OpFOrdGreaterThan %bool %2185 %float_n67_5
2557       %2187 = OpFOrdLessThan %bool %2185 %float_67_5
2558       %2188 = OpLogicalAnd %bool %2186 %2187
2559               OpSelectionMerge %2189 None
2560               OpBranchConditional %2188 %2190 %2189
2561       %2190 = OpLabel
2562       %2191 = OpFSub %float %2185 %float_n67_5
2563       %2192 = OpFMul %float %2191 %float_0_0296296291
2564       %2193 = OpConvertFToS %int %2192
2565       %2194 = OpConvertSToF %float %2193
2566       %2195 = OpFSub %float %2192 %2194
2567       %2196 = OpFMul %float %2195 %2195
2568       %2197 = OpFMul %float %2196 %2195
2569       %2198 = OpIEqual %bool %2193 %int_3
2570               OpSelectionMerge %2199 None
2571               OpBranchConditional %2198 %2200 %2201
2572       %2201 = OpLabel
2573       %2202 = OpIEqual %bool %2193 %int_2
2574               OpSelectionMerge %2203 None
2575               OpBranchConditional %2202 %2204 %2205
2576       %2205 = OpLabel
2577       %2206 = OpIEqual %bool %2193 %int_1
2578               OpSelectionMerge %2207 None
2579               OpBranchConditional %2206 %2208 %2209
2580       %2209 = OpLabel
2581       %2210 = OpIEqual %bool %2193 %int_0
2582               OpSelectionMerge %2211 None
2583               OpBranchConditional %2210 %2212 %2213
2584       %2213 = OpLabel
2585               OpBranch %2211
2586       %2212 = OpLabel
2587       %2214 = OpFMul %float %2197 %float_0_166666672
2588               OpBranch %2211
2589       %2211 = OpLabel
2590       %2215 = OpPhi %float %float_0 %2213 %2214 %2212
2591               OpBranch %2207
2592       %2208 = OpLabel
2593       %2216 = OpFMul %float %2197 %float_n0_5
2594       %2217 = OpFMul %float %2196 %float_0_5
2595       %2218 = OpFAdd %float %2216 %2217
2596       %2219 = OpFMul %float %2195 %float_0_5
2597       %2220 = OpFAdd %float %2218 %2219
2598       %2221 = OpFAdd %float %2220 %float_0_166666672
2599               OpBranch %2207
2600       %2207 = OpLabel
2601       %2222 = OpPhi %float %2215 %2211 %2221 %2208
2602               OpBranch %2203
2603       %2204 = OpLabel
2604       %2223 = OpFMul %float %2197 %float_0_5
2605       %2224 = OpFMul %float %2196 %float_n1
2606       %2225 = OpFAdd %float %2223 %2224
2607       %2226 = OpFAdd %float %2225 %float_0_666666687
2608               OpBranch %2203
2609       %2203 = OpLabel
2610       %2227 = OpPhi %float %2222 %2207 %2226 %2204
2611               OpBranch %2199
2612       %2200 = OpLabel
2613       %2228 = OpFMul %float %2197 %float_n0_166666672
2614       %2229 = OpFMul %float %2196 %float_0_5
2615       %2230 = OpFAdd %float %2228 %2229
2616       %2231 = OpFMul %float %2195 %float_n0_5
2617       %2232 = OpFAdd %float %2230 %2231
2618       %2233 = OpFAdd %float %2232 %float_0_166666672
2619               OpBranch %2199
2620       %2199 = OpLabel
2621       %2234 = OpPhi %float %2227 %2203 %2233 %2200
2622               OpBranch %2189
2623       %2189 = OpLabel
2624       %2235 = OpPhi %float %float_0 %2182 %2234 %2199
2625       %2236 = OpFMul %float %2235 %float_1_5
2626       %2237 = OpFMul %float %2236 %2112
2627       %2238 = OpFSub %float %float_0_0299999993 %2157
2628       %2239 = OpFMul %float %2237 %2238
2629       %2240 = OpFMul %float %2239 %float_0_180000007
2630       %2241 = OpFAdd %float %2157 %2240
2631       %2242 = OpCompositeInsert %v3float %2241 %2156 0
2632       %2243 = OpExtInst %v3float %1 FClamp %2242 %132 %314
2633       %2244 = OpVectorTimesMatrix %v3float %2243 %410
2634       %2245 = OpExtInst %v3float %1 FClamp %2244 %132 %314
2635       %2246 = OpDot %float %2245 %67
2636       %2247 = OpCompositeConstruct %v3float %2246 %2246 %2246
2637       %2248 = OpExtInst %v3float %1 FMix %2247 %2245 %228
2638       %2249 = OpCompositeExtract %float %2248 0
2639       %2250 = OpExtInst %float %1 Exp2 %float_n15
2640       %2251 = OpFMul %float %float_0_179999992 %2250
2641       %2252 = OpExtInst %float %1 Exp2 %float_18
2642       %2253 = OpFMul %float %float_0_179999992 %2252
2643               OpStore %520 %475
2644               OpStore %519 %476
2645       %2254 = OpFOrdLessThanEqual %bool %2249 %float_0
2646       %2255 = OpExtInst %float %1 Exp2 %float_n14
2647       %2256 = OpSelect %float %2254 %2255 %2249
2648       %2257 = OpExtInst %float %1 Log %2256
2649       %2258 = OpFDiv %float %2257 %1065
2650       %2259 = OpExtInst %float %1 Log %2251
2651       %2260 = OpFDiv %float %2259 %1065
2652       %2261 = OpFOrdLessThanEqual %bool %2258 %2260
2653               OpSelectionMerge %2262 None
2654               OpBranchConditional %2261 %2263 %2264
2655       %2264 = OpLabel
2656       %2265 = OpFOrdGreaterThan %bool %2258 %2260
2657       %2266 = OpExtInst %float %1 Log %float_0_180000007
2658       %2267 = OpFDiv %float %2266 %1065
2659       %2268 = OpFOrdLessThan %bool %2258 %2267
2660       %2269 = OpLogicalAnd %bool %2265 %2268
2661               OpSelectionMerge %2270 None
2662               OpBranchConditional %2269 %2271 %2272
2663       %2272 = OpLabel
2664       %2273 = OpFOrdGreaterThanEqual %bool %2258 %2267
2665       %2274 = OpExtInst %float %1 Log %2253
2666       %2275 = OpFDiv %float %2274 %1065
2667       %2276 = OpFOrdLessThan %bool %2258 %2275
2668       %2277 = OpLogicalAnd %bool %2273 %2276
2669               OpSelectionMerge %2278 None
2670               OpBranchConditional %2277 %2279 %2280
2671       %2280 = OpLabel
2672       %2281 = OpExtInst %float %1 Log %float_10000
2673       %2282 = OpFDiv %float %2281 %1065
2674               OpBranch %2278
2675       %2279 = OpLabel
2676       %2283 = OpFSub %float %2258 %2267
2677       %2284 = OpFMul %float %float_3 %2283
2678       %2285 = OpFSub %float %2275 %2267
2679       %2286 = OpFDiv %float %2284 %2285
2680       %2287 = OpConvertFToS %int %2286
2681       %2288 = OpConvertSToF %float %2287
2682       %2289 = OpFSub %float %2286 %2288
2683       %2290 = OpAccessChain %_ptr_Function_float %519 %2287
2684       %2291 = OpLoad %float %2290
2685       %2292 = OpIAdd %int %2287 %int_1
2686       %2293 = OpAccessChain %_ptr_Function_float %519 %2292
2687       %2294 = OpLoad %float %2293
2688       %2295 = OpIAdd %int %2287 %int_2
2689       %2296 = OpAccessChain %_ptr_Function_float %519 %2295
2690       %2297 = OpLoad %float %2296
2691       %2298 = OpCompositeConstruct %v3float %2291 %2294 %2297
2692       %2299 = OpFMul %float %2289 %2289
2693       %2300 = OpCompositeConstruct %v3float %2299 %2289 %float_1
2694       %2301 = OpMatrixTimesVector %v3float %442 %2298
2695       %2302 = OpDot %float %2300 %2301
2696               OpBranch %2278
2697       %2278 = OpLabel
2698       %2303 = OpPhi %float %2282 %2280 %2302 %2279
2699               OpBranch %2270
2700       %2271 = OpLabel
2701       %2304 = OpFSub %float %2258 %2260
2702       %2305 = OpFMul %float %float_3 %2304
2703       %2306 = OpFSub %float %2267 %2260
2704       %2307 = OpFDiv %float %2305 %2306
2705       %2308 = OpConvertFToS %int %2307
2706       %2309 = OpConvertSToF %float %2308
2707       %2310 = OpFSub %float %2307 %2309
2708       %2311 = OpAccessChain %_ptr_Function_float %520 %2308
2709       %2312 = OpLoad %float %2311
2710       %2313 = OpIAdd %int %2308 %int_1
2711       %2314 = OpAccessChain %_ptr_Function_float %520 %2313
2712       %2315 = OpLoad %float %2314
2713       %2316 = OpIAdd %int %2308 %int_2
2714       %2317 = OpAccessChain %_ptr_Function_float %520 %2316
2715       %2318 = OpLoad %float %2317
2716       %2319 = OpCompositeConstruct %v3float %2312 %2315 %2318
2717       %2320 = OpFMul %float %2310 %2310
2718       %2321 = OpCompositeConstruct %v3float %2320 %2310 %float_1
2719       %2322 = OpMatrixTimesVector %v3float %442 %2319
2720       %2323 = OpDot %float %2321 %2322
2721               OpBranch %2270
2722       %2270 = OpLabel
2723       %2324 = OpPhi %float %2303 %2278 %2323 %2271
2724               OpBranch %2262
2725       %2263 = OpLabel
2726       %2325 = OpExtInst %float %1 Log %float_9_99999975en05
2727       %2326 = OpFDiv %float %2325 %1065
2728               OpBranch %2262
2729       %2262 = OpLabel
2730       %2327 = OpPhi %float %2324 %2270 %2326 %2263
2731       %2328 = OpExtInst %float %1 Pow %float_10 %2327
2732       %2329 = OpCompositeInsert %v3float %2328 %391 0
2733       %2330 = OpCompositeExtract %float %2248 1
2734               OpStore %522 %475
2735               OpStore %521 %476
2736       %2331 = OpFOrdLessThanEqual %bool %2330 %float_0
2737       %2332 = OpSelect %float %2331 %2255 %2330
2738       %2333 = OpExtInst %float %1 Log %2332
2739       %2334 = OpFDiv %float %2333 %1065
2740       %2335 = OpFOrdLessThanEqual %bool %2334 %2260
2741               OpSelectionMerge %2336 None
2742               OpBranchConditional %2335 %2337 %2338
2743       %2338 = OpLabel
2744       %2339 = OpFOrdGreaterThan %bool %2334 %2260
2745       %2340 = OpExtInst %float %1 Log %float_0_180000007
2746       %2341 = OpFDiv %float %2340 %1065
2747       %2342 = OpFOrdLessThan %bool %2334 %2341
2748       %2343 = OpLogicalAnd %bool %2339 %2342
2749               OpSelectionMerge %2344 None
2750               OpBranchConditional %2343 %2345 %2346
2751       %2346 = OpLabel
2752       %2347 = OpFOrdGreaterThanEqual %bool %2334 %2341
2753       %2348 = OpExtInst %float %1 Log %2253
2754       %2349 = OpFDiv %float %2348 %1065
2755       %2350 = OpFOrdLessThan %bool %2334 %2349
2756       %2351 = OpLogicalAnd %bool %2347 %2350
2757               OpSelectionMerge %2352 None
2758               OpBranchConditional %2351 %2353 %2354
2759       %2354 = OpLabel
2760       %2355 = OpExtInst %float %1 Log %float_10000
2761       %2356 = OpFDiv %float %2355 %1065
2762               OpBranch %2352
2763       %2353 = OpLabel
2764       %2357 = OpFSub %float %2334 %2341
2765       %2358 = OpFMul %float %float_3 %2357
2766       %2359 = OpFSub %float %2349 %2341
2767       %2360 = OpFDiv %float %2358 %2359
2768       %2361 = OpConvertFToS %int %2360
2769       %2362 = OpConvertSToF %float %2361
2770       %2363 = OpFSub %float %2360 %2362
2771       %2364 = OpAccessChain %_ptr_Function_float %521 %2361
2772       %2365 = OpLoad %float %2364
2773       %2366 = OpIAdd %int %2361 %int_1
2774       %2367 = OpAccessChain %_ptr_Function_float %521 %2366
2775       %2368 = OpLoad %float %2367
2776       %2369 = OpIAdd %int %2361 %int_2
2777       %2370 = OpAccessChain %_ptr_Function_float %521 %2369
2778       %2371 = OpLoad %float %2370
2779       %2372 = OpCompositeConstruct %v3float %2365 %2368 %2371
2780       %2373 = OpFMul %float %2363 %2363
2781       %2374 = OpCompositeConstruct %v3float %2373 %2363 %float_1
2782       %2375 = OpMatrixTimesVector %v3float %442 %2372
2783       %2376 = OpDot %float %2374 %2375
2784               OpBranch %2352
2785       %2352 = OpLabel
2786       %2377 = OpPhi %float %2356 %2354 %2376 %2353
2787               OpBranch %2344
2788       %2345 = OpLabel
2789       %2378 = OpFSub %float %2334 %2260
2790       %2379 = OpFMul %float %float_3 %2378
2791       %2380 = OpFSub %float %2341 %2260
2792       %2381 = OpFDiv %float %2379 %2380
2793       %2382 = OpConvertFToS %int %2381
2794       %2383 = OpConvertSToF %float %2382
2795       %2384 = OpFSub %float %2381 %2383
2796       %2385 = OpAccessChain %_ptr_Function_float %522 %2382
2797       %2386 = OpLoad %float %2385
2798       %2387 = OpIAdd %int %2382 %int_1
2799       %2388 = OpAccessChain %_ptr_Function_float %522 %2387
2800       %2389 = OpLoad %float %2388
2801       %2390 = OpIAdd %int %2382 %int_2
2802       %2391 = OpAccessChain %_ptr_Function_float %522 %2390
2803       %2392 = OpLoad %float %2391
2804       %2393 = OpCompositeConstruct %v3float %2386 %2389 %2392
2805       %2394 = OpFMul %float %2384 %2384
2806       %2395 = OpCompositeConstruct %v3float %2394 %2384 %float_1
2807       %2396 = OpMatrixTimesVector %v3float %442 %2393
2808       %2397 = OpDot %float %2395 %2396
2809               OpBranch %2344
2810       %2344 = OpLabel
2811       %2398 = OpPhi %float %2377 %2352 %2397 %2345
2812               OpBranch %2336
2813       %2337 = OpLabel
2814       %2399 = OpExtInst %float %1 Log %float_9_99999975en05
2815       %2400 = OpFDiv %float %2399 %1065
2816               OpBranch %2336
2817       %2336 = OpLabel
2818       %2401 = OpPhi %float %2398 %2344 %2400 %2337
2819       %2402 = OpExtInst %float %1 Pow %float_10 %2401
2820       %2403 = OpCompositeInsert %v3float %2402 %2329 1
2821       %2404 = OpCompositeExtract %float %2248 2
2822               OpStore %524 %475
2823               OpStore %523 %476
2824       %2405 = OpFOrdLessThanEqual %bool %2404 %float_0
2825       %2406 = OpSelect %float %2405 %2255 %2404
2826       %2407 = OpExtInst %float %1 Log %2406
2827       %2408 = OpFDiv %float %2407 %1065
2828       %2409 = OpFOrdLessThanEqual %bool %2408 %2260
2829               OpSelectionMerge %2410 None
2830               OpBranchConditional %2409 %2411 %2412
2831       %2412 = OpLabel
2832       %2413 = OpFOrdGreaterThan %bool %2408 %2260
2833       %2414 = OpExtInst %float %1 Log %float_0_180000007
2834       %2415 = OpFDiv %float %2414 %1065
2835       %2416 = OpFOrdLessThan %bool %2408 %2415
2836       %2417 = OpLogicalAnd %bool %2413 %2416
2837               OpSelectionMerge %2418 None
2838               OpBranchConditional %2417 %2419 %2420
2839       %2420 = OpLabel
2840       %2421 = OpFOrdGreaterThanEqual %bool %2408 %2415
2841       %2422 = OpExtInst %float %1 Log %2253
2842       %2423 = OpFDiv %float %2422 %1065
2843       %2424 = OpFOrdLessThan %bool %2408 %2423
2844       %2425 = OpLogicalAnd %bool %2421 %2424
2845               OpSelectionMerge %2426 None
2846               OpBranchConditional %2425 %2427 %2428
2847       %2428 = OpLabel
2848       %2429 = OpExtInst %float %1 Log %float_10000
2849       %2430 = OpFDiv %float %2429 %1065
2850               OpBranch %2426
2851       %2427 = OpLabel
2852       %2431 = OpFSub %float %2408 %2415
2853       %2432 = OpFMul %float %float_3 %2431
2854       %2433 = OpFSub %float %2423 %2415
2855       %2434 = OpFDiv %float %2432 %2433
2856       %2435 = OpConvertFToS %int %2434
2857       %2436 = OpConvertSToF %float %2435
2858       %2437 = OpFSub %float %2434 %2436
2859       %2438 = OpAccessChain %_ptr_Function_float %523 %2435
2860       %2439 = OpLoad %float %2438
2861       %2440 = OpIAdd %int %2435 %int_1
2862       %2441 = OpAccessChain %_ptr_Function_float %523 %2440
2863       %2442 = OpLoad %float %2441
2864       %2443 = OpIAdd %int %2435 %int_2
2865       %2444 = OpAccessChain %_ptr_Function_float %523 %2443
2866       %2445 = OpLoad %float %2444
2867       %2446 = OpCompositeConstruct %v3float %2439 %2442 %2445
2868       %2447 = OpFMul %float %2437 %2437
2869       %2448 = OpCompositeConstruct %v3float %2447 %2437 %float_1
2870       %2449 = OpMatrixTimesVector %v3float %442 %2446
2871       %2450 = OpDot %float %2448 %2449
2872               OpBranch %2426
2873       %2426 = OpLabel
2874       %2451 = OpPhi %float %2430 %2428 %2450 %2427
2875               OpBranch %2418
2876       %2419 = OpLabel
2877       %2452 = OpFSub %float %2408 %2260
2878       %2453 = OpFMul %float %float_3 %2452
2879       %2454 = OpFSub %float %2415 %2260
2880       %2455 = OpFDiv %float %2453 %2454
2881       %2456 = OpConvertFToS %int %2455
2882       %2457 = OpConvertSToF %float %2456
2883       %2458 = OpFSub %float %2455 %2457
2884       %2459 = OpAccessChain %_ptr_Function_float %524 %2456
2885       %2460 = OpLoad %float %2459
2886       %2461 = OpIAdd %int %2456 %int_1
2887       %2462 = OpAccessChain %_ptr_Function_float %524 %2461
2888       %2463 = OpLoad %float %2462
2889       %2464 = OpIAdd %int %2456 %int_2
2890       %2465 = OpAccessChain %_ptr_Function_float %524 %2464
2891       %2466 = OpLoad %float %2465
2892       %2467 = OpCompositeConstruct %v3float %2460 %2463 %2466
2893       %2468 = OpFMul %float %2458 %2458
2894       %2469 = OpCompositeConstruct %v3float %2468 %2458 %float_1
2895       %2470 = OpMatrixTimesVector %v3float %442 %2467
2896       %2471 = OpDot %float %2469 %2470
2897               OpBranch %2418
2898       %2418 = OpLabel
2899       %2472 = OpPhi %float %2451 %2426 %2471 %2419
2900               OpBranch %2410
2901       %2411 = OpLabel
2902       %2473 = OpExtInst %float %1 Log %float_9_99999975en05
2903       %2474 = OpFDiv %float %2473 %1065
2904               OpBranch %2410
2905       %2410 = OpLabel
2906       %2475 = OpPhi %float %2472 %2418 %2474 %2411
2907       %2476 = OpExtInst %float %1 Pow %float_10 %2475
2908       %2477 = OpCompositeInsert %v3float %2476 %2403 2
2909       %2478 = OpVectorTimesMatrix %v3float %2477 %414
2910       %2479 = OpVectorTimesMatrix %v3float %2478 %410
2911       %2480 = OpExtInst %float %1 Pow %float_2 %float_n12
2912       %2481 = OpFMul %float %float_0_179999992 %2480
2913               OpStore %532 %475
2914               OpStore %531 %476
2915       %2482 = OpFOrdLessThanEqual %bool %2481 %float_0
2916       %2483 = OpSelect %float %2482 %2255 %2481
2917       %2484 = OpExtInst %float %1 Log %2483
2918       %2485 = OpFDiv %float %2484 %1065
2919       %2486 = OpFOrdLessThanEqual %bool %2485 %2260
2920               OpSelectionMerge %2487 None
2921               OpBranchConditional %2486 %2488 %2489
2922       %2489 = OpLabel
2923       %2490 = OpFOrdGreaterThan %bool %2485 %2260
2924       %2491 = OpExtInst %float %1 Log %float_0_180000007
2925       %2492 = OpFDiv %float %2491 %1065
2926       %2493 = OpFOrdLessThan %bool %2485 %2492
2927       %2494 = OpLogicalAnd %bool %2490 %2493
2928               OpSelectionMerge %2495 None
2929               OpBranchConditional %2494 %2496 %2497
2930       %2497 = OpLabel
2931       %2498 = OpFOrdGreaterThanEqual %bool %2485 %2492
2932       %2499 = OpExtInst %float %1 Log %2253
2933       %2500 = OpFDiv %float %2499 %1065
2934       %2501 = OpFOrdLessThan %bool %2485 %2500
2935       %2502 = OpLogicalAnd %bool %2498 %2501
2936               OpSelectionMerge %2503 None
2937               OpBranchConditional %2502 %2504 %2505
2938       %2505 = OpLabel
2939       %2506 = OpExtInst %float %1 Log %float_10000
2940       %2507 = OpFDiv %float %2506 %1065
2941               OpBranch %2503
2942       %2504 = OpLabel
2943       %2508 = OpFSub %float %2485 %2492
2944       %2509 = OpFMul %float %float_3 %2508
2945       %2510 = OpFSub %float %2500 %2492
2946       %2511 = OpFDiv %float %2509 %2510
2947       %2512 = OpConvertFToS %int %2511
2948       %2513 = OpConvertSToF %float %2512
2949       %2514 = OpFSub %float %2511 %2513
2950       %2515 = OpAccessChain %_ptr_Function_float %531 %2512
2951       %2516 = OpLoad %float %2515
2952       %2517 = OpIAdd %int %2512 %int_1
2953       %2518 = OpAccessChain %_ptr_Function_float %531 %2517
2954       %2519 = OpLoad %float %2518
2955       %2520 = OpIAdd %int %2512 %int_2
2956       %2521 = OpAccessChain %_ptr_Function_float %531 %2520
2957       %2522 = OpLoad %float %2521
2958       %2523 = OpCompositeConstruct %v3float %2516 %2519 %2522
2959       %2524 = OpFMul %float %2514 %2514
2960       %2525 = OpCompositeConstruct %v3float %2524 %2514 %float_1
2961       %2526 = OpMatrixTimesVector %v3float %442 %2523
2962       %2527 = OpDot %float %2525 %2526
2963               OpBranch %2503
2964       %2503 = OpLabel
2965       %2528 = OpPhi %float %2507 %2505 %2527 %2504
2966               OpBranch %2495
2967       %2496 = OpLabel
2968       %2529 = OpFSub %float %2485 %2260
2969       %2530 = OpFMul %float %float_3 %2529
2970       %2531 = OpFSub %float %2492 %2260
2971       %2532 = OpFDiv %float %2530 %2531
2972       %2533 = OpConvertFToS %int %2532
2973       %2534 = OpConvertSToF %float %2533
2974       %2535 = OpFSub %float %2532 %2534
2975       %2536 = OpAccessChain %_ptr_Function_float %532 %2533
2976       %2537 = OpLoad %float %2536
2977       %2538 = OpIAdd %int %2533 %int_1
2978       %2539 = OpAccessChain %_ptr_Function_float %532 %2538
2979       %2540 = OpLoad %float %2539
2980       %2541 = OpIAdd %int %2533 %int_2
2981       %2542 = OpAccessChain %_ptr_Function_float %532 %2541
2982       %2543 = OpLoad %float %2542
2983       %2544 = OpCompositeConstruct %v3float %2537 %2540 %2543
2984       %2545 = OpFMul %float %2535 %2535
2985       %2546 = OpCompositeConstruct %v3float %2545 %2535 %float_1
2986       %2547 = OpMatrixTimesVector %v3float %442 %2544
2987       %2548 = OpDot %float %2546 %2547
2988               OpBranch %2495
2989       %2495 = OpLabel
2990       %2549 = OpPhi %float %2528 %2503 %2548 %2496
2991               OpBranch %2487
2992       %2488 = OpLabel
2993       %2550 = OpExtInst %float %1 Log %float_9_99999975en05
2994       %2551 = OpFDiv %float %2550 %1065
2995               OpBranch %2487
2996       %2487 = OpLabel
2997       %2552 = OpPhi %float %2549 %2495 %2551 %2488
2998       %2553 = OpExtInst %float %1 Pow %float_10 %2552
2999               OpStore %534 %475
3000               OpStore %533 %476
3001       %2554 = OpExtInst %float %1 Log %float_0_180000007
3002       %2555 = OpFDiv %float %2554 %1065
3003       %2556 = OpFOrdLessThanEqual %bool %2555 %2260
3004               OpSelectionMerge %2557 None
3005               OpBranchConditional %2556 %2558 %2559
3006       %2559 = OpLabel
3007       %2560 = OpFOrdGreaterThan %bool %2555 %2260
3008       %2561 = OpFOrdLessThan %bool %2555 %2555
3009       %2562 = OpLogicalAnd %bool %2560 %2561
3010               OpSelectionMerge %2563 None
3011               OpBranchConditional %2562 %2564 %2565
3012       %2565 = OpLabel
3013       %2566 = OpFOrdGreaterThanEqual %bool %2555 %2555
3014       %2567 = OpExtInst %float %1 Log %2253
3015       %2568 = OpFDiv %float %2567 %1065
3016       %2569 = OpFOrdLessThan %bool %2555 %2568
3017       %2570 = OpLogicalAnd %bool %2566 %2569
3018               OpSelectionMerge %2571 None
3019               OpBranchConditional %2570 %2572 %2573
3020       %2573 = OpLabel
3021       %2574 = OpExtInst %float %1 Log %float_10000
3022       %2575 = OpFDiv %float %2574 %1065
3023               OpBranch %2571
3024       %2572 = OpLabel
3025       %2576 = OpFSub %float %2555 %2555
3026       %2577 = OpFMul %float %float_3 %2576
3027       %2578 = OpFSub %float %2568 %2555
3028       %2579 = OpFDiv %float %2577 %2578
3029       %2580 = OpConvertFToS %int %2579
3030       %2581 = OpConvertSToF %float %2580
3031       %2582 = OpFSub %float %2579 %2581
3032       %2583 = OpAccessChain %_ptr_Function_float %533 %2580
3033       %2584 = OpLoad %float %2583
3034       %2585 = OpIAdd %int %2580 %int_1
3035       %2586 = OpAccessChain %_ptr_Function_float %533 %2585
3036       %2587 = OpLoad %float %2586
3037       %2588 = OpIAdd %int %2580 %int_2
3038       %2589 = OpAccessChain %_ptr_Function_float %533 %2588
3039       %2590 = OpLoad %float %2589
3040       %2591 = OpCompositeConstruct %v3float %2584 %2587 %2590
3041       %2592 = OpFMul %float %2582 %2582
3042       %2593 = OpCompositeConstruct %v3float %2592 %2582 %float_1
3043       %2594 = OpMatrixTimesVector %v3float %442 %2591
3044       %2595 = OpDot %float %2593 %2594
3045               OpBranch %2571
3046       %2571 = OpLabel
3047       %2596 = OpPhi %float %2575 %2573 %2595 %2572
3048               OpBranch %2563
3049       %2564 = OpLabel
3050       %2597 = OpFSub %float %2555 %2260
3051       %2598 = OpFMul %float %float_3 %2597
3052       %2599 = OpAccessChain %_ptr_Function_float %534 %int_3
3053       %2600 = OpLoad %float %2599
3054       %2601 = OpAccessChain %_ptr_Function_float %534 %int_4
3055       %2602 = OpLoad %float %2601
3056       %2603 = OpAccessChain %_ptr_Function_float %534 %int_5
3057       %2604 = OpLoad %float %2603
3058       %2605 = OpCompositeConstruct %v3float %2600 %2602 %2604
3059       %2606 = OpMatrixTimesVector %v3float %442 %2605
3060       %2607 = OpCompositeExtract %float %2606 2
3061               OpBranch %2563
3062       %2563 = OpLabel
3063       %2608 = OpPhi %float %2596 %2571 %2607 %2564
3064               OpBranch %2557
3065       %2558 = OpLabel
3066       %2609 = OpExtInst %float %1 Log %float_9_99999975en05
3067       %2610 = OpFDiv %float %2609 %1065
3068               OpBranch %2557
3069       %2557 = OpLabel
3070       %2611 = OpPhi %float %2608 %2563 %2610 %2558
3071       %2612 = OpExtInst %float %1 Pow %float_10 %2611
3072       %2613 = OpExtInst %float %1 Pow %float_2 %float_10
3073       %2614 = OpFMul %float %float_0_179999992 %2613
3074               OpStore %536 %475
3075               OpStore %535 %476
3076       %2615 = OpFOrdLessThanEqual %bool %2614 %float_0
3077       %2616 = OpSelect %float %2615 %2255 %2614
3078       %2617 = OpExtInst %float %1 Log %2616
3079       %2618 = OpFDiv %float %2617 %1065
3080       %2619 = OpFOrdLessThanEqual %bool %2618 %2260
3081               OpSelectionMerge %2620 None
3082               OpBranchConditional %2619 %2621 %2622
3083       %2622 = OpLabel
3084       %2623 = OpFOrdGreaterThan %bool %2618 %2260
3085       %2624 = OpFOrdLessThan %bool %2618 %2555
3086       %2625 = OpLogicalAnd %bool %2623 %2624
3087               OpSelectionMerge %2626 None
3088               OpBranchConditional %2625 %2627 %2628
3089       %2628 = OpLabel
3090       %2629 = OpFOrdGreaterThanEqual %bool %2618 %2555
3091       %2630 = OpExtInst %float %1 Log %2253
3092       %2631 = OpFDiv %float %2630 %1065
3093       %2632 = OpFOrdLessThan %bool %2618 %2631
3094       %2633 = OpLogicalAnd %bool %2629 %2632
3095               OpSelectionMerge %2634 None
3096               OpBranchConditional %2633 %2635 %2636
3097       %2636 = OpLabel
3098       %2637 = OpExtInst %float %1 Log %float_10000
3099       %2638 = OpFDiv %float %2637 %1065
3100               OpBranch %2634
3101       %2635 = OpLabel
3102       %2639 = OpFSub %float %2618 %2555
3103       %2640 = OpFMul %float %float_3 %2639
3104       %2641 = OpFSub %float %2631 %2555
3105       %2642 = OpFDiv %float %2640 %2641
3106       %2643 = OpConvertFToS %int %2642
3107       %2644 = OpConvertSToF %float %2643
3108       %2645 = OpFSub %float %2642 %2644
3109       %2646 = OpAccessChain %_ptr_Function_float %535 %2643
3110       %2647 = OpLoad %float %2646
3111       %2648 = OpIAdd %int %2643 %int_1
3112       %2649 = OpAccessChain %_ptr_Function_float %535 %2648
3113       %2650 = OpLoad %float %2649
3114       %2651 = OpIAdd %int %2643 %int_2
3115       %2652 = OpAccessChain %_ptr_Function_float %535 %2651
3116       %2653 = OpLoad %float %2652
3117       %2654 = OpCompositeConstruct %v3float %2647 %2650 %2653
3118       %2655 = OpFMul %float %2645 %2645
3119       %2656 = OpCompositeConstruct %v3float %2655 %2645 %float_1
3120       %2657 = OpMatrixTimesVector %v3float %442 %2654
3121       %2658 = OpDot %float %2656 %2657
3122               OpBranch %2634
3123       %2634 = OpLabel
3124       %2659 = OpPhi %float %2638 %2636 %2658 %2635
3125               OpBranch %2626
3126       %2627 = OpLabel
3127       %2660 = OpFSub %float %2618 %2260
3128       %2661 = OpFMul %float %float_3 %2660
3129       %2662 = OpFSub %float %2555 %2260
3130       %2663 = OpFDiv %float %2661 %2662
3131       %2664 = OpConvertFToS %int %2663
3132       %2665 = OpConvertSToF %float %2664
3133       %2666 = OpFSub %float %2663 %2665
3134       %2667 = OpAccessChain %_ptr_Function_float %536 %2664
3135       %2668 = OpLoad %float %2667
3136       %2669 = OpIAdd %int %2664 %int_1
3137       %2670 = OpAccessChain %_ptr_Function_float %536 %2669
3138       %2671 = OpLoad %float %2670
3139       %2672 = OpIAdd %int %2664 %int_2
3140       %2673 = OpAccessChain %_ptr_Function_float %536 %2672
3141       %2674 = OpLoad %float %2673
3142       %2675 = OpCompositeConstruct %v3float %2668 %2671 %2674
3143       %2676 = OpFMul %float %2666 %2666
3144       %2677 = OpCompositeConstruct %v3float %2676 %2666 %float_1
3145       %2678 = OpMatrixTimesVector %v3float %442 %2675
3146       %2679 = OpDot %float %2677 %2678
3147               OpBranch %2626
3148       %2626 = OpLabel
3149       %2680 = OpPhi %float %2659 %2634 %2679 %2627
3150               OpBranch %2620
3151       %2621 = OpLabel
3152       %2681 = OpExtInst %float %1 Log %float_9_99999975en05
3153       %2682 = OpFDiv %float %2681 %1065
3154               OpBranch %2620
3155       %2620 = OpLabel
3156       %2683 = OpPhi %float %2680 %2626 %2682 %2621
3157       %2684 = OpExtInst %float %1 Pow %float_10 %2683
3158       %2685 = OpCompositeExtract %float %2479 0
3159               OpStore %530 %479
3160               OpStore %529 %480
3161       %2686 = OpFOrdLessThanEqual %bool %2685 %float_0
3162       %2687 = OpSelect %float %2686 %float_9_99999975en05 %2685
3163       %2688 = OpExtInst %float %1 Log %2687
3164       %2689 = OpFDiv %float %2688 %1065
3165       %2690 = OpExtInst %float %1 Log %2553
3166       %2691 = OpFDiv %float %2690 %1065
3167       %2692 = OpFOrdLessThanEqual %bool %2689 %2691
3168               OpSelectionMerge %2693 None
3169               OpBranchConditional %2692 %2694 %2695
3170       %2695 = OpLabel
3171       %2696 = OpFOrdGreaterThan %bool %2689 %2691
3172       %2697 = OpExtInst %float %1 Log %2612
3173       %2698 = OpFDiv %float %2697 %1065
3174       %2699 = OpFOrdLessThan %bool %2689 %2698
3175       %2700 = OpLogicalAnd %bool %2696 %2699
3176               OpSelectionMerge %2701 None
3177               OpBranchConditional %2700 %2702 %2703
3178       %2703 = OpLabel
3179       %2704 = OpFOrdGreaterThanEqual %bool %2689 %2698
3180       %2705 = OpExtInst %float %1 Log %2684
3181       %2706 = OpFDiv %float %2705 %1065
3182       %2707 = OpFOrdLessThan %bool %2689 %2706
3183       %2708 = OpLogicalAnd %bool %2704 %2707
3184               OpSelectionMerge %2709 None
3185               OpBranchConditional %2708 %2710 %2711
3186       %2711 = OpLabel
3187       %2712 = OpFMul %float %2689 %float_0_0599999987
3188       %2713 = OpExtInst %float %1 Log %float_1000
3189       %2714 = OpFDiv %float %2713 %1065
3190       %2715 = OpFMul %float %float_0_0599999987 %2705
3191       %2716 = OpFDiv %float %2715 %1065
3192       %2717 = OpFSub %float %2714 %2716
3193       %2718 = OpFAdd %float %2712 %2717
3194               OpBranch %2709
3195       %2710 = OpLabel
3196       %2719 = OpFSub %float %2689 %2698
3197       %2720 = OpFMul %float %float_7 %2719
3198       %2721 = OpFSub %float %2706 %2698
3199       %2722 = OpFDiv %float %2720 %2721
3200       %2723 = OpConvertFToS %int %2722
3201       %2724 = OpConvertSToF %float %2723
3202       %2725 = OpFSub %float %2722 %2724
3203       %2726 = OpAccessChain %_ptr_Function_float %529 %2723
3204       %2727 = OpLoad %float %2726
3205       %2728 = OpIAdd %int %2723 %int_1
3206       %2729 = OpAccessChain %_ptr_Function_float %529 %2728
3207       %2730 = OpLoad %float %2729
3208       %2731 = OpIAdd %int %2723 %int_2
3209       %2732 = OpAccessChain %_ptr_Function_float %529 %2731
3210       %2733 = OpLoad %float %2732
3211       %2734 = OpCompositeConstruct %v3float %2727 %2730 %2733
3212       %2735 = OpFMul %float %2725 %2725
3213       %2736 = OpCompositeConstruct %v3float %2735 %2725 %float_1
3214       %2737 = OpMatrixTimesVector %v3float %442 %2734
3215       %2738 = OpDot %float %2736 %2737
3216               OpBranch %2709
3217       %2709 = OpLabel
3218       %2739 = OpPhi %float %2718 %2711 %2738 %2710
3219               OpBranch %2701
3220       %2702 = OpLabel
3221       %2740 = OpFSub %float %2689 %2691
3222       %2741 = OpFMul %float %float_7 %2740
3223       %2742 = OpFSub %float %2698 %2691
3224       %2743 = OpFDiv %float %2741 %2742
3225       %2744 = OpConvertFToS %int %2743
3226       %2745 = OpConvertSToF %float %2744
3227       %2746 = OpFSub %float %2743 %2745
3228       %2747 = OpAccessChain %_ptr_Function_float %530 %2744
3229       %2748 = OpLoad %float %2747
3230       %2749 = OpIAdd %int %2744 %int_1
3231       %2750 = OpAccessChain %_ptr_Function_float %530 %2749
3232       %2751 = OpLoad %float %2750
3233       %2752 = OpIAdd %int %2744 %int_2
3234       %2753 = OpAccessChain %_ptr_Function_float %530 %2752
3235       %2754 = OpLoad %float %2753
3236       %2755 = OpCompositeConstruct %v3float %2748 %2751 %2754
3237       %2756 = OpFMul %float %2746 %2746
3238       %2757 = OpCompositeConstruct %v3float %2756 %2746 %float_1
3239       %2758 = OpMatrixTimesVector %v3float %442 %2755
3240       %2759 = OpDot %float %2757 %2758
3241               OpBranch %2701
3242       %2701 = OpLabel
3243       %2760 = OpPhi %float %2739 %2709 %2759 %2702
3244               OpBranch %2693
3245       %2694 = OpLabel
3246       %2761 = OpFMul %float %2689 %float_3
3247       %2762 = OpExtInst %float %1 Log %float_9_99999975en05
3248       %2763 = OpFDiv %float %2762 %1065
3249       %2764 = OpFMul %float %float_3 %2690
3250       %2765 = OpFDiv %float %2764 %1065
3251       %2766 = OpFSub %float %2763 %2765
3252       %2767 = OpFAdd %float %2761 %2766
3253               OpBranch %2693
3254       %2693 = OpLabel
3255       %2768 = OpPhi %float %2760 %2701 %2767 %2694
3256       %2769 = OpExtInst %float %1 Pow %float_10 %2768
3257       %2770 = OpCompositeInsert %v3float %2769 %391 0
3258       %2771 = OpCompositeExtract %float %2479 1
3259               OpStore %528 %479
3260               OpStore %527 %480
3261       %2772 = OpFOrdLessThanEqual %bool %2771 %float_0
3262       %2773 = OpSelect %float %2772 %float_9_99999975en05 %2771
3263       %2774 = OpExtInst %float %1 Log %2773
3264       %2775 = OpFDiv %float %2774 %1065
3265       %2776 = OpFOrdLessThanEqual %bool %2775 %2691
3266               OpSelectionMerge %2777 None
3267               OpBranchConditional %2776 %2778 %2779
3268       %2779 = OpLabel
3269       %2780 = OpFOrdGreaterThan %bool %2775 %2691
3270       %2781 = OpExtInst %float %1 Log %2612
3271       %2782 = OpFDiv %float %2781 %1065
3272       %2783 = OpFOrdLessThan %bool %2775 %2782
3273       %2784 = OpLogicalAnd %bool %2780 %2783
3274               OpSelectionMerge %2785 None
3275               OpBranchConditional %2784 %2786 %2787
3276       %2787 = OpLabel
3277       %2788 = OpFOrdGreaterThanEqual %bool %2775 %2782
3278       %2789 = OpExtInst %float %1 Log %2684
3279       %2790 = OpFDiv %float %2789 %1065
3280       %2791 = OpFOrdLessThan %bool %2775 %2790
3281       %2792 = OpLogicalAnd %bool %2788 %2791
3282               OpSelectionMerge %2793 None
3283               OpBranchConditional %2792 %2794 %2795
3284       %2795 = OpLabel
3285       %2796 = OpFMul %float %2775 %float_0_0599999987
3286       %2797 = OpExtInst %float %1 Log %float_1000
3287       %2798 = OpFDiv %float %2797 %1065
3288       %2799 = OpFMul %float %float_0_0599999987 %2789
3289       %2800 = OpFDiv %float %2799 %1065
3290       %2801 = OpFSub %float %2798 %2800
3291       %2802 = OpFAdd %float %2796 %2801
3292               OpBranch %2793
3293       %2794 = OpLabel
3294       %2803 = OpFSub %float %2775 %2782
3295       %2804 = OpFMul %float %float_7 %2803
3296       %2805 = OpFSub %float %2790 %2782
3297       %2806 = OpFDiv %float %2804 %2805
3298       %2807 = OpConvertFToS %int %2806
3299       %2808 = OpConvertSToF %float %2807
3300       %2809 = OpFSub %float %2806 %2808
3301       %2810 = OpAccessChain %_ptr_Function_float %527 %2807
3302       %2811 = OpLoad %float %2810
3303       %2812 = OpIAdd %int %2807 %int_1
3304       %2813 = OpAccessChain %_ptr_Function_float %527 %2812
3305       %2814 = OpLoad %float %2813
3306       %2815 = OpIAdd %int %2807 %int_2
3307       %2816 = OpAccessChain %_ptr_Function_float %527 %2815
3308       %2817 = OpLoad %float %2816
3309       %2818 = OpCompositeConstruct %v3float %2811 %2814 %2817
3310       %2819 = OpFMul %float %2809 %2809
3311       %2820 = OpCompositeConstruct %v3float %2819 %2809 %float_1
3312       %2821 = OpMatrixTimesVector %v3float %442 %2818
3313       %2822 = OpDot %float %2820 %2821
3314               OpBranch %2793
3315       %2793 = OpLabel
3316       %2823 = OpPhi %float %2802 %2795 %2822 %2794
3317               OpBranch %2785
3318       %2786 = OpLabel
3319       %2824 = OpFSub %float %2775 %2691
3320       %2825 = OpFMul %float %float_7 %2824
3321       %2826 = OpFSub %float %2782 %2691
3322       %2827 = OpFDiv %float %2825 %2826
3323       %2828 = OpConvertFToS %int %2827
3324       %2829 = OpConvertSToF %float %2828
3325       %2830 = OpFSub %float %2827 %2829
3326       %2831 = OpAccessChain %_ptr_Function_float %528 %2828
3327       %2832 = OpLoad %float %2831
3328       %2833 = OpIAdd %int %2828 %int_1
3329       %2834 = OpAccessChain %_ptr_Function_float %528 %2833
3330       %2835 = OpLoad %float %2834
3331       %2836 = OpIAdd %int %2828 %int_2
3332       %2837 = OpAccessChain %_ptr_Function_float %528 %2836
3333       %2838 = OpLoad %float %2837
3334       %2839 = OpCompositeConstruct %v3float %2832 %2835 %2838
3335       %2840 = OpFMul %float %2830 %2830
3336       %2841 = OpCompositeConstruct %v3float %2840 %2830 %float_1
3337       %2842 = OpMatrixTimesVector %v3float %442 %2839
3338       %2843 = OpDot %float %2841 %2842
3339               OpBranch %2785
3340       %2785 = OpLabel
3341       %2844 = OpPhi %float %2823 %2793 %2843 %2786
3342               OpBranch %2777
3343       %2778 = OpLabel
3344       %2845 = OpFMul %float %2775 %float_3
3345       %2846 = OpExtInst %float %1 Log %float_9_99999975en05
3346       %2847 = OpFDiv %float %2846 %1065
3347       %2848 = OpFMul %float %float_3 %2690
3348       %2849 = OpFDiv %float %2848 %1065
3349       %2850 = OpFSub %float %2847 %2849
3350       %2851 = OpFAdd %float %2845 %2850
3351               OpBranch %2777
3352       %2777 = OpLabel
3353       %2852 = OpPhi %float %2844 %2785 %2851 %2778
3354       %2853 = OpExtInst %float %1 Pow %float_10 %2852
3355       %2854 = OpCompositeInsert %v3float %2853 %2770 1
3356       %2855 = OpCompositeExtract %float %2479 2
3357               OpStore %526 %479
3358               OpStore %525 %480
3359       %2856 = OpFOrdLessThanEqual %bool %2855 %float_0
3360       %2857 = OpSelect %float %2856 %float_9_99999975en05 %2855
3361       %2858 = OpExtInst %float %1 Log %2857
3362       %2859 = OpFDiv %float %2858 %1065
3363       %2860 = OpFOrdLessThanEqual %bool %2859 %2691
3364               OpSelectionMerge %2861 None
3365               OpBranchConditional %2860 %2862 %2863
3366       %2863 = OpLabel
3367       %2864 = OpFOrdGreaterThan %bool %2859 %2691
3368       %2865 = OpExtInst %float %1 Log %2612
3369       %2866 = OpFDiv %float %2865 %1065
3370       %2867 = OpFOrdLessThan %bool %2859 %2866
3371       %2868 = OpLogicalAnd %bool %2864 %2867
3372               OpSelectionMerge %2869 None
3373               OpBranchConditional %2868 %2870 %2871
3374       %2871 = OpLabel
3375       %2872 = OpFOrdGreaterThanEqual %bool %2859 %2866
3376       %2873 = OpExtInst %float %1 Log %2684
3377       %2874 = OpFDiv %float %2873 %1065
3378       %2875 = OpFOrdLessThan %bool %2859 %2874
3379       %2876 = OpLogicalAnd %bool %2872 %2875
3380               OpSelectionMerge %2877 None
3381               OpBranchConditional %2876 %2878 %2879
3382       %2879 = OpLabel
3383       %2880 = OpFMul %float %2859 %float_0_0599999987
3384       %2881 = OpExtInst %float %1 Log %float_1000
3385       %2882 = OpFDiv %float %2881 %1065
3386       %2883 = OpFMul %float %float_0_0599999987 %2873
3387       %2884 = OpFDiv %float %2883 %1065
3388       %2885 = OpFSub %float %2882 %2884
3389       %2886 = OpFAdd %float %2880 %2885
3390               OpBranch %2877
3391       %2878 = OpLabel
3392       %2887 = OpFSub %float %2859 %2866
3393       %2888 = OpFMul %float %float_7 %2887
3394       %2889 = OpFSub %float %2874 %2866
3395       %2890 = OpFDiv %float %2888 %2889
3396       %2891 = OpConvertFToS %int %2890
3397       %2892 = OpConvertSToF %float %2891
3398       %2893 = OpFSub %float %2890 %2892
3399       %2894 = OpAccessChain %_ptr_Function_float %525 %2891
3400       %2895 = OpLoad %float %2894
3401       %2896 = OpIAdd %int %2891 %int_1
3402       %2897 = OpAccessChain %_ptr_Function_float %525 %2896
3403       %2898 = OpLoad %float %2897
3404       %2899 = OpIAdd %int %2891 %int_2
3405       %2900 = OpAccessChain %_ptr_Function_float %525 %2899
3406       %2901 = OpLoad %float %2900
3407       %2902 = OpCompositeConstruct %v3float %2895 %2898 %2901
3408       %2903 = OpFMul %float %2893 %2893
3409       %2904 = OpCompositeConstruct %v3float %2903 %2893 %float_1
3410       %2905 = OpMatrixTimesVector %v3float %442 %2902
3411       %2906 = OpDot %float %2904 %2905
3412               OpBranch %2877
3413       %2877 = OpLabel
3414       %2907 = OpPhi %float %2886 %2879 %2906 %2878
3415               OpBranch %2869
3416       %2870 = OpLabel
3417       %2908 = OpFSub %float %2859 %2691
3418       %2909 = OpFMul %float %float_7 %2908
3419       %2910 = OpFSub %float %2866 %2691
3420       %2911 = OpFDiv %float %2909 %2910
3421       %2912 = OpConvertFToS %int %2911
3422       %2913 = OpConvertSToF %float %2912
3423       %2914 = OpFSub %float %2911 %2913
3424       %2915 = OpAccessChain %_ptr_Function_float %526 %2912
3425       %2916 = OpLoad %float %2915
3426       %2917 = OpIAdd %int %2912 %int_1
3427       %2918 = OpAccessChain %_ptr_Function_float %526 %2917
3428       %2919 = OpLoad %float %2918
3429       %2920 = OpIAdd %int %2912 %int_2
3430       %2921 = OpAccessChain %_ptr_Function_float %526 %2920
3431       %2922 = OpLoad %float %2921
3432       %2923 = OpCompositeConstruct %v3float %2916 %2919 %2922
3433       %2924 = OpFMul %float %2914 %2914
3434       %2925 = OpCompositeConstruct %v3float %2924 %2914 %float_1
3435       %2926 = OpMatrixTimesVector %v3float %442 %2923
3436       %2927 = OpDot %float %2925 %2926
3437               OpBranch %2869
3438       %2869 = OpLabel
3439       %2928 = OpPhi %float %2907 %2877 %2927 %2870
3440               OpBranch %2861
3441       %2862 = OpLabel
3442       %2929 = OpFMul %float %2859 %float_3
3443       %2930 = OpExtInst %float %1 Log %float_9_99999975en05
3444       %2931 = OpFDiv %float %2930 %1065
3445       %2932 = OpFMul %float %float_3 %2690
3446       %2933 = OpFDiv %float %2932 %1065
3447       %2934 = OpFSub %float %2931 %2933
3448       %2935 = OpFAdd %float %2929 %2934
3449               OpBranch %2861
3450       %2861 = OpLabel
3451       %2936 = OpPhi %float %2928 %2869 %2935 %2862
3452       %2937 = OpExtInst %float %1 Pow %float_10 %2936
3453       %2938 = OpCompositeInsert %v3float %2937 %2854 2
3454       %2939 = OpFSub %v3float %2938 %338
3455       %2940 = OpVectorTimesMatrix %v3float %2939 %576
3456       %2941 = OpFMul %v3float %2940 %496
3457       %2942 = OpExtInst %v3float %1 Pow %2941 %263
3458       %2943 = OpFMul %v3float %184 %2942
3459       %2944 = OpFAdd %v3float %183 %2943
3460       %2945 = OpFMul %v3float %185 %2942
3461       %2946 = OpFAdd %v3float %135 %2945
3462       %2947 = OpFDiv %v3float %135 %2946
3463       %2948 = OpFMul %v3float %2944 %2947
3464       %2949 = OpExtInst %v3float %1 Pow %2948 %264
3465               OpBranch %1230
3466       %1230 = OpLabel
3467       %2950 = OpPhi %v3float %2097 %1236 %2949 %2861
3468               OpBranch %1224
3469       %1225 = OpLabel
3470       %2951 = OpVectorTimesMatrix %v3float %1218 %547
3471       %2952 = OpVectorTimesMatrix %v3float %2951 %576
3472       %2953 = OpExtInst %v3float %1 FMax %250 %2952
3473       %2954 = OpFMul %v3float %2953 %252
3474       %2955 = OpExtInst %v3float %1 FMax %2953 %254
3475       %2956 = OpExtInst %v3float %1 Pow %2955 %256
3476       %2957 = OpFMul %v3float %2956 %258
3477       %2958 = OpFSub %v3float %2957 %260
3478       %2959 = OpExtInst %v3float %1 FMin %2954 %2958
3479               OpBranch %1224
3480       %1224 = OpLabel
3481       %2960 = OpPhi %v3float %2950 %1230 %2959 %1225
3482               OpBranch %1220
3483       %1221 = OpLabel
3484       %2961 = OpCompositeExtract %float %1218 0
3485               OpBranch %2962
3486       %2962 = OpLabel
3487               OpLoopMerge %2963 %2964 None
3488               OpBranch %2965
3489       %2965 = OpLabel
3490       %2966 = OpFOrdLessThan %bool %2961 %float_0_00313066994
3491               OpSelectionMerge %2967 None
3492               OpBranchConditional %2966 %2968 %2967
3493       %2968 = OpLabel
3494       %2969 = OpFMul %float %2961 %float_12_9200001
3495               OpBranch %2963
3496       %2967 = OpLabel
3497       %2970 = OpExtInst %float %1 Pow %2961 %float_0_416666657
3498       %2971 = OpFMul %float %2970 %float_1_05499995
3499       %2972 = OpFSub %float %2971 %float_0_0549999997
3500               OpBranch %2963
3501       %2964 = OpLabel
3502               OpBranch %2962
3503       %2963 = OpLabel
3504       %2973 = OpPhi %float %2969 %2968 %2972 %2967
3505       %2974 = OpCompositeExtract %float %1218 1
3506               OpBranch %2975
3507       %2975 = OpLabel
3508               OpLoopMerge %2976 %2977 None
3509               OpBranch %2978
3510       %2978 = OpLabel
3511       %2979 = OpFOrdLessThan %bool %2974 %float_0_00313066994
3512               OpSelectionMerge %2980 None
3513               OpBranchConditional %2979 %2981 %2980
3514       %2981 = OpLabel
3515       %2982 = OpFMul %float %2974 %float_12_9200001
3516               OpBranch %2976
3517       %2980 = OpLabel
3518       %2983 = OpExtInst %float %1 Pow %2974 %float_0_416666657
3519       %2984 = OpFMul %float %2983 %float_1_05499995
3520       %2985 = OpFSub %float %2984 %float_0_0549999997
3521               OpBranch %2976
3522       %2977 = OpLabel
3523               OpBranch %2975
3524       %2976 = OpLabel
3525       %2986 = OpPhi %float %2982 %2981 %2985 %2980
3526       %2987 = OpCompositeExtract %float %1218 2
3527               OpBranch %2988
3528       %2988 = OpLabel
3529               OpLoopMerge %2989 %2990 None
3530               OpBranch %2991
3531       %2991 = OpLabel
3532       %2992 = OpFOrdLessThan %bool %2987 %float_0_00313066994
3533               OpSelectionMerge %2993 None
3534               OpBranchConditional %2992 %2994 %2993
3535       %2994 = OpLabel
3536       %2995 = OpFMul %float %2987 %float_12_9200001
3537               OpBranch %2989
3538       %2993 = OpLabel
3539       %2996 = OpExtInst %float %1 Pow %2987 %float_0_416666657
3540       %2997 = OpFMul %float %2996 %float_1_05499995
3541       %2998 = OpFSub %float %2997 %float_0_0549999997
3542               OpBranch %2989
3543       %2990 = OpLabel
3544               OpBranch %2988
3545       %2989 = OpLabel
3546       %2999 = OpPhi %float %2995 %2994 %2998 %2993
3547       %3000 = OpCompositeConstruct %v3float %2973 %2986 %2999
3548               OpBranch %1220
3549       %1220 = OpLabel
3550       %3001 = OpPhi %v3float %2960 %1224 %3000 %2989
3551       %3002 = OpFMul %v3float %3001 %499
3552       %3003 = OpVectorShuffle %v4float %129 %3002 4 5 6 3
3553       %3004 = OpCompositeInsert %v4float %float_0 %3003 3
3554               OpStore %out_var_SV_Target0 %3004
3555               OpReturn
3556               OpFunctionEnd
3557