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