1# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2# modify the generating script file. Otherwise changes will be lost!
3
4group vector_swizzles "Vector Swizzles"
5
6	case mediump_vec2_x
7		version 310 es
8		values
9		{
10			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
11			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
12		}
13
14		both ""
15			#version 310 es
16			precision highp float;
17			precision highp int;
18
19			${DECLARATIONS}
20
21			void main()
22			{
23				${SETUP}
24				out0 = in0.x;
25				${OUTPUT}
26			}
27		""
28	end
29
30	case mediump_vec2_xx
31		version 310 es
32		values
33		{
34			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
35			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
36		}
37
38		both ""
39			#version 310 es
40			precision highp float;
41			precision highp int;
42
43			${DECLARATIONS}
44
45			void main()
46			{
47				${SETUP}
48				out0 = in0.xx;
49				${OUTPUT}
50			}
51		""
52	end
53
54	case mediump_vec2_xy
55		version 310 es
56		values
57		{
58			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
59			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
60		}
61
62		both ""
63			#version 310 es
64			precision highp float;
65			precision highp int;
66
67			${DECLARATIONS}
68
69			void main()
70			{
71				${SETUP}
72				out0 = in0.xy;
73				${OUTPUT}
74			}
75		""
76	end
77
78	case mediump_vec2_yx
79		version 310 es
80		values
81		{
82			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
83			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
84		}
85
86		both ""
87			#version 310 es
88			precision highp float;
89			precision highp int;
90
91			${DECLARATIONS}
92
93			void main()
94			{
95				${SETUP}
96				out0 = in0.yx;
97				${OUTPUT}
98			}
99		""
100	end
101
102	case mediump_vec2_yxy
103		version 310 es
104		values
105		{
106			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
107			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
108		}
109
110		both ""
111			#version 310 es
112			precision highp float;
113			precision highp int;
114
115			${DECLARATIONS}
116
117			void main()
118			{
119				${SETUP}
120				out0 = in0.yxy;
121				${OUTPUT}
122			}
123		""
124	end
125
126	case mediump_vec2_xyxx
127		version 310 es
128		values
129		{
130			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
131			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
132		}
133
134		both ""
135			#version 310 es
136			precision highp float;
137			precision highp int;
138
139			${DECLARATIONS}
140
141			void main()
142			{
143				${SETUP}
144				out0 = in0.xyxx;
145				${OUTPUT}
146			}
147		""
148	end
149
150	case mediump_vec2_yyyy
151		version 310 es
152		values
153		{
154			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
155			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
156		}
157
158		both ""
159			#version 310 es
160			precision highp float;
161			precision highp int;
162
163			${DECLARATIONS}
164
165			void main()
166			{
167				${SETUP}
168				out0 = in0.yyyy;
169				${OUTPUT}
170			}
171		""
172	end
173
174	case mediump_vec2_s
175		version 310 es
176		values
177		{
178			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
179			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
180		}
181
182		both ""
183			#version 310 es
184			precision highp float;
185			precision highp int;
186
187			${DECLARATIONS}
188
189			void main()
190			{
191				${SETUP}
192				out0 = in0.s;
193				${OUTPUT}
194			}
195		""
196	end
197
198	case mediump_vec2_ss
199		version 310 es
200		values
201		{
202			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
203			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
204		}
205
206		both ""
207			#version 310 es
208			precision highp float;
209			precision highp int;
210
211			${DECLARATIONS}
212
213			void main()
214			{
215				${SETUP}
216				out0 = in0.ss;
217				${OUTPUT}
218			}
219		""
220	end
221
222	case mediump_vec2_st
223		version 310 es
224		values
225		{
226			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
227			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
228		}
229
230		both ""
231			#version 310 es
232			precision highp float;
233			precision highp int;
234
235			${DECLARATIONS}
236
237			void main()
238			{
239				${SETUP}
240				out0 = in0.st;
241				${OUTPUT}
242			}
243		""
244	end
245
246	case mediump_vec2_ts
247		version 310 es
248		values
249		{
250			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
251			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
252		}
253
254		both ""
255			#version 310 es
256			precision highp float;
257			precision highp int;
258
259			${DECLARATIONS}
260
261			void main()
262			{
263				${SETUP}
264				out0 = in0.ts;
265				${OUTPUT}
266			}
267		""
268	end
269
270	case mediump_vec2_tst
271		version 310 es
272		values
273		{
274			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
275			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
276		}
277
278		both ""
279			#version 310 es
280			precision highp float;
281			precision highp int;
282
283			${DECLARATIONS}
284
285			void main()
286			{
287				${SETUP}
288				out0 = in0.tst;
289				${OUTPUT}
290			}
291		""
292	end
293
294	case mediump_vec2_stss
295		version 310 es
296		values
297		{
298			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
299			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
300		}
301
302		both ""
303			#version 310 es
304			precision highp float;
305			precision highp int;
306
307			${DECLARATIONS}
308
309			void main()
310			{
311				${SETUP}
312				out0 = in0.stss;
313				${OUTPUT}
314			}
315		""
316	end
317
318	case mediump_vec2_tttt
319		version 310 es
320		values
321		{
322			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
323			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
324		}
325
326		both ""
327			#version 310 es
328			precision highp float;
329			precision highp int;
330
331			${DECLARATIONS}
332
333			void main()
334			{
335				${SETUP}
336				out0 = in0.tttt;
337				${OUTPUT}
338			}
339		""
340	end
341
342	case mediump_vec2_r
343		version 310 es
344		values
345		{
346			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
347			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
348		}
349
350		both ""
351			#version 310 es
352			precision highp float;
353			precision highp int;
354
355			${DECLARATIONS}
356
357			void main()
358			{
359				${SETUP}
360				out0 = in0.r;
361				${OUTPUT}
362			}
363		""
364	end
365
366	case mediump_vec2_rr
367		version 310 es
368		values
369		{
370			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
371			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
372		}
373
374		both ""
375			#version 310 es
376			precision highp float;
377			precision highp int;
378
379			${DECLARATIONS}
380
381			void main()
382			{
383				${SETUP}
384				out0 = in0.rr;
385				${OUTPUT}
386			}
387		""
388	end
389
390	case mediump_vec2_rg
391		version 310 es
392		values
393		{
394			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
395			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
396		}
397
398		both ""
399			#version 310 es
400			precision highp float;
401			precision highp int;
402
403			${DECLARATIONS}
404
405			void main()
406			{
407				${SETUP}
408				out0 = in0.rg;
409				${OUTPUT}
410			}
411		""
412	end
413
414	case mediump_vec2_gr
415		version 310 es
416		values
417		{
418			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
419			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
420		}
421
422		both ""
423			#version 310 es
424			precision highp float;
425			precision highp int;
426
427			${DECLARATIONS}
428
429			void main()
430			{
431				${SETUP}
432				out0 = in0.gr;
433				${OUTPUT}
434			}
435		""
436	end
437
438	case mediump_vec2_grg
439		version 310 es
440		values
441		{
442			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
443			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
444		}
445
446		both ""
447			#version 310 es
448			precision highp float;
449			precision highp int;
450
451			${DECLARATIONS}
452
453			void main()
454			{
455				${SETUP}
456				out0 = in0.grg;
457				${OUTPUT}
458			}
459		""
460	end
461
462	case mediump_vec2_rgrr
463		version 310 es
464		values
465		{
466			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
467			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
468		}
469
470		both ""
471			#version 310 es
472			precision highp float;
473			precision highp int;
474
475			${DECLARATIONS}
476
477			void main()
478			{
479				${SETUP}
480				out0 = in0.rgrr;
481				${OUTPUT}
482			}
483		""
484	end
485
486	case mediump_vec2_gggg
487		version 310 es
488		values
489		{
490			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
491			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
492		}
493
494		both ""
495			#version 310 es
496			precision highp float;
497			precision highp int;
498
499			${DECLARATIONS}
500
501			void main()
502			{
503				${SETUP}
504				out0 = in0.gggg;
505				${OUTPUT}
506			}
507		""
508	end
509
510	case mediump_vec3_x
511		version 310 es
512		values
513		{
514			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
515			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
516		}
517
518		both ""
519			#version 310 es
520			precision highp float;
521			precision highp int;
522
523			${DECLARATIONS}
524
525			void main()
526			{
527				${SETUP}
528				out0 = in0.x;
529				${OUTPUT}
530			}
531		""
532	end
533
534	case mediump_vec3_z
535		version 310 es
536		values
537		{
538			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
539			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
540		}
541
542		both ""
543			#version 310 es
544			precision highp float;
545			precision highp int;
546
547			${DECLARATIONS}
548
549			void main()
550			{
551				${SETUP}
552				out0 = in0.z;
553				${OUTPUT}
554			}
555		""
556	end
557
558	case mediump_vec3_xz
559		version 310 es
560		values
561		{
562			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
563			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
564		}
565
566		both ""
567			#version 310 es
568			precision highp float;
569			precision highp int;
570
571			${DECLARATIONS}
572
573			void main()
574			{
575				${SETUP}
576				out0 = in0.xz;
577				${OUTPUT}
578			}
579		""
580	end
581
582	case mediump_vec3_zz
583		version 310 es
584		values
585		{
586			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
587			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
588		}
589
590		both ""
591			#version 310 es
592			precision highp float;
593			precision highp int;
594
595			${DECLARATIONS}
596
597			void main()
598			{
599				${SETUP}
600				out0 = in0.zz;
601				${OUTPUT}
602			}
603		""
604	end
605
606	case mediump_vec3_xyz
607		version 310 es
608		values
609		{
610			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
611			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
612		}
613
614		both ""
615			#version 310 es
616			precision highp float;
617			precision highp int;
618
619			${DECLARATIONS}
620
621			void main()
622			{
623				${SETUP}
624				out0 = in0.xyz;
625				${OUTPUT}
626			}
627		""
628	end
629
630	case mediump_vec3_zyx
631		version 310 es
632		values
633		{
634			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
635			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
636		}
637
638		both ""
639			#version 310 es
640			precision highp float;
641			precision highp int;
642
643			${DECLARATIONS}
644
645			void main()
646			{
647				${SETUP}
648				out0 = in0.zyx;
649				${OUTPUT}
650			}
651		""
652	end
653
654	case mediump_vec3_xxx
655		version 310 es
656		values
657		{
658			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
659			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
660		}
661
662		both ""
663			#version 310 es
664			precision highp float;
665			precision highp int;
666
667			${DECLARATIONS}
668
669			void main()
670			{
671				${SETUP}
672				out0 = in0.xxx;
673				${OUTPUT}
674			}
675		""
676	end
677
678	case mediump_vec3_zzz
679		version 310 es
680		values
681		{
682			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
683			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
684		}
685
686		both ""
687			#version 310 es
688			precision highp float;
689			precision highp int;
690
691			${DECLARATIONS}
692
693			void main()
694			{
695				${SETUP}
696				out0 = in0.zzz;
697				${OUTPUT}
698			}
699		""
700	end
701
702	case mediump_vec3_zzy
703		version 310 es
704		values
705		{
706			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
707			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
708		}
709
710		both ""
711			#version 310 es
712			precision highp float;
713			precision highp int;
714
715			${DECLARATIONS}
716
717			void main()
718			{
719				${SETUP}
720				out0 = in0.zzy;
721				${OUTPUT}
722			}
723		""
724	end
725
726	case mediump_vec3_yxy
727		version 310 es
728		values
729		{
730			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
731			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
732		}
733
734		both ""
735			#version 310 es
736			precision highp float;
737			precision highp int;
738
739			${DECLARATIONS}
740
741			void main()
742			{
743				${SETUP}
744				out0 = in0.yxy;
745				${OUTPUT}
746			}
747		""
748	end
749
750	case mediump_vec3_xzx
751		version 310 es
752		values
753		{
754			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
755			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
756		}
757
758		both ""
759			#version 310 es
760			precision highp float;
761			precision highp int;
762
763			${DECLARATIONS}
764
765			void main()
766			{
767				${SETUP}
768				out0 = in0.xzx;
769				${OUTPUT}
770			}
771		""
772	end
773
774	case mediump_vec3_xyyx
775		version 310 es
776		values
777		{
778			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
779			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
780		}
781
782		both ""
783			#version 310 es
784			precision highp float;
785			precision highp int;
786
787			${DECLARATIONS}
788
789			void main()
790			{
791				${SETUP}
792				out0 = in0.xyyx;
793				${OUTPUT}
794			}
795		""
796	end
797
798	case mediump_vec3_zzzz
799		version 310 es
800		values
801		{
802			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
803			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
804		}
805
806		both ""
807			#version 310 es
808			precision highp float;
809			precision highp int;
810
811			${DECLARATIONS}
812
813			void main()
814			{
815				${SETUP}
816				out0 = in0.zzzz;
817				${OUTPUT}
818			}
819		""
820	end
821
822	case mediump_vec3_s
823		version 310 es
824		values
825		{
826			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
827			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
828		}
829
830		both ""
831			#version 310 es
832			precision highp float;
833			precision highp int;
834
835			${DECLARATIONS}
836
837			void main()
838			{
839				${SETUP}
840				out0 = in0.s;
841				${OUTPUT}
842			}
843		""
844	end
845
846	case mediump_vec3_p
847		version 310 es
848		values
849		{
850			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
851			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
852		}
853
854		both ""
855			#version 310 es
856			precision highp float;
857			precision highp int;
858
859			${DECLARATIONS}
860
861			void main()
862			{
863				${SETUP}
864				out0 = in0.p;
865				${OUTPUT}
866			}
867		""
868	end
869
870	case mediump_vec3_sp
871		version 310 es
872		values
873		{
874			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
875			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
876		}
877
878		both ""
879			#version 310 es
880			precision highp float;
881			precision highp int;
882
883			${DECLARATIONS}
884
885			void main()
886			{
887				${SETUP}
888				out0 = in0.sp;
889				${OUTPUT}
890			}
891		""
892	end
893
894	case mediump_vec3_pp
895		version 310 es
896		values
897		{
898			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
899			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
900		}
901
902		both ""
903			#version 310 es
904			precision highp float;
905			precision highp int;
906
907			${DECLARATIONS}
908
909			void main()
910			{
911				${SETUP}
912				out0 = in0.pp;
913				${OUTPUT}
914			}
915		""
916	end
917
918	case mediump_vec3_stp
919		version 310 es
920		values
921		{
922			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
923			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
924		}
925
926		both ""
927			#version 310 es
928			precision highp float;
929			precision highp int;
930
931			${DECLARATIONS}
932
933			void main()
934			{
935				${SETUP}
936				out0 = in0.stp;
937				${OUTPUT}
938			}
939		""
940	end
941
942	case mediump_vec3_pts
943		version 310 es
944		values
945		{
946			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
947			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
948		}
949
950		both ""
951			#version 310 es
952			precision highp float;
953			precision highp int;
954
955			${DECLARATIONS}
956
957			void main()
958			{
959				${SETUP}
960				out0 = in0.pts;
961				${OUTPUT}
962			}
963		""
964	end
965
966	case mediump_vec3_sss
967		version 310 es
968		values
969		{
970			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
971			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
972		}
973
974		both ""
975			#version 310 es
976			precision highp float;
977			precision highp int;
978
979			${DECLARATIONS}
980
981			void main()
982			{
983				${SETUP}
984				out0 = in0.sss;
985				${OUTPUT}
986			}
987		""
988	end
989
990	case mediump_vec3_ppp
991		version 310 es
992		values
993		{
994			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
995			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
996		}
997
998		both ""
999			#version 310 es
1000			precision highp float;
1001			precision highp int;
1002
1003			${DECLARATIONS}
1004
1005			void main()
1006			{
1007				${SETUP}
1008				out0 = in0.ppp;
1009				${OUTPUT}
1010			}
1011		""
1012	end
1013
1014	case mediump_vec3_ppt
1015		version 310 es
1016		values
1017		{
1018			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1019			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
1020		}
1021
1022		both ""
1023			#version 310 es
1024			precision highp float;
1025			precision highp int;
1026
1027			${DECLARATIONS}
1028
1029			void main()
1030			{
1031				${SETUP}
1032				out0 = in0.ppt;
1033				${OUTPUT}
1034			}
1035		""
1036	end
1037
1038	case mediump_vec3_tst
1039		version 310 es
1040		values
1041		{
1042			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1043			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
1044		}
1045
1046		both ""
1047			#version 310 es
1048			precision highp float;
1049			precision highp int;
1050
1051			${DECLARATIONS}
1052
1053			void main()
1054			{
1055				${SETUP}
1056				out0 = in0.tst;
1057				${OUTPUT}
1058			}
1059		""
1060	end
1061
1062	case mediump_vec3_sps
1063		version 310 es
1064		values
1065		{
1066			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1067			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
1068		}
1069
1070		both ""
1071			#version 310 es
1072			precision highp float;
1073			precision highp int;
1074
1075			${DECLARATIONS}
1076
1077			void main()
1078			{
1079				${SETUP}
1080				out0 = in0.sps;
1081				${OUTPUT}
1082			}
1083		""
1084	end
1085
1086	case mediump_vec3_stts
1087		version 310 es
1088		values
1089		{
1090			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1091			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
1092		}
1093
1094		both ""
1095			#version 310 es
1096			precision highp float;
1097			precision highp int;
1098
1099			${DECLARATIONS}
1100
1101			void main()
1102			{
1103				${SETUP}
1104				out0 = in0.stts;
1105				${OUTPUT}
1106			}
1107		""
1108	end
1109
1110	case mediump_vec3_pppp
1111		version 310 es
1112		values
1113		{
1114			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1115			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1116		}
1117
1118		both ""
1119			#version 310 es
1120			precision highp float;
1121			precision highp int;
1122
1123			${DECLARATIONS}
1124
1125			void main()
1126			{
1127				${SETUP}
1128				out0 = in0.pppp;
1129				${OUTPUT}
1130			}
1131		""
1132	end
1133
1134	case mediump_vec3_r
1135		version 310 es
1136		values
1137		{
1138			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1139			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1140		}
1141
1142		both ""
1143			#version 310 es
1144			precision highp float;
1145			precision highp int;
1146
1147			${DECLARATIONS}
1148
1149			void main()
1150			{
1151				${SETUP}
1152				out0 = in0.r;
1153				${OUTPUT}
1154			}
1155		""
1156	end
1157
1158	case mediump_vec3_b
1159		version 310 es
1160		values
1161		{
1162			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1163			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
1164		}
1165
1166		both ""
1167			#version 310 es
1168			precision highp float;
1169			precision highp int;
1170
1171			${DECLARATIONS}
1172
1173			void main()
1174			{
1175				${SETUP}
1176				out0 = in0.b;
1177				${OUTPUT}
1178			}
1179		""
1180	end
1181
1182	case mediump_vec3_rb
1183		version 310 es
1184		values
1185		{
1186			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1187			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
1188		}
1189
1190		both ""
1191			#version 310 es
1192			precision highp float;
1193			precision highp int;
1194
1195			${DECLARATIONS}
1196
1197			void main()
1198			{
1199				${SETUP}
1200				out0 = in0.rb;
1201				${OUTPUT}
1202			}
1203		""
1204	end
1205
1206	case mediump_vec3_bb
1207		version 310 es
1208		values
1209		{
1210			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1211			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
1212		}
1213
1214		both ""
1215			#version 310 es
1216			precision highp float;
1217			precision highp int;
1218
1219			${DECLARATIONS}
1220
1221			void main()
1222			{
1223				${SETUP}
1224				out0 = in0.bb;
1225				${OUTPUT}
1226			}
1227		""
1228	end
1229
1230	case mediump_vec3_rgb
1231		version 310 es
1232		values
1233		{
1234			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1235			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1236		}
1237
1238		both ""
1239			#version 310 es
1240			precision highp float;
1241			precision highp int;
1242
1243			${DECLARATIONS}
1244
1245			void main()
1246			{
1247				${SETUP}
1248				out0 = in0.rgb;
1249				${OUTPUT}
1250			}
1251		""
1252	end
1253
1254	case mediump_vec3_bgr
1255		version 310 es
1256		values
1257		{
1258			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1259			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
1260		}
1261
1262		both ""
1263			#version 310 es
1264			precision highp float;
1265			precision highp int;
1266
1267			${DECLARATIONS}
1268
1269			void main()
1270			{
1271				${SETUP}
1272				out0 = in0.bgr;
1273				${OUTPUT}
1274			}
1275		""
1276	end
1277
1278	case mediump_vec3_rrr
1279		version 310 es
1280		values
1281		{
1282			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1283			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
1284		}
1285
1286		both ""
1287			#version 310 es
1288			precision highp float;
1289			precision highp int;
1290
1291			${DECLARATIONS}
1292
1293			void main()
1294			{
1295				${SETUP}
1296				out0 = in0.rrr;
1297				${OUTPUT}
1298			}
1299		""
1300	end
1301
1302	case mediump_vec3_bbb
1303		version 310 es
1304		values
1305		{
1306			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1307			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1308		}
1309
1310		both ""
1311			#version 310 es
1312			precision highp float;
1313			precision highp int;
1314
1315			${DECLARATIONS}
1316
1317			void main()
1318			{
1319				${SETUP}
1320				out0 = in0.bbb;
1321				${OUTPUT}
1322			}
1323		""
1324	end
1325
1326	case mediump_vec3_bbg
1327		version 310 es
1328		values
1329		{
1330			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1331			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
1332		}
1333
1334		both ""
1335			#version 310 es
1336			precision highp float;
1337			precision highp int;
1338
1339			${DECLARATIONS}
1340
1341			void main()
1342			{
1343				${SETUP}
1344				out0 = in0.bbg;
1345				${OUTPUT}
1346			}
1347		""
1348	end
1349
1350	case mediump_vec3_grg
1351		version 310 es
1352		values
1353		{
1354			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1355			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
1356		}
1357
1358		both ""
1359			#version 310 es
1360			precision highp float;
1361			precision highp int;
1362
1363			${DECLARATIONS}
1364
1365			void main()
1366			{
1367				${SETUP}
1368				out0 = in0.grg;
1369				${OUTPUT}
1370			}
1371		""
1372	end
1373
1374	case mediump_vec3_rbr
1375		version 310 es
1376		values
1377		{
1378			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1379			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
1380		}
1381
1382		both ""
1383			#version 310 es
1384			precision highp float;
1385			precision highp int;
1386
1387			${DECLARATIONS}
1388
1389			void main()
1390			{
1391				${SETUP}
1392				out0 = in0.rbr;
1393				${OUTPUT}
1394			}
1395		""
1396	end
1397
1398	case mediump_vec3_rggr
1399		version 310 es
1400		values
1401		{
1402			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1403			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
1404		}
1405
1406		both ""
1407			#version 310 es
1408			precision highp float;
1409			precision highp int;
1410
1411			${DECLARATIONS}
1412
1413			void main()
1414			{
1415				${SETUP}
1416				out0 = in0.rggr;
1417				${OUTPUT}
1418			}
1419		""
1420	end
1421
1422	case mediump_vec3_bbbb
1423		version 310 es
1424		values
1425		{
1426			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1427			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1428		}
1429
1430		both ""
1431			#version 310 es
1432			precision highp float;
1433			precision highp int;
1434
1435			${DECLARATIONS}
1436
1437			void main()
1438			{
1439				${SETUP}
1440				out0 = in0.bbbb;
1441				${OUTPUT}
1442			}
1443		""
1444	end
1445
1446	case mediump_vec4_x
1447		version 310 es
1448		values
1449		{
1450			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1451			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1452		}
1453
1454		both ""
1455			#version 310 es
1456			precision highp float;
1457			precision highp int;
1458
1459			${DECLARATIONS}
1460
1461			void main()
1462			{
1463				${SETUP}
1464				out0 = in0.x;
1465				${OUTPUT}
1466			}
1467		""
1468	end
1469
1470	case mediump_vec4_w
1471		version 310 es
1472		values
1473		{
1474			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1475			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1476		}
1477
1478		both ""
1479			#version 310 es
1480			precision highp float;
1481			precision highp int;
1482
1483			${DECLARATIONS}
1484
1485			void main()
1486			{
1487				${SETUP}
1488				out0 = in0.w;
1489				${OUTPUT}
1490			}
1491		""
1492	end
1493
1494	case mediump_vec4_wx
1495		version 310 es
1496		values
1497		{
1498			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1499			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1500		}
1501
1502		both ""
1503			#version 310 es
1504			precision highp float;
1505			precision highp int;
1506
1507			${DECLARATIONS}
1508
1509			void main()
1510			{
1511				${SETUP}
1512				out0 = in0.wx;
1513				${OUTPUT}
1514			}
1515		""
1516	end
1517
1518	case mediump_vec4_wz
1519		version 310 es
1520		values
1521		{
1522			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1523			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1524		}
1525
1526		both ""
1527			#version 310 es
1528			precision highp float;
1529			precision highp int;
1530
1531			${DECLARATIONS}
1532
1533			void main()
1534			{
1535				${SETUP}
1536				out0 = in0.wz;
1537				${OUTPUT}
1538			}
1539		""
1540	end
1541
1542	case mediump_vec4_www
1543		version 310 es
1544		values
1545		{
1546			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1547			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1548		}
1549
1550		both ""
1551			#version 310 es
1552			precision highp float;
1553			precision highp int;
1554
1555			${DECLARATIONS}
1556
1557			void main()
1558			{
1559				${SETUP}
1560				out0 = in0.www;
1561				${OUTPUT}
1562			}
1563		""
1564	end
1565
1566	case mediump_vec4_yyw
1567		version 310 es
1568		values
1569		{
1570			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1571			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1572		}
1573
1574		both ""
1575			#version 310 es
1576			precision highp float;
1577			precision highp int;
1578
1579			${DECLARATIONS}
1580
1581			void main()
1582			{
1583				${SETUP}
1584				out0 = in0.yyw;
1585				${OUTPUT}
1586			}
1587		""
1588	end
1589
1590	case mediump_vec4_wzy
1591		version 310 es
1592		values
1593		{
1594			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1595			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1596		}
1597
1598		both ""
1599			#version 310 es
1600			precision highp float;
1601			precision highp int;
1602
1603			${DECLARATIONS}
1604
1605			void main()
1606			{
1607				${SETUP}
1608				out0 = in0.wzy;
1609				${OUTPUT}
1610			}
1611		""
1612	end
1613
1614	case mediump_vec4_xyzw
1615		version 310 es
1616		values
1617		{
1618			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1619			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1620		}
1621
1622		both ""
1623			#version 310 es
1624			precision highp float;
1625			precision highp int;
1626
1627			${DECLARATIONS}
1628
1629			void main()
1630			{
1631				${SETUP}
1632				out0 = in0.xyzw;
1633				${OUTPUT}
1634			}
1635		""
1636	end
1637
1638	case mediump_vec4_wzyx
1639		version 310 es
1640		values
1641		{
1642			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1643			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
1644		}
1645
1646		both ""
1647			#version 310 es
1648			precision highp float;
1649			precision highp int;
1650
1651			${DECLARATIONS}
1652
1653			void main()
1654			{
1655				${SETUP}
1656				out0 = in0.wzyx;
1657				${OUTPUT}
1658			}
1659		""
1660	end
1661
1662	case mediump_vec4_xxxx
1663		version 310 es
1664		values
1665		{
1666			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1667			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
1668		}
1669
1670		both ""
1671			#version 310 es
1672			precision highp float;
1673			precision highp int;
1674
1675			${DECLARATIONS}
1676
1677			void main()
1678			{
1679				${SETUP}
1680				out0 = in0.xxxx;
1681				${OUTPUT}
1682			}
1683		""
1684	end
1685
1686	case mediump_vec4_yyyy
1687		version 310 es
1688		values
1689		{
1690			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1691			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
1692		}
1693
1694		both ""
1695			#version 310 es
1696			precision highp float;
1697			precision highp int;
1698
1699			${DECLARATIONS}
1700
1701			void main()
1702			{
1703				${SETUP}
1704				out0 = in0.yyyy;
1705				${OUTPUT}
1706			}
1707		""
1708	end
1709
1710	case mediump_vec4_wwww
1711		version 310 es
1712		values
1713		{
1714			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1715			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
1716		}
1717
1718		both ""
1719			#version 310 es
1720			precision highp float;
1721			precision highp int;
1722
1723			${DECLARATIONS}
1724
1725			void main()
1726			{
1727				${SETUP}
1728				out0 = in0.wwww;
1729				${OUTPUT}
1730			}
1731		""
1732	end
1733
1734	case mediump_vec4_wzzw
1735		version 310 es
1736		values
1737		{
1738			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1739			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
1740		}
1741
1742		both ""
1743			#version 310 es
1744			precision highp float;
1745			precision highp int;
1746
1747			${DECLARATIONS}
1748
1749			void main()
1750			{
1751				${SETUP}
1752				out0 = in0.wzzw;
1753				${OUTPUT}
1754			}
1755		""
1756	end
1757
1758	case mediump_vec4_wwwy
1759		version 310 es
1760		values
1761		{
1762			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1763			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
1764		}
1765
1766		both ""
1767			#version 310 es
1768			precision highp float;
1769			precision highp int;
1770
1771			${DECLARATIONS}
1772
1773			void main()
1774			{
1775				${SETUP}
1776				out0 = in0.wwwy;
1777				${OUTPUT}
1778			}
1779		""
1780	end
1781
1782	case mediump_vec4_xyxx
1783		version 310 es
1784		values
1785		{
1786			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1787			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
1788		}
1789
1790		both ""
1791			#version 310 es
1792			precision highp float;
1793			precision highp int;
1794
1795			${DECLARATIONS}
1796
1797			void main()
1798			{
1799				${SETUP}
1800				out0 = in0.xyxx;
1801				${OUTPUT}
1802			}
1803		""
1804	end
1805
1806	case mediump_vec4_zzwz
1807		version 310 es
1808		values
1809		{
1810			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1811			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
1812		}
1813
1814		both ""
1815			#version 310 es
1816			precision highp float;
1817			precision highp int;
1818
1819			${DECLARATIONS}
1820
1821			void main()
1822			{
1823				${SETUP}
1824				out0 = in0.zzwz;
1825				${OUTPUT}
1826			}
1827		""
1828	end
1829
1830	case mediump_vec4_s
1831		version 310 es
1832		values
1833		{
1834			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1835			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1836		}
1837
1838		both ""
1839			#version 310 es
1840			precision highp float;
1841			precision highp int;
1842
1843			${DECLARATIONS}
1844
1845			void main()
1846			{
1847				${SETUP}
1848				out0 = in0.s;
1849				${OUTPUT}
1850			}
1851		""
1852	end
1853
1854	case mediump_vec4_q
1855		version 310 es
1856		values
1857		{
1858			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1859			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1860		}
1861
1862		both ""
1863			#version 310 es
1864			precision highp float;
1865			precision highp int;
1866
1867			${DECLARATIONS}
1868
1869			void main()
1870			{
1871				${SETUP}
1872				out0 = in0.q;
1873				${OUTPUT}
1874			}
1875		""
1876	end
1877
1878	case mediump_vec4_qs
1879		version 310 es
1880		values
1881		{
1882			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1883			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1884		}
1885
1886		both ""
1887			#version 310 es
1888			precision highp float;
1889			precision highp int;
1890
1891			${DECLARATIONS}
1892
1893			void main()
1894			{
1895				${SETUP}
1896				out0 = in0.qs;
1897				${OUTPUT}
1898			}
1899		""
1900	end
1901
1902	case mediump_vec4_qp
1903		version 310 es
1904		values
1905		{
1906			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1907			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1908		}
1909
1910		both ""
1911			#version 310 es
1912			precision highp float;
1913			precision highp int;
1914
1915			${DECLARATIONS}
1916
1917			void main()
1918			{
1919				${SETUP}
1920				out0 = in0.qp;
1921				${OUTPUT}
1922			}
1923		""
1924	end
1925
1926	case mediump_vec4_qqq
1927		version 310 es
1928		values
1929		{
1930			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1931			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1932		}
1933
1934		both ""
1935			#version 310 es
1936			precision highp float;
1937			precision highp int;
1938
1939			${DECLARATIONS}
1940
1941			void main()
1942			{
1943				${SETUP}
1944				out0 = in0.qqq;
1945				${OUTPUT}
1946			}
1947		""
1948	end
1949
1950	case mediump_vec4_ttq
1951		version 310 es
1952		values
1953		{
1954			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1955			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1956		}
1957
1958		both ""
1959			#version 310 es
1960			precision highp float;
1961			precision highp int;
1962
1963			${DECLARATIONS}
1964
1965			void main()
1966			{
1967				${SETUP}
1968				out0 = in0.ttq;
1969				${OUTPUT}
1970			}
1971		""
1972	end
1973
1974	case mediump_vec4_qpt
1975		version 310 es
1976		values
1977		{
1978			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1979			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1980		}
1981
1982		both ""
1983			#version 310 es
1984			precision highp float;
1985			precision highp int;
1986
1987			${DECLARATIONS}
1988
1989			void main()
1990			{
1991				${SETUP}
1992				out0 = in0.qpt;
1993				${OUTPUT}
1994			}
1995		""
1996	end
1997
1998	case mediump_vec4_stpq
1999		version 310 es
2000		values
2001		{
2002			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2003			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2004		}
2005
2006		both ""
2007			#version 310 es
2008			precision highp float;
2009			precision highp int;
2010
2011			${DECLARATIONS}
2012
2013			void main()
2014			{
2015				${SETUP}
2016				out0 = in0.stpq;
2017				${OUTPUT}
2018			}
2019		""
2020	end
2021
2022	case mediump_vec4_qpts
2023		version 310 es
2024		values
2025		{
2026			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2027			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
2028		}
2029
2030		both ""
2031			#version 310 es
2032			precision highp float;
2033			precision highp int;
2034
2035			${DECLARATIONS}
2036
2037			void main()
2038			{
2039				${SETUP}
2040				out0 = in0.qpts;
2041				${OUTPUT}
2042			}
2043		""
2044	end
2045
2046	case mediump_vec4_ssss
2047		version 310 es
2048		values
2049		{
2050			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2051			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
2052		}
2053
2054		both ""
2055			#version 310 es
2056			precision highp float;
2057			precision highp int;
2058
2059			${DECLARATIONS}
2060
2061			void main()
2062			{
2063				${SETUP}
2064				out0 = in0.ssss;
2065				${OUTPUT}
2066			}
2067		""
2068	end
2069
2070	case mediump_vec4_tttt
2071		version 310 es
2072		values
2073		{
2074			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2075			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
2076		}
2077
2078		both ""
2079			#version 310 es
2080			precision highp float;
2081			precision highp int;
2082
2083			${DECLARATIONS}
2084
2085			void main()
2086			{
2087				${SETUP}
2088				out0 = in0.tttt;
2089				${OUTPUT}
2090			}
2091		""
2092	end
2093
2094	case mediump_vec4_qqqq
2095		version 310 es
2096		values
2097		{
2098			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2099			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
2100		}
2101
2102		both ""
2103			#version 310 es
2104			precision highp float;
2105			precision highp int;
2106
2107			${DECLARATIONS}
2108
2109			void main()
2110			{
2111				${SETUP}
2112				out0 = in0.qqqq;
2113				${OUTPUT}
2114			}
2115		""
2116	end
2117
2118	case mediump_vec4_qppq
2119		version 310 es
2120		values
2121		{
2122			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2123			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
2124		}
2125
2126		both ""
2127			#version 310 es
2128			precision highp float;
2129			precision highp int;
2130
2131			${DECLARATIONS}
2132
2133			void main()
2134			{
2135				${SETUP}
2136				out0 = in0.qppq;
2137				${OUTPUT}
2138			}
2139		""
2140	end
2141
2142	case mediump_vec4_qqqt
2143		version 310 es
2144		values
2145		{
2146			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2147			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
2148		}
2149
2150		both ""
2151			#version 310 es
2152			precision highp float;
2153			precision highp int;
2154
2155			${DECLARATIONS}
2156
2157			void main()
2158			{
2159				${SETUP}
2160				out0 = in0.qqqt;
2161				${OUTPUT}
2162			}
2163		""
2164	end
2165
2166	case mediump_vec4_stss
2167		version 310 es
2168		values
2169		{
2170			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2171			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
2172		}
2173
2174		both ""
2175			#version 310 es
2176			precision highp float;
2177			precision highp int;
2178
2179			${DECLARATIONS}
2180
2181			void main()
2182			{
2183				${SETUP}
2184				out0 = in0.stss;
2185				${OUTPUT}
2186			}
2187		""
2188	end
2189
2190	case mediump_vec4_ppqp
2191		version 310 es
2192		values
2193		{
2194			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2195			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
2196		}
2197
2198		both ""
2199			#version 310 es
2200			precision highp float;
2201			precision highp int;
2202
2203			${DECLARATIONS}
2204
2205			void main()
2206			{
2207				${SETUP}
2208				out0 = in0.ppqp;
2209				${OUTPUT}
2210			}
2211		""
2212	end
2213
2214	case mediump_vec4_r
2215		version 310 es
2216		values
2217		{
2218			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2219			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
2220		}
2221
2222		both ""
2223			#version 310 es
2224			precision highp float;
2225			precision highp int;
2226
2227			${DECLARATIONS}
2228
2229			void main()
2230			{
2231				${SETUP}
2232				out0 = in0.r;
2233				${OUTPUT}
2234			}
2235		""
2236	end
2237
2238	case mediump_vec4_a
2239		version 310 es
2240		values
2241		{
2242			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2243			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
2244		}
2245
2246		both ""
2247			#version 310 es
2248			precision highp float;
2249			precision highp int;
2250
2251			${DECLARATIONS}
2252
2253			void main()
2254			{
2255				${SETUP}
2256				out0 = in0.a;
2257				${OUTPUT}
2258			}
2259		""
2260	end
2261
2262	case mediump_vec4_ar
2263		version 310 es
2264		values
2265		{
2266			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2267			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
2268		}
2269
2270		both ""
2271			#version 310 es
2272			precision highp float;
2273			precision highp int;
2274
2275			${DECLARATIONS}
2276
2277			void main()
2278			{
2279				${SETUP}
2280				out0 = in0.ar;
2281				${OUTPUT}
2282			}
2283		""
2284	end
2285
2286	case mediump_vec4_ab
2287		version 310 es
2288		values
2289		{
2290			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2291			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
2292		}
2293
2294		both ""
2295			#version 310 es
2296			precision highp float;
2297			precision highp int;
2298
2299			${DECLARATIONS}
2300
2301			void main()
2302			{
2303				${SETUP}
2304				out0 = in0.ab;
2305				${OUTPUT}
2306			}
2307		""
2308	end
2309
2310	case mediump_vec4_aaa
2311		version 310 es
2312		values
2313		{
2314			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2315			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
2316		}
2317
2318		both ""
2319			#version 310 es
2320			precision highp float;
2321			precision highp int;
2322
2323			${DECLARATIONS}
2324
2325			void main()
2326			{
2327				${SETUP}
2328				out0 = in0.aaa;
2329				${OUTPUT}
2330			}
2331		""
2332	end
2333
2334	case mediump_vec4_gga
2335		version 310 es
2336		values
2337		{
2338			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2339			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
2340		}
2341
2342		both ""
2343			#version 310 es
2344			precision highp float;
2345			precision highp int;
2346
2347			${DECLARATIONS}
2348
2349			void main()
2350			{
2351				${SETUP}
2352				out0 = in0.gga;
2353				${OUTPUT}
2354			}
2355		""
2356	end
2357
2358	case mediump_vec4_abg
2359		version 310 es
2360		values
2361		{
2362			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2363			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
2364		}
2365
2366		both ""
2367			#version 310 es
2368			precision highp float;
2369			precision highp int;
2370
2371			${DECLARATIONS}
2372
2373			void main()
2374			{
2375				${SETUP}
2376				out0 = in0.abg;
2377				${OUTPUT}
2378			}
2379		""
2380	end
2381
2382	case mediump_vec4_rgba
2383		version 310 es
2384		values
2385		{
2386			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2387			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2388		}
2389
2390		both ""
2391			#version 310 es
2392			precision highp float;
2393			precision highp int;
2394
2395			${DECLARATIONS}
2396
2397			void main()
2398			{
2399				${SETUP}
2400				out0 = in0.rgba;
2401				${OUTPUT}
2402			}
2403		""
2404	end
2405
2406	case mediump_vec4_abgr
2407		version 310 es
2408		values
2409		{
2410			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2411			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
2412		}
2413
2414		both ""
2415			#version 310 es
2416			precision highp float;
2417			precision highp int;
2418
2419			${DECLARATIONS}
2420
2421			void main()
2422			{
2423				${SETUP}
2424				out0 = in0.abgr;
2425				${OUTPUT}
2426			}
2427		""
2428	end
2429
2430	case mediump_vec4_rrrr
2431		version 310 es
2432		values
2433		{
2434			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2435			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
2436		}
2437
2438		both ""
2439			#version 310 es
2440			precision highp float;
2441			precision highp int;
2442
2443			${DECLARATIONS}
2444
2445			void main()
2446			{
2447				${SETUP}
2448				out0 = in0.rrrr;
2449				${OUTPUT}
2450			}
2451		""
2452	end
2453
2454	case mediump_vec4_gggg
2455		version 310 es
2456		values
2457		{
2458			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2459			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
2460		}
2461
2462		both ""
2463			#version 310 es
2464			precision highp float;
2465			precision highp int;
2466
2467			${DECLARATIONS}
2468
2469			void main()
2470			{
2471				${SETUP}
2472				out0 = in0.gggg;
2473				${OUTPUT}
2474			}
2475		""
2476	end
2477
2478	case mediump_vec4_aaaa
2479		version 310 es
2480		values
2481		{
2482			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2483			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
2484		}
2485
2486		both ""
2487			#version 310 es
2488			precision highp float;
2489			precision highp int;
2490
2491			${DECLARATIONS}
2492
2493			void main()
2494			{
2495				${SETUP}
2496				out0 = in0.aaaa;
2497				${OUTPUT}
2498			}
2499		""
2500	end
2501
2502	case mediump_vec4_abba
2503		version 310 es
2504		values
2505		{
2506			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2507			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
2508		}
2509
2510		both ""
2511			#version 310 es
2512			precision highp float;
2513			precision highp int;
2514
2515			${DECLARATIONS}
2516
2517			void main()
2518			{
2519				${SETUP}
2520				out0 = in0.abba;
2521				${OUTPUT}
2522			}
2523		""
2524	end
2525
2526	case mediump_vec4_aaag
2527		version 310 es
2528		values
2529		{
2530			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2531			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
2532		}
2533
2534		both ""
2535			#version 310 es
2536			precision highp float;
2537			precision highp int;
2538
2539			${DECLARATIONS}
2540
2541			void main()
2542			{
2543				${SETUP}
2544				out0 = in0.aaag;
2545				${OUTPUT}
2546			}
2547		""
2548	end
2549
2550	case mediump_vec4_rgrr
2551		version 310 es
2552		values
2553		{
2554			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2555			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
2556		}
2557
2558		both ""
2559			#version 310 es
2560			precision highp float;
2561			precision highp int;
2562
2563			${DECLARATIONS}
2564
2565			void main()
2566			{
2567				${SETUP}
2568				out0 = in0.rgrr;
2569				${OUTPUT}
2570			}
2571		""
2572	end
2573
2574	case mediump_vec4_bbab
2575		version 310 es
2576		values
2577		{
2578			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2579			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
2580		}
2581
2582		both ""
2583			#version 310 es
2584			precision highp float;
2585			precision highp int;
2586
2587			${DECLARATIONS}
2588
2589			void main()
2590			{
2591				${SETUP}
2592				out0 = in0.bbab;
2593				${OUTPUT}
2594			}
2595		""
2596	end
2597
2598	case mediump_ivec2_x
2599		version 310 es
2600		values
2601		{
2602			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2603			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2604		}
2605
2606		both ""
2607			#version 310 es
2608			precision highp float;
2609			precision highp int;
2610
2611			${DECLARATIONS}
2612
2613			void main()
2614			{
2615				${SETUP}
2616				out0 = in0.x;
2617				${OUTPUT}
2618			}
2619		""
2620	end
2621
2622	case mediump_ivec2_xx
2623		version 310 es
2624		values
2625		{
2626			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2627			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2628		}
2629
2630		both ""
2631			#version 310 es
2632			precision highp float;
2633			precision highp int;
2634
2635			${DECLARATIONS}
2636
2637			void main()
2638			{
2639				${SETUP}
2640				out0 = in0.xx;
2641				${OUTPUT}
2642			}
2643		""
2644	end
2645
2646	case mediump_ivec2_xy
2647		version 310 es
2648		values
2649		{
2650			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2651			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2652		}
2653
2654		both ""
2655			#version 310 es
2656			precision highp float;
2657			precision highp int;
2658
2659			${DECLARATIONS}
2660
2661			void main()
2662			{
2663				${SETUP}
2664				out0 = in0.xy;
2665				${OUTPUT}
2666			}
2667		""
2668	end
2669
2670	case mediump_ivec2_yx
2671		version 310 es
2672		values
2673		{
2674			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2675			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2676		}
2677
2678		both ""
2679			#version 310 es
2680			precision highp float;
2681			precision highp int;
2682
2683			${DECLARATIONS}
2684
2685			void main()
2686			{
2687				${SETUP}
2688				out0 = in0.yx;
2689				${OUTPUT}
2690			}
2691		""
2692	end
2693
2694	case mediump_ivec2_yxy
2695		version 310 es
2696		values
2697		{
2698			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2699			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2700		}
2701
2702		both ""
2703			#version 310 es
2704			precision highp float;
2705			precision highp int;
2706
2707			${DECLARATIONS}
2708
2709			void main()
2710			{
2711				${SETUP}
2712				out0 = in0.yxy;
2713				${OUTPUT}
2714			}
2715		""
2716	end
2717
2718	case mediump_ivec2_xyxx
2719		version 310 es
2720		values
2721		{
2722			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2723			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2724		}
2725
2726		both ""
2727			#version 310 es
2728			precision highp float;
2729			precision highp int;
2730
2731			${DECLARATIONS}
2732
2733			void main()
2734			{
2735				${SETUP}
2736				out0 = in0.xyxx;
2737				${OUTPUT}
2738			}
2739		""
2740	end
2741
2742	case mediump_ivec2_yyyy
2743		version 310 es
2744		values
2745		{
2746			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2747			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2748		}
2749
2750		both ""
2751			#version 310 es
2752			precision highp float;
2753			precision highp int;
2754
2755			${DECLARATIONS}
2756
2757			void main()
2758			{
2759				${SETUP}
2760				out0 = in0.yyyy;
2761				${OUTPUT}
2762			}
2763		""
2764	end
2765
2766	case mediump_ivec2_s
2767		version 310 es
2768		values
2769		{
2770			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2771			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2772		}
2773
2774		both ""
2775			#version 310 es
2776			precision highp float;
2777			precision highp int;
2778
2779			${DECLARATIONS}
2780
2781			void main()
2782			{
2783				${SETUP}
2784				out0 = in0.s;
2785				${OUTPUT}
2786			}
2787		""
2788	end
2789
2790	case mediump_ivec2_ss
2791		version 310 es
2792		values
2793		{
2794			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2795			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2796		}
2797
2798		both ""
2799			#version 310 es
2800			precision highp float;
2801			precision highp int;
2802
2803			${DECLARATIONS}
2804
2805			void main()
2806			{
2807				${SETUP}
2808				out0 = in0.ss;
2809				${OUTPUT}
2810			}
2811		""
2812	end
2813
2814	case mediump_ivec2_st
2815		version 310 es
2816		values
2817		{
2818			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2819			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2820		}
2821
2822		both ""
2823			#version 310 es
2824			precision highp float;
2825			precision highp int;
2826
2827			${DECLARATIONS}
2828
2829			void main()
2830			{
2831				${SETUP}
2832				out0 = in0.st;
2833				${OUTPUT}
2834			}
2835		""
2836	end
2837
2838	case mediump_ivec2_ts
2839		version 310 es
2840		values
2841		{
2842			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2843			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2844		}
2845
2846		both ""
2847			#version 310 es
2848			precision highp float;
2849			precision highp int;
2850
2851			${DECLARATIONS}
2852
2853			void main()
2854			{
2855				${SETUP}
2856				out0 = in0.ts;
2857				${OUTPUT}
2858			}
2859		""
2860	end
2861
2862	case mediump_ivec2_tst
2863		version 310 es
2864		values
2865		{
2866			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2867			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2868		}
2869
2870		both ""
2871			#version 310 es
2872			precision highp float;
2873			precision highp int;
2874
2875			${DECLARATIONS}
2876
2877			void main()
2878			{
2879				${SETUP}
2880				out0 = in0.tst;
2881				${OUTPUT}
2882			}
2883		""
2884	end
2885
2886	case mediump_ivec2_stss
2887		version 310 es
2888		values
2889		{
2890			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2891			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2892		}
2893
2894		both ""
2895			#version 310 es
2896			precision highp float;
2897			precision highp int;
2898
2899			${DECLARATIONS}
2900
2901			void main()
2902			{
2903				${SETUP}
2904				out0 = in0.stss;
2905				${OUTPUT}
2906			}
2907		""
2908	end
2909
2910	case mediump_ivec2_tttt
2911		version 310 es
2912		values
2913		{
2914			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2915			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2916		}
2917
2918		both ""
2919			#version 310 es
2920			precision highp float;
2921			precision highp int;
2922
2923			${DECLARATIONS}
2924
2925			void main()
2926			{
2927				${SETUP}
2928				out0 = in0.tttt;
2929				${OUTPUT}
2930			}
2931		""
2932	end
2933
2934	case mediump_ivec2_r
2935		version 310 es
2936		values
2937		{
2938			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2939			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2940		}
2941
2942		both ""
2943			#version 310 es
2944			precision highp float;
2945			precision highp int;
2946
2947			${DECLARATIONS}
2948
2949			void main()
2950			{
2951				${SETUP}
2952				out0 = in0.r;
2953				${OUTPUT}
2954			}
2955		""
2956	end
2957
2958	case mediump_ivec2_rr
2959		version 310 es
2960		values
2961		{
2962			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2963			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2964		}
2965
2966		both ""
2967			#version 310 es
2968			precision highp float;
2969			precision highp int;
2970
2971			${DECLARATIONS}
2972
2973			void main()
2974			{
2975				${SETUP}
2976				out0 = in0.rr;
2977				${OUTPUT}
2978			}
2979		""
2980	end
2981
2982	case mediump_ivec2_rg
2983		version 310 es
2984		values
2985		{
2986			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2987			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2988		}
2989
2990		both ""
2991			#version 310 es
2992			precision highp float;
2993			precision highp int;
2994
2995			${DECLARATIONS}
2996
2997			void main()
2998			{
2999				${SETUP}
3000				out0 = in0.rg;
3001				${OUTPUT}
3002			}
3003		""
3004	end
3005
3006	case mediump_ivec2_gr
3007		version 310 es
3008		values
3009		{
3010			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3011			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
3012		}
3013
3014		both ""
3015			#version 310 es
3016			precision highp float;
3017			precision highp int;
3018
3019			${DECLARATIONS}
3020
3021			void main()
3022			{
3023				${SETUP}
3024				out0 = in0.gr;
3025				${OUTPUT}
3026			}
3027		""
3028	end
3029
3030	case mediump_ivec2_grg
3031		version 310 es
3032		values
3033		{
3034			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3035			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3036		}
3037
3038		both ""
3039			#version 310 es
3040			precision highp float;
3041			precision highp int;
3042
3043			${DECLARATIONS}
3044
3045			void main()
3046			{
3047				${SETUP}
3048				out0 = in0.grg;
3049				${OUTPUT}
3050			}
3051		""
3052	end
3053
3054	case mediump_ivec2_rgrr
3055		version 310 es
3056		values
3057		{
3058			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3059			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
3060		}
3061
3062		both ""
3063			#version 310 es
3064			precision highp float;
3065			precision highp int;
3066
3067			${DECLARATIONS}
3068
3069			void main()
3070			{
3071				${SETUP}
3072				out0 = in0.rgrr;
3073				${OUTPUT}
3074			}
3075		""
3076	end
3077
3078	case mediump_ivec2_gggg
3079		version 310 es
3080		values
3081		{
3082			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
3083			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
3084		}
3085
3086		both ""
3087			#version 310 es
3088			precision highp float;
3089			precision highp int;
3090
3091			${DECLARATIONS}
3092
3093			void main()
3094			{
3095				${SETUP}
3096				out0 = in0.gggg;
3097				${OUTPUT}
3098			}
3099		""
3100	end
3101
3102	case mediump_ivec3_x
3103		version 310 es
3104		values
3105		{
3106			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3107			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3108		}
3109
3110		both ""
3111			#version 310 es
3112			precision highp float;
3113			precision highp int;
3114
3115			${DECLARATIONS}
3116
3117			void main()
3118			{
3119				${SETUP}
3120				out0 = in0.x;
3121				${OUTPUT}
3122			}
3123		""
3124	end
3125
3126	case mediump_ivec3_z
3127		version 310 es
3128		values
3129		{
3130			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3131			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3132		}
3133
3134		both ""
3135			#version 310 es
3136			precision highp float;
3137			precision highp int;
3138
3139			${DECLARATIONS}
3140
3141			void main()
3142			{
3143				${SETUP}
3144				out0 = in0.z;
3145				${OUTPUT}
3146			}
3147		""
3148	end
3149
3150	case mediump_ivec3_xz
3151		version 310 es
3152		values
3153		{
3154			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3155			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3156		}
3157
3158		both ""
3159			#version 310 es
3160			precision highp float;
3161			precision highp int;
3162
3163			${DECLARATIONS}
3164
3165			void main()
3166			{
3167				${SETUP}
3168				out0 = in0.xz;
3169				${OUTPUT}
3170			}
3171		""
3172	end
3173
3174	case mediump_ivec3_zz
3175		version 310 es
3176		values
3177		{
3178			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3179			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3180		}
3181
3182		both ""
3183			#version 310 es
3184			precision highp float;
3185			precision highp int;
3186
3187			${DECLARATIONS}
3188
3189			void main()
3190			{
3191				${SETUP}
3192				out0 = in0.zz;
3193				${OUTPUT}
3194			}
3195		""
3196	end
3197
3198	case mediump_ivec3_xyz
3199		version 310 es
3200		values
3201		{
3202			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3203			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3204		}
3205
3206		both ""
3207			#version 310 es
3208			precision highp float;
3209			precision highp int;
3210
3211			${DECLARATIONS}
3212
3213			void main()
3214			{
3215				${SETUP}
3216				out0 = in0.xyz;
3217				${OUTPUT}
3218			}
3219		""
3220	end
3221
3222	case mediump_ivec3_zyx
3223		version 310 es
3224		values
3225		{
3226			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3227			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3228		}
3229
3230		both ""
3231			#version 310 es
3232			precision highp float;
3233			precision highp int;
3234
3235			${DECLARATIONS}
3236
3237			void main()
3238			{
3239				${SETUP}
3240				out0 = in0.zyx;
3241				${OUTPUT}
3242			}
3243		""
3244	end
3245
3246	case mediump_ivec3_xxx
3247		version 310 es
3248		values
3249		{
3250			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3251			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3252		}
3253
3254		both ""
3255			#version 310 es
3256			precision highp float;
3257			precision highp int;
3258
3259			${DECLARATIONS}
3260
3261			void main()
3262			{
3263				${SETUP}
3264				out0 = in0.xxx;
3265				${OUTPUT}
3266			}
3267		""
3268	end
3269
3270	case mediump_ivec3_zzz
3271		version 310 es
3272		values
3273		{
3274			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3275			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3276		}
3277
3278		both ""
3279			#version 310 es
3280			precision highp float;
3281			precision highp int;
3282
3283			${DECLARATIONS}
3284
3285			void main()
3286			{
3287				${SETUP}
3288				out0 = in0.zzz;
3289				${OUTPUT}
3290			}
3291		""
3292	end
3293
3294	case mediump_ivec3_zzy
3295		version 310 es
3296		values
3297		{
3298			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3299			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3300		}
3301
3302		both ""
3303			#version 310 es
3304			precision highp float;
3305			precision highp int;
3306
3307			${DECLARATIONS}
3308
3309			void main()
3310			{
3311				${SETUP}
3312				out0 = in0.zzy;
3313				${OUTPUT}
3314			}
3315		""
3316	end
3317
3318	case mediump_ivec3_yxy
3319		version 310 es
3320		values
3321		{
3322			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3323			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3324		}
3325
3326		both ""
3327			#version 310 es
3328			precision highp float;
3329			precision highp int;
3330
3331			${DECLARATIONS}
3332
3333			void main()
3334			{
3335				${SETUP}
3336				out0 = in0.yxy;
3337				${OUTPUT}
3338			}
3339		""
3340	end
3341
3342	case mediump_ivec3_xzx
3343		version 310 es
3344		values
3345		{
3346			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3347			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3348		}
3349
3350		both ""
3351			#version 310 es
3352			precision highp float;
3353			precision highp int;
3354
3355			${DECLARATIONS}
3356
3357			void main()
3358			{
3359				${SETUP}
3360				out0 = in0.xzx;
3361				${OUTPUT}
3362			}
3363		""
3364	end
3365
3366	case mediump_ivec3_xyyx
3367		version 310 es
3368		values
3369		{
3370			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3371			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3372		}
3373
3374		both ""
3375			#version 310 es
3376			precision highp float;
3377			precision highp int;
3378
3379			${DECLARATIONS}
3380
3381			void main()
3382			{
3383				${SETUP}
3384				out0 = in0.xyyx;
3385				${OUTPUT}
3386			}
3387		""
3388	end
3389
3390	case mediump_ivec3_zzzz
3391		version 310 es
3392		values
3393		{
3394			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3395			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3396		}
3397
3398		both ""
3399			#version 310 es
3400			precision highp float;
3401			precision highp int;
3402
3403			${DECLARATIONS}
3404
3405			void main()
3406			{
3407				${SETUP}
3408				out0 = in0.zzzz;
3409				${OUTPUT}
3410			}
3411		""
3412	end
3413
3414	case mediump_ivec3_s
3415		version 310 es
3416		values
3417		{
3418			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3419			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3420		}
3421
3422		both ""
3423			#version 310 es
3424			precision highp float;
3425			precision highp int;
3426
3427			${DECLARATIONS}
3428
3429			void main()
3430			{
3431				${SETUP}
3432				out0 = in0.s;
3433				${OUTPUT}
3434			}
3435		""
3436	end
3437
3438	case mediump_ivec3_p
3439		version 310 es
3440		values
3441		{
3442			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3443			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3444		}
3445
3446		both ""
3447			#version 310 es
3448			precision highp float;
3449			precision highp int;
3450
3451			${DECLARATIONS}
3452
3453			void main()
3454			{
3455				${SETUP}
3456				out0 = in0.p;
3457				${OUTPUT}
3458			}
3459		""
3460	end
3461
3462	case mediump_ivec3_sp
3463		version 310 es
3464		values
3465		{
3466			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3467			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3468		}
3469
3470		both ""
3471			#version 310 es
3472			precision highp float;
3473			precision highp int;
3474
3475			${DECLARATIONS}
3476
3477			void main()
3478			{
3479				${SETUP}
3480				out0 = in0.sp;
3481				${OUTPUT}
3482			}
3483		""
3484	end
3485
3486	case mediump_ivec3_pp
3487		version 310 es
3488		values
3489		{
3490			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3491			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3492		}
3493
3494		both ""
3495			#version 310 es
3496			precision highp float;
3497			precision highp int;
3498
3499			${DECLARATIONS}
3500
3501			void main()
3502			{
3503				${SETUP}
3504				out0 = in0.pp;
3505				${OUTPUT}
3506			}
3507		""
3508	end
3509
3510	case mediump_ivec3_stp
3511		version 310 es
3512		values
3513		{
3514			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3515			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3516		}
3517
3518		both ""
3519			#version 310 es
3520			precision highp float;
3521			precision highp int;
3522
3523			${DECLARATIONS}
3524
3525			void main()
3526			{
3527				${SETUP}
3528				out0 = in0.stp;
3529				${OUTPUT}
3530			}
3531		""
3532	end
3533
3534	case mediump_ivec3_pts
3535		version 310 es
3536		values
3537		{
3538			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3539			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3540		}
3541
3542		both ""
3543			#version 310 es
3544			precision highp float;
3545			precision highp int;
3546
3547			${DECLARATIONS}
3548
3549			void main()
3550			{
3551				${SETUP}
3552				out0 = in0.pts;
3553				${OUTPUT}
3554			}
3555		""
3556	end
3557
3558	case mediump_ivec3_sss
3559		version 310 es
3560		values
3561		{
3562			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3563			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3564		}
3565
3566		both ""
3567			#version 310 es
3568			precision highp float;
3569			precision highp int;
3570
3571			${DECLARATIONS}
3572
3573			void main()
3574			{
3575				${SETUP}
3576				out0 = in0.sss;
3577				${OUTPUT}
3578			}
3579		""
3580	end
3581
3582	case mediump_ivec3_ppp
3583		version 310 es
3584		values
3585		{
3586			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3587			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3588		}
3589
3590		both ""
3591			#version 310 es
3592			precision highp float;
3593			precision highp int;
3594
3595			${DECLARATIONS}
3596
3597			void main()
3598			{
3599				${SETUP}
3600				out0 = in0.ppp;
3601				${OUTPUT}
3602			}
3603		""
3604	end
3605
3606	case mediump_ivec3_ppt
3607		version 310 es
3608		values
3609		{
3610			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3611			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3612		}
3613
3614		both ""
3615			#version 310 es
3616			precision highp float;
3617			precision highp int;
3618
3619			${DECLARATIONS}
3620
3621			void main()
3622			{
3623				${SETUP}
3624				out0 = in0.ppt;
3625				${OUTPUT}
3626			}
3627		""
3628	end
3629
3630	case mediump_ivec3_tst
3631		version 310 es
3632		values
3633		{
3634			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3635			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3636		}
3637
3638		both ""
3639			#version 310 es
3640			precision highp float;
3641			precision highp int;
3642
3643			${DECLARATIONS}
3644
3645			void main()
3646			{
3647				${SETUP}
3648				out0 = in0.tst;
3649				${OUTPUT}
3650			}
3651		""
3652	end
3653
3654	case mediump_ivec3_sps
3655		version 310 es
3656		values
3657		{
3658			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3659			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3660		}
3661
3662		both ""
3663			#version 310 es
3664			precision highp float;
3665			precision highp int;
3666
3667			${DECLARATIONS}
3668
3669			void main()
3670			{
3671				${SETUP}
3672				out0 = in0.sps;
3673				${OUTPUT}
3674			}
3675		""
3676	end
3677
3678	case mediump_ivec3_stts
3679		version 310 es
3680		values
3681		{
3682			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3683			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3684		}
3685
3686		both ""
3687			#version 310 es
3688			precision highp float;
3689			precision highp int;
3690
3691			${DECLARATIONS}
3692
3693			void main()
3694			{
3695				${SETUP}
3696				out0 = in0.stts;
3697				${OUTPUT}
3698			}
3699		""
3700	end
3701
3702	case mediump_ivec3_pppp
3703		version 310 es
3704		values
3705		{
3706			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3707			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3708		}
3709
3710		both ""
3711			#version 310 es
3712			precision highp float;
3713			precision highp int;
3714
3715			${DECLARATIONS}
3716
3717			void main()
3718			{
3719				${SETUP}
3720				out0 = in0.pppp;
3721				${OUTPUT}
3722			}
3723		""
3724	end
3725
3726	case mediump_ivec3_r
3727		version 310 es
3728		values
3729		{
3730			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3731			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3732		}
3733
3734		both ""
3735			#version 310 es
3736			precision highp float;
3737			precision highp int;
3738
3739			${DECLARATIONS}
3740
3741			void main()
3742			{
3743				${SETUP}
3744				out0 = in0.r;
3745				${OUTPUT}
3746			}
3747		""
3748	end
3749
3750	case mediump_ivec3_b
3751		version 310 es
3752		values
3753		{
3754			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3755			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3756		}
3757
3758		both ""
3759			#version 310 es
3760			precision highp float;
3761			precision highp int;
3762
3763			${DECLARATIONS}
3764
3765			void main()
3766			{
3767				${SETUP}
3768				out0 = in0.b;
3769				${OUTPUT}
3770			}
3771		""
3772	end
3773
3774	case mediump_ivec3_rb
3775		version 310 es
3776		values
3777		{
3778			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3779			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3780		}
3781
3782		both ""
3783			#version 310 es
3784			precision highp float;
3785			precision highp int;
3786
3787			${DECLARATIONS}
3788
3789			void main()
3790			{
3791				${SETUP}
3792				out0 = in0.rb;
3793				${OUTPUT}
3794			}
3795		""
3796	end
3797
3798	case mediump_ivec3_bb
3799		version 310 es
3800		values
3801		{
3802			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3803			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3804		}
3805
3806		both ""
3807			#version 310 es
3808			precision highp float;
3809			precision highp int;
3810
3811			${DECLARATIONS}
3812
3813			void main()
3814			{
3815				${SETUP}
3816				out0 = in0.bb;
3817				${OUTPUT}
3818			}
3819		""
3820	end
3821
3822	case mediump_ivec3_rgb
3823		version 310 es
3824		values
3825		{
3826			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3827			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3828		}
3829
3830		both ""
3831			#version 310 es
3832			precision highp float;
3833			precision highp int;
3834
3835			${DECLARATIONS}
3836
3837			void main()
3838			{
3839				${SETUP}
3840				out0 = in0.rgb;
3841				${OUTPUT}
3842			}
3843		""
3844	end
3845
3846	case mediump_ivec3_bgr
3847		version 310 es
3848		values
3849		{
3850			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3851			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3852		}
3853
3854		both ""
3855			#version 310 es
3856			precision highp float;
3857			precision highp int;
3858
3859			${DECLARATIONS}
3860
3861			void main()
3862			{
3863				${SETUP}
3864				out0 = in0.bgr;
3865				${OUTPUT}
3866			}
3867		""
3868	end
3869
3870	case mediump_ivec3_rrr
3871		version 310 es
3872		values
3873		{
3874			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3875			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3876		}
3877
3878		both ""
3879			#version 310 es
3880			precision highp float;
3881			precision highp int;
3882
3883			${DECLARATIONS}
3884
3885			void main()
3886			{
3887				${SETUP}
3888				out0 = in0.rrr;
3889				${OUTPUT}
3890			}
3891		""
3892	end
3893
3894	case mediump_ivec3_bbb
3895		version 310 es
3896		values
3897		{
3898			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3899			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3900		}
3901
3902		both ""
3903			#version 310 es
3904			precision highp float;
3905			precision highp int;
3906
3907			${DECLARATIONS}
3908
3909			void main()
3910			{
3911				${SETUP}
3912				out0 = in0.bbb;
3913				${OUTPUT}
3914			}
3915		""
3916	end
3917
3918	case mediump_ivec3_bbg
3919		version 310 es
3920		values
3921		{
3922			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3923			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3924		}
3925
3926		both ""
3927			#version 310 es
3928			precision highp float;
3929			precision highp int;
3930
3931			${DECLARATIONS}
3932
3933			void main()
3934			{
3935				${SETUP}
3936				out0 = in0.bbg;
3937				${OUTPUT}
3938			}
3939		""
3940	end
3941
3942	case mediump_ivec3_grg
3943		version 310 es
3944		values
3945		{
3946			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3947			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3948		}
3949
3950		both ""
3951			#version 310 es
3952			precision highp float;
3953			precision highp int;
3954
3955			${DECLARATIONS}
3956
3957			void main()
3958			{
3959				${SETUP}
3960				out0 = in0.grg;
3961				${OUTPUT}
3962			}
3963		""
3964	end
3965
3966	case mediump_ivec3_rbr
3967		version 310 es
3968		values
3969		{
3970			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3971			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3972		}
3973
3974		both ""
3975			#version 310 es
3976			precision highp float;
3977			precision highp int;
3978
3979			${DECLARATIONS}
3980
3981			void main()
3982			{
3983				${SETUP}
3984				out0 = in0.rbr;
3985				${OUTPUT}
3986			}
3987		""
3988	end
3989
3990	case mediump_ivec3_rggr
3991		version 310 es
3992		values
3993		{
3994			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3995			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3996		}
3997
3998		both ""
3999			#version 310 es
4000			precision highp float;
4001			precision highp int;
4002
4003			${DECLARATIONS}
4004
4005			void main()
4006			{
4007				${SETUP}
4008				out0 = in0.rggr;
4009				${OUTPUT}
4010			}
4011		""
4012	end
4013
4014	case mediump_ivec3_bbbb
4015		version 310 es
4016		values
4017		{
4018			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
4019			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
4020		}
4021
4022		both ""
4023			#version 310 es
4024			precision highp float;
4025			precision highp int;
4026
4027			${DECLARATIONS}
4028
4029			void main()
4030			{
4031				${SETUP}
4032				out0 = in0.bbbb;
4033				${OUTPUT}
4034			}
4035		""
4036	end
4037
4038	case mediump_ivec4_x
4039		version 310 es
4040		values
4041		{
4042			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4043			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4044		}
4045
4046		both ""
4047			#version 310 es
4048			precision highp float;
4049			precision highp int;
4050
4051			${DECLARATIONS}
4052
4053			void main()
4054			{
4055				${SETUP}
4056				out0 = in0.x;
4057				${OUTPUT}
4058			}
4059		""
4060	end
4061
4062	case mediump_ivec4_w
4063		version 310 es
4064		values
4065		{
4066			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4067			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4068		}
4069
4070		both ""
4071			#version 310 es
4072			precision highp float;
4073			precision highp int;
4074
4075			${DECLARATIONS}
4076
4077			void main()
4078			{
4079				${SETUP}
4080				out0 = in0.w;
4081				${OUTPUT}
4082			}
4083		""
4084	end
4085
4086	case mediump_ivec4_wx
4087		version 310 es
4088		values
4089		{
4090			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4091			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4092		}
4093
4094		both ""
4095			#version 310 es
4096			precision highp float;
4097			precision highp int;
4098
4099			${DECLARATIONS}
4100
4101			void main()
4102			{
4103				${SETUP}
4104				out0 = in0.wx;
4105				${OUTPUT}
4106			}
4107		""
4108	end
4109
4110	case mediump_ivec4_wz
4111		version 310 es
4112		values
4113		{
4114			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4115			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4116		}
4117
4118		both ""
4119			#version 310 es
4120			precision highp float;
4121			precision highp int;
4122
4123			${DECLARATIONS}
4124
4125			void main()
4126			{
4127				${SETUP}
4128				out0 = in0.wz;
4129				${OUTPUT}
4130			}
4131		""
4132	end
4133
4134	case mediump_ivec4_www
4135		version 310 es
4136		values
4137		{
4138			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4139			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4140		}
4141
4142		both ""
4143			#version 310 es
4144			precision highp float;
4145			precision highp int;
4146
4147			${DECLARATIONS}
4148
4149			void main()
4150			{
4151				${SETUP}
4152				out0 = in0.www;
4153				${OUTPUT}
4154			}
4155		""
4156	end
4157
4158	case mediump_ivec4_yyw
4159		version 310 es
4160		values
4161		{
4162			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4163			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4164		}
4165
4166		both ""
4167			#version 310 es
4168			precision highp float;
4169			precision highp int;
4170
4171			${DECLARATIONS}
4172
4173			void main()
4174			{
4175				${SETUP}
4176				out0 = in0.yyw;
4177				${OUTPUT}
4178			}
4179		""
4180	end
4181
4182	case mediump_ivec4_wzy
4183		version 310 es
4184		values
4185		{
4186			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4187			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4188		}
4189
4190		both ""
4191			#version 310 es
4192			precision highp float;
4193			precision highp int;
4194
4195			${DECLARATIONS}
4196
4197			void main()
4198			{
4199				${SETUP}
4200				out0 = in0.wzy;
4201				${OUTPUT}
4202			}
4203		""
4204	end
4205
4206	case mediump_ivec4_xyzw
4207		version 310 es
4208		values
4209		{
4210			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4211			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4212		}
4213
4214		both ""
4215			#version 310 es
4216			precision highp float;
4217			precision highp int;
4218
4219			${DECLARATIONS}
4220
4221			void main()
4222			{
4223				${SETUP}
4224				out0 = in0.xyzw;
4225				${OUTPUT}
4226			}
4227		""
4228	end
4229
4230	case mediump_ivec4_wzyx
4231		version 310 es
4232		values
4233		{
4234			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4235			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4236		}
4237
4238		both ""
4239			#version 310 es
4240			precision highp float;
4241			precision highp int;
4242
4243			${DECLARATIONS}
4244
4245			void main()
4246			{
4247				${SETUP}
4248				out0 = in0.wzyx;
4249				${OUTPUT}
4250			}
4251		""
4252	end
4253
4254	case mediump_ivec4_xxxx
4255		version 310 es
4256		values
4257		{
4258			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4259			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4260		}
4261
4262		both ""
4263			#version 310 es
4264			precision highp float;
4265			precision highp int;
4266
4267			${DECLARATIONS}
4268
4269			void main()
4270			{
4271				${SETUP}
4272				out0 = in0.xxxx;
4273				${OUTPUT}
4274			}
4275		""
4276	end
4277
4278	case mediump_ivec4_yyyy
4279		version 310 es
4280		values
4281		{
4282			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4283			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4284		}
4285
4286		both ""
4287			#version 310 es
4288			precision highp float;
4289			precision highp int;
4290
4291			${DECLARATIONS}
4292
4293			void main()
4294			{
4295				${SETUP}
4296				out0 = in0.yyyy;
4297				${OUTPUT}
4298			}
4299		""
4300	end
4301
4302	case mediump_ivec4_wwww
4303		version 310 es
4304		values
4305		{
4306			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4307			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4308		}
4309
4310		both ""
4311			#version 310 es
4312			precision highp float;
4313			precision highp int;
4314
4315			${DECLARATIONS}
4316
4317			void main()
4318			{
4319				${SETUP}
4320				out0 = in0.wwww;
4321				${OUTPUT}
4322			}
4323		""
4324	end
4325
4326	case mediump_ivec4_wzzw
4327		version 310 es
4328		values
4329		{
4330			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4331			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4332		}
4333
4334		both ""
4335			#version 310 es
4336			precision highp float;
4337			precision highp int;
4338
4339			${DECLARATIONS}
4340
4341			void main()
4342			{
4343				${SETUP}
4344				out0 = in0.wzzw;
4345				${OUTPUT}
4346			}
4347		""
4348	end
4349
4350	case mediump_ivec4_wwwy
4351		version 310 es
4352		values
4353		{
4354			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4355			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4356		}
4357
4358		both ""
4359			#version 310 es
4360			precision highp float;
4361			precision highp int;
4362
4363			${DECLARATIONS}
4364
4365			void main()
4366			{
4367				${SETUP}
4368				out0 = in0.wwwy;
4369				${OUTPUT}
4370			}
4371		""
4372	end
4373
4374	case mediump_ivec4_xyxx
4375		version 310 es
4376		values
4377		{
4378			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4379			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4380		}
4381
4382		both ""
4383			#version 310 es
4384			precision highp float;
4385			precision highp int;
4386
4387			${DECLARATIONS}
4388
4389			void main()
4390			{
4391				${SETUP}
4392				out0 = in0.xyxx;
4393				${OUTPUT}
4394			}
4395		""
4396	end
4397
4398	case mediump_ivec4_zzwz
4399		version 310 es
4400		values
4401		{
4402			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4403			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4404		}
4405
4406		both ""
4407			#version 310 es
4408			precision highp float;
4409			precision highp int;
4410
4411			${DECLARATIONS}
4412
4413			void main()
4414			{
4415				${SETUP}
4416				out0 = in0.zzwz;
4417				${OUTPUT}
4418			}
4419		""
4420	end
4421
4422	case mediump_ivec4_s
4423		version 310 es
4424		values
4425		{
4426			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4427			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4428		}
4429
4430		both ""
4431			#version 310 es
4432			precision highp float;
4433			precision highp int;
4434
4435			${DECLARATIONS}
4436
4437			void main()
4438			{
4439				${SETUP}
4440				out0 = in0.s;
4441				${OUTPUT}
4442			}
4443		""
4444	end
4445
4446	case mediump_ivec4_q
4447		version 310 es
4448		values
4449		{
4450			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4451			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4452		}
4453
4454		both ""
4455			#version 310 es
4456			precision highp float;
4457			precision highp int;
4458
4459			${DECLARATIONS}
4460
4461			void main()
4462			{
4463				${SETUP}
4464				out0 = in0.q;
4465				${OUTPUT}
4466			}
4467		""
4468	end
4469
4470	case mediump_ivec4_qs
4471		version 310 es
4472		values
4473		{
4474			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4475			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4476		}
4477
4478		both ""
4479			#version 310 es
4480			precision highp float;
4481			precision highp int;
4482
4483			${DECLARATIONS}
4484
4485			void main()
4486			{
4487				${SETUP}
4488				out0 = in0.qs;
4489				${OUTPUT}
4490			}
4491		""
4492	end
4493
4494	case mediump_ivec4_qp
4495		version 310 es
4496		values
4497		{
4498			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4499			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4500		}
4501
4502		both ""
4503			#version 310 es
4504			precision highp float;
4505			precision highp int;
4506
4507			${DECLARATIONS}
4508
4509			void main()
4510			{
4511				${SETUP}
4512				out0 = in0.qp;
4513				${OUTPUT}
4514			}
4515		""
4516	end
4517
4518	case mediump_ivec4_qqq
4519		version 310 es
4520		values
4521		{
4522			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4523			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4524		}
4525
4526		both ""
4527			#version 310 es
4528			precision highp float;
4529			precision highp int;
4530
4531			${DECLARATIONS}
4532
4533			void main()
4534			{
4535				${SETUP}
4536				out0 = in0.qqq;
4537				${OUTPUT}
4538			}
4539		""
4540	end
4541
4542	case mediump_ivec4_ttq
4543		version 310 es
4544		values
4545		{
4546			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4547			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4548		}
4549
4550		both ""
4551			#version 310 es
4552			precision highp float;
4553			precision highp int;
4554
4555			${DECLARATIONS}
4556
4557			void main()
4558			{
4559				${SETUP}
4560				out0 = in0.ttq;
4561				${OUTPUT}
4562			}
4563		""
4564	end
4565
4566	case mediump_ivec4_qpt
4567		version 310 es
4568		values
4569		{
4570			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4571			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4572		}
4573
4574		both ""
4575			#version 310 es
4576			precision highp float;
4577			precision highp int;
4578
4579			${DECLARATIONS}
4580
4581			void main()
4582			{
4583				${SETUP}
4584				out0 = in0.qpt;
4585				${OUTPUT}
4586			}
4587		""
4588	end
4589
4590	case mediump_ivec4_stpq
4591		version 310 es
4592		values
4593		{
4594			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4595			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4596		}
4597
4598		both ""
4599			#version 310 es
4600			precision highp float;
4601			precision highp int;
4602
4603			${DECLARATIONS}
4604
4605			void main()
4606			{
4607				${SETUP}
4608				out0 = in0.stpq;
4609				${OUTPUT}
4610			}
4611		""
4612	end
4613
4614	case mediump_ivec4_qpts
4615		version 310 es
4616		values
4617		{
4618			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4619			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4620		}
4621
4622		both ""
4623			#version 310 es
4624			precision highp float;
4625			precision highp int;
4626
4627			${DECLARATIONS}
4628
4629			void main()
4630			{
4631				${SETUP}
4632				out0 = in0.qpts;
4633				${OUTPUT}
4634			}
4635		""
4636	end
4637
4638	case mediump_ivec4_ssss
4639		version 310 es
4640		values
4641		{
4642			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4643			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4644		}
4645
4646		both ""
4647			#version 310 es
4648			precision highp float;
4649			precision highp int;
4650
4651			${DECLARATIONS}
4652
4653			void main()
4654			{
4655				${SETUP}
4656				out0 = in0.ssss;
4657				${OUTPUT}
4658			}
4659		""
4660	end
4661
4662	case mediump_ivec4_tttt
4663		version 310 es
4664		values
4665		{
4666			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4667			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4668		}
4669
4670		both ""
4671			#version 310 es
4672			precision highp float;
4673			precision highp int;
4674
4675			${DECLARATIONS}
4676
4677			void main()
4678			{
4679				${SETUP}
4680				out0 = in0.tttt;
4681				${OUTPUT}
4682			}
4683		""
4684	end
4685
4686	case mediump_ivec4_qqqq
4687		version 310 es
4688		values
4689		{
4690			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4691			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4692		}
4693
4694		both ""
4695			#version 310 es
4696			precision highp float;
4697			precision highp int;
4698
4699			${DECLARATIONS}
4700
4701			void main()
4702			{
4703				${SETUP}
4704				out0 = in0.qqqq;
4705				${OUTPUT}
4706			}
4707		""
4708	end
4709
4710	case mediump_ivec4_qppq
4711		version 310 es
4712		values
4713		{
4714			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4715			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4716		}
4717
4718		both ""
4719			#version 310 es
4720			precision highp float;
4721			precision highp int;
4722
4723			${DECLARATIONS}
4724
4725			void main()
4726			{
4727				${SETUP}
4728				out0 = in0.qppq;
4729				${OUTPUT}
4730			}
4731		""
4732	end
4733
4734	case mediump_ivec4_qqqt
4735		version 310 es
4736		values
4737		{
4738			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4739			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4740		}
4741
4742		both ""
4743			#version 310 es
4744			precision highp float;
4745			precision highp int;
4746
4747			${DECLARATIONS}
4748
4749			void main()
4750			{
4751				${SETUP}
4752				out0 = in0.qqqt;
4753				${OUTPUT}
4754			}
4755		""
4756	end
4757
4758	case mediump_ivec4_stss
4759		version 310 es
4760		values
4761		{
4762			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4763			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4764		}
4765
4766		both ""
4767			#version 310 es
4768			precision highp float;
4769			precision highp int;
4770
4771			${DECLARATIONS}
4772
4773			void main()
4774			{
4775				${SETUP}
4776				out0 = in0.stss;
4777				${OUTPUT}
4778			}
4779		""
4780	end
4781
4782	case mediump_ivec4_ppqp
4783		version 310 es
4784		values
4785		{
4786			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4787			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4788		}
4789
4790		both ""
4791			#version 310 es
4792			precision highp float;
4793			precision highp int;
4794
4795			${DECLARATIONS}
4796
4797			void main()
4798			{
4799				${SETUP}
4800				out0 = in0.ppqp;
4801				${OUTPUT}
4802			}
4803		""
4804	end
4805
4806	case mediump_ivec4_r
4807		version 310 es
4808		values
4809		{
4810			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4811			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4812		}
4813
4814		both ""
4815			#version 310 es
4816			precision highp float;
4817			precision highp int;
4818
4819			${DECLARATIONS}
4820
4821			void main()
4822			{
4823				${SETUP}
4824				out0 = in0.r;
4825				${OUTPUT}
4826			}
4827		""
4828	end
4829
4830	case mediump_ivec4_a
4831		version 310 es
4832		values
4833		{
4834			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4835			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4836		}
4837
4838		both ""
4839			#version 310 es
4840			precision highp float;
4841			precision highp int;
4842
4843			${DECLARATIONS}
4844
4845			void main()
4846			{
4847				${SETUP}
4848				out0 = in0.a;
4849				${OUTPUT}
4850			}
4851		""
4852	end
4853
4854	case mediump_ivec4_ar
4855		version 310 es
4856		values
4857		{
4858			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4859			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4860		}
4861
4862		both ""
4863			#version 310 es
4864			precision highp float;
4865			precision highp int;
4866
4867			${DECLARATIONS}
4868
4869			void main()
4870			{
4871				${SETUP}
4872				out0 = in0.ar;
4873				${OUTPUT}
4874			}
4875		""
4876	end
4877
4878	case mediump_ivec4_ab
4879		version 310 es
4880		values
4881		{
4882			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4883			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4884		}
4885
4886		both ""
4887			#version 310 es
4888			precision highp float;
4889			precision highp int;
4890
4891			${DECLARATIONS}
4892
4893			void main()
4894			{
4895				${SETUP}
4896				out0 = in0.ab;
4897				${OUTPUT}
4898			}
4899		""
4900	end
4901
4902	case mediump_ivec4_aaa
4903		version 310 es
4904		values
4905		{
4906			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4907			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4908		}
4909
4910		both ""
4911			#version 310 es
4912			precision highp float;
4913			precision highp int;
4914
4915			${DECLARATIONS}
4916
4917			void main()
4918			{
4919				${SETUP}
4920				out0 = in0.aaa;
4921				${OUTPUT}
4922			}
4923		""
4924	end
4925
4926	case mediump_ivec4_gga
4927		version 310 es
4928		values
4929		{
4930			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4931			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4932		}
4933
4934		both ""
4935			#version 310 es
4936			precision highp float;
4937			precision highp int;
4938
4939			${DECLARATIONS}
4940
4941			void main()
4942			{
4943				${SETUP}
4944				out0 = in0.gga;
4945				${OUTPUT}
4946			}
4947		""
4948	end
4949
4950	case mediump_ivec4_abg
4951		version 310 es
4952		values
4953		{
4954			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4955			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4956		}
4957
4958		both ""
4959			#version 310 es
4960			precision highp float;
4961			precision highp int;
4962
4963			${DECLARATIONS}
4964
4965			void main()
4966			{
4967				${SETUP}
4968				out0 = in0.abg;
4969				${OUTPUT}
4970			}
4971		""
4972	end
4973
4974	case mediump_ivec4_rgba
4975		version 310 es
4976		values
4977		{
4978			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4979			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4980		}
4981
4982		both ""
4983			#version 310 es
4984			precision highp float;
4985			precision highp int;
4986
4987			${DECLARATIONS}
4988
4989			void main()
4990			{
4991				${SETUP}
4992				out0 = in0.rgba;
4993				${OUTPUT}
4994			}
4995		""
4996	end
4997
4998	case mediump_ivec4_abgr
4999		version 310 es
5000		values
5001		{
5002			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5003			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
5004		}
5005
5006		both ""
5007			#version 310 es
5008			precision highp float;
5009			precision highp int;
5010
5011			${DECLARATIONS}
5012
5013			void main()
5014			{
5015				${SETUP}
5016				out0 = in0.abgr;
5017				${OUTPUT}
5018			}
5019		""
5020	end
5021
5022	case mediump_ivec4_rrrr
5023		version 310 es
5024		values
5025		{
5026			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5027			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
5028		}
5029
5030		both ""
5031			#version 310 es
5032			precision highp float;
5033			precision highp int;
5034
5035			${DECLARATIONS}
5036
5037			void main()
5038			{
5039				${SETUP}
5040				out0 = in0.rrrr;
5041				${OUTPUT}
5042			}
5043		""
5044	end
5045
5046	case mediump_ivec4_gggg
5047		version 310 es
5048		values
5049		{
5050			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5051			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
5052		}
5053
5054		both ""
5055			#version 310 es
5056			precision highp float;
5057			precision highp int;
5058
5059			${DECLARATIONS}
5060
5061			void main()
5062			{
5063				${SETUP}
5064				out0 = in0.gggg;
5065				${OUTPUT}
5066			}
5067		""
5068	end
5069
5070	case mediump_ivec4_aaaa
5071		version 310 es
5072		values
5073		{
5074			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5075			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
5076		}
5077
5078		both ""
5079			#version 310 es
5080			precision highp float;
5081			precision highp int;
5082
5083			${DECLARATIONS}
5084
5085			void main()
5086			{
5087				${SETUP}
5088				out0 = in0.aaaa;
5089				${OUTPUT}
5090			}
5091		""
5092	end
5093
5094	case mediump_ivec4_abba
5095		version 310 es
5096		values
5097		{
5098			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5099			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
5100		}
5101
5102		both ""
5103			#version 310 es
5104			precision highp float;
5105			precision highp int;
5106
5107			${DECLARATIONS}
5108
5109			void main()
5110			{
5111				${SETUP}
5112				out0 = in0.abba;
5113				${OUTPUT}
5114			}
5115		""
5116	end
5117
5118	case mediump_ivec4_aaag
5119		version 310 es
5120		values
5121		{
5122			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5123			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
5124		}
5125
5126		both ""
5127			#version 310 es
5128			precision highp float;
5129			precision highp int;
5130
5131			${DECLARATIONS}
5132
5133			void main()
5134			{
5135				${SETUP}
5136				out0 = in0.aaag;
5137				${OUTPUT}
5138			}
5139		""
5140	end
5141
5142	case mediump_ivec4_rgrr
5143		version 310 es
5144		values
5145		{
5146			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5147			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
5148		}
5149
5150		both ""
5151			#version 310 es
5152			precision highp float;
5153			precision highp int;
5154
5155			${DECLARATIONS}
5156
5157			void main()
5158			{
5159				${SETUP}
5160				out0 = in0.rgrr;
5161				${OUTPUT}
5162			}
5163		""
5164	end
5165
5166	case mediump_ivec4_bbab
5167		version 310 es
5168		values
5169		{
5170			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
5171			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
5172		}
5173
5174		both ""
5175			#version 310 es
5176			precision highp float;
5177			precision highp int;
5178
5179			${DECLARATIONS}
5180
5181			void main()
5182			{
5183				${SETUP}
5184				out0 = in0.bbab;
5185				${OUTPUT}
5186			}
5187		""
5188	end
5189
5190	case mediump_bvec2_x
5191		version 310 es
5192		values
5193		{
5194			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5195			output bool out0 = [ true | false | false | true | false ];
5196		}
5197
5198		both ""
5199			#version 310 es
5200			precision highp float;
5201			precision highp int;
5202
5203			${DECLARATIONS}
5204
5205			void main()
5206			{
5207				${SETUP}
5208				out0 = in0.x;
5209				${OUTPUT}
5210			}
5211		""
5212	end
5213
5214	case mediump_bvec2_xx
5215		version 310 es
5216		values
5217		{
5218			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5219			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5220		}
5221
5222		both ""
5223			#version 310 es
5224			precision highp float;
5225			precision highp int;
5226
5227			${DECLARATIONS}
5228
5229			void main()
5230			{
5231				${SETUP}
5232				out0 = in0.xx;
5233				${OUTPUT}
5234			}
5235		""
5236	end
5237
5238	case mediump_bvec2_xy
5239		version 310 es
5240		values
5241		{
5242			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5243			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5244		}
5245
5246		both ""
5247			#version 310 es
5248			precision highp float;
5249			precision highp int;
5250
5251			${DECLARATIONS}
5252
5253			void main()
5254			{
5255				${SETUP}
5256				out0 = in0.xy;
5257				${OUTPUT}
5258			}
5259		""
5260	end
5261
5262	case mediump_bvec2_yx
5263		version 310 es
5264		values
5265		{
5266			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5267			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5268		}
5269
5270		both ""
5271			#version 310 es
5272			precision highp float;
5273			precision highp int;
5274
5275			${DECLARATIONS}
5276
5277			void main()
5278			{
5279				${SETUP}
5280				out0 = in0.yx;
5281				${OUTPUT}
5282			}
5283		""
5284	end
5285
5286	case mediump_bvec2_yxy
5287		version 310 es
5288		values
5289		{
5290			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5291			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5292		}
5293
5294		both ""
5295			#version 310 es
5296			precision highp float;
5297			precision highp int;
5298
5299			${DECLARATIONS}
5300
5301			void main()
5302			{
5303				${SETUP}
5304				out0 = in0.yxy;
5305				${OUTPUT}
5306			}
5307		""
5308	end
5309
5310	case mediump_bvec2_xyxx
5311		version 310 es
5312		values
5313		{
5314			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5315			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5316		}
5317
5318		both ""
5319			#version 310 es
5320			precision highp float;
5321			precision highp int;
5322
5323			${DECLARATIONS}
5324
5325			void main()
5326			{
5327				${SETUP}
5328				out0 = in0.xyxx;
5329				${OUTPUT}
5330			}
5331		""
5332	end
5333
5334	case mediump_bvec2_yyyy
5335		version 310 es
5336		values
5337		{
5338			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5339			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5340		}
5341
5342		both ""
5343			#version 310 es
5344			precision highp float;
5345			precision highp int;
5346
5347			${DECLARATIONS}
5348
5349			void main()
5350			{
5351				${SETUP}
5352				out0 = in0.yyyy;
5353				${OUTPUT}
5354			}
5355		""
5356	end
5357
5358	case mediump_bvec2_s
5359		version 310 es
5360		values
5361		{
5362			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5363			output bool out0 = [ true | false | false | true | false ];
5364		}
5365
5366		both ""
5367			#version 310 es
5368			precision highp float;
5369			precision highp int;
5370
5371			${DECLARATIONS}
5372
5373			void main()
5374			{
5375				${SETUP}
5376				out0 = in0.s;
5377				${OUTPUT}
5378			}
5379		""
5380	end
5381
5382	case mediump_bvec2_ss
5383		version 310 es
5384		values
5385		{
5386			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5387			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5388		}
5389
5390		both ""
5391			#version 310 es
5392			precision highp float;
5393			precision highp int;
5394
5395			${DECLARATIONS}
5396
5397			void main()
5398			{
5399				${SETUP}
5400				out0 = in0.ss;
5401				${OUTPUT}
5402			}
5403		""
5404	end
5405
5406	case mediump_bvec2_st
5407		version 310 es
5408		values
5409		{
5410			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5411			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5412		}
5413
5414		both ""
5415			#version 310 es
5416			precision highp float;
5417			precision highp int;
5418
5419			${DECLARATIONS}
5420
5421			void main()
5422			{
5423				${SETUP}
5424				out0 = in0.st;
5425				${OUTPUT}
5426			}
5427		""
5428	end
5429
5430	case mediump_bvec2_ts
5431		version 310 es
5432		values
5433		{
5434			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5435			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5436		}
5437
5438		both ""
5439			#version 310 es
5440			precision highp float;
5441			precision highp int;
5442
5443			${DECLARATIONS}
5444
5445			void main()
5446			{
5447				${SETUP}
5448				out0 = in0.ts;
5449				${OUTPUT}
5450			}
5451		""
5452	end
5453
5454	case mediump_bvec2_tst
5455		version 310 es
5456		values
5457		{
5458			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5459			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5460		}
5461
5462		both ""
5463			#version 310 es
5464			precision highp float;
5465			precision highp int;
5466
5467			${DECLARATIONS}
5468
5469			void main()
5470			{
5471				${SETUP}
5472				out0 = in0.tst;
5473				${OUTPUT}
5474			}
5475		""
5476	end
5477
5478	case mediump_bvec2_stss
5479		version 310 es
5480		values
5481		{
5482			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5483			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5484		}
5485
5486		both ""
5487			#version 310 es
5488			precision highp float;
5489			precision highp int;
5490
5491			${DECLARATIONS}
5492
5493			void main()
5494			{
5495				${SETUP}
5496				out0 = in0.stss;
5497				${OUTPUT}
5498			}
5499		""
5500	end
5501
5502	case mediump_bvec2_tttt
5503		version 310 es
5504		values
5505		{
5506			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5507			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5508		}
5509
5510		both ""
5511			#version 310 es
5512			precision highp float;
5513			precision highp int;
5514
5515			${DECLARATIONS}
5516
5517			void main()
5518			{
5519				${SETUP}
5520				out0 = in0.tttt;
5521				${OUTPUT}
5522			}
5523		""
5524	end
5525
5526	case mediump_bvec2_r
5527		version 310 es
5528		values
5529		{
5530			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5531			output bool out0 = [ true | false | false | true | false ];
5532		}
5533
5534		both ""
5535			#version 310 es
5536			precision highp float;
5537			precision highp int;
5538
5539			${DECLARATIONS}
5540
5541			void main()
5542			{
5543				${SETUP}
5544				out0 = in0.r;
5545				${OUTPUT}
5546			}
5547		""
5548	end
5549
5550	case mediump_bvec2_rr
5551		version 310 es
5552		values
5553		{
5554			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5555			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5556		}
5557
5558		both ""
5559			#version 310 es
5560			precision highp float;
5561			precision highp int;
5562
5563			${DECLARATIONS}
5564
5565			void main()
5566			{
5567				${SETUP}
5568				out0 = in0.rr;
5569				${OUTPUT}
5570			}
5571		""
5572	end
5573
5574	case mediump_bvec2_rg
5575		version 310 es
5576		values
5577		{
5578			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5579			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5580		}
5581
5582		both ""
5583			#version 310 es
5584			precision highp float;
5585			precision highp int;
5586
5587			${DECLARATIONS}
5588
5589			void main()
5590			{
5591				${SETUP}
5592				out0 = in0.rg;
5593				${OUTPUT}
5594			}
5595		""
5596	end
5597
5598	case mediump_bvec2_gr
5599		version 310 es
5600		values
5601		{
5602			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5603			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5604		}
5605
5606		both ""
5607			#version 310 es
5608			precision highp float;
5609			precision highp int;
5610
5611			${DECLARATIONS}
5612
5613			void main()
5614			{
5615				${SETUP}
5616				out0 = in0.gr;
5617				${OUTPUT}
5618			}
5619		""
5620	end
5621
5622	case mediump_bvec2_grg
5623		version 310 es
5624		values
5625		{
5626			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5627			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5628		}
5629
5630		both ""
5631			#version 310 es
5632			precision highp float;
5633			precision highp int;
5634
5635			${DECLARATIONS}
5636
5637			void main()
5638			{
5639				${SETUP}
5640				out0 = in0.grg;
5641				${OUTPUT}
5642			}
5643		""
5644	end
5645
5646	case mediump_bvec2_rgrr
5647		version 310 es
5648		values
5649		{
5650			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5651			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5652		}
5653
5654		both ""
5655			#version 310 es
5656			precision highp float;
5657			precision highp int;
5658
5659			${DECLARATIONS}
5660
5661			void main()
5662			{
5663				${SETUP}
5664				out0 = in0.rgrr;
5665				${OUTPUT}
5666			}
5667		""
5668	end
5669
5670	case mediump_bvec2_gggg
5671		version 310 es
5672		values
5673		{
5674			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5675			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5676		}
5677
5678		both ""
5679			#version 310 es
5680			precision highp float;
5681			precision highp int;
5682
5683			${DECLARATIONS}
5684
5685			void main()
5686			{
5687				${SETUP}
5688				out0 = in0.gggg;
5689				${OUTPUT}
5690			}
5691		""
5692	end
5693
5694	case mediump_bvec3_x
5695		version 310 es
5696		values
5697		{
5698			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5699			output bool out0 = [ true | false | false | true | false ];
5700		}
5701
5702		both ""
5703			#version 310 es
5704			precision highp float;
5705			precision highp int;
5706
5707			${DECLARATIONS}
5708
5709			void main()
5710			{
5711				${SETUP}
5712				out0 = in0.x;
5713				${OUTPUT}
5714			}
5715		""
5716	end
5717
5718	case mediump_bvec3_z
5719		version 310 es
5720		values
5721		{
5722			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5723			output bool out0 = [ false | false | false | true | false ];
5724		}
5725
5726		both ""
5727			#version 310 es
5728			precision highp float;
5729			precision highp int;
5730
5731			${DECLARATIONS}
5732
5733			void main()
5734			{
5735				${SETUP}
5736				out0 = in0.z;
5737				${OUTPUT}
5738			}
5739		""
5740	end
5741
5742	case mediump_bvec3_xz
5743		version 310 es
5744		values
5745		{
5746			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5747			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5748		}
5749
5750		both ""
5751			#version 310 es
5752			precision highp float;
5753			precision highp int;
5754
5755			${DECLARATIONS}
5756
5757			void main()
5758			{
5759				${SETUP}
5760				out0 = in0.xz;
5761				${OUTPUT}
5762			}
5763		""
5764	end
5765
5766	case mediump_bvec3_zz
5767		version 310 es
5768		values
5769		{
5770			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5771			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5772		}
5773
5774		both ""
5775			#version 310 es
5776			precision highp float;
5777			precision highp int;
5778
5779			${DECLARATIONS}
5780
5781			void main()
5782			{
5783				${SETUP}
5784				out0 = in0.zz;
5785				${OUTPUT}
5786			}
5787		""
5788	end
5789
5790	case mediump_bvec3_xyz
5791		version 310 es
5792		values
5793		{
5794			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5795			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5796		}
5797
5798		both ""
5799			#version 310 es
5800			precision highp float;
5801			precision highp int;
5802
5803			${DECLARATIONS}
5804
5805			void main()
5806			{
5807				${SETUP}
5808				out0 = in0.xyz;
5809				${OUTPUT}
5810			}
5811		""
5812	end
5813
5814	case mediump_bvec3_zyx
5815		version 310 es
5816		values
5817		{
5818			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5819			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5820		}
5821
5822		both ""
5823			#version 310 es
5824			precision highp float;
5825			precision highp int;
5826
5827			${DECLARATIONS}
5828
5829			void main()
5830			{
5831				${SETUP}
5832				out0 = in0.zyx;
5833				${OUTPUT}
5834			}
5835		""
5836	end
5837
5838	case mediump_bvec3_xxx
5839		version 310 es
5840		values
5841		{
5842			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5843			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5844		}
5845
5846		both ""
5847			#version 310 es
5848			precision highp float;
5849			precision highp int;
5850
5851			${DECLARATIONS}
5852
5853			void main()
5854			{
5855				${SETUP}
5856				out0 = in0.xxx;
5857				${OUTPUT}
5858			}
5859		""
5860	end
5861
5862	case mediump_bvec3_zzz
5863		version 310 es
5864		values
5865		{
5866			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5867			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5868		}
5869
5870		both ""
5871			#version 310 es
5872			precision highp float;
5873			precision highp int;
5874
5875			${DECLARATIONS}
5876
5877			void main()
5878			{
5879				${SETUP}
5880				out0 = in0.zzz;
5881				${OUTPUT}
5882			}
5883		""
5884	end
5885
5886	case mediump_bvec3_zzy
5887		version 310 es
5888		values
5889		{
5890			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5891			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5892		}
5893
5894		both ""
5895			#version 310 es
5896			precision highp float;
5897			precision highp int;
5898
5899			${DECLARATIONS}
5900
5901			void main()
5902			{
5903				${SETUP}
5904				out0 = in0.zzy;
5905				${OUTPUT}
5906			}
5907		""
5908	end
5909
5910	case mediump_bvec3_yxy
5911		version 310 es
5912		values
5913		{
5914			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5915			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5916		}
5917
5918		both ""
5919			#version 310 es
5920			precision highp float;
5921			precision highp int;
5922
5923			${DECLARATIONS}
5924
5925			void main()
5926			{
5927				${SETUP}
5928				out0 = in0.yxy;
5929				${OUTPUT}
5930			}
5931		""
5932	end
5933
5934	case mediump_bvec3_xzx
5935		version 310 es
5936		values
5937		{
5938			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5939			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5940		}
5941
5942		both ""
5943			#version 310 es
5944			precision highp float;
5945			precision highp int;
5946
5947			${DECLARATIONS}
5948
5949			void main()
5950			{
5951				${SETUP}
5952				out0 = in0.xzx;
5953				${OUTPUT}
5954			}
5955		""
5956	end
5957
5958	case mediump_bvec3_xyyx
5959		version 310 es
5960		values
5961		{
5962			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5963			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5964		}
5965
5966		both ""
5967			#version 310 es
5968			precision highp float;
5969			precision highp int;
5970
5971			${DECLARATIONS}
5972
5973			void main()
5974			{
5975				${SETUP}
5976				out0 = in0.xyyx;
5977				${OUTPUT}
5978			}
5979		""
5980	end
5981
5982	case mediump_bvec3_zzzz
5983		version 310 es
5984		values
5985		{
5986			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5987			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5988		}
5989
5990		both ""
5991			#version 310 es
5992			precision highp float;
5993			precision highp int;
5994
5995			${DECLARATIONS}
5996
5997			void main()
5998			{
5999				${SETUP}
6000				out0 = in0.zzzz;
6001				${OUTPUT}
6002			}
6003		""
6004	end
6005
6006	case mediump_bvec3_s
6007		version 310 es
6008		values
6009		{
6010			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6011			output bool out0 = [ true | false | false | true | false ];
6012		}
6013
6014		both ""
6015			#version 310 es
6016			precision highp float;
6017			precision highp int;
6018
6019			${DECLARATIONS}
6020
6021			void main()
6022			{
6023				${SETUP}
6024				out0 = in0.s;
6025				${OUTPUT}
6026			}
6027		""
6028	end
6029
6030	case mediump_bvec3_p
6031		version 310 es
6032		values
6033		{
6034			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6035			output bool out0 = [ false | false | false | true | false ];
6036		}
6037
6038		both ""
6039			#version 310 es
6040			precision highp float;
6041			precision highp int;
6042
6043			${DECLARATIONS}
6044
6045			void main()
6046			{
6047				${SETUP}
6048				out0 = in0.p;
6049				${OUTPUT}
6050			}
6051		""
6052	end
6053
6054	case mediump_bvec3_sp
6055		version 310 es
6056		values
6057		{
6058			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6059			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6060		}
6061
6062		both ""
6063			#version 310 es
6064			precision highp float;
6065			precision highp int;
6066
6067			${DECLARATIONS}
6068
6069			void main()
6070			{
6071				${SETUP}
6072				out0 = in0.sp;
6073				${OUTPUT}
6074			}
6075		""
6076	end
6077
6078	case mediump_bvec3_pp
6079		version 310 es
6080		values
6081		{
6082			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6083			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6084		}
6085
6086		both ""
6087			#version 310 es
6088			precision highp float;
6089			precision highp int;
6090
6091			${DECLARATIONS}
6092
6093			void main()
6094			{
6095				${SETUP}
6096				out0 = in0.pp;
6097				${OUTPUT}
6098			}
6099		""
6100	end
6101
6102	case mediump_bvec3_stp
6103		version 310 es
6104		values
6105		{
6106			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6107			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6108		}
6109
6110		both ""
6111			#version 310 es
6112			precision highp float;
6113			precision highp int;
6114
6115			${DECLARATIONS}
6116
6117			void main()
6118			{
6119				${SETUP}
6120				out0 = in0.stp;
6121				${OUTPUT}
6122			}
6123		""
6124	end
6125
6126	case mediump_bvec3_pts
6127		version 310 es
6128		values
6129		{
6130			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6131			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6132		}
6133
6134		both ""
6135			#version 310 es
6136			precision highp float;
6137			precision highp int;
6138
6139			${DECLARATIONS}
6140
6141			void main()
6142			{
6143				${SETUP}
6144				out0 = in0.pts;
6145				${OUTPUT}
6146			}
6147		""
6148	end
6149
6150	case mediump_bvec3_sss
6151		version 310 es
6152		values
6153		{
6154			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6155			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6156		}
6157
6158		both ""
6159			#version 310 es
6160			precision highp float;
6161			precision highp int;
6162
6163			${DECLARATIONS}
6164
6165			void main()
6166			{
6167				${SETUP}
6168				out0 = in0.sss;
6169				${OUTPUT}
6170			}
6171		""
6172	end
6173
6174	case mediump_bvec3_ppp
6175		version 310 es
6176		values
6177		{
6178			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6179			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6180		}
6181
6182		both ""
6183			#version 310 es
6184			precision highp float;
6185			precision highp int;
6186
6187			${DECLARATIONS}
6188
6189			void main()
6190			{
6191				${SETUP}
6192				out0 = in0.ppp;
6193				${OUTPUT}
6194			}
6195		""
6196	end
6197
6198	case mediump_bvec3_ppt
6199		version 310 es
6200		values
6201		{
6202			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6203			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6204		}
6205
6206		both ""
6207			#version 310 es
6208			precision highp float;
6209			precision highp int;
6210
6211			${DECLARATIONS}
6212
6213			void main()
6214			{
6215				${SETUP}
6216				out0 = in0.ppt;
6217				${OUTPUT}
6218			}
6219		""
6220	end
6221
6222	case mediump_bvec3_tst
6223		version 310 es
6224		values
6225		{
6226			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6227			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6228		}
6229
6230		both ""
6231			#version 310 es
6232			precision highp float;
6233			precision highp int;
6234
6235			${DECLARATIONS}
6236
6237			void main()
6238			{
6239				${SETUP}
6240				out0 = in0.tst;
6241				${OUTPUT}
6242			}
6243		""
6244	end
6245
6246	case mediump_bvec3_sps
6247		version 310 es
6248		values
6249		{
6250			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6251			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6252		}
6253
6254		both ""
6255			#version 310 es
6256			precision highp float;
6257			precision highp int;
6258
6259			${DECLARATIONS}
6260
6261			void main()
6262			{
6263				${SETUP}
6264				out0 = in0.sps;
6265				${OUTPUT}
6266			}
6267		""
6268	end
6269
6270	case mediump_bvec3_stts
6271		version 310 es
6272		values
6273		{
6274			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6275			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6276		}
6277
6278		both ""
6279			#version 310 es
6280			precision highp float;
6281			precision highp int;
6282
6283			${DECLARATIONS}
6284
6285			void main()
6286			{
6287				${SETUP}
6288				out0 = in0.stts;
6289				${OUTPUT}
6290			}
6291		""
6292	end
6293
6294	case mediump_bvec3_pppp
6295		version 310 es
6296		values
6297		{
6298			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6299			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6300		}
6301
6302		both ""
6303			#version 310 es
6304			precision highp float;
6305			precision highp int;
6306
6307			${DECLARATIONS}
6308
6309			void main()
6310			{
6311				${SETUP}
6312				out0 = in0.pppp;
6313				${OUTPUT}
6314			}
6315		""
6316	end
6317
6318	case mediump_bvec3_r
6319		version 310 es
6320		values
6321		{
6322			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6323			output bool out0 = [ true | false | false | true | false ];
6324		}
6325
6326		both ""
6327			#version 310 es
6328			precision highp float;
6329			precision highp int;
6330
6331			${DECLARATIONS}
6332
6333			void main()
6334			{
6335				${SETUP}
6336				out0 = in0.r;
6337				${OUTPUT}
6338			}
6339		""
6340	end
6341
6342	case mediump_bvec3_b
6343		version 310 es
6344		values
6345		{
6346			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6347			output bool out0 = [ false | false | false | true | false ];
6348		}
6349
6350		both ""
6351			#version 310 es
6352			precision highp float;
6353			precision highp int;
6354
6355			${DECLARATIONS}
6356
6357			void main()
6358			{
6359				${SETUP}
6360				out0 = in0.b;
6361				${OUTPUT}
6362			}
6363		""
6364	end
6365
6366	case mediump_bvec3_rb
6367		version 310 es
6368		values
6369		{
6370			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6371			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6372		}
6373
6374		both ""
6375			#version 310 es
6376			precision highp float;
6377			precision highp int;
6378
6379			${DECLARATIONS}
6380
6381			void main()
6382			{
6383				${SETUP}
6384				out0 = in0.rb;
6385				${OUTPUT}
6386			}
6387		""
6388	end
6389
6390	case mediump_bvec3_bb
6391		version 310 es
6392		values
6393		{
6394			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6395			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6396		}
6397
6398		both ""
6399			#version 310 es
6400			precision highp float;
6401			precision highp int;
6402
6403			${DECLARATIONS}
6404
6405			void main()
6406			{
6407				${SETUP}
6408				out0 = in0.bb;
6409				${OUTPUT}
6410			}
6411		""
6412	end
6413
6414	case mediump_bvec3_rgb
6415		version 310 es
6416		values
6417		{
6418			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6419			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6420		}
6421
6422		both ""
6423			#version 310 es
6424			precision highp float;
6425			precision highp int;
6426
6427			${DECLARATIONS}
6428
6429			void main()
6430			{
6431				${SETUP}
6432				out0 = in0.rgb;
6433				${OUTPUT}
6434			}
6435		""
6436	end
6437
6438	case mediump_bvec3_bgr
6439		version 310 es
6440		values
6441		{
6442			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6443			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6444		}
6445
6446		both ""
6447			#version 310 es
6448			precision highp float;
6449			precision highp int;
6450
6451			${DECLARATIONS}
6452
6453			void main()
6454			{
6455				${SETUP}
6456				out0 = in0.bgr;
6457				${OUTPUT}
6458			}
6459		""
6460	end
6461
6462	case mediump_bvec3_rrr
6463		version 310 es
6464		values
6465		{
6466			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6467			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6468		}
6469
6470		both ""
6471			#version 310 es
6472			precision highp float;
6473			precision highp int;
6474
6475			${DECLARATIONS}
6476
6477			void main()
6478			{
6479				${SETUP}
6480				out0 = in0.rrr;
6481				${OUTPUT}
6482			}
6483		""
6484	end
6485
6486	case mediump_bvec3_bbb
6487		version 310 es
6488		values
6489		{
6490			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6491			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6492		}
6493
6494		both ""
6495			#version 310 es
6496			precision highp float;
6497			precision highp int;
6498
6499			${DECLARATIONS}
6500
6501			void main()
6502			{
6503				${SETUP}
6504				out0 = in0.bbb;
6505				${OUTPUT}
6506			}
6507		""
6508	end
6509
6510	case mediump_bvec3_bbg
6511		version 310 es
6512		values
6513		{
6514			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6515			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6516		}
6517
6518		both ""
6519			#version 310 es
6520			precision highp float;
6521			precision highp int;
6522
6523			${DECLARATIONS}
6524
6525			void main()
6526			{
6527				${SETUP}
6528				out0 = in0.bbg;
6529				${OUTPUT}
6530			}
6531		""
6532	end
6533
6534	case mediump_bvec3_grg
6535		version 310 es
6536		values
6537		{
6538			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6539			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6540		}
6541
6542		both ""
6543			#version 310 es
6544			precision highp float;
6545			precision highp int;
6546
6547			${DECLARATIONS}
6548
6549			void main()
6550			{
6551				${SETUP}
6552				out0 = in0.grg;
6553				${OUTPUT}
6554			}
6555		""
6556	end
6557
6558	case mediump_bvec3_rbr
6559		version 310 es
6560		values
6561		{
6562			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6563			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6564		}
6565
6566		both ""
6567			#version 310 es
6568			precision highp float;
6569			precision highp int;
6570
6571			${DECLARATIONS}
6572
6573			void main()
6574			{
6575				${SETUP}
6576				out0 = in0.rbr;
6577				${OUTPUT}
6578			}
6579		""
6580	end
6581
6582	case mediump_bvec3_rggr
6583		version 310 es
6584		values
6585		{
6586			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6587			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6588		}
6589
6590		both ""
6591			#version 310 es
6592			precision highp float;
6593			precision highp int;
6594
6595			${DECLARATIONS}
6596
6597			void main()
6598			{
6599				${SETUP}
6600				out0 = in0.rggr;
6601				${OUTPUT}
6602			}
6603		""
6604	end
6605
6606	case mediump_bvec3_bbbb
6607		version 310 es
6608		values
6609		{
6610			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6611			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6612		}
6613
6614		both ""
6615			#version 310 es
6616			precision highp float;
6617			precision highp int;
6618
6619			${DECLARATIONS}
6620
6621			void main()
6622			{
6623				${SETUP}
6624				out0 = in0.bbbb;
6625				${OUTPUT}
6626			}
6627		""
6628	end
6629
6630	case mediump_bvec4_x
6631		version 310 es
6632		values
6633		{
6634			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6635			output bool out0 = [ true | false | false | true | false ];
6636		}
6637
6638		both ""
6639			#version 310 es
6640			precision highp float;
6641			precision highp int;
6642
6643			${DECLARATIONS}
6644
6645			void main()
6646			{
6647				${SETUP}
6648				out0 = in0.x;
6649				${OUTPUT}
6650			}
6651		""
6652	end
6653
6654	case mediump_bvec4_w
6655		version 310 es
6656		values
6657		{
6658			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6659			output bool out0 = [ true | true | false | true | false ];
6660		}
6661
6662		both ""
6663			#version 310 es
6664			precision highp float;
6665			precision highp int;
6666
6667			${DECLARATIONS}
6668
6669			void main()
6670			{
6671				${SETUP}
6672				out0 = in0.w;
6673				${OUTPUT}
6674			}
6675		""
6676	end
6677
6678	case mediump_bvec4_wx
6679		version 310 es
6680		values
6681		{
6682			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6683			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6684		}
6685
6686		both ""
6687			#version 310 es
6688			precision highp float;
6689			precision highp int;
6690
6691			${DECLARATIONS}
6692
6693			void main()
6694			{
6695				${SETUP}
6696				out0 = in0.wx;
6697				${OUTPUT}
6698			}
6699		""
6700	end
6701
6702	case mediump_bvec4_wz
6703		version 310 es
6704		values
6705		{
6706			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6707			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6708		}
6709
6710		both ""
6711			#version 310 es
6712			precision highp float;
6713			precision highp int;
6714
6715			${DECLARATIONS}
6716
6717			void main()
6718			{
6719				${SETUP}
6720				out0 = in0.wz;
6721				${OUTPUT}
6722			}
6723		""
6724	end
6725
6726	case mediump_bvec4_www
6727		version 310 es
6728		values
6729		{
6730			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6731			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6732		}
6733
6734		both ""
6735			#version 310 es
6736			precision highp float;
6737			precision highp int;
6738
6739			${DECLARATIONS}
6740
6741			void main()
6742			{
6743				${SETUP}
6744				out0 = in0.www;
6745				${OUTPUT}
6746			}
6747		""
6748	end
6749
6750	case mediump_bvec4_yyw
6751		version 310 es
6752		values
6753		{
6754			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6755			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6756		}
6757
6758		both ""
6759			#version 310 es
6760			precision highp float;
6761			precision highp int;
6762
6763			${DECLARATIONS}
6764
6765			void main()
6766			{
6767				${SETUP}
6768				out0 = in0.yyw;
6769				${OUTPUT}
6770			}
6771		""
6772	end
6773
6774	case mediump_bvec4_wzy
6775		version 310 es
6776		values
6777		{
6778			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6779			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6780		}
6781
6782		both ""
6783			#version 310 es
6784			precision highp float;
6785			precision highp int;
6786
6787			${DECLARATIONS}
6788
6789			void main()
6790			{
6791				${SETUP}
6792				out0 = in0.wzy;
6793				${OUTPUT}
6794			}
6795		""
6796	end
6797
6798	case mediump_bvec4_xyzw
6799		version 310 es
6800		values
6801		{
6802			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6803			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6804		}
6805
6806		both ""
6807			#version 310 es
6808			precision highp float;
6809			precision highp int;
6810
6811			${DECLARATIONS}
6812
6813			void main()
6814			{
6815				${SETUP}
6816				out0 = in0.xyzw;
6817				${OUTPUT}
6818			}
6819		""
6820	end
6821
6822	case mediump_bvec4_wzyx
6823		version 310 es
6824		values
6825		{
6826			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6827			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6828		}
6829
6830		both ""
6831			#version 310 es
6832			precision highp float;
6833			precision highp int;
6834
6835			${DECLARATIONS}
6836
6837			void main()
6838			{
6839				${SETUP}
6840				out0 = in0.wzyx;
6841				${OUTPUT}
6842			}
6843		""
6844	end
6845
6846	case mediump_bvec4_xxxx
6847		version 310 es
6848		values
6849		{
6850			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6851			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6852		}
6853
6854		both ""
6855			#version 310 es
6856			precision highp float;
6857			precision highp int;
6858
6859			${DECLARATIONS}
6860
6861			void main()
6862			{
6863				${SETUP}
6864				out0 = in0.xxxx;
6865				${OUTPUT}
6866			}
6867		""
6868	end
6869
6870	case mediump_bvec4_yyyy
6871		version 310 es
6872		values
6873		{
6874			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6875			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6876		}
6877
6878		both ""
6879			#version 310 es
6880			precision highp float;
6881			precision highp int;
6882
6883			${DECLARATIONS}
6884
6885			void main()
6886			{
6887				${SETUP}
6888				out0 = in0.yyyy;
6889				${OUTPUT}
6890			}
6891		""
6892	end
6893
6894	case mediump_bvec4_wwww
6895		version 310 es
6896		values
6897		{
6898			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6899			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6900		}
6901
6902		both ""
6903			#version 310 es
6904			precision highp float;
6905			precision highp int;
6906
6907			${DECLARATIONS}
6908
6909			void main()
6910			{
6911				${SETUP}
6912				out0 = in0.wwww;
6913				${OUTPUT}
6914			}
6915		""
6916	end
6917
6918	case mediump_bvec4_wzzw
6919		version 310 es
6920		values
6921		{
6922			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6923			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6924		}
6925
6926		both ""
6927			#version 310 es
6928			precision highp float;
6929			precision highp int;
6930
6931			${DECLARATIONS}
6932
6933			void main()
6934			{
6935				${SETUP}
6936				out0 = in0.wzzw;
6937				${OUTPUT}
6938			}
6939		""
6940	end
6941
6942	case mediump_bvec4_wwwy
6943		version 310 es
6944		values
6945		{
6946			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6947			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6948		}
6949
6950		both ""
6951			#version 310 es
6952			precision highp float;
6953			precision highp int;
6954
6955			${DECLARATIONS}
6956
6957			void main()
6958			{
6959				${SETUP}
6960				out0 = in0.wwwy;
6961				${OUTPUT}
6962			}
6963		""
6964	end
6965
6966	case mediump_bvec4_xyxx
6967		version 310 es
6968		values
6969		{
6970			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6971			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6972		}
6973
6974		both ""
6975			#version 310 es
6976			precision highp float;
6977			precision highp int;
6978
6979			${DECLARATIONS}
6980
6981			void main()
6982			{
6983				${SETUP}
6984				out0 = in0.xyxx;
6985				${OUTPUT}
6986			}
6987		""
6988	end
6989
6990	case mediump_bvec4_zzwz
6991		version 310 es
6992		values
6993		{
6994			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6995			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6996		}
6997
6998		both ""
6999			#version 310 es
7000			precision highp float;
7001			precision highp int;
7002
7003			${DECLARATIONS}
7004
7005			void main()
7006			{
7007				${SETUP}
7008				out0 = in0.zzwz;
7009				${OUTPUT}
7010			}
7011		""
7012	end
7013
7014	case mediump_bvec4_s
7015		version 310 es
7016		values
7017		{
7018			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7019			output bool out0 = [ true | false | false | true | false ];
7020		}
7021
7022		both ""
7023			#version 310 es
7024			precision highp float;
7025			precision highp int;
7026
7027			${DECLARATIONS}
7028
7029			void main()
7030			{
7031				${SETUP}
7032				out0 = in0.s;
7033				${OUTPUT}
7034			}
7035		""
7036	end
7037
7038	case mediump_bvec4_q
7039		version 310 es
7040		values
7041		{
7042			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7043			output bool out0 = [ true | true | false | true | false ];
7044		}
7045
7046		both ""
7047			#version 310 es
7048			precision highp float;
7049			precision highp int;
7050
7051			${DECLARATIONS}
7052
7053			void main()
7054			{
7055				${SETUP}
7056				out0 = in0.q;
7057				${OUTPUT}
7058			}
7059		""
7060	end
7061
7062	case mediump_bvec4_qs
7063		version 310 es
7064		values
7065		{
7066			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7067			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7068		}
7069
7070		both ""
7071			#version 310 es
7072			precision highp float;
7073			precision highp int;
7074
7075			${DECLARATIONS}
7076
7077			void main()
7078			{
7079				${SETUP}
7080				out0 = in0.qs;
7081				${OUTPUT}
7082			}
7083		""
7084	end
7085
7086	case mediump_bvec4_qp
7087		version 310 es
7088		values
7089		{
7090			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7091			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7092		}
7093
7094		both ""
7095			#version 310 es
7096			precision highp float;
7097			precision highp int;
7098
7099			${DECLARATIONS}
7100
7101			void main()
7102			{
7103				${SETUP}
7104				out0 = in0.qp;
7105				${OUTPUT}
7106			}
7107		""
7108	end
7109
7110	case mediump_bvec4_qqq
7111		version 310 es
7112		values
7113		{
7114			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7115			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7116		}
7117
7118		both ""
7119			#version 310 es
7120			precision highp float;
7121			precision highp int;
7122
7123			${DECLARATIONS}
7124
7125			void main()
7126			{
7127				${SETUP}
7128				out0 = in0.qqq;
7129				${OUTPUT}
7130			}
7131		""
7132	end
7133
7134	case mediump_bvec4_ttq
7135		version 310 es
7136		values
7137		{
7138			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7139			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7140		}
7141
7142		both ""
7143			#version 310 es
7144			precision highp float;
7145			precision highp int;
7146
7147			${DECLARATIONS}
7148
7149			void main()
7150			{
7151				${SETUP}
7152				out0 = in0.ttq;
7153				${OUTPUT}
7154			}
7155		""
7156	end
7157
7158	case mediump_bvec4_qpt
7159		version 310 es
7160		values
7161		{
7162			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7163			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
7164		}
7165
7166		both ""
7167			#version 310 es
7168			precision highp float;
7169			precision highp int;
7170
7171			${DECLARATIONS}
7172
7173			void main()
7174			{
7175				${SETUP}
7176				out0 = in0.qpt;
7177				${OUTPUT}
7178			}
7179		""
7180	end
7181
7182	case mediump_bvec4_stpq
7183		version 310 es
7184		values
7185		{
7186			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7187			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7188		}
7189
7190		both ""
7191			#version 310 es
7192			precision highp float;
7193			precision highp int;
7194
7195			${DECLARATIONS}
7196
7197			void main()
7198			{
7199				${SETUP}
7200				out0 = in0.stpq;
7201				${OUTPUT}
7202			}
7203		""
7204	end
7205
7206	case mediump_bvec4_qpts
7207		version 310 es
7208		values
7209		{
7210			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7211			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7212		}
7213
7214		both ""
7215			#version 310 es
7216			precision highp float;
7217			precision highp int;
7218
7219			${DECLARATIONS}
7220
7221			void main()
7222			{
7223				${SETUP}
7224				out0 = in0.qpts;
7225				${OUTPUT}
7226			}
7227		""
7228	end
7229
7230	case mediump_bvec4_ssss
7231		version 310 es
7232		values
7233		{
7234			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7235			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7236		}
7237
7238		both ""
7239			#version 310 es
7240			precision highp float;
7241			precision highp int;
7242
7243			${DECLARATIONS}
7244
7245			void main()
7246			{
7247				${SETUP}
7248				out0 = in0.ssss;
7249				${OUTPUT}
7250			}
7251		""
7252	end
7253
7254	case mediump_bvec4_tttt
7255		version 310 es
7256		values
7257		{
7258			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7259			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7260		}
7261
7262		both ""
7263			#version 310 es
7264			precision highp float;
7265			precision highp int;
7266
7267			${DECLARATIONS}
7268
7269			void main()
7270			{
7271				${SETUP}
7272				out0 = in0.tttt;
7273				${OUTPUT}
7274			}
7275		""
7276	end
7277
7278	case mediump_bvec4_qqqq
7279		version 310 es
7280		values
7281		{
7282			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7283			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7284		}
7285
7286		both ""
7287			#version 310 es
7288			precision highp float;
7289			precision highp int;
7290
7291			${DECLARATIONS}
7292
7293			void main()
7294			{
7295				${SETUP}
7296				out0 = in0.qqqq;
7297				${OUTPUT}
7298			}
7299		""
7300	end
7301
7302	case mediump_bvec4_qppq
7303		version 310 es
7304		values
7305		{
7306			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7307			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7308		}
7309
7310		both ""
7311			#version 310 es
7312			precision highp float;
7313			precision highp int;
7314
7315			${DECLARATIONS}
7316
7317			void main()
7318			{
7319				${SETUP}
7320				out0 = in0.qppq;
7321				${OUTPUT}
7322			}
7323		""
7324	end
7325
7326	case mediump_bvec4_qqqt
7327		version 310 es
7328		values
7329		{
7330			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7331			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7332		}
7333
7334		both ""
7335			#version 310 es
7336			precision highp float;
7337			precision highp int;
7338
7339			${DECLARATIONS}
7340
7341			void main()
7342			{
7343				${SETUP}
7344				out0 = in0.qqqt;
7345				${OUTPUT}
7346			}
7347		""
7348	end
7349
7350	case mediump_bvec4_stss
7351		version 310 es
7352		values
7353		{
7354			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7355			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7356		}
7357
7358		both ""
7359			#version 310 es
7360			precision highp float;
7361			precision highp int;
7362
7363			${DECLARATIONS}
7364
7365			void main()
7366			{
7367				${SETUP}
7368				out0 = in0.stss;
7369				${OUTPUT}
7370			}
7371		""
7372	end
7373
7374	case mediump_bvec4_ppqp
7375		version 310 es
7376		values
7377		{
7378			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7379			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7380		}
7381
7382		both ""
7383			#version 310 es
7384			precision highp float;
7385			precision highp int;
7386
7387			${DECLARATIONS}
7388
7389			void main()
7390			{
7391				${SETUP}
7392				out0 = in0.ppqp;
7393				${OUTPUT}
7394			}
7395		""
7396	end
7397
7398	case mediump_bvec4_r
7399		version 310 es
7400		values
7401		{
7402			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7403			output bool out0 = [ true | false | false | true | false ];
7404		}
7405
7406		both ""
7407			#version 310 es
7408			precision highp float;
7409			precision highp int;
7410
7411			${DECLARATIONS}
7412
7413			void main()
7414			{
7415				${SETUP}
7416				out0 = in0.r;
7417				${OUTPUT}
7418			}
7419		""
7420	end
7421
7422	case mediump_bvec4_a
7423		version 310 es
7424		values
7425		{
7426			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7427			output bool out0 = [ true | true | false | true | false ];
7428		}
7429
7430		both ""
7431			#version 310 es
7432			precision highp float;
7433			precision highp int;
7434
7435			${DECLARATIONS}
7436
7437			void main()
7438			{
7439				${SETUP}
7440				out0 = in0.a;
7441				${OUTPUT}
7442			}
7443		""
7444	end
7445
7446	case mediump_bvec4_ar
7447		version 310 es
7448		values
7449		{
7450			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7451			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7452		}
7453
7454		both ""
7455			#version 310 es
7456			precision highp float;
7457			precision highp int;
7458
7459			${DECLARATIONS}
7460
7461			void main()
7462			{
7463				${SETUP}
7464				out0 = in0.ar;
7465				${OUTPUT}
7466			}
7467		""
7468	end
7469
7470	case mediump_bvec4_ab
7471		version 310 es
7472		values
7473		{
7474			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7475			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7476		}
7477
7478		both ""
7479			#version 310 es
7480			precision highp float;
7481			precision highp int;
7482
7483			${DECLARATIONS}
7484
7485			void main()
7486			{
7487				${SETUP}
7488				out0 = in0.ab;
7489				${OUTPUT}
7490			}
7491		""
7492	end
7493
7494	case mediump_bvec4_aaa
7495		version 310 es
7496		values
7497		{
7498			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7499			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7500		}
7501
7502		both ""
7503			#version 310 es
7504			precision highp float;
7505			precision highp int;
7506
7507			${DECLARATIONS}
7508
7509			void main()
7510			{
7511				${SETUP}
7512				out0 = in0.aaa;
7513				${OUTPUT}
7514			}
7515		""
7516	end
7517
7518	case mediump_bvec4_gga
7519		version 310 es
7520		values
7521		{
7522			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7523			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7524		}
7525
7526		both ""
7527			#version 310 es
7528			precision highp float;
7529			precision highp int;
7530
7531			${DECLARATIONS}
7532
7533			void main()
7534			{
7535				${SETUP}
7536				out0 = in0.gga;
7537				${OUTPUT}
7538			}
7539		""
7540	end
7541
7542	case mediump_bvec4_abg
7543		version 310 es
7544		values
7545		{
7546			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7547			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
7548		}
7549
7550		both ""
7551			#version 310 es
7552			precision highp float;
7553			precision highp int;
7554
7555			${DECLARATIONS}
7556
7557			void main()
7558			{
7559				${SETUP}
7560				out0 = in0.abg;
7561				${OUTPUT}
7562			}
7563		""
7564	end
7565
7566	case mediump_bvec4_rgba
7567		version 310 es
7568		values
7569		{
7570			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7571			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7572		}
7573
7574		both ""
7575			#version 310 es
7576			precision highp float;
7577			precision highp int;
7578
7579			${DECLARATIONS}
7580
7581			void main()
7582			{
7583				${SETUP}
7584				out0 = in0.rgba;
7585				${OUTPUT}
7586			}
7587		""
7588	end
7589
7590	case mediump_bvec4_abgr
7591		version 310 es
7592		values
7593		{
7594			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7595			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7596		}
7597
7598		both ""
7599			#version 310 es
7600			precision highp float;
7601			precision highp int;
7602
7603			${DECLARATIONS}
7604
7605			void main()
7606			{
7607				${SETUP}
7608				out0 = in0.abgr;
7609				${OUTPUT}
7610			}
7611		""
7612	end
7613
7614	case mediump_bvec4_rrrr
7615		version 310 es
7616		values
7617		{
7618			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7619			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7620		}
7621
7622		both ""
7623			#version 310 es
7624			precision highp float;
7625			precision highp int;
7626
7627			${DECLARATIONS}
7628
7629			void main()
7630			{
7631				${SETUP}
7632				out0 = in0.rrrr;
7633				${OUTPUT}
7634			}
7635		""
7636	end
7637
7638	case mediump_bvec4_gggg
7639		version 310 es
7640		values
7641		{
7642			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7643			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7644		}
7645
7646		both ""
7647			#version 310 es
7648			precision highp float;
7649			precision highp int;
7650
7651			${DECLARATIONS}
7652
7653			void main()
7654			{
7655				${SETUP}
7656				out0 = in0.gggg;
7657				${OUTPUT}
7658			}
7659		""
7660	end
7661
7662	case mediump_bvec4_aaaa
7663		version 310 es
7664		values
7665		{
7666			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7667			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7668		}
7669
7670		both ""
7671			#version 310 es
7672			precision highp float;
7673			precision highp int;
7674
7675			${DECLARATIONS}
7676
7677			void main()
7678			{
7679				${SETUP}
7680				out0 = in0.aaaa;
7681				${OUTPUT}
7682			}
7683		""
7684	end
7685
7686	case mediump_bvec4_abba
7687		version 310 es
7688		values
7689		{
7690			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7691			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7692		}
7693
7694		both ""
7695			#version 310 es
7696			precision highp float;
7697			precision highp int;
7698
7699			${DECLARATIONS}
7700
7701			void main()
7702			{
7703				${SETUP}
7704				out0 = in0.abba;
7705				${OUTPUT}
7706			}
7707		""
7708	end
7709
7710	case mediump_bvec4_aaag
7711		version 310 es
7712		values
7713		{
7714			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7715			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7716		}
7717
7718		both ""
7719			#version 310 es
7720			precision highp float;
7721			precision highp int;
7722
7723			${DECLARATIONS}
7724
7725			void main()
7726			{
7727				${SETUP}
7728				out0 = in0.aaag;
7729				${OUTPUT}
7730			}
7731		""
7732	end
7733
7734	case mediump_bvec4_rgrr
7735		version 310 es
7736		values
7737		{
7738			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7739			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7740		}
7741
7742		both ""
7743			#version 310 es
7744			precision highp float;
7745			precision highp int;
7746
7747			${DECLARATIONS}
7748
7749			void main()
7750			{
7751				${SETUP}
7752				out0 = in0.rgrr;
7753				${OUTPUT}
7754			}
7755		""
7756	end
7757
7758	case mediump_bvec4_bbab
7759		version 310 es
7760		values
7761		{
7762			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7763			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7764		}
7765
7766		both ""
7767			#version 310 es
7768			precision highp float;
7769			precision highp int;
7770
7771			${DECLARATIONS}
7772
7773			void main()
7774			{
7775				${SETUP}
7776				out0 = in0.bbab;
7777				${OUTPUT}
7778			}
7779		""
7780	end
7781
7782
7783end # vector_swizzles
7784