Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1901 serge 1
/* DO NOT MODIFY - automatically generated by generate_builtins.py */
2
/*
3
 * Copyright © 2010 Intel Corporation
4
 *
5
 * Permission is hereby granted, free of charge, to any person obtaining a
6
 * copy of this software and associated documentation files (the "Software"),
7
 * to deal in the Software without restriction, including without limitation
8
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9
 * and/or sell copies of the Software, and to permit persons to whom the
10
 * Software is furnished to do so, subject to the following conditions:
11
 *
12
 * The above copyright notice and this permission notice (including the next
13
 * paragraph) shall be included in all copies or substantial portions of the
14
 * Software.
15
 *
16
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
 * DEALINGS IN THE SOFTWARE.
23
 */
24
 
25
#include 
26
#include "main/core.h" /* for struct gl_shader */
27
#include "glsl_parser_extras.h"
28
#include "ir_reader.h"
29
#include "program.h"
30
#include "ast.h"
31
 
32
extern "C" struct gl_shader *
33
_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
34
 
35
gl_shader *
36
read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
37
{
38
   struct gl_context fakeCtx;
39
   fakeCtx.API = API_OPENGL;
40
   gl_shader *sh = _mesa_new_shader(NULL, 0, target);
41
   struct _mesa_glsl_parse_state *st =
42
      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
43
 
44
   st->language_version = 130;
45
   st->symbols->language_version = 130;
46
   st->ARB_texture_rectangle_enable = true;
47
   st->EXT_texture_array_enable = true;
48
   _mesa_glsl_initialize_types(st);
49
 
50
   sh->ir = new(sh) exec_list;
51
   sh->symbols = st->symbols;
52
 
53
   /* Read the IR containing the prototypes */
54
   _mesa_glsl_read_ir(st, sh->ir, protos, true);
55
 
56
   /* Read ALL the function bodies, telling the IR reader not to scan for
57
    * prototypes (we've already created them).  The IR reader will skip any
58
    * signature that does not already exist as a prototype.
59
    */
60
   for (unsigned i = 0; i < count; i++) {
61
      _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
62
 
63
      if (st->error) {
64
         printf("error reading builtin: %.35s ...\n", functions[i]);
65
         printf("Info log:\n%s\n", st->info_log);
66
         ralloc_free(sh);
67
         return NULL;
68
      }
69
   }
70
 
71
   reparent_ir(sh->ir, sh);
72
   delete st;
73
 
74
   return sh;
75
}
76
 
77
static const char builtin_abs[] =
78
   "((function abs\n"
79
   "   (signature float\n"
80
   "     (parameters\n"
81
   "       (declare (in) float arg0))\n"
82
   "     ((return (expression float abs (var_ref arg0)))))\n"
83
   "\n"
84
   "   (signature vec2\n"
85
   "     (parameters\n"
86
   "       (declare (in) vec2 arg0))\n"
87
   "     ((return (expression vec2 abs (var_ref arg0)))))\n"
88
   "\n"
89
   "   (signature vec3\n"
90
   "     (parameters\n"
91
   "       (declare (in) vec3 arg0))\n"
92
   "     ((return (expression vec3 abs (var_ref arg0)))))\n"
93
   "\n"
94
   "   (signature vec4\n"
95
   "     (parameters\n"
96
   "       (declare (in) vec4 arg0))\n"
97
   "     ((return (expression vec4 abs (var_ref arg0)))))\n"
98
   "))\n"
99
   ""
100
;
101
static const char builtin_acos[] =
102
   "((function acos\n"
103
   "   (signature float\n"
104
   "     (parameters\n"
105
   "       (declare (in) float x))\n"
106
   "     ((return (expression float - (constant float (1.5707963))\n"
107
   "                                  (call asin ((var_ref x)))))))\n"
108
   "   (signature vec2\n"
109
   "     (parameters\n"
110
   "       (declare (in) vec2 x))\n"
111
   "     ((return (expression vec2 - (constant float (1.5707963))\n"
112
   "                                 (call asin ((var_ref x)))))))\n"
113
   "   (signature vec3\n"
114
   "     (parameters\n"
115
   "       (declare (in) vec3 x))\n"
116
   "     ((return (expression vec3 - (constant float (1.5707963))\n"
117
   "                                 (call asin ((var_ref x)))))))\n"
118
   "   (signature vec4\n"
119
   "     (parameters\n"
120
   "       (declare (in) vec4 x))\n"
121
   "     ((return (expression vec4 - (constant float (1.5707963))\n"
122
   "                                 (call asin ((var_ref x)))))))\n"
123
   "))\n"
124
   ""
125
;
126
static const char builtin_acosh[] =
127
   "((function acosh\n"
128
   "   (signature float\n"
129
   "     (parameters\n"
130
   "       (declare (in) float x))\n"
131
   "     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
132
   "\n"
133
   "   (signature vec2\n"
134
   "     (parameters\n"
135
   "       (declare (in) vec2 x))\n"
136
   "     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
137
   "\n"
138
   "   (signature vec3\n"
139
   "     (parameters\n"
140
   "       (declare (in) vec3 x))\n"
141
   "     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
142
   "\n"
143
   "   (signature vec4\n"
144
   "     (parameters\n"
145
   "       (declare (in) vec4 x))\n"
146
   "     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
147
   "))\n"
148
   ""
149
;
150
static const char builtin_all[] =
151
   "((function all\n"
152
   "   (signature bool\n"
153
   "     (parameters\n"
154
   "       (declare (in) bvec2 arg0))\n"
155
   "     ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
156
   "\n"
157
   "   (signature bool\n"
158
   "     (parameters\n"
159
   "       (declare (in) bvec3 arg0))\n"
160
   "     ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
161
   "\n"
162
   "   (signature bool\n"
163
   "     (parameters\n"
164
   "       (declare (in) bvec4 arg0))\n"
165
   "     ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
166
   "))\n"
167
   ""
168
;
169
static const char builtin_any[] =
170
   "((function any\n"
171
   "   (signature bool\n"
172
   "     (parameters\n"
173
   "       (declare (in) bvec2 arg0))\n"
174
   "     ((return (expression bool any (var_ref arg0)))))\n"
175
   "\n"
176
   "   (signature bool\n"
177
   "     (parameters\n"
178
   "       (declare (in) bvec3 arg0))\n"
179
   "     ((return (expression bool any (var_ref arg0)))))\n"
180
   "\n"
181
   "   (signature bool\n"
182
   "     (parameters\n"
183
   "       (declare (in) bvec4 arg0))\n"
184
   "     ((return (expression bool any (var_ref arg0)))))\n"
185
   "))\n"
186
   ""
187
;
188
static const char builtin_asin[] =
189
   "((function asin\n"
190
   "   (signature float\n"
191
   "     (parameters\n"
192
   "       (declare (in) float x))\n"
193
   "     ((return (expression float *\n"
194
   "	       (expression float sign (var_ref x))\n"
195
   "	       (expression float -\n"
196
   "		(expression float *\n"
197
   "		 (constant float (3.1415926))\n"
198
   "		 (constant float (0.5)))\n"
199
   "		(expression float *\n"
200
   "		 (expression float sqrt\n"
201
   "		  (expression float -\n"
202
   "		   (constant float (1.0))\n"
203
   "		   (expression float abs (var_ref x))))\n"
204
   "		 (expression float +\n"
205
   "		  (constant float (1.5707288))\n"
206
   "		  (expression float *\n"
207
   "		   (expression float abs (var_ref x))\n"
208
   "		   (expression float +\n"
209
   "		    (constant float (-0.2121144))\n"
210
   "		    (expression float *\n"
211
   "		     (constant float (0.0742610))\n"
212
   "		     (expression float abs (var_ref x))))))))))))\n"
213
   "\n"
214
   "   (signature vec2\n"
215
   "     (parameters\n"
216
   "       (declare (in) vec2 x))\n"
217
   "     ((return (expression vec2 *\n"
218
   "	       (expression vec2 sign (var_ref x))\n"
219
   "	       (expression vec2 -\n"
220
   "		(expression float *\n"
221
   "		 (constant float (3.1415926))\n"
222
   "		 (constant float (0.5)))\n"
223
   "		(expression vec2 *\n"
224
   "		 (expression vec2 sqrt\n"
225
   "		  (expression vec2 -\n"
226
   "		   (constant float (1.0))\n"
227
   "		   (expression vec2 abs (var_ref x))))\n"
228
   "		 (expression vec2 +\n"
229
   "		  (constant float (1.5707288))\n"
230
   "		  (expression vec2 *\n"
231
   "		   (expression vec2 abs (var_ref x))\n"
232
   "		   (expression vec2 +\n"
233
   "		    (constant float (-0.2121144))\n"
234
   "		    (expression vec2 *\n"
235
   "		     (constant float (0.0742610))\n"
236
   "		     (expression vec2 abs (var_ref x))))))))))))\n"
237
   "\n"
238
   "   (signature vec3\n"
239
   "     (parameters\n"
240
   "       (declare (in) vec3 x))\n"
241
   "     ((return (expression vec3 *\n"
242
   "	       (expression vec3 sign (var_ref x))\n"
243
   "	       (expression vec3 -\n"
244
   "		(expression float *\n"
245
   "		 (constant float (3.1415926))\n"
246
   "		 (constant float (0.5)))\n"
247
   "		(expression vec3 *\n"
248
   "		 (expression vec3 sqrt\n"
249
   "		  (expression vec3 -\n"
250
   "		   (constant float (1.0))\n"
251
   "		   (expression vec3 abs (var_ref x))))\n"
252
   "		 (expression vec3 +\n"
253
   "		  (constant float (1.5707288))\n"
254
   "		  (expression vec3 *\n"
255
   "		   (expression vec3 abs (var_ref x))\n"
256
   "		   (expression vec3 +\n"
257
   "		    (constant float (-0.2121144))\n"
258
   "		    (expression vec3 *\n"
259
   "		     (constant float (0.0742610))\n"
260
   "		     (expression vec3 abs (var_ref x))))))))))))\n"
261
   "\n"
262
   "   (signature vec4\n"
263
   "     (parameters\n"
264
   "       (declare (in) vec4 x))\n"
265
   "     ((return (expression vec4 *\n"
266
   "	       (expression vec4 sign (var_ref x))\n"
267
   "	       (expression vec4 -\n"
268
   "		(expression float *\n"
269
   "		 (constant float (3.1415926))\n"
270
   "		 (constant float (0.5)))\n"
271
   "		(expression vec4 *\n"
272
   "		 (expression vec4 sqrt\n"
273
   "		  (expression vec4 -\n"
274
   "		   (constant float (1.0))\n"
275
   "		   (expression vec4 abs (var_ref x))))\n"
276
   "		 (expression vec4 +\n"
277
   "		  (constant float (1.5707288))\n"
278
   "		  (expression vec4 *\n"
279
   "		   (expression vec4 abs (var_ref x))\n"
280
   "		   (expression vec4 +\n"
281
   "		    (constant float (-0.2121144))\n"
282
   "		    (expression vec4 *\n"
283
   "		     (constant float (0.0742610))\n"
284
   "		     (expression vec4 abs (var_ref x))))))))))))\n"
285
   "))\n"
286
   ""
287
;
288
static const char builtin_asinh[] =
289
   "((function asinh\n"
290
   "   (signature float\n"
291
   "     (parameters\n"
292
   "       (declare (in) float x))\n"
293
   "     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float + (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
294
   "\n"
295
   "   (signature vec2\n"
296
   "     (parameters\n"
297
   "       (declare (in) vec2 x))\n"
298
   "     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 + (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
299
   "\n"
300
   "   (signature vec3\n"
301
   "     (parameters\n"
302
   "       (declare (in) vec3 x))\n"
303
   "     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 + (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
304
   "\n"
305
   "   (signature vec4\n"
306
   "     (parameters\n"
307
   "       (declare (in) vec4 x))\n"
308
   "     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 + (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
309
   "))\n"
310
   ""
311
;
312
static const char builtin_atan[] =
313
   "((function atan\n"
314
   "   (signature float\n"
315
   "     (parameters\n"
316
   "       (declare (in) float y_over_x))\n"
317
   "     ((return (call asin ((expression float *\n"
318
   "			   (var_ref y_over_x)\n"
319
   "			   (expression float rsq\n"
320
   "			    (expression float +\n"
321
   "			     (expression float *\n"
322
   "			      (var_ref y_over_x)\n"
323
   "			      (var_ref y_over_x))\n"
324
   "			     (constant float (1.0))))))))))\n"
325
   "\n"
326
   "   (signature vec2\n"
327
   "     (parameters\n"
328
   "       (declare (in) vec2 y_over_x))\n"
329
   "     ((return (call asin ((expression vec2 *\n"
330
   "			   (var_ref y_over_x)\n"
331
   "			   (expression vec2 rsq\n"
332
   "			    (expression vec2 +\n"
333
   "			     (expression vec2 *\n"
334
   "			      (var_ref y_over_x)\n"
335
   "			      (var_ref y_over_x))\n"
336
   "			     (constant float (1.0))))))))))\n"
337
   "\n"
338
   "   (signature vec3\n"
339
   "     (parameters\n"
340
   "       (declare (in) vec3 y_over_x))\n"
341
   "     ((return (call asin ((expression vec3 *\n"
342
   "			   (var_ref y_over_x)\n"
343
   "			   (expression vec3 rsq\n"
344
   "			    (expression vec3 +\n"
345
   "			     (expression vec3 *\n"
346
   "			      (var_ref y_over_x)\n"
347
   "			      (var_ref y_over_x))\n"
348
   "			     (constant float (1.0))))))))))\n"
349
   "\n"
350
   "   (signature vec4\n"
351
   "     (parameters\n"
352
   "       (declare (in) vec4 y_over_x))\n"
353
   "     ((return (call asin ((expression vec4 *\n"
354
   "			   (var_ref y_over_x)\n"
355
   "			   (expression vec4 rsq\n"
356
   "			    (expression vec4 +\n"
357
   "			     (expression vec4 *\n"
358
   "			      (var_ref y_over_x)\n"
359
   "			      (var_ref y_over_x))\n"
360
   "			     (constant float (1.0))))))))))\n"
361
   "\n"
362
   "  (signature float\n"
363
   "    (parameters\n"
364
   "      (declare (in ) float y)\n"
365
   "      (declare (in ) float x)\n"
366
   "    )\n"
367
   "    (\n"
368
   "      (declare () float r)\n"
369
   "      (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n"
370
   "        (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n"
371
   "        (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
372
   "          (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
373
   "              ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
374
   "              ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
375
   "        )\n"
376
   "        (\n"
377
   "        ))\n"
378
   "      )\n"
379
   "      (\n"
380
   "        (declare () float sgn)\n"
381
   "        (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
382
   "        (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
383
   "      ))\n"
384
   "\n"
385
   "      (return (var_ref r) )\n"
386
   "    ))\n"
387
   "\n"
388
   "\n"
389
   "\n"
390
   "   (signature vec2\n"
391
   "     (parameters\n"
392
   "       (declare (in) vec2 y)\n"
393
   "       (declare (in) vec2 x))\n"
394
   "     ((declare () vec2 r)\n"
395
   "      (assign (constant bool (1)) (x) (var_ref r)\n"
396
   "	      (call atan ((swiz x (var_ref y))\n"
397
   "			  (swiz x (var_ref x)))))\n"
398
   "      (assign (constant bool (1)) (y) (var_ref r)\n"
399
   "	      (call atan ((swiz y (var_ref y))\n"
400
   "			  (swiz y (var_ref x)))))\n"
401
   "      (return (var_ref r))))\n"
402
   "\n"
403
   "   (signature vec3\n"
404
   "     (parameters\n"
405
   "       (declare (in) vec3 y)\n"
406
   "       (declare (in) vec3 x))\n"
407
   "     ((declare () vec3 r)\n"
408
   "      (assign (constant bool (1)) (x) (var_ref r)\n"
409
   "	      (call atan ((swiz x (var_ref y))\n"
410
   "			  (swiz x (var_ref x)))))\n"
411
   "      (assign (constant bool (1)) (y) (var_ref r)\n"
412
   "	      (call atan ((swiz y (var_ref y))\n"
413
   "			  (swiz y (var_ref x)))))\n"
414
   "      (assign (constant bool (1)) (z) (var_ref r)\n"
415
   "	      (call atan ((swiz z (var_ref y))\n"
416
   "			  (swiz z (var_ref x)))))\n"
417
   "      (return (var_ref r))))\n"
418
   "\n"
419
   "   (signature vec4\n"
420
   "     (parameters\n"
421
   "       (declare (in) vec4 y)\n"
422
   "       (declare (in) vec4 x))\n"
423
   "     ((declare () vec4 r)\n"
424
   "      (assign (constant bool (1)) (x) (var_ref r)\n"
425
   "	      (call atan ((swiz x (var_ref y))\n"
426
   "			  (swiz x (var_ref x)))))\n"
427
   "      (assign (constant bool (1)) (y) (var_ref r)\n"
428
   "	      (call atan ((swiz y (var_ref y))\n"
429
   "			  (swiz y (var_ref x)))))\n"
430
   "      (assign (constant bool (1)) (z) (var_ref r)\n"
431
   "	      (call atan ((swiz z (var_ref y))\n"
432
   "			  (swiz z (var_ref x)))))\n"
433
   "      (assign (constant bool (1)) (w) (var_ref r)\n"
434
   "	      (call atan ((swiz w (var_ref y))\n"
435
   "			  (swiz w (var_ref x)))))\n"
436
   "      (return (var_ref r)))))\n"
437
   "\n"
438
   "))\n"
439
   ""
440
;
441
static const char builtin_atanh[] =
442
   "((function atanh\n"
443
   "   (signature float\n"
444
   "     (parameters\n"
445
   "       (declare (in) float x))\n"
446
   "     ((return (expression float * (constant float (0.5))\n"
447
   "                (expression float log\n"
448
   "		  (expression float /\n"
449
   "                    (expression float + (constant float (1)) (var_ref x))\n"
450
   "                    (expression float - (constant float (1)) (var_ref x))))))))\n"
451
   "\n"
452
   "   (signature vec2\n"
453
   "     (parameters\n"
454
   "       (declare (in) vec2 x))\n"
455
   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
456
   "                (expression vec2 log\n"
457
   "		  (expression vec2 /\n"
458
   "                    (expression vec2 + (constant vec2 (1)) (var_ref x))\n"
459
   "                    (expression vec2 - (constant vec2 (1)) (var_ref x))))))))\n"
460
   "\n"
461
   "   (signature vec3\n"
462
   "     (parameters\n"
463
   "       (declare (in) vec3 x))\n"
464
   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
465
   "                (expression vec3 log\n"
466
   "		  (expression vec3 /\n"
467
   "                    (expression vec3 + (constant vec3 (1)) (var_ref x))\n"
468
   "                    (expression vec3 - (constant vec3 (1)) (var_ref x))))))))\n"
469
   "\n"
470
   "   (signature vec4\n"
471
   "     (parameters\n"
472
   "       (declare (in) vec4 x))\n"
473
   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
474
   "                (expression vec4 log\n"
475
   "		  (expression vec4 /\n"
476
   "                    (expression vec4 + (constant vec4 (1)) (var_ref x))\n"
477
   "                    (expression vec4 - (constant vec4 (1)) (var_ref x))))))))\n"
478
   "))\n"
479
   ""
480
;
481
static const char builtin_ceil[] =
482
   "((function ceil\n"
483
   "   (signature float\n"
484
   "     (parameters\n"
485
   "       (declare (in) float arg0))\n"
486
   "     ((return (expression float ceil (var_ref arg0)))))\n"
487
   "\n"
488
   "   (signature vec2\n"
489
   "     (parameters\n"
490
   "       (declare (in) vec2 arg0))\n"
491
   "     ((return (expression vec2 ceil (var_ref arg0)))))\n"
492
   "\n"
493
   "   (signature vec3\n"
494
   "     (parameters\n"
495
   "       (declare (in) vec3 arg0))\n"
496
   "     ((return (expression vec3 ceil (var_ref arg0)))))\n"
497
   "\n"
498
   "   (signature vec4\n"
499
   "     (parameters\n"
500
   "       (declare (in) vec4 arg0))\n"
501
   "     ((return (expression vec4 ceil (var_ref arg0)))))\n"
502
   "))\n"
503
   ""
504
;
505
static const char builtin_clamp[] =
506
   "((function clamp\n"
507
   "   (signature float\n"
508
   "     (parameters\n"
509
   "       (declare (in) float arg0)\n"
510
   "       (declare (in) float arg1)\n"
511
   "       (declare (in) float arg2))\n"
512
   "     ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
513
   "\n"
514
   "   (signature vec2\n"
515
   "     (parameters\n"
516
   "       (declare (in) vec2 arg0)\n"
517
   "       (declare (in) vec2 arg1)\n"
518
   "       (declare (in) vec2 arg2))\n"
519
   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
520
   "\n"
521
   "   (signature vec3\n"
522
   "     (parameters\n"
523
   "       (declare (in) vec3 arg0)\n"
524
   "       (declare (in) vec3 arg1)\n"
525
   "       (declare (in) vec3 arg2))\n"
526
   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
527
   "\n"
528
   "   (signature vec4\n"
529
   "     (parameters\n"
530
   "       (declare (in) vec4 arg0)\n"
531
   "       (declare (in) vec4 arg1)\n"
532
   "       (declare (in) vec4 arg2))\n"
533
   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
534
   "\n"
535
   "   (signature vec2\n"
536
   "     (parameters\n"
537
   "       (declare (in) vec2  arg0)\n"
538
   "       (declare (in) float arg1)\n"
539
   "       (declare (in) float arg2))\n"
540
   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
541
   "\n"
542
   "   (signature vec3\n"
543
   "     (parameters\n"
544
   "       (declare (in) vec3  arg0)\n"
545
   "       (declare (in) float arg1)\n"
546
   "       (declare (in) float arg2))\n"
547
   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
548
   "\n"
549
   "   (signature vec4\n"
550
   "     (parameters\n"
551
   "       (declare (in) vec4  arg0)\n"
552
   "       (declare (in) float arg1)\n"
553
   "       (declare (in) float arg2))\n"
554
   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
555
   "\n"
556
   "   (signature int\n"
557
   "     (parameters\n"
558
   "       (declare (in) int arg0)\n"
559
   "       (declare (in) int arg1)\n"
560
   "       (declare (in) int arg2))\n"
561
   "     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
562
   "\n"
563
   "   (signature ivec2\n"
564
   "     (parameters\n"
565
   "       (declare (in) ivec2 arg0)\n"
566
   "       (declare (in) ivec2 arg1)\n"
567
   "       (declare (in) ivec2 arg2))\n"
568
   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
569
   "\n"
570
   "   (signature ivec3\n"
571
   "     (parameters\n"
572
   "       (declare (in) ivec3 arg0)\n"
573
   "       (declare (in) ivec3 arg1)\n"
574
   "       (declare (in) ivec3 arg2))\n"
575
   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
576
   "\n"
577
   "   (signature ivec4\n"
578
   "     (parameters\n"
579
   "       (declare (in) ivec4 arg0)\n"
580
   "       (declare (in) ivec4 arg1)\n"
581
   "       (declare (in) ivec4 arg2))\n"
582
   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
583
   "\n"
584
   "   (signature ivec2\n"
585
   "     (parameters\n"
586
   "       (declare (in) ivec2 arg0)\n"
587
   "       (declare (in) int arg1)\n"
588
   "       (declare (in) int arg2))\n"
589
   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
590
   "\n"
591
   "   (signature ivec3\n"
592
   "     (parameters\n"
593
   "       (declare (in) ivec3 arg0)\n"
594
   "       (declare (in) int arg1)\n"
595
   "       (declare (in) int arg2))\n"
596
   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
597
   "\n"
598
   "   (signature ivec4\n"
599
   "     (parameters\n"
600
   "       (declare (in) ivec4 arg0)\n"
601
   "       (declare (in) int arg1)\n"
602
   "       (declare (in) int arg2))\n"
603
   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
604
   "\n"
605
   "   (signature uint\n"
606
   "     (parameters\n"
607
   "       (declare (in) uint arg0)\n"
608
   "       (declare (in) uint arg1)\n"
609
   "       (declare (in) uint arg2))\n"
610
   "     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
611
   "\n"
612
   "   (signature uvec2\n"
613
   "     (parameters\n"
614
   "       (declare (in) uvec2 arg0)\n"
615
   "       (declare (in) uvec2 arg1)\n"
616
   "       (declare (in) uvec2 arg2))\n"
617
   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
618
   "\n"
619
   "   (signature uvec3\n"
620
   "     (parameters\n"
621
   "       (declare (in) uvec3 arg0)\n"
622
   "       (declare (in) uvec3 arg1)\n"
623
   "       (declare (in) uvec3 arg2))\n"
624
   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
625
   "\n"
626
   "   (signature uvec4\n"
627
   "     (parameters\n"
628
   "       (declare (in) uvec4 arg0)\n"
629
   "       (declare (in) uvec4 arg1)\n"
630
   "       (declare (in) uvec4 arg2))\n"
631
   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
632
   "\n"
633
   "   (signature uvec2\n"
634
   "     (parameters\n"
635
   "       (declare (in) uvec2 arg0)\n"
636
   "       (declare (in) uint arg1)\n"
637
   "       (declare (in) uint arg2))\n"
638
   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
639
   "\n"
640
   "   (signature uvec3\n"
641
   "     (parameters\n"
642
   "       (declare (in) uvec3 arg0)\n"
643
   "       (declare (in) uint arg1)\n"
644
   "       (declare (in) uint arg2))\n"
645
   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
646
   "\n"
647
   "   (signature uvec4\n"
648
   "     (parameters\n"
649
   "       (declare (in) uvec4 arg0)\n"
650
   "       (declare (in) uint arg1)\n"
651
   "       (declare (in) uint arg2))\n"
652
   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
653
   "))\n"
654
   ""
655
;
656
static const char builtin_cos[] =
657
   "((function cos\n"
658
   "   (signature float\n"
659
   "     (parameters\n"
660
   "       (declare (in) float angle))\n"
661
   "     ((return (expression float cos (var_ref angle)))))\n"
662
   "\n"
663
   "   (signature vec2\n"
664
   "     (parameters\n"
665
   "       (declare (in) vec2 angle))\n"
666
   "     ((return (expression vec2 cos (var_ref angle)))))\n"
667
   "\n"
668
   "   (signature vec3\n"
669
   "     (parameters\n"
670
   "       (declare (in) vec3 angle))\n"
671
   "     ((return (expression vec3 cos (var_ref angle)))))\n"
672
   "\n"
673
   "   (signature vec4\n"
674
   "     (parameters\n"
675
   "       (declare (in) vec4 angle))\n"
676
   "     ((return (expression vec4 cos (var_ref angle)))))\n"
677
   "))\n"
678
   ""
679
;
680
static const char builtin_cosh[] =
681
   "((function cosh\n"
682
   "   (signature float\n"
683
   "     (parameters\n"
684
   "       (declare (in) float x))\n"
685
   "     ((return (expression float * (constant float (0.5))\n"
686
   "                (expression float +\n"
687
   "		  (expression float exp (var_ref x))\n"
688
   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
689
   "   (signature vec2\n"
690
   "     (parameters\n"
691
   "       (declare (in) vec2 x))\n"
692
   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
693
   "                (expression vec2 +\n"
694
   "		  (expression vec2 exp (var_ref x))\n"
695
   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
696
   "   (signature vec3\n"
697
   "     (parameters\n"
698
   "       (declare (in) vec3 x))\n"
699
   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
700
   "                (expression vec3 +\n"
701
   "		  (expression vec3 exp (var_ref x))\n"
702
   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
703
   "   (signature vec4\n"
704
   "     (parameters\n"
705
   "       (declare (in) vec4 x))\n"
706
   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
707
   "                (expression vec4 +\n"
708
   "		  (expression vec4 exp (var_ref x))\n"
709
   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
710
   "))\n"
711
   ""
712
;
713
static const char builtin_cross[] =
714
   "((function cross\n"
715
   "   (signature vec3\n"
716
   "     (parameters\n"
717
   "       (declare (in) vec3 a)\n"
718
   "       (declare (in) vec3 b))\n"
719
   "     ((return (expression vec3 -\n"
720
   "        (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))\n"
721
   "        (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))\n"
722
   "))\n"
723
   ""
724
;
725
static const char builtin_dFdx[] =
726
   "((function dFdx\n"
727
   "   (signature float\n"
728
   "     (parameters\n"
729
   "       (declare (in) float p))\n"
730
   "     ((return (expression float dFdx (var_ref p)))))\n"
731
   "\n"
732
   "   (signature vec2\n"
733
   "     (parameters\n"
734
   "       (declare (in) vec2 p))\n"
735
   "     ((return (expression vec2 dFdx (var_ref p)))))\n"
736
   "\n"
737
   "   (signature vec3\n"
738
   "     (parameters\n"
739
   "       (declare (in) vec3 p))\n"
740
   "     ((return (expression vec3 dFdx (var_ref p)))))\n"
741
   "\n"
742
   "   (signature vec4\n"
743
   "     (parameters\n"
744
   "       (declare (in) vec4 p))\n"
745
   "     ((return (expression vec4 dFdx (var_ref p)))))\n"
746
   "))\n"
747
   ""
748
;
749
static const char builtin_dFdy[] =
750
   "((function dFdy\n"
751
   "   (signature float\n"
752
   "     (parameters\n"
753
   "       (declare (in) float p))\n"
754
   "     ((return (expression float dFdy (var_ref p)))))\n"
755
   "\n"
756
   "   (signature vec2\n"
757
   "     (parameters\n"
758
   "       (declare (in) vec2 p))\n"
759
   "     ((return (expression vec2 dFdy (var_ref p)))))\n"
760
   "\n"
761
   "   (signature vec3\n"
762
   "     (parameters\n"
763
   "       (declare (in) vec3 p))\n"
764
   "     ((return (expression vec3 dFdy (var_ref p)))))\n"
765
   "\n"
766
   "   (signature vec4\n"
767
   "     (parameters\n"
768
   "       (declare (in) vec4 p))\n"
769
   "     ((return (expression vec4 dFdy (var_ref p)))))\n"
770
   "))\n"
771
   ""
772
;
773
static const char builtin_degrees[] =
774
   "((function degrees\n"
775
   "   (signature float\n"
776
   "     (parameters\n"
777
   "       (declare (in) float arg0))\n"
778
   "     ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
779
   "\n"
780
   "   (signature vec2\n"
781
   "     (parameters\n"
782
   "       (declare (in) vec2 arg0))\n"
783
   "     ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
784
   "\n"
785
   "   (signature vec3\n"
786
   "     (parameters\n"
787
   "       (declare (in) vec3 arg0))\n"
788
   "     ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
789
   "\n"
790
   "   (signature vec4\n"
791
   "     (parameters\n"
792
   "       (declare (in) vec4 arg0))\n"
793
   "     ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
794
   "))\n"
795
   ""
796
;
797
static const char builtin_distance[] =
798
   "((function distance\n"
799
   "   (signature float\n"
800
   "     (parameters\n"
801
   "       (declare (in) float p0)\n"
802
   "       (declare (in) float p1))\n"
803
   "     ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
804
   "\n"
805
   "   (signature float\n"
806
   "     (parameters\n"
807
   "       (declare (in) vec2 p0)\n"
808
   "       (declare (in) vec2 p1))\n"
809
   "     ((declare () vec2 p)\n"
810
   "      (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
811
   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
812
   "\n"
813
   "   (signature float\n"
814
   "     (parameters\n"
815
   "       (declare (in) vec3 p0)\n"
816
   "       (declare (in) vec3 p1))\n"
817
   "     ((declare () vec3 p)\n"
818
   "      (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
819
   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
820
   "\n"
821
   "   (signature float\n"
822
   "     (parameters\n"
823
   "       (declare (in) vec4 p0)\n"
824
   "       (declare (in) vec4 p1))\n"
825
   "     ((declare () vec4 p)\n"
826
   "      (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
827
   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
828
   "))\n"
829
   ""
830
;
831
static const char builtin_dot[] =
832
   "((function dot\n"
833
   "   (signature float\n"
834
   "     (parameters\n"
835
   "       (declare (in) float arg0)\n"
836
   "       (declare (in) float arg1))\n"
837
   "     ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
838
   "\n"
839
   "   (signature float\n"
840
   "     (parameters\n"
841
   "       (declare (in) vec2 arg0)\n"
842
   "       (declare (in) vec2 arg1))\n"
843
   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
844
   "\n"
845
   "   (signature float\n"
846
   "     (parameters\n"
847
   "       (declare (in) vec3 arg0)\n"
848
   "       (declare (in) vec3 arg1))\n"
849
   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
850
   "\n"
851
   "   (signature float\n"
852
   "     (parameters\n"
853
   "       (declare (in) vec4 arg0)\n"
854
   "       (declare (in) vec4 arg1))\n"
855
   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
856
   "))\n"
857
   ""
858
;
859
static const char builtin_equal[] =
860
   "((function equal\n"
861
   "   (signature bvec2\n"
862
   "     (parameters\n"
863
   "       (declare (in) vec2 arg0)\n"
864
   "       (declare (in) vec2 arg1))\n"
865
   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
866
   "\n"
867
   "   (signature bvec3\n"
868
   "     (parameters\n"
869
   "       (declare (in) vec3 arg0)\n"
870
   "       (declare (in) vec3 arg1))\n"
871
   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
872
   "\n"
873
   "   (signature bvec4\n"
874
   "     (parameters\n"
875
   "       (declare (in) vec4 arg0)\n"
876
   "       (declare (in) vec4 arg1))\n"
877
   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
878
   "\n"
879
   "   (signature bvec2\n"
880
   "     (parameters\n"
881
   "       (declare (in) bvec2 arg0)\n"
882
   "       (declare (in) bvec2 arg1))\n"
883
   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
884
   "\n"
885
   "   (signature bvec3\n"
886
   "     (parameters\n"
887
   "       (declare (in) bvec3 arg0)\n"
888
   "       (declare (in) bvec3 arg1))\n"
889
   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
890
   "\n"
891
   "   (signature bvec4\n"
892
   "     (parameters\n"
893
   "       (declare (in) bvec4 arg0)\n"
894
   "       (declare (in) bvec4 arg1))\n"
895
   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
896
   "\n"
897
   "   (signature bvec2\n"
898
   "     (parameters\n"
899
   "       (declare (in) ivec2 arg0)\n"
900
   "       (declare (in) ivec2 arg1))\n"
901
   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
902
   "\n"
903
   "   (signature bvec3\n"
904
   "     (parameters\n"
905
   "       (declare (in) ivec3 arg0)\n"
906
   "       (declare (in) ivec3 arg1))\n"
907
   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
908
   "\n"
909
   "   (signature bvec4\n"
910
   "     (parameters\n"
911
   "       (declare (in) ivec4 arg0)\n"
912
   "       (declare (in) ivec4 arg1))\n"
913
   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
914
   "\n"
915
   "   (signature bvec2\n"
916
   "     (parameters\n"
917
   "       (declare (in) uvec2 arg0)\n"
918
   "       (declare (in) uvec2 arg1))\n"
919
   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
920
   "\n"
921
   "   (signature bvec3\n"
922
   "     (parameters\n"
923
   "       (declare (in) uvec3 arg0)\n"
924
   "       (declare (in) uvec3 arg1))\n"
925
   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
926
   "\n"
927
   "   (signature bvec4\n"
928
   "     (parameters\n"
929
   "       (declare (in) uvec4 arg0)\n"
930
   "       (declare (in) uvec4 arg1))\n"
931
   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
932
   "))\n"
933
   ""
934
;
935
static const char builtin_exp[] =
936
   "((function exp\n"
937
   "   (signature float\n"
938
   "     (parameters\n"
939
   "       (declare (in) float arg0))\n"
940
   "     ((return (expression float exp (var_ref arg0)))))\n"
941
   "\n"
942
   "   (signature vec2\n"
943
   "     (parameters\n"
944
   "       (declare (in) vec2 arg0))\n"
945
   "     ((return (expression vec2 exp (var_ref arg0)))))\n"
946
   "\n"
947
   "   (signature vec3\n"
948
   "     (parameters\n"
949
   "       (declare (in) vec3 arg0))\n"
950
   "     ((return (expression vec3 exp (var_ref arg0)))))\n"
951
   "\n"
952
   "   (signature vec4\n"
953
   "     (parameters\n"
954
   "       (declare (in) vec4 arg0))\n"
955
   "     ((return (expression vec4 exp (var_ref arg0)))))\n"
956
   "))\n"
957
   ""
958
;
959
static const char builtin_exp2[] =
960
   "((function exp2\n"
961
   "   (signature float\n"
962
   "     (parameters\n"
963
   "       (declare (in) float arg0))\n"
964
   "     ((return (expression float exp2 (var_ref arg0)))))\n"
965
   "\n"
966
   "   (signature vec2\n"
967
   "     (parameters\n"
968
   "       (declare (in) vec2 arg0))\n"
969
   "     ((return (expression vec2 exp2 (var_ref arg0)))))\n"
970
   "\n"
971
   "   (signature vec3\n"
972
   "     (parameters\n"
973
   "       (declare (in) vec3 arg0))\n"
974
   "     ((return (expression vec3 exp2 (var_ref arg0)))))\n"
975
   "\n"
976
   "   (signature vec4\n"
977
   "     (parameters\n"
978
   "       (declare (in) vec4 arg0))\n"
979
   "     ((return (expression vec4 exp2 (var_ref arg0)))))\n"
980
   "))\n"
981
   ""
982
;
983
static const char builtin_faceforward[] =
984
   "((function faceforward\n"
985
   "   (signature float\n"
986
   "     (parameters\n"
987
   "       (declare (in) float N)\n"
988
   "       (declare (in) float I)\n"
989
   "       (declare (in) float Nref))\n"
990
   "     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
991
   "          ((return (var_ref N)))\n"
992
   "	  ((return (expression float neg (var_ref N)))))))\n"
993
   "\n"
994
   "   (signature vec2\n"
995
   "     (parameters\n"
996
   "       (declare (in) vec2 N)\n"
997
   "       (declare (in) vec2 I)\n"
998
   "       (declare (in) vec2 Nref))\n"
999
   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1000
   "          ((return (var_ref N)))\n"
1001
   "	  ((return (expression vec2 neg (var_ref N)))))))\n"
1002
   "\n"
1003
   "   (signature vec3\n"
1004
   "     (parameters\n"
1005
   "       (declare (in) vec3 N)\n"
1006
   "       (declare (in) vec3 I)\n"
1007
   "       (declare (in) vec3 Nref))\n"
1008
   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1009
   "          ((return (var_ref N)))\n"
1010
   "	  ((return (expression vec3 neg (var_ref N)))))))\n"
1011
   "\n"
1012
   "   (signature vec4\n"
1013
   "     (parameters\n"
1014
   "       (declare (in) vec4 N)\n"
1015
   "       (declare (in) vec4 I)\n"
1016
   "       (declare (in) vec4 Nref))\n"
1017
   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1018
   "          ((return (var_ref N)))\n"
1019
   "	  ((return (expression vec4 neg (var_ref N)))))))\n"
1020
   "))\n"
1021
   ""
1022
;
1023
static const char builtin_floor[] =
1024
   "((function floor\n"
1025
   "   (signature float\n"
1026
   "     (parameters\n"
1027
   "       (declare (in) float arg0))\n"
1028
   "     ((return (expression float floor (var_ref arg0)))))\n"
1029
   "\n"
1030
   "   (signature vec2\n"
1031
   "     (parameters\n"
1032
   "       (declare (in) vec2 arg0))\n"
1033
   "     ((return (expression vec2 floor (var_ref arg0)))))\n"
1034
   "\n"
1035
   "   (signature vec3\n"
1036
   "     (parameters\n"
1037
   "       (declare (in) vec3 arg0))\n"
1038
   "     ((return (expression vec3 floor (var_ref arg0)))))\n"
1039
   "\n"
1040
   "   (signature vec4\n"
1041
   "     (parameters\n"
1042
   "       (declare (in) vec4 arg0))\n"
1043
   "     ((return (expression vec4 floor (var_ref arg0)))))\n"
1044
   "))\n"
1045
   ""
1046
;
1047
static const char builtin_fract[] =
1048
   "((function fract\n"
1049
   "   (signature float\n"
1050
   "     (parameters\n"
1051
   "       (declare (in) float x))\n"
1052
   "     ((return (expression float fract (var_ref x)))))\n"
1053
   "\n"
1054
   "   (signature vec2\n"
1055
   "     (parameters\n"
1056
   "       (declare (in) vec2 x))\n"
1057
   "     ((return (expression vec2 fract (var_ref x)))))\n"
1058
   "\n"
1059
   "   (signature vec3\n"
1060
   "     (parameters\n"
1061
   "       (declare (in) vec3 x))\n"
1062
   "     ((return (expression vec3 fract (var_ref x)))))\n"
1063
   "\n"
1064
   "   (signature vec4\n"
1065
   "     (parameters\n"
1066
   "       (declare (in) vec4 x))\n"
1067
   "     ((return (expression vec4 fract (var_ref x)))))\n"
1068
   "))\n"
1069
   "\n"
1070
   ""
1071
;
1072
static const char builtin_ftransform[] =
1073
   "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1074
   " (declare (in) vec4 gl_Vertex)\n"
1075
   " (function ftransform\n"
1076
   "   (signature vec4\n"
1077
   "     (parameters)\n"
1078
   "    ((return (expression vec4 *\n"
1079
   "	      (var_ref gl_ModelViewProjectionMatrix)\n"
1080
   "	      (var_ref gl_Vertex)))))\n"
1081
   "))\n"
1082
   ""
1083
;
1084
static const char builtin_fwidth[] =
1085
   "((function fwidth\n"
1086
   "   (signature float\n"
1087
   "     (parameters\n"
1088
   "       (declare (in) float p))\n"
1089
   "     ((return (expression float +\n"
1090
   "                (expression float abs (expression float dFdx (var_ref p)))\n"
1091
   "                (expression float abs (expression float dFdy (var_ref p)))))))\n"
1092
   "\n"
1093
   "   (signature vec2\n"
1094
   "     (parameters\n"
1095
   "       (declare (in) vec2 p))\n"
1096
   "     ((return (expression vec2 +\n"
1097
   "                (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1098
   "                (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1099
   "\n"
1100
   "   (signature vec3\n"
1101
   "     (parameters\n"
1102
   "       (declare (in) vec3 p))\n"
1103
   "     ((return (expression vec3 +\n"
1104
   "                (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1105
   "                (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1106
   "\n"
1107
   "   (signature vec4\n"
1108
   "     (parameters\n"
1109
   "       (declare (in) vec4 p))\n"
1110
   "     ((return (expression vec4 +\n"
1111
   "                (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1112
   "                (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1113
   "))\n"
1114
   ""
1115
;
1116
static const char builtin_greaterThan[] =
1117
   "((function greaterThan\n"
1118
   "   (signature bvec2\n"
1119
   "     (parameters\n"
1120
   "       (declare (in) vec2 arg0)\n"
1121
   "       (declare (in) vec2 arg1))\n"
1122
   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1123
   "\n"
1124
   "   (signature bvec3\n"
1125
   "     (parameters\n"
1126
   "       (declare (in) vec3 arg0)\n"
1127
   "       (declare (in) vec3 arg1))\n"
1128
   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1129
   "\n"
1130
   "   (signature bvec4\n"
1131
   "     (parameters\n"
1132
   "       (declare (in) vec4 arg0)\n"
1133
   "       (declare (in) vec4 arg1))\n"
1134
   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1135
   "\n"
1136
   "   (signature bvec2\n"
1137
   "     (parameters\n"
1138
   "       (declare (in) ivec2 arg0)\n"
1139
   "       (declare (in) ivec2 arg1))\n"
1140
   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1141
   "\n"
1142
   "   (signature bvec3\n"
1143
   "     (parameters\n"
1144
   "       (declare (in) ivec3 arg0)\n"
1145
   "       (declare (in) ivec3 arg1))\n"
1146
   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1147
   "\n"
1148
   "   (signature bvec4\n"
1149
   "     (parameters\n"
1150
   "       (declare (in) ivec4 arg0)\n"
1151
   "       (declare (in) ivec4 arg1))\n"
1152
   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1153
   "\n"
1154
   "   (signature bvec2\n"
1155
   "     (parameters\n"
1156
   "       (declare (in) uvec2 arg0)\n"
1157
   "       (declare (in) uvec2 arg1))\n"
1158
   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1159
   "\n"
1160
   "   (signature bvec3\n"
1161
   "     (parameters\n"
1162
   "       (declare (in) uvec3 arg0)\n"
1163
   "       (declare (in) uvec3 arg1))\n"
1164
   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1165
   "\n"
1166
   "   (signature bvec4\n"
1167
   "     (parameters\n"
1168
   "       (declare (in) uvec4 arg0)\n"
1169
   "       (declare (in) uvec4 arg1))\n"
1170
   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1171
   "))\n"
1172
   ""
1173
;
1174
static const char builtin_greaterThanEqual[] =
1175
   "((function greaterThanEqual\n"
1176
   "   (signature bvec2\n"
1177
   "     (parameters\n"
1178
   "       (declare (in) vec2 arg0)\n"
1179
   "       (declare (in) vec2 arg1))\n"
1180
   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1181
   "\n"
1182
   "   (signature bvec3\n"
1183
   "     (parameters\n"
1184
   "       (declare (in) vec3 arg0)\n"
1185
   "       (declare (in) vec3 arg1))\n"
1186
   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1187
   "\n"
1188
   "   (signature bvec4\n"
1189
   "     (parameters\n"
1190
   "       (declare (in) vec4 arg0)\n"
1191
   "       (declare (in) vec4 arg1))\n"
1192
   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1193
   "\n"
1194
   "   (signature bvec2\n"
1195
   "     (parameters\n"
1196
   "       (declare (in) ivec2 arg0)\n"
1197
   "       (declare (in) ivec2 arg1))\n"
1198
   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1199
   "\n"
1200
   "   (signature bvec3\n"
1201
   "     (parameters\n"
1202
   "       (declare (in) ivec3 arg0)\n"
1203
   "       (declare (in) ivec3 arg1))\n"
1204
   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1205
   "\n"
1206
   "   (signature bvec4\n"
1207
   "     (parameters\n"
1208
   "       (declare (in) ivec4 arg0)\n"
1209
   "       (declare (in) ivec4 arg1))\n"
1210
   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1211
   "\n"
1212
   "   (signature bvec2\n"
1213
   "     (parameters\n"
1214
   "       (declare (in) uvec2 arg0)\n"
1215
   "       (declare (in) uvec2 arg1))\n"
1216
   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1217
   "\n"
1218
   "   (signature bvec3\n"
1219
   "     (parameters\n"
1220
   "       (declare (in) uvec3 arg0)\n"
1221
   "       (declare (in) uvec3 arg1))\n"
1222
   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1223
   "\n"
1224
   "   (signature bvec4\n"
1225
   "     (parameters\n"
1226
   "       (declare (in) uvec4 arg0)\n"
1227
   "       (declare (in) uvec4 arg1))\n"
1228
   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1229
   "))\n"
1230
   ""
1231
;
1232
static const char builtin_inversesqrt[] =
1233
   "((function inversesqrt\n"
1234
   "   (signature float\n"
1235
   "     (parameters\n"
1236
   "       (declare (in) float arg0))\n"
1237
   "     ((return (expression float rsq (var_ref arg0)))))\n"
1238
   "\n"
1239
   "   (signature vec2\n"
1240
   "     (parameters\n"
1241
   "       (declare (in) vec2 arg0))\n"
1242
   "     ((return (expression vec2 rsq (var_ref arg0)))))\n"
1243
   "\n"
1244
   "   (signature vec3\n"
1245
   "     (parameters\n"
1246
   "       (declare (in) vec3 arg0))\n"
1247
   "     ((return (expression vec3 rsq (var_ref arg0)))))\n"
1248
   "\n"
1249
   "   (signature vec4\n"
1250
   "     (parameters\n"
1251
   "       (declare (in) vec4 arg0))\n"
1252
   "     ((return (expression vec4 rsq (var_ref arg0)))))\n"
1253
   "))\n"
1254
   ""
1255
;
1256
static const char builtin_length[] =
1257
   "((function length\n"
1258
   "   (signature float\n"
1259
   "     (parameters\n"
1260
   "       (declare (in) float arg0))\n"
1261
   "     ((return (expression float abs (var_ref arg0)))))\n"
1262
   "\n"
1263
   "   (signature float\n"
1264
   "     (parameters\n"
1265
   "       (declare (in) vec2 arg0))\n"
1266
   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1267
   "\n"
1268
   "   (signature float\n"
1269
   "     (parameters\n"
1270
   "       (declare (in) vec3 arg0))\n"
1271
   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1272
   "\n"
1273
   "   (signature float\n"
1274
   "     (parameters\n"
1275
   "       (declare (in) vec4 arg0))\n"
1276
   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1277
   "))\n"
1278
   ""
1279
;
1280
static const char builtin_lessThan[] =
1281
   "((function lessThan\n"
1282
   "   (signature bvec2\n"
1283
   "     (parameters\n"
1284
   "       (declare (in) vec2 arg0)\n"
1285
   "       (declare (in) vec2 arg1))\n"
1286
   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1287
   "\n"
1288
   "   (signature bvec3\n"
1289
   "     (parameters\n"
1290
   "       (declare (in) vec3 arg0)\n"
1291
   "       (declare (in) vec3 arg1))\n"
1292
   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1293
   "\n"
1294
   "   (signature bvec4\n"
1295
   "     (parameters\n"
1296
   "       (declare (in) vec4 arg0)\n"
1297
   "       (declare (in) vec4 arg1))\n"
1298
   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1299
   "\n"
1300
   "   (signature bvec2\n"
1301
   "     (parameters\n"
1302
   "       (declare (in) ivec2 arg0)\n"
1303
   "       (declare (in) ivec2 arg1))\n"
1304
   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1305
   "\n"
1306
   "   (signature bvec3\n"
1307
   "     (parameters\n"
1308
   "       (declare (in) ivec3 arg0)\n"
1309
   "       (declare (in) ivec3 arg1))\n"
1310
   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1311
   "\n"
1312
   "   (signature bvec4\n"
1313
   "     (parameters\n"
1314
   "       (declare (in) ivec4 arg0)\n"
1315
   "       (declare (in) ivec4 arg1))\n"
1316
   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1317
   "\n"
1318
   "   (signature bvec2\n"
1319
   "     (parameters\n"
1320
   "       (declare (in) uvec2 arg0)\n"
1321
   "       (declare (in) uvec2 arg1))\n"
1322
   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1323
   "\n"
1324
   "   (signature bvec3\n"
1325
   "     (parameters\n"
1326
   "       (declare (in) uvec3 arg0)\n"
1327
   "       (declare (in) uvec3 arg1))\n"
1328
   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1329
   "\n"
1330
   "   (signature bvec4\n"
1331
   "     (parameters\n"
1332
   "       (declare (in) uvec4 arg0)\n"
1333
   "       (declare (in) uvec4 arg1))\n"
1334
   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1335
   "))\n"
1336
   ""
1337
;
1338
static const char builtin_lessThanEqual[] =
1339
   "((function lessThanEqual\n"
1340
   "   (signature bvec2\n"
1341
   "     (parameters\n"
1342
   "       (declare (in) vec2 arg0)\n"
1343
   "       (declare (in) vec2 arg1))\n"
1344
   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1345
   "\n"
1346
   "   (signature bvec3\n"
1347
   "     (parameters\n"
1348
   "       (declare (in) vec3 arg0)\n"
1349
   "       (declare (in) vec3 arg1))\n"
1350
   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1351
   "\n"
1352
   "   (signature bvec4\n"
1353
   "     (parameters\n"
1354
   "       (declare (in) vec4 arg0)\n"
1355
   "       (declare (in) vec4 arg1))\n"
1356
   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1357
   "\n"
1358
   "   (signature bvec2\n"
1359
   "     (parameters\n"
1360
   "       (declare (in) ivec2 arg0)\n"
1361
   "       (declare (in) ivec2 arg1))\n"
1362
   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1363
   "\n"
1364
   "   (signature bvec3\n"
1365
   "     (parameters\n"
1366
   "       (declare (in) ivec3 arg0)\n"
1367
   "       (declare (in) ivec3 arg1))\n"
1368
   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1369
   "\n"
1370
   "   (signature bvec4\n"
1371
   "     (parameters\n"
1372
   "       (declare (in) ivec4 arg0)\n"
1373
   "       (declare (in) ivec4 arg1))\n"
1374
   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1375
   "\n"
1376
   "   (signature bvec2\n"
1377
   "     (parameters\n"
1378
   "       (declare (in) uvec2 arg0)\n"
1379
   "       (declare (in) uvec2 arg1))\n"
1380
   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1381
   "\n"
1382
   "   (signature bvec3\n"
1383
   "     (parameters\n"
1384
   "       (declare (in) uvec3 arg0)\n"
1385
   "       (declare (in) uvec3 arg1))\n"
1386
   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1387
   "\n"
1388
   "   (signature bvec4\n"
1389
   "     (parameters\n"
1390
   "       (declare (in) uvec4 arg0)\n"
1391
   "       (declare (in) uvec4 arg1))\n"
1392
   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1393
   "))\n"
1394
   ""
1395
;
1396
static const char builtin_log[] =
1397
   "((function log\n"
1398
   "   (signature float\n"
1399
   "     (parameters\n"
1400
   "       (declare (in) float arg0))\n"
1401
   "     ((return (expression float log (var_ref arg0)))))\n"
1402
   "\n"
1403
   "   (signature vec2\n"
1404
   "     (parameters\n"
1405
   "       (declare (in) vec2 arg0))\n"
1406
   "     ((return (expression vec2 log (var_ref arg0)))))\n"
1407
   "\n"
1408
   "   (signature vec3\n"
1409
   "     (parameters\n"
1410
   "       (declare (in) vec3 arg0))\n"
1411
   "     ((return (expression vec3 log (var_ref arg0)))))\n"
1412
   "\n"
1413
   "   (signature vec4\n"
1414
   "     (parameters\n"
1415
   "       (declare (in) vec4 arg0))\n"
1416
   "     ((return (expression vec4 log (var_ref arg0)))))\n"
1417
   "))\n"
1418
   ""
1419
;
1420
static const char builtin_log2[] =
1421
   "((function log2\n"
1422
   "   (signature float\n"
1423
   "     (parameters\n"
1424
   "       (declare (in) float arg0))\n"
1425
   "     ((return (expression float log2 (var_ref arg0)))))\n"
1426
   "\n"
1427
   "   (signature vec2\n"
1428
   "     (parameters\n"
1429
   "       (declare (in) vec2 arg0))\n"
1430
   "     ((return (expression vec2 log2 (var_ref arg0)))))\n"
1431
   "\n"
1432
   "   (signature vec3\n"
1433
   "     (parameters\n"
1434
   "       (declare (in) vec3 arg0))\n"
1435
   "     ((return (expression vec3 log2 (var_ref arg0)))))\n"
1436
   "\n"
1437
   "   (signature vec4\n"
1438
   "     (parameters\n"
1439
   "       (declare (in) vec4 arg0))\n"
1440
   "     ((return (expression vec4 log2 (var_ref arg0)))))\n"
1441
   "))\n"
1442
   ""
1443
;
1444
static const char builtin_matrixCompMult[] =
1445
   "((function matrixCompMult\n"
1446
   "   (signature mat2\n"
1447
   "     (parameters\n"
1448
   "       (declare (in) mat2 x)\n"
1449
   "       (declare (in) mat2 y))\n"
1450
   "     ((declare () mat2 z)\n"
1451
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1452
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1453
   "(return (var_ref z))))\n"
1454
   "\n"
1455
   "   (signature mat3\n"
1456
   "     (parameters\n"
1457
   "       (declare (in) mat3 x)\n"
1458
   "       (declare (in) mat3 y))\n"
1459
   "     ((declare () mat3 z)\n"
1460
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1461
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1462
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1463
   "(return (var_ref z))))\n"
1464
   "\n"
1465
   "   (signature mat4\n"
1466
   "     (parameters\n"
1467
   "       (declare (in) mat4 x)\n"
1468
   "       (declare (in) mat4 y))\n"
1469
   "     ((declare () mat4 z)\n"
1470
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1471
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1472
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1473
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3)))  (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1474
   "(return (var_ref z))))\n"
1475
   "\n"
1476
   "   (signature mat2x3\n"
1477
   "     (parameters\n"
1478
   "       (declare (in) mat2x3 x)\n"
1479
   "       (declare (in) mat2x3 y))\n"
1480
   "     ((declare () mat2x3 z)\n"
1481
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1482
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1483
   "(return (var_ref z))))\n"
1484
   "\n"
1485
   "   (signature mat3x2\n"
1486
   "     (parameters\n"
1487
   "       (declare (in) mat3x2 x)\n"
1488
   "       (declare (in) mat3x2 y))\n"
1489
   "     ((declare () mat3x2 z)\n"
1490
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1491
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1492
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1493
   "(return (var_ref z))))\n"
1494
   "\n"
1495
   "   (signature mat2x4\n"
1496
   "     (parameters\n"
1497
   "       (declare (in) mat2x4 x)\n"
1498
   "       (declare (in) mat2x4 y))\n"
1499
   "     ((declare () mat2x4 z)\n"
1500
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1501
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1502
   "(return (var_ref z))))\n"
1503
   "\n"
1504
   "   (signature mat4x2\n"
1505
   "     (parameters\n"
1506
   "       (declare (in) mat4x2 x)\n"
1507
   "       (declare (in) mat4x2 y))\n"
1508
   "     ((declare () mat4x2 z)\n"
1509
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1510
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1511
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1512
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3)))  (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1513
   "(return (var_ref z))))\n"
1514
   "\n"
1515
   "   (signature mat3x4\n"
1516
   "     (parameters\n"
1517
   "       (declare (in) mat3x4 x)\n"
1518
   "       (declare (in) mat3x4 y))\n"
1519
   "     ((declare () mat3x4 z)\n"
1520
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1521
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1522
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1523
   "(return (var_ref z))))\n"
1524
   "\n"
1525
   "   (signature mat4x3\n"
1526
   "     (parameters\n"
1527
   "       (declare (in) mat4x3 x)\n"
1528
   "       (declare (in) mat4x3 y))\n"
1529
   "     ((declare () mat4x3 z)\n"
1530
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1531
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1532
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1533
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3)))  (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1534
   "(return (var_ref z))))\n"
1535
   "))\n"
1536
   ""
1537
;
1538
static const char builtin_max[] =
1539
   "((function max\n"
1540
   "   (signature float\n"
1541
   "     (parameters\n"
1542
   "       (declare (in) float arg0)\n"
1543
   "       (declare (in) float arg1))\n"
1544
   "     ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1545
   "\n"
1546
   "   (signature vec2\n"
1547
   "     (parameters\n"
1548
   "       (declare (in) vec2 arg0)\n"
1549
   "       (declare (in) vec2 arg1))\n"
1550
   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1551
   "\n"
1552
   "   (signature vec3\n"
1553
   "     (parameters\n"
1554
   "       (declare (in) vec3 arg0)\n"
1555
   "       (declare (in) vec3 arg1))\n"
1556
   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1557
   "\n"
1558
   "   (signature vec4\n"
1559
   "     (parameters\n"
1560
   "       (declare (in) vec4 arg0)\n"
1561
   "       (declare (in) vec4 arg1))\n"
1562
   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1563
   "\n"
1564
   "   (signature vec2\n"
1565
   "     (parameters\n"
1566
   "       (declare (in) vec2  arg0)\n"
1567
   "       (declare (in) float arg1))\n"
1568
   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1569
   "\n"
1570
   "   (signature vec3\n"
1571
   "     (parameters\n"
1572
   "       (declare (in) vec3  arg0)\n"
1573
   "       (declare (in) float arg1))\n"
1574
   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1575
   "\n"
1576
   "   (signature vec4\n"
1577
   "     (parameters\n"
1578
   "       (declare (in) vec4  arg0)\n"
1579
   "       (declare (in) float arg1))\n"
1580
   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1581
   "\n"
1582
   "   (signature int\n"
1583
   "     (parameters\n"
1584
   "       (declare (in) int arg0)\n"
1585
   "       (declare (in) int arg1))\n"
1586
   "     ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1587
   "\n"
1588
   "   (signature ivec2\n"
1589
   "     (parameters\n"
1590
   "       (declare (in) ivec2 arg0)\n"
1591
   "       (declare (in) ivec2 arg1))\n"
1592
   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1593
   "\n"
1594
   "   (signature ivec3\n"
1595
   "     (parameters\n"
1596
   "       (declare (in) ivec3 arg0)\n"
1597
   "       (declare (in) ivec3 arg1))\n"
1598
   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1599
   "\n"
1600
   "   (signature ivec4\n"
1601
   "     (parameters\n"
1602
   "       (declare (in) ivec4 arg0)\n"
1603
   "       (declare (in) ivec4 arg1))\n"
1604
   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1605
   "\n"
1606
   "   (signature ivec2\n"
1607
   "     (parameters\n"
1608
   "       (declare (in) ivec2  arg0)\n"
1609
   "       (declare (in) int arg1))\n"
1610
   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1611
   "\n"
1612
   "   (signature ivec3\n"
1613
   "     (parameters\n"
1614
   "       (declare (in) ivec3  arg0)\n"
1615
   "       (declare (in) int arg1))\n"
1616
   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1617
   "\n"
1618
   "   (signature ivec4\n"
1619
   "     (parameters\n"
1620
   "       (declare (in) ivec4  arg0)\n"
1621
   "       (declare (in) int arg1))\n"
1622
   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1623
   "\n"
1624
   "   (signature uint\n"
1625
   "     (parameters\n"
1626
   "       (declare (in) uint arg0)\n"
1627
   "       (declare (in) uint arg1))\n"
1628
   "     ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1629
   "\n"
1630
   "   (signature uvec2\n"
1631
   "     (parameters\n"
1632
   "       (declare (in) uvec2 arg0)\n"
1633
   "       (declare (in) uvec2 arg1))\n"
1634
   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1635
   "\n"
1636
   "   (signature uvec3\n"
1637
   "     (parameters\n"
1638
   "       (declare (in) uvec3 arg0)\n"
1639
   "       (declare (in) uvec3 arg1))\n"
1640
   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1641
   "\n"
1642
   "   (signature uvec4\n"
1643
   "     (parameters\n"
1644
   "       (declare (in) uvec4 arg0)\n"
1645
   "       (declare (in) uvec4 arg1))\n"
1646
   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1647
   "\n"
1648
   "   (signature uvec2\n"
1649
   "     (parameters\n"
1650
   "       (declare (in) uvec2  arg0)\n"
1651
   "       (declare (in) uint arg1))\n"
1652
   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1653
   "\n"
1654
   "   (signature uvec3\n"
1655
   "     (parameters\n"
1656
   "       (declare (in) uvec3  arg0)\n"
1657
   "       (declare (in) uint arg1))\n"
1658
   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1659
   "\n"
1660
   "   (signature uvec4\n"
1661
   "     (parameters\n"
1662
   "       (declare (in) uvec4  arg0)\n"
1663
   "       (declare (in) uint arg1))\n"
1664
   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1665
   "))\n"
1666
   ""
1667
;
1668
static const char builtin_min[] =
1669
   "((function min\n"
1670
   "   (signature float\n"
1671
   "     (parameters\n"
1672
   "       (declare (in) float arg0)\n"
1673
   "       (declare (in) float arg1))\n"
1674
   "     ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1675
   "\n"
1676
   "   (signature vec2\n"
1677
   "     (parameters\n"
1678
   "       (declare (in) vec2 arg0)\n"
1679
   "       (declare (in) vec2 arg1))\n"
1680
   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1681
   "\n"
1682
   "   (signature vec3\n"
1683
   "     (parameters\n"
1684
   "       (declare (in) vec3 arg0)\n"
1685
   "       (declare (in) vec3 arg1))\n"
1686
   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1687
   "\n"
1688
   "   (signature vec4\n"
1689
   "     (parameters\n"
1690
   "       (declare (in) vec4 arg0)\n"
1691
   "       (declare (in) vec4 arg1))\n"
1692
   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1693
   "\n"
1694
   "   (signature vec2\n"
1695
   "     (parameters\n"
1696
   "       (declare (in) vec2  arg0)\n"
1697
   "       (declare (in) float arg1))\n"
1698
   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1699
   "\n"
1700
   "   (signature vec3\n"
1701
   "     (parameters\n"
1702
   "       (declare (in) vec3  arg0)\n"
1703
   "       (declare (in) float arg1))\n"
1704
   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1705
   "\n"
1706
   "   (signature vec4\n"
1707
   "     (parameters\n"
1708
   "       (declare (in) vec4  arg0)\n"
1709
   "       (declare (in) float arg1))\n"
1710
   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1711
   "\n"
1712
   "   (signature int\n"
1713
   "     (parameters\n"
1714
   "       (declare (in) int arg0)\n"
1715
   "       (declare (in) int arg1))\n"
1716
   "     ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1717
   "\n"
1718
   "   (signature ivec2\n"
1719
   "     (parameters\n"
1720
   "       (declare (in) ivec2 arg0)\n"
1721
   "       (declare (in) ivec2 arg1))\n"
1722
   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1723
   "\n"
1724
   "   (signature ivec3\n"
1725
   "     (parameters\n"
1726
   "       (declare (in) ivec3 arg0)\n"
1727
   "       (declare (in) ivec3 arg1))\n"
1728
   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1729
   "\n"
1730
   "   (signature ivec4\n"
1731
   "     (parameters\n"
1732
   "       (declare (in) ivec4 arg0)\n"
1733
   "       (declare (in) ivec4 arg1))\n"
1734
   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1735
   "\n"
1736
   "   (signature ivec2\n"
1737
   "     (parameters\n"
1738
   "       (declare (in) ivec2  arg0)\n"
1739
   "       (declare (in) int arg1))\n"
1740
   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1741
   "\n"
1742
   "   (signature ivec3\n"
1743
   "     (parameters\n"
1744
   "       (declare (in) ivec3  arg0)\n"
1745
   "       (declare (in) int arg1))\n"
1746
   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1747
   "\n"
1748
   "   (signature ivec4\n"
1749
   "     (parameters\n"
1750
   "       (declare (in) ivec4  arg0)\n"
1751
   "       (declare (in) int arg1))\n"
1752
   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1753
   "\n"
1754
   "   (signature uint\n"
1755
   "     (parameters\n"
1756
   "       (declare (in) uint arg0)\n"
1757
   "       (declare (in) uint arg1))\n"
1758
   "     ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1759
   "\n"
1760
   "   (signature uvec2\n"
1761
   "     (parameters\n"
1762
   "       (declare (in) uvec2 arg0)\n"
1763
   "       (declare (in) uvec2 arg1))\n"
1764
   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1765
   "\n"
1766
   "   (signature uvec3\n"
1767
   "     (parameters\n"
1768
   "       (declare (in) uvec3 arg0)\n"
1769
   "       (declare (in) uvec3 arg1))\n"
1770
   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1771
   "\n"
1772
   "   (signature uvec4\n"
1773
   "     (parameters\n"
1774
   "       (declare (in) uvec4 arg0)\n"
1775
   "       (declare (in) uvec4 arg1))\n"
1776
   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1777
   "\n"
1778
   "   (signature uvec2\n"
1779
   "     (parameters\n"
1780
   "       (declare (in) uvec2  arg0)\n"
1781
   "       (declare (in) uint arg1))\n"
1782
   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1783
   "\n"
1784
   "   (signature uvec3\n"
1785
   "     (parameters\n"
1786
   "       (declare (in) uvec3  arg0)\n"
1787
   "       (declare (in) uint arg1))\n"
1788
   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1789
   "\n"
1790
   "   (signature uvec4\n"
1791
   "     (parameters\n"
1792
   "       (declare (in) uvec4  arg0)\n"
1793
   "       (declare (in) uint arg1))\n"
1794
   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1795
   "))\n"
1796
   ""
1797
;
1798
static const char builtin_mix[] =
1799
   "((function mix\n"
1800
   "   (signature float\n"
1801
   "     (parameters\n"
1802
   "       (declare (in) float arg0)\n"
1803
   "       (declare (in) float arg1)\n"
1804
   "       (declare (in) float arg2))\n"
1805
   "     ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))\n"
1806
   "\n"
1807
   "   (signature vec2\n"
1808
   "     (parameters\n"
1809
   "       (declare (in) vec2 arg0)\n"
1810
   "       (declare (in) vec2 arg1)\n"
1811
   "       (declare (in) vec2 arg2))\n"
1812
   "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1813
   "\n"
1814
   "   (signature vec3\n"
1815
   "     (parameters\n"
1816
   "       (declare (in) vec3 arg0)\n"
1817
   "       (declare (in) vec3 arg1)\n"
1818
   "       (declare (in) vec3 arg2))\n"
1819
   "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1820
   "\n"
1821
   "   (signature vec4\n"
1822
   "     (parameters\n"
1823
   "       (declare (in) vec4 arg0)\n"
1824
   "       (declare (in) vec4 arg1)\n"
1825
   "       (declare (in) vec4 arg2))\n"
1826
   "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1827
   "\n"
1828
   "   (signature vec2\n"
1829
   "     (parameters\n"
1830
   "       (declare (in) vec2 arg0)\n"
1831
   "       (declare (in) vec2 arg1)\n"
1832
   "       (declare (in) float arg2))\n"
1833
   "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1834
   "\n"
1835
   "   (signature vec3\n"
1836
   "     (parameters\n"
1837
   "       (declare (in) vec3 arg0)\n"
1838
   "       (declare (in) vec3 arg1)\n"
1839
   "       (declare (in) float arg2))\n"
1840
   "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1841
   "\n"
1842
   "   (signature vec4\n"
1843
   "     (parameters\n"
1844
   "       (declare (in) vec4 arg0)\n"
1845
   "       (declare (in) vec4 arg1)\n"
1846
   "       (declare (in) float arg2))\n"
1847
   "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1848
   "\n"
1849
   "   (signature float\n"
1850
   "     (parameters\n"
1851
   "       (declare (in) float v1)\n"
1852
   "       (declare (in) float v2)\n"
1853
   "       (declare (in) bool  a))\n"
1854
   "     ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1855
   "      (return (var_ref v1))))\n"
1856
   "\n"
1857
   "   (signature vec2\n"
1858
   "     (parameters\n"
1859
   "       (declare (in) vec2 v1)\n"
1860
   "       (declare (in) vec2 v2)\n"
1861
   "       (declare (in) bvec2 a))\n"
1862
   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1863
   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1864
   "      (return (var_ref v1))))\n"
1865
   "\n"
1866
   "   (signature vec3\n"
1867
   "     (parameters\n"
1868
   "       (declare (in) vec3 v1)\n"
1869
   "       (declare (in) vec3 v2)\n"
1870
   "       (declare (in) bvec3 a))\n"
1871
   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1872
   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1873
   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1874
   "      (return (var_ref v1))))\n"
1875
   "\n"
1876
   "   (signature vec4\n"
1877
   "     (parameters\n"
1878
   "       (declare (in) vec4 v1)\n"
1879
   "       (declare (in) vec4 v2)\n"
1880
   "       (declare (in) bvec4 a))\n"
1881
   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1882
   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1883
   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1884
   "      (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
1885
   "      (return (var_ref v1))))\n"
1886
   "))\n"
1887
   ""
1888
;
1889
static const char builtin_mod[] =
1890
   "((function mod\n"
1891
   "   (signature float\n"
1892
   "     (parameters\n"
1893
   "       (declare (in) float arg0)\n"
1894
   "       (declare (in) float arg1))\n"
1895
   "     ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1896
   "\n"
1897
   "   (signature vec2\n"
1898
   "     (parameters\n"
1899
   "       (declare (in) vec2 arg0)\n"
1900
   "       (declare (in) vec2 arg1))\n"
1901
   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1902
   "\n"
1903
   "   (signature vec3\n"
1904
   "     (parameters\n"
1905
   "       (declare (in) vec3 arg0)\n"
1906
   "       (declare (in) vec3 arg1))\n"
1907
   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1908
   "\n"
1909
   "   (signature vec4\n"
1910
   "     (parameters\n"
1911
   "       (declare (in) vec4 arg0)\n"
1912
   "       (declare (in) vec4 arg1))\n"
1913
   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1914
   "\n"
1915
   "   (signature vec2\n"
1916
   "     (parameters\n"
1917
   "       (declare (in) vec2  arg0)\n"
1918
   "       (declare (in) float arg1))\n"
1919
   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1920
   "\n"
1921
   "   (signature vec3\n"
1922
   "     (parameters\n"
1923
   "       (declare (in) vec3  arg0)\n"
1924
   "       (declare (in) float arg1))\n"
1925
   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1926
   "\n"
1927
   "   (signature vec4\n"
1928
   "     (parameters\n"
1929
   "       (declare (in) vec4  arg0)\n"
1930
   "       (declare (in) float arg1))\n"
1931
   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1932
   "))\n"
1933
   ""
1934
;
1935
static const char builtin_modf[] =
1936
   "((function modf\n"
1937
   "   (signature float\n"
1938
   "     (parameters\n"
1939
   "       (declare (in)  float x)\n"
1940
   "       (declare (out) float i))\n"
1941
   "     ((declare () float t)\n"
1942
   "      (assign (constant bool (1)) (x) (var_ref t)\n"
1943
   "                                      (expression float trunc (var_ref x)))\n"
1944
   "      (assign (constant bool (1)) (x) (var_ref i) (var_ref t))\n"
1945
   "      (return (expression float - (var_ref x) (var_ref t)))))\n"
1946
   "\n"
1947
   "   (signature vec2\n"
1948
   "     (parameters\n"
1949
   "       (declare (in)  vec2 x)\n"
1950
   "       (declare (out) vec2 i))\n"
1951
   "     ((declare () vec2 t)\n"
1952
   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
1953
   "                                       (expression vec2 trunc (var_ref x)))\n"
1954
   "      (assign (constant bool (1)) (xy) (var_ref i) (var_ref t))\n"
1955
   "      (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
1956
   "\n"
1957
   "   (signature vec3\n"
1958
   "     (parameters\n"
1959
   "       (declare (in)  vec3 x)\n"
1960
   "       (declare (out) vec3 i))\n"
1961
   "     ((declare () vec3 t)\n"
1962
   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
1963
   "                                        (expression vec3 trunc (var_ref x)))\n"
1964
   "      (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t))\n"
1965
   "      (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
1966
   "\n"
1967
   "   (signature vec4\n"
1968
   "     (parameters\n"
1969
   "       (declare (in)  vec4 x)\n"
1970
   "       (declare (out) vec4 i))\n"
1971
   "     ((declare () vec4 t)\n"
1972
   "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
1973
   "                                         (expression vec4 trunc (var_ref x)))\n"
1974
   "      (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t))\n"
1975
   "      (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
1976
   "))\n"
1977
   ""
1978
;
1979
static const char builtin_noise1[] =
1980
   "((function noise1\n"
1981
   "   (signature float\n"
1982
   "     (parameters\n"
1983
   "       (declare (in) float x))\n"
1984
   "     ((return (expression float noise (var_ref x)))))\n"
1985
   "   (signature float\n"
1986
   "     (parameters\n"
1987
   "       (declare (in) vec2 x))\n"
1988
   "     ((return (expression float noise (var_ref x)))))\n"
1989
   "   (signature float\n"
1990
   "     (parameters\n"
1991
   "       (declare (in) vec3 x))\n"
1992
   "     ((return (expression float noise (var_ref x)))))\n"
1993
   "   (signature float\n"
1994
   "     (parameters\n"
1995
   "       (declare (in) vec4 x))\n"
1996
   "     ((return (expression float noise (var_ref x)))))\n"
1997
   "))\n"
1998
   ""
1999
;
2000
static const char builtin_noise2[] =
2001
   "((function noise2\n"
2002
   "  (signature vec2\n"
2003
   "    (parameters (declare (in) vec4 p))\n"
2004
   "    (\n"
2005
   "      (declare () float a)\n"
2006
   "      (declare () float b)\n"
2007
   "      (declare () vec2 t)\n"
2008
   "\n"
2009
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2010
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2011
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2012
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2013
   "      (return (var_ref t))\n"
2014
   "    ))\n"
2015
   "\n"
2016
   "  (signature vec2\n"
2017
   "    (parameters (declare (in) vec3 p))\n"
2018
   "    (\n"
2019
   "      (declare () float a)\n"
2020
   "      (declare () float b)\n"
2021
   "      (declare () vec2 t)\n"
2022
   "\n"
2023
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2024
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2025
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2026
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2027
   "      (return (var_ref t))\n"
2028
   "    ))\n"
2029
   "\n"
2030
   "  (signature vec2\n"
2031
   "    (parameters\n"
2032
   "      (declare (in ) vec2 p)\n"
2033
   "    )\n"
2034
   "    (\n"
2035
   "      (declare () float a)\n"
2036
   "      (declare () float b)\n"
2037
   "      (declare () vec2 t)\n"
2038
   "\n"
2039
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2040
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2041
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2042
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2043
   "      (return (var_ref t))\n"
2044
   "    ))\n"
2045
   "\n"
2046
   "  (signature vec2\n"
2047
   "    (parameters\n"
2048
   "      (declare (in ) float p)\n"
2049
   "    )\n"
2050
   "    (\n"
2051
   "      (declare () float a)\n"
2052
   "      (declare () float b)\n"
2053
   "      (declare () vec2 t)\n"
2054
   "\n"
2055
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2056
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2057
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2058
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2059
   "      (return (var_ref t))\n"
2060
   "    ))\n"
2061
   "))\n"
2062
   ""
2063
;
2064
static const char builtin_noise3[] =
2065
   "((function noise3\n"
2066
   "  (signature vec3\n"
2067
   "    (parameters (declare (in) vec4 p))\n"
2068
   "    (\n"
2069
   "      (declare () float a)\n"
2070
   "      (declare () float b)\n"
2071
   "      (declare () float c)\n"
2072
   "      (declare () vec3 t)\n"
2073
   "\n"
2074
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2075
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2076
   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
2077
   "\n"
2078
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2079
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2080
   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2081
   "      (return (var_ref t))\n"
2082
   "    ))\n"
2083
   "\n"
2084
   "  (signature vec3\n"
2085
   "    (parameters (declare (in) vec3 p))\n"
2086
   "    (\n"
2087
   "      (declare () float a)\n"
2088
   "      (declare () float b)\n"
2089
   "      (declare () float c)\n"
2090
   "      (declare () vec3 t)\n"
2091
   "\n"
2092
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2093
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2094
   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
2095
   "\n"
2096
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2097
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2098
   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2099
   "      (return (var_ref t))\n"
2100
   "    ))\n"
2101
   "\n"
2102
   "  (signature vec3\n"
2103
   "    (parameters (declare (in) vec2 p))\n"
2104
   "    (\n"
2105
   "      (declare () float a)\n"
2106
   "      (declare () float b)\n"
2107
   "      (declare () float c)\n"
2108
   "      (declare () vec3 t)\n"
2109
   "\n"
2110
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2111
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2112
   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2113
   "\n"
2114
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2115
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2116
   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2117
   "      (return (var_ref t))\n"
2118
   "    ))\n"
2119
   "\n"
2120
   "  (signature vec3\n"
2121
   "    (parameters (declare (in) float p))\n"
2122
   "    (\n"
2123
   "      (declare () float a)\n"
2124
   "      (declare () float b)\n"
2125
   "      (declare () float c)\n"
2126
   "      (declare () vec3 t)\n"
2127
   "\n"
2128
   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2129
   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2130
   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2131
   "\n"
2132
   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2133
   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2134
   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2135
   "      (return (var_ref t))\n"
2136
   "    ))\n"
2137
   "))\n"
2138
   ""
2139
;
2140
static const char builtin_noise4[] =
2141
   "((function noise4\n"
2142
   "  (signature vec4\n"
2143
   "    (parameters (declare (in) vec4 p))\n"
2144
   "    (\n"
2145
   "      (declare () float _x)\n"
2146
   "      (declare () float _y)\n"
2147
   "      (declare () float _z)\n"
2148
   "      (declare () float _w)\n"
2149
   "      (declare () vec4 _r)\n"
2150
   "\n"
2151
   "      (declare () vec4 _p)\n"
2152
   "      (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2153
   "\n"
2154
   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2155
   "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2156
   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2157
   "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2158
   "\n"
2159
   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2160
   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2161
   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2162
   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2163
   "      (return (var_ref _r))\n"
2164
   "    ))\n"
2165
   "\n"
2166
   "  (signature vec4\n"
2167
   "    (parameters (declare (in) vec3 p))\n"
2168
   "    (\n"
2169
   "      (declare () float _x)\n"
2170
   "      (declare () float _y)\n"
2171
   "      (declare () float _z)\n"
2172
   "      (declare () float _w)\n"
2173
   "      (declare () vec4 _r)\n"
2174
   "\n"
2175
   "      (declare () vec3 _p)\n"
2176
   "      (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2177
   "\n"
2178
   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2179
   "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2180
   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2181
   "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
2182
   "\n"
2183
   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2184
   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2185
   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2186
   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2187
   "      (return (var_ref _r))\n"
2188
   "    ))\n"
2189
   "\n"
2190
   "  (signature vec4\n"
2191
   "    (parameters (declare (in) vec2 p))\n"
2192
   "    (\n"
2193
   "      (declare () float _x)\n"
2194
   "      (declare () float _y)\n"
2195
   "      (declare () float _z)\n"
2196
   "      (declare () float _w)\n"
2197
   "      (declare () vec4 _r)\n"
2198
   "\n"
2199
   "      (declare () vec2 _p)\n"
2200
   "      (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2201
   "\n"
2202
   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2203
   "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2204
   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2205
   "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2206
   "\n"
2207
   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2208
   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2209
   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2210
   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2211
   "      (return (var_ref _r))\n"
2212
   "    ))\n"
2213
   "\n"
2214
   "  (signature vec4\n"
2215
   "    (parameters (declare (in) float p))\n"
2216
   "    (\n"
2217
   "      (declare () float _x)\n"
2218
   "      (declare () float _y)\n"
2219
   "      (declare () float _z)\n"
2220
   "      (declare () float _w)\n"
2221
   "      (declare () vec4 _r)\n"
2222
   "\n"
2223
   "      (declare () float _p)\n"
2224
   "      (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
2225
   "\n"
2226
   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2227
   "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2228
   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2229
   "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2230
   "\n"
2231
   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2232
   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2233
   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2234
   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2235
   "      (return (var_ref _r))\n"
2236
   "    ))\n"
2237
   "))\n"
2238
   ""
2239
;
2240
static const char builtin_normalize[] =
2241
   "((function normalize\n"
2242
   "   (signature float\n"
2243
   "     (parameters\n"
2244
   "       (declare (in) float arg0))\n"
2245
   "     ((return (expression float sign (var_ref arg0)))))\n"
2246
   "\n"
2247
   "   (signature vec2\n"
2248
   "     (parameters\n"
2249
   "       (declare (in) vec2 arg0))\n"
2250
   "     ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2251
   "\n"
2252
   "   (signature vec3\n"
2253
   "     (parameters\n"
2254
   "       (declare (in) vec3 arg0))\n"
2255
   "     ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2256
   "\n"
2257
   "   (signature vec4\n"
2258
   "     (parameters\n"
2259
   "       (declare (in) vec4 arg0))\n"
2260
   "     ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2261
   "))\n"
2262
   ""
2263
;
2264
static const char builtin_not[] =
2265
   "((function not\n"
2266
   "   (signature bvec2\n"
2267
   "     (parameters\n"
2268
   "       (declare (in) bvec2 arg0))\n"
2269
   "     ((return (expression bvec2 ! (var_ref arg0)))))\n"
2270
   "\n"
2271
   "   (signature bvec3\n"
2272
   "     (parameters\n"
2273
   "       (declare (in) bvec3 arg0))\n"
2274
   "     ((return (expression bvec3 ! (var_ref arg0)))))\n"
2275
   "\n"
2276
   "   (signature bvec4\n"
2277
   "     (parameters\n"
2278
   "       (declare (in) bvec4 arg0))\n"
2279
   "     ((return (expression bvec4 ! (var_ref arg0)))))\n"
2280
   "))\n"
2281
   ""
2282
;
2283
static const char builtin_notEqual[] =
2284
   "((function notEqual\n"
2285
   "   (signature bvec2\n"
2286
   "     (parameters\n"
2287
   "       (declare (in) vec2 arg0)\n"
2288
   "       (declare (in) vec2 arg1))\n"
2289
   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2290
   "\n"
2291
   "   (signature bvec3\n"
2292
   "     (parameters\n"
2293
   "       (declare (in) vec3 arg0)\n"
2294
   "       (declare (in) vec3 arg1))\n"
2295
   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2296
   "\n"
2297
   "   (signature bvec4\n"
2298
   "     (parameters\n"
2299
   "       (declare (in) vec4 arg0)\n"
2300
   "       (declare (in) vec4 arg1))\n"
2301
   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2302
   "\n"
2303
   "   (signature bvec2\n"
2304
   "     (parameters\n"
2305
   "       (declare (in) bvec2 arg0)\n"
2306
   "       (declare (in) bvec2 arg1))\n"
2307
   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2308
   "\n"
2309
   "   (signature bvec3\n"
2310
   "     (parameters\n"
2311
   "       (declare (in) bvec3 arg0)\n"
2312
   "       (declare (in) bvec3 arg1))\n"
2313
   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2314
   "\n"
2315
   "   (signature bvec4\n"
2316
   "     (parameters\n"
2317
   "       (declare (in) bvec4 arg0)\n"
2318
   "       (declare (in) bvec4 arg1))\n"
2319
   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2320
   "\n"
2321
   "   (signature bvec2\n"
2322
   "     (parameters\n"
2323
   "       (declare (in) ivec2 arg0)\n"
2324
   "       (declare (in) ivec2 arg1))\n"
2325
   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2326
   "\n"
2327
   "   (signature bvec3\n"
2328
   "     (parameters\n"
2329
   "       (declare (in) ivec3 arg0)\n"
2330
   "       (declare (in) ivec3 arg1))\n"
2331
   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2332
   "\n"
2333
   "   (signature bvec4\n"
2334
   "     (parameters\n"
2335
   "       (declare (in) ivec4 arg0)\n"
2336
   "       (declare (in) ivec4 arg1))\n"
2337
   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2338
   "\n"
2339
   "   (signature bvec2\n"
2340
   "     (parameters\n"
2341
   "       (declare (in) uvec2 arg0)\n"
2342
   "       (declare (in) uvec2 arg1))\n"
2343
   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2344
   "\n"
2345
   "   (signature bvec3\n"
2346
   "     (parameters\n"
2347
   "       (declare (in) uvec3 arg0)\n"
2348
   "       (declare (in) uvec3 arg1))\n"
2349
   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2350
   "\n"
2351
   "   (signature bvec4\n"
2352
   "     (parameters\n"
2353
   "       (declare (in) uvec4 arg0)\n"
2354
   "       (declare (in) uvec4 arg1))\n"
2355
   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2356
   "))\n"
2357
   ""
2358
;
2359
static const char builtin_outerProduct[] =
2360
   "((function outerProduct\n"
2361
   "   (signature mat2\n"
2362
   "     (parameters\n"
2363
   "       (declare (in) vec2 u)\n"
2364
   "       (declare (in) vec2 v))\n"
2365
   "     ((declare () mat2 m)\n"
2366
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2367
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2368
   "      (return (var_ref m))))\n"
2369
   "\n"
2370
   "   (signature mat2x3\n"
2371
   "     (parameters\n"
2372
   "       (declare (in) vec3 u)\n"
2373
   "       (declare (in) vec2 v))\n"
2374
   "     ((declare () mat2x3 m)\n"
2375
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2376
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2377
   "      (return (var_ref m))))\n"
2378
   "\n"
2379
   "   (signature mat2x4\n"
2380
   "     (parameters\n"
2381
   "       (declare (in) vec4 u)\n"
2382
   "       (declare (in) vec2 v))\n"
2383
   "     ((declare () mat2x4 m)\n"
2384
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2385
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2386
   "      (return (var_ref m))))\n"
2387
   "\n"
2388
   "   (signature mat3x2\n"
2389
   "     (parameters\n"
2390
   "       (declare (in) vec2 u)\n"
2391
   "       (declare (in) vec3 v))\n"
2392
   "     ((declare () mat3x2 m)\n"
2393
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2394
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2395
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2396
   "      (return (var_ref m))\n"
2397
   " ))\n"
2398
   "\n"
2399
   "   (signature mat3\n"
2400
   "     (parameters\n"
2401
   "       (declare (in) vec3 u)\n"
2402
   "       (declare (in) vec3 v))\n"
2403
   "     ((declare () mat3 m)\n"
2404
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2405
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2406
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2407
   "      (return (var_ref m))))\n"
2408
   "\n"
2409
   "   (signature mat3x4\n"
2410
   "     (parameters\n"
2411
   "       (declare (in) vec4 u)\n"
2412
   "       (declare (in) vec3 v))\n"
2413
   "     ((declare () mat3x4 m)\n"
2414
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2415
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2416
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2417
   "      (return (var_ref m))))\n"
2418
   "\n"
2419
   "   (signature mat4x2\n"
2420
   "     (parameters\n"
2421
   "       (declare (in) vec2 u)\n"
2422
   "       (declare (in) vec4 v))\n"
2423
   "     ((declare () mat4x2 m)\n"
2424
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2425
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2426
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2427
   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2428
   "      (return (var_ref m))))\n"
2429
   "\n"
2430
   "   (signature mat4x3\n"
2431
   "     (parameters\n"
2432
   "       (declare (in) vec3 u)\n"
2433
   "       (declare (in) vec4 v))\n"
2434
   "     ((declare () mat4x3 m)\n"
2435
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2436
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2437
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2438
   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2439
   "      (return (var_ref m))))\n"
2440
   "\n"
2441
   "   (signature mat4\n"
2442
   "     (parameters\n"
2443
   "       (declare (in) vec4 u)\n"
2444
   "       (declare (in) vec4 v))\n"
2445
   "     ((declare () mat4 m)\n"
2446
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2447
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2448
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2449
   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2450
   "      (return (var_ref m))))\n"
2451
   "))\n"
2452
   ""
2453
;
2454
static const char builtin_pow[] =
2455
   "((function pow\n"
2456
   "   (signature float\n"
2457
   "     (parameters\n"
2458
   "       (declare (in) float arg0)\n"
2459
   "       (declare (in) float arg1))\n"
2460
   "     ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2461
   "\n"
2462
   "   (signature vec2\n"
2463
   "     (parameters\n"
2464
   "       (declare (in) vec2 arg0)\n"
2465
   "       (declare (in) vec2 arg1))\n"
2466
   "     ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2467
   "\n"
2468
   "   (signature vec3\n"
2469
   "     (parameters\n"
2470
   "       (declare (in) vec3 arg0)\n"
2471
   "       (declare (in) vec3 arg1))\n"
2472
   "     ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2473
   "\n"
2474
   "   (signature vec4\n"
2475
   "     (parameters\n"
2476
   "       (declare (in) vec4 arg0)\n"
2477
   "       (declare (in) vec4 arg1))\n"
2478
   "     ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2479
   "))\n"
2480
   ""
2481
;
2482
static const char builtin_radians[] =
2483
   "((function radians\n"
2484
   "   (signature float\n"
2485
   "     (parameters\n"
2486
   "       (declare (in) float arg0))\n"
2487
   "     ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2488
   "\n"
2489
   "   (signature vec2\n"
2490
   "     (parameters\n"
2491
   "       (declare (in) vec2 arg0))\n"
2492
   "     ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2493
   "\n"
2494
   "   (signature vec3\n"
2495
   "     (parameters\n"
2496
   "       (declare (in) vec3 arg0))\n"
2497
   "     ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2498
   "\n"
2499
   "   (signature vec4\n"
2500
   "     (parameters\n"
2501
   "       (declare (in) vec4 arg0))\n"
2502
   "     ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2503
   "))\n"
2504
   ""
2505
;
2506
static const char builtin_reflect[] =
2507
   "((function reflect\n"
2508
   "   (signature float\n"
2509
   "     (parameters\n"
2510
   "       (declare (in) float i)\n"
2511
   "       (declare (in) float n))\n"
2512
   "     ((return (expression float -\n"
2513
   "	       (var_ref i)\n"
2514
   "	       (expression float *\n"
2515
   "		(constant float (2.0))\n"
2516
   "		(expression float *\n"
2517
   "		 (expression float *\n"
2518
   "		  (var_ref n)\n"
2519
   "		  (var_ref i))\n"
2520
   "		 (var_ref n)))))))\n"
2521
   "\n"
2522
   "   (signature vec2\n"
2523
   "     (parameters\n"
2524
   "       (declare (in) vec2 i)\n"
2525
   "       (declare (in) vec2 n))\n"
2526
   "     ((return (expression vec2 -\n"
2527
   "	       (var_ref i)\n"
2528
   "	       (expression vec2 *\n"
2529
   "		(constant float (2.0))\n"
2530
   "		(expression vec2 *\n"
2531
   "		 (expression float dot\n"
2532
   "		  (var_ref n)\n"
2533
   "		  (var_ref i))\n"
2534
   "		 (var_ref n)))))))\n"
2535
   "\n"
2536
   "   (signature vec3\n"
2537
   "     (parameters\n"
2538
   "       (declare (in) vec3 i)\n"
2539
   "       (declare (in) vec3 n))\n"
2540
   "     ((return (expression vec3 -\n"
2541
   "	       (var_ref i)\n"
2542
   "	       (expression vec3 *\n"
2543
   "		(constant float (2.0))\n"
2544
   "		(expression vec3 *\n"
2545
   "		 (expression float dot\n"
2546
   "		  (var_ref n)\n"
2547
   "		  (var_ref i))\n"
2548
   "		 (var_ref n)))))))\n"
2549
   "\n"
2550
   "   (signature vec4\n"
2551
   "     (parameters\n"
2552
   "       (declare (in) vec4 i)\n"
2553
   "       (declare (in) vec4 n))\n"
2554
   "     ((return (expression vec4 -\n"
2555
   "	       (var_ref i)\n"
2556
   "	       (expression vec4 *\n"
2557
   "		(constant float (2.0))\n"
2558
   "		(expression vec4 *\n"
2559
   "		 (expression float dot\n"
2560
   "		  (var_ref n)\n"
2561
   "		  (var_ref i))\n"
2562
   "		 (var_ref n)))))))\n"
2563
   "\n"
2564
   "))\n"
2565
   ""
2566
;
2567
static const char builtin_refract[] =
2568
   "((function refract\n"
2569
   "   (signature float\n"
2570
   "     (parameters\n"
2571
   "       (declare (in) float i)\n"
2572
   "       (declare (in) float n)\n"
2573
   "       (declare (in) float eta))\n"
2574
   "     ((declare () float k)\n"
2575
   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2576
   "              (expression float - (constant float (1.0))\n"
2577
   "	        (expression float * (var_ref eta)\n"
2578
   "	          (expression float * (var_ref eta)\n"
2579
   "		    (expression float - (constant float (1.0))\n"
2580
   "		      (expression float * \n"
2581
   "		        (expression float * (var_ref n) (var_ref i))\n"
2582
   "		        (expression float * (var_ref n) (var_ref i))))))))\n"
2583
   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2584
   "          ((return (constant float (0.0))))\n"
2585
   "	  ((return (expression float -\n"
2586
   "	             (expression float * (var_ref eta) (var_ref i))\n"
2587
   "		     (expression float *\n"
2588
   "		       (expression float +\n"
2589
   "		         (expression float * (var_ref eta)\n"
2590
   "			   (expression float * (var_ref n) (var_ref i)))\n"
2591
   "		         (expression float sqrt (var_ref k)))\n"
2592
   "		       (var_ref n))))))))\n"
2593
   "\n"
2594
   "   (signature vec2\n"
2595
   "     (parameters\n"
2596
   "       (declare (in) vec2 i)\n"
2597
   "       (declare (in) vec2 n)\n"
2598
   "       (declare (in) float eta))\n"
2599
   "     ((declare () float k)\n"
2600
   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2601
   "              (expression float - (constant float (1.0))\n"
2602
   "	        (expression float * (var_ref eta)\n"
2603
   "	          (expression float * (var_ref eta)\n"
2604
   "		    (expression float - (constant float (1.0))\n"
2605
   "		      (expression float * \n"
2606
   "		        (expression float dot (var_ref n) (var_ref i))\n"
2607
   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2608
   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2609
   "          ((return (constant vec2 (0.0 0.0))))\n"
2610
   "	  ((return (expression vec2 -\n"
2611
   "	             (expression vec2 * (var_ref eta) (var_ref i))\n"
2612
   "		     (expression vec2 *\n"
2613
   "		       (expression float +\n"
2614
   "		         (expression float * (var_ref eta)\n"
2615
   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2616
   "		         (expression float sqrt (var_ref k)))\n"
2617
   "		       (var_ref n))))))))\n"
2618
   "\n"
2619
   "   (signature vec3\n"
2620
   "     (parameters\n"
2621
   "       (declare (in) vec3 i)\n"
2622
   "       (declare (in) vec3 n)\n"
2623
   "       (declare (in) float eta))\n"
2624
   "     ((declare () float k)\n"
2625
   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2626
   "              (expression float - (constant float (1.0))\n"
2627
   "	        (expression float * (var_ref eta)\n"
2628
   "	          (expression float * (var_ref eta)\n"
2629
   "		    (expression float - (constant float (1.0))\n"
2630
   "		      (expression float * \n"
2631
   "		        (expression float dot (var_ref n) (var_ref i))\n"
2632
   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2633
   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2634
   "          ((return (constant vec3 (0.0 0.0 0.0))))\n"
2635
   "	  ((return (expression vec3 -\n"
2636
   "	             (expression vec3 * (var_ref eta) (var_ref i))\n"
2637
   "		     (expression vec3 *\n"
2638
   "		       (expression float +\n"
2639
   "		         (expression float * (var_ref eta)\n"
2640
   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2641
   "		         (expression float sqrt (var_ref k)))\n"
2642
   "		       (var_ref n))))))))\n"
2643
   "\n"
2644
   "   (signature vec4\n"
2645
   "     (parameters\n"
2646
   "       (declare (in) vec4 i)\n"
2647
   "       (declare (in) vec4 n)\n"
2648
   "       (declare (in) float eta))\n"
2649
   "     ((declare () float k)\n"
2650
   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2651
   "              (expression float - (constant float (1.0))\n"
2652
   "	        (expression float * (var_ref eta)\n"
2653
   "	          (expression float * (var_ref eta)\n"
2654
   "		    (expression float - (constant float (1.0))\n"
2655
   "		      (expression float * \n"
2656
   "		        (expression float dot (var_ref n) (var_ref i))\n"
2657
   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2658
   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2659
   "          ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2660
   "	  ((return (expression vec4 -\n"
2661
   "	             (expression vec4 * (var_ref eta) (var_ref i))\n"
2662
   "		     (expression vec4 *\n"
2663
   "		       (expression float +\n"
2664
   "		         (expression float * (var_ref eta)\n"
2665
   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2666
   "		         (expression float sqrt (var_ref k)))\n"
2667
   "		       (var_ref n))))))))\n"
2668
   "\n"
2669
   "))\n"
2670
   ""
2671
;
2672
static const char builtin_round[] =
2673
   "((function round\n"
2674
   "   (signature float\n"
2675
   "     (parameters\n"
2676
   "       (declare (in) float arg0))\n"
2677
   "     ((return (expression float round_even (var_ref arg0)))))\n"
2678
   "\n"
2679
   "   (signature vec2\n"
2680
   "     (parameters\n"
2681
   "       (declare (in) vec2 arg0))\n"
2682
   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
2683
   "\n"
2684
   "   (signature vec3\n"
2685
   "     (parameters\n"
2686
   "       (declare (in) vec3 arg0))\n"
2687
   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
2688
   "\n"
2689
   "   (signature vec4\n"
2690
   "     (parameters\n"
2691
   "       (declare (in) vec4 arg0))\n"
2692
   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
2693
   "))\n"
2694
   ""
2695
;
2696
static const char builtin_roundEven[] =
2697
   "((function roundEven\n"
2698
   "   (signature float\n"
2699
   "     (parameters\n"
2700
   "       (declare (in) float arg0))\n"
2701
   "     ((return (expression float round_even (var_ref arg0)))))\n"
2702
   "\n"
2703
   "   (signature vec2\n"
2704
   "     (parameters\n"
2705
   "       (declare (in) vec2 arg0))\n"
2706
   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
2707
   "\n"
2708
   "   (signature vec3\n"
2709
   "     (parameters\n"
2710
   "       (declare (in) vec3 arg0))\n"
2711
   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
2712
   "\n"
2713
   "   (signature vec4\n"
2714
   "     (parameters\n"
2715
   "       (declare (in) vec4 arg0))\n"
2716
   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
2717
   "))\n"
2718
   ""
2719
;
2720
static const char builtin_shadow1D[] =
2721
   "((function shadow1D\n"
2722
   "   (signature vec4\n"
2723
   "     (parameters\n"
2724
   "       (declare (in) sampler1DShadow sampler)\n"
2725
   "       (declare (in) vec3 P) )\n"
2726
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2727
   "\n"
2728
   "   (signature vec4\n"
2729
   "     (parameters\n"
2730
   "       (declare (in) sampler1DShadow sampler)\n"
2731
   "       (declare (in) vec3 P) \n"
2732
   "       (declare (in) float bias) )\n"
2733
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2734
   "\n"
2735
   "))\n"
2736
   ""
2737
;
2738
static const char builtin_shadow1DArray[] =
2739
   "((function shadow1DArray\n"
2740
   "   (signature vec4\n"
2741
   "     (parameters\n"
2742
   "       (declare (in) sampler1DArrayShadow sampler)\n"
2743
   "       (declare (in) vec3 P) )\n"
2744
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2745
   "\n"
2746
   "   (signature vec4\n"
2747
   "     (parameters\n"
2748
   "       (declare (in) sampler1DArrayShadow sampler)\n"
2749
   "       (declare (in) vec3 P) \n"
2750
   "       (declare (in) float bias) )\n"
2751
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2752
   "\n"
2753
   "))\n"
2754
   ""
2755
;
2756
static const char builtin_shadow1DArrayLod[] =
2757
   "((function shadow1DArrayLod\n"
2758
   "   (signature vec4\n"
2759
   "     (parameters\n"
2760
   "       (declare (in) sampler1DArrayShadow sampler)\n"
2761
   "       (declare (in) vec3 P) \n"
2762
   "       (declare (in) float lod) )\n"
2763
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2764
   "\n"
2765
   "))\n"
2766
   ""
2767
;
2768
static const char builtin_shadow1DLod[] =
2769
   "((function shadow1DLod\n"
2770
   "   (signature vec4\n"
2771
   "     (parameters\n"
2772
   "       (declare (in) sampler1DShadow sampler)\n"
2773
   "       (declare (in) vec3 P) \n"
2774
   "       (declare (in) float lod) )\n"
2775
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2776
   "\n"
2777
   "))\n"
2778
   ""
2779
;
2780
static const char builtin_shadow1DProj[] =
2781
   "((function shadow1DProj\n"
2782
   "   (signature vec4\n"
2783
   "     (parameters\n"
2784
   "       (declare (in) sampler1DShadow sampler)\n"
2785
   "       (declare (in) vec4 P) )\n"
2786
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2787
   "\n"
2788
   "   (signature vec4\n"
2789
   "     (parameters\n"
2790
   "       (declare (in) sampler1DShadow sampler)\n"
2791
   "       (declare (in) vec4 P) \n"
2792
   "       (declare (in) float bias) )\n"
2793
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
2794
   "\n"
2795
   "))\n"
2796
   ""
2797
;
2798
static const char builtin_shadow1DProjLod[] =
2799
   "((function shadow1DProjLod\n"
2800
   "   (signature vec4\n"
2801
   "     (parameters\n"
2802
   "       (declare (in) sampler1DShadow sampler)\n"
2803
   "       (declare (in) vec4 P) \n"
2804
   "       (declare (in) float lod) )\n"
2805
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2806
   "\n"
2807
   "))\n"
2808
   ""
2809
;
2810
static const char builtin_shadow2D[] =
2811
   "((function shadow2D\n"
2812
   "   (signature vec4\n"
2813
   "     (parameters\n"
2814
   "       (declare (in) sampler2DShadow sampler)\n"
2815
   "       (declare (in) vec3 P) )\n"
2816
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2817
   "\n"
2818
   "   (signature vec4\n"
2819
   "     (parameters\n"
2820
   "       (declare (in) sampler2DShadow sampler)\n"
2821
   "       (declare (in) vec3 P) \n"
2822
   "       (declare (in) float bias) )\n"
2823
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2824
   "\n"
2825
   "))\n"
2826
   ""
2827
;
2828
static const char builtin_shadow2DArray[] =
2829
   "((function shadow2DArray\n"
2830
   "   (signature vec4\n"
2831
   "     (parameters\n"
2832
   "       (declare (in) sampler2DArrayShadow sampler)\n"
2833
   "       (declare (in) vec4 P) )\n"
2834
   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2835
   "\n"
2836
   "))\n"
2837
   ""
2838
;
2839
static const char builtin_shadow2DLod[] =
2840
   "((function shadow2DLod\n"
2841
   "   (signature vec4\n"
2842
   "     (parameters\n"
2843
   "       (declare (in) sampler2DShadow sampler)\n"
2844
   "       (declare (in) vec3 P) \n"
2845
   "       (declare (in) float lod) )\n"
2846
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2847
   "\n"
2848
   "))\n"
2849
   ""
2850
;
2851
static const char builtin_shadow2DProj[] =
2852
   "((function shadow2DProj\n"
2853
   "   (signature vec4\n"
2854
   "     (parameters\n"
2855
   "       (declare (in) sampler2DShadow sampler)\n"
2856
   "       (declare (in) vec4 P) )\n"
2857
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2858
   "\n"
2859
   "   (signature vec4\n"
2860
   "     (parameters\n"
2861
   "       (declare (in) sampler2DShadow sampler)\n"
2862
   "       (declare (in) vec4 P) \n"
2863
   "       (declare (in) float bias) )\n"
2864
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
2865
   "\n"
2866
   "))\n"
2867
   ""
2868
;
2869
static const char builtin_shadow2DProjLod[] =
2870
   "((function shadow2DProjLod\n"
2871
   "   (signature vec4\n"
2872
   "     (parameters\n"
2873
   "       (declare (in) sampler2DShadow sampler)\n"
2874
   "       (declare (in) vec4 P) \n"
2875
   "       (declare (in) float lod) )\n"
2876
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2877
   "\n"
2878
   "))\n"
2879
   ""
2880
;
2881
static const char builtin_shadow2DRect[] =
2882
   "((function shadow2DRect\n"
2883
   "   (signature vec4\n"
2884
   "     (parameters\n"
2885
   "       (declare (in) sampler2DRectShadow sampler)\n"
2886
   "       (declare (in) vec3 P) )\n"
2887
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2888
   "\n"
2889
   "))\n"
2890
   ""
2891
;
2892
static const char builtin_shadow2DRectProj[] =
2893
   "((function shadow2DRectProj\n"
2894
   "   (signature vec4\n"
2895
   "     (parameters\n"
2896
   "       (declare (in) sampler2DRectShadow sampler)\n"
2897
   "       (declare (in) vec4 P) )\n"
2898
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2899
   "\n"
2900
   "))\n"
2901
   ""
2902
;
2903
static const char builtin_sign[] =
2904
   "((function sign\n"
2905
   "   (signature float\n"
2906
   "     (parameters\n"
2907
   "       (declare (in) float x))\n"
2908
   "     ((return (expression float sign (var_ref x)))))\n"
2909
   "\n"
2910
   "   (signature vec2\n"
2911
   "     (parameters\n"
2912
   "       (declare (in) vec2 x))\n"
2913
   "     ((return (expression vec2 sign (var_ref x)))))\n"
2914
   "\n"
2915
   "   (signature vec3\n"
2916
   "     (parameters\n"
2917
   "       (declare (in) vec3 x))\n"
2918
   "     ((return (expression vec3 sign (var_ref x)))))\n"
2919
   "\n"
2920
   "   (signature vec4\n"
2921
   "     (parameters\n"
2922
   "       (declare (in) vec4 x))\n"
2923
   "     ((return (expression vec4 sign (var_ref x)))))\n"
2924
   "\n"
2925
   "   (signature int\n"
2926
   "     (parameters\n"
2927
   "       (declare (in) int x))\n"
2928
   "     ((return (expression int sign (var_ref x)))))\n"
2929
   "\n"
2930
   "   (signature ivec2\n"
2931
   "     (parameters\n"
2932
   "       (declare (in) ivec2 x))\n"
2933
   "     ((return (expression ivec2 sign (var_ref x)))))\n"
2934
   "\n"
2935
   "   (signature ivec3\n"
2936
   "     (parameters\n"
2937
   "       (declare (in) ivec3 x))\n"
2938
   "     ((return (expression ivec3 sign (var_ref x)))))\n"
2939
   "\n"
2940
   "   (signature ivec4\n"
2941
   "     (parameters\n"
2942
   "       (declare (in) ivec4 x))\n"
2943
   "     ((return (expression ivec4 sign (var_ref x)))))\n"
2944
   "))\n"
2945
   "\n"
2946
   ""
2947
;
2948
static const char builtin_sin[] =
2949
   "((function sin\n"
2950
   "   (signature float\n"
2951
   "     (parameters\n"
2952
   "       (declare (in) float angle))\n"
2953
   "     ((return (expression float sin (var_ref angle)))))\n"
2954
   "\n"
2955
   "   (signature vec2\n"
2956
   "     (parameters\n"
2957
   "       (declare (in) vec2 angle))\n"
2958
   "     ((return (expression vec2 sin (var_ref angle)))))\n"
2959
   "\n"
2960
   "   (signature vec3\n"
2961
   "     (parameters\n"
2962
   "       (declare (in) vec3 angle))\n"
2963
   "     ((return (expression vec3 sin (var_ref angle)))))\n"
2964
   "\n"
2965
   "   (signature vec4\n"
2966
   "     (parameters\n"
2967
   "       (declare (in) vec4 angle))\n"
2968
   "     ((return (expression vec4 sin (var_ref angle)))))\n"
2969
   "))\n"
2970
   ""
2971
;
2972
static const char builtin_sinh[] =
2973
   "((function sinh\n"
2974
   "   (signature float\n"
2975
   "     (parameters\n"
2976
   "       (declare (in) float x))\n"
2977
   "     ((return (expression float * (constant float (0.5))\n"
2978
   "                (expression float -\n"
2979
   "		  (expression float exp (var_ref x))\n"
2980
   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
2981
   "   (signature vec2\n"
2982
   "     (parameters\n"
2983
   "       (declare (in) vec2 x))\n"
2984
   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
2985
   "                (expression vec2 -\n"
2986
   "		  (expression vec2 exp (var_ref x))\n"
2987
   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2988
   "   (signature vec3\n"
2989
   "     (parameters\n"
2990
   "       (declare (in) vec3 x))\n"
2991
   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
2992
   "                (expression vec3 -\n"
2993
   "		  (expression vec3 exp (var_ref x))\n"
2994
   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2995
   "   (signature vec4\n"
2996
   "     (parameters\n"
2997
   "       (declare (in) vec4 x))\n"
2998
   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
2999
   "                (expression vec4 -\n"
3000
   "		  (expression vec4 exp (var_ref x))\n"
3001
   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3002
   "))\n"
3003
   ""
3004
;
3005
static const char builtin_smoothstep[] =
3006
   "((function smoothstep\n"
3007
   "   (signature float\n"
3008
   "     (parameters\n"
3009
   "       (declare (in) float edge0)\n"
3010
   "       (declare (in) float edge1)\n"
3011
   "       (declare (in) float x))\n"
3012
   "     ((declare () float t)\n"
3013
   "      (assign (constant bool (1)) (x) (var_ref t)\n"
3014
   "              (expression float max\n"
3015
   "	                  (expression float min\n"
3016
   "	                              (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3017
   "	                              (constant float (1.0)))\n"
3018
   "	                  (constant float (0.0))))\n"
3019
   "      (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.0)) (expression float * (constant float (2.0)) (var_ref t))))))))\n"
3020
   "   (signature vec2\n"
3021
   "     (parameters\n"
3022
   "       (declare (in) float edge0)\n"
3023
   "       (declare (in) float edge1)\n"
3024
   "       (declare (in) vec2 x))\n"
3025
   "     ((declare () vec2 t)\n"
3026
   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
3027
   "              (expression vec2 max\n"
3028
   "	                  (expression vec2 min\n"
3029
   "	                              (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3030
   "	                              (constant float (1.0)))\n"
3031
   "	                  (constant float (0.0))))\n"
3032
   "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
3033
   "\n"
3034
   "   (signature vec3\n"
3035
   "     (parameters\n"
3036
   "       (declare (in) float edge0)\n"
3037
   "       (declare (in) float edge1)\n"
3038
   "       (declare (in) vec3 x))\n"
3039
   "     ((declare () vec3 t)\n"
3040
   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
3041
   "              (expression vec3 max\n"
3042
   "	                  (expression vec3 min\n"
3043
   "	                              (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3044
   "	                              (constant float (1.0)))\n"
3045
   "	                  (constant float (0.0))))\n"
3046
   "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
3047
   "\n"
3048
   "\n"
3049
   "   (signature vec4\n"
3050
   "     (parameters\n"
3051
   "       (declare (in) float edge0)\n"
3052
   "       (declare (in) float edge1)\n"
3053
   "       (declare (in) vec4 x))\n"
3054
   "     ((declare () vec4 t)\n"
3055
   "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
3056
   "              (expression vec4 max\n"
3057
   "	                  (expression vec4 min\n"
3058
   "	                              (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3059
   "	                              (constant float (1.0)))\n"
3060
   "	                  (constant float (0.0))))\n"
3061
   "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
3062
   "\n"
3063
   "   (signature vec2\n"
3064
   "     (parameters\n"
3065
   "       (declare (in) vec2 edge0)\n"
3066
   "       (declare (in) vec2 edge1)\n"
3067
   "       (declare (in) vec2 x))\n"
3068
   "     ((declare () vec2 t)\n"
3069
   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
3070
   "              (expression vec2 max\n"
3071
   "                          (expression vec2 min\n"
3072
   "                                      (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3073
   "                                      (constant float (1.0)))\n"
3074
   "                          (constant float (0.0))))\n"
3075
   "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
3076
   "\n"
3077
   "   (signature vec3\n"
3078
   "     (parameters\n"
3079
   "       (declare (in) vec3 edge0)\n"
3080
   "       (declare (in) vec3 edge1)\n"
3081
   "       (declare (in) vec3 x))\n"
3082
   "     ((declare () vec3 t)\n"
3083
   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
3084
   "              (expression vec3 max\n"
3085
   "                          (expression vec3 min\n"
3086
   "                                      (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3087
   "                                      (constant float (1.0)))\n"
3088
   "                          (constant float (0.0))))\n"
3089
   "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
3090
   "\n"
3091
   "   (signature vec4\n"
3092
   "     (parameters\n"
3093
   "       (declare (in) vec4 edge0)\n"
3094
   "       (declare (in) vec4 edge1)\n"
3095
   "       (declare (in) vec4 x))\n"
3096
   "     ((declare () vec4 t)\n"
3097
   "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
3098
   "              (expression vec4 max\n"
3099
   "                          (expression vec4 min\n"
3100
   "                                      (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3101
   "                                      (constant float (1.0)))\n"
3102
   "                          (constant float (0.0))))\n"
3103
   "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
3104
   "))\n"
3105
   "\n"
3106
   ""
3107
;
3108
static const char builtin_sqrt[] =
3109
   "((function sqrt\n"
3110
   "   (signature float\n"
3111
   "     (parameters\n"
3112
   "       (declare (in) float arg0))\n"
3113
   "     ((return (expression float sqrt (var_ref arg0)))))\n"
3114
   "\n"
3115
   "   (signature vec2\n"
3116
   "     (parameters\n"
3117
   "       (declare (in) vec2 arg0))\n"
3118
   "     ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3119
   "\n"
3120
   "   (signature vec3\n"
3121
   "     (parameters\n"
3122
   "       (declare (in) vec3 arg0))\n"
3123
   "     ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3124
   "\n"
3125
   "   (signature vec4\n"
3126
   "     (parameters\n"
3127
   "       (declare (in) vec4 arg0))\n"
3128
   "     ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3129
   "))\n"
3130
   ""
3131
;
3132
static const char builtin_step[] =
3133
   "((function step\n"
3134
   "   (signature float\n"
3135
   "     (parameters\n"
3136
   "       (declare (in) float edge)\n"
3137
   "       (declare (in) float x))\n"
3138
   "     ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3139
   "\n"
3140
   "   (signature vec2\n"
3141
   "     (parameters\n"
3142
   "       (declare (in) float edge)\n"
3143
   "       (declare (in) vec2 x))\n"
3144
   "     ((declare () vec2 t)\n"
3145
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3146
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3147
   "      (return (var_ref t))))\n"
3148
   "\n"
3149
   "   (signature vec3\n"
3150
   "     (parameters\n"
3151
   "       (declare (in) float edge)\n"
3152
   "       (declare (in) vec3 x))\n"
3153
   "     ((declare () vec3 t)\n"
3154
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3155
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3156
   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3157
   "      (return (var_ref t))))\n"
3158
   "\n"
3159
   "   (signature vec4\n"
3160
   "     (parameters\n"
3161
   "       (declare (in) float edge)\n"
3162
   "       (declare (in) vec4 x))\n"
3163
   "     ((declare () vec4 t)\n"
3164
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3165
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3166
   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3167
   "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3168
   "      (return (var_ref t))))\n"
3169
   "\n"
3170
   "   (signature vec2\n"
3171
   "     (parameters\n"
3172
   "       (declare (in) vec2 edge)\n"
3173
   "       (declare (in) vec2 x))\n"
3174
   "     ((declare () vec2 t)\n"
3175
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3176
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3177
   "      (return (var_ref t))))\n"
3178
   "\n"
3179
   "   (signature vec3\n"
3180
   "     (parameters\n"
3181
   "       (declare (in) vec3 edge)\n"
3182
   "       (declare (in) vec3 x))\n"
3183
   "     ((declare () vec3 t)\n"
3184
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3185
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3186
   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3187
   "      (return (var_ref t))))\n"
3188
   "\n"
3189
   "   (signature vec4\n"
3190
   "     (parameters\n"
3191
   "       (declare (in) vec4 edge)\n"
3192
   "       (declare (in) vec4 x))\n"
3193
   "     ((declare () vec4 t)\n"
3194
   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3195
   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3196
   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3197
   "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
3198
   "      (return (var_ref t))))\n"
3199
   "))\n"
3200
   "\n"
3201
   ""
3202
;
3203
static const char builtin_tan[] =
3204
   "((function tan\n"
3205
   "   (signature float\n"
3206
   "     (parameters\n"
3207
   "       (declare (in) float angle))\n"
3208
   "     ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3209
   "\n"
3210
   "   (signature vec2\n"
3211
   "     (parameters\n"
3212
   "       (declare (in) vec2 angle))\n"
3213
   "     ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3214
   "\n"
3215
   "   (signature vec3\n"
3216
   "     (parameters\n"
3217
   "       (declare (in) vec3 angle))\n"
3218
   "     ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3219
   "\n"
3220
   "   (signature vec4\n"
3221
   "     (parameters\n"
3222
   "       (declare (in) vec4 angle))\n"
3223
   "     ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3224
   "))\n"
3225
   ""
3226
;
3227
static const char builtin_tanh[] =
3228
   "((function tanh\n"
3229
   "   (signature float\n"
3230
   "     (parameters\n"
3231
   "       (declare (in) float x))\n"
3232
   "     ((return (expression float /\n"
3233
   "                (expression float -\n"
3234
   "		  (expression float exp (var_ref x))\n"
3235
   "		  (expression float exp (expression float neg (var_ref x))))\n"
3236
   "                (expression float +\n"
3237
   "		  (expression float exp (var_ref x))\n"
3238
   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
3239
   "   (signature vec2\n"
3240
   "     (parameters\n"
3241
   "       (declare (in) vec2 x))\n"
3242
   "     ((return (expression vec2 /\n"
3243
   "                (expression vec2 -\n"
3244
   "		  (expression vec2 exp (var_ref x))\n"
3245
   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3246
   "                (expression vec2 +\n"
3247
   "		  (expression vec2 exp (var_ref x))\n"
3248
   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3249
   "   (signature vec3\n"
3250
   "     (parameters\n"
3251
   "       (declare (in) vec3 x))\n"
3252
   "     ((return (expression vec3 /\n"
3253
   "                (expression vec3 -\n"
3254
   "		  (expression vec3 exp (var_ref x))\n"
3255
   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3256
   "                (expression vec3 +\n"
3257
   "		  (expression vec3 exp (var_ref x))\n"
3258
   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3259
   "   (signature vec4\n"
3260
   "     (parameters\n"
3261
   "       (declare (in) vec4 x))\n"
3262
   "     ((return (expression vec4 /\n"
3263
   "                (expression vec4 -\n"
3264
   "		  (expression vec4 exp (var_ref x))\n"
3265
   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3266
   "                (expression vec4 +\n"
3267
   "		  (expression vec4 exp (var_ref x))\n"
3268
   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3269
   "))\n"
3270
   ""
3271
;
3272
static const char builtin_texelFetch[] =
3273
   "((function texelFetch\n"
3274
   "   (signature vec4\n"
3275
   "     (parameters\n"
3276
   "       (declare (in) sampler1D sampler)\n"
3277
   "       (declare (in) int P) \n"
3278
   "       (declare (in) int lod) )\n"
3279
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3280
   "\n"
3281
   "   (signature ivec4\n"
3282
   "     (parameters\n"
3283
   "       (declare (in) isampler1D sampler)\n"
3284
   "       (declare (in) int P) \n"
3285
   "       (declare (in) int lod) )\n"
3286
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3287
   "\n"
3288
   "   (signature uvec4\n"
3289
   "     (parameters\n"
3290
   "       (declare (in) usampler1D sampler)\n"
3291
   "       (declare (in) int P) \n"
3292
   "       (declare (in) int lod) )\n"
3293
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3294
   "\n"
3295
   "   (signature vec4\n"
3296
   "     (parameters\n"
3297
   "       (declare (in) sampler2D sampler)\n"
3298
   "       (declare (in) ivec2 P) \n"
3299
   "       (declare (in) int lod) )\n"
3300
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3301
   "\n"
3302
   "   (signature ivec4\n"
3303
   "     (parameters\n"
3304
   "       (declare (in) isampler2D sampler)\n"
3305
   "       (declare (in) ivec2 P) \n"
3306
   "       (declare (in) int lod) )\n"
3307
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3308
   "\n"
3309
   "   (signature uvec4\n"
3310
   "     (parameters\n"
3311
   "       (declare (in) usampler2D sampler)\n"
3312
   "       (declare (in) ivec2 P) \n"
3313
   "       (declare (in) int lod) )\n"
3314
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3315
   "\n"
3316
   "   (signature vec4\n"
3317
   "     (parameters\n"
3318
   "       (declare (in) sampler3D sampler)\n"
3319
   "       (declare (in) ivec3 P) \n"
3320
   "       (declare (in) int lod) )\n"
3321
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3322
   "\n"
3323
   "   (signature ivec4\n"
3324
   "     (parameters\n"
3325
   "       (declare (in) isampler3D sampler)\n"
3326
   "       (declare (in) ivec3 P) \n"
3327
   "       (declare (in) int lod) )\n"
3328
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3329
   "\n"
3330
   "   (signature uvec4\n"
3331
   "     (parameters\n"
3332
   "       (declare (in) usampler3D sampler)\n"
3333
   "       (declare (in) ivec3 P) \n"
3334
   "       (declare (in) int lod) )\n"
3335
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3336
   "\n"
3337
   "   (signature vec4\n"
3338
   "     (parameters\n"
3339
   "       (declare (in) sampler1DArray sampler)\n"
3340
   "       (declare (in) ivec2 P) \n"
3341
   "       (declare (in) int lod) )\n"
3342
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3343
   "\n"
3344
   "   (signature ivec4\n"
3345
   "     (parameters\n"
3346
   "       (declare (in) isampler1DArray sampler)\n"
3347
   "       (declare (in) ivec2 P) \n"
3348
   "       (declare (in) int lod) )\n"
3349
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3350
   "\n"
3351
   "   (signature uvec4\n"
3352
   "     (parameters\n"
3353
   "       (declare (in) usampler1DArray sampler)\n"
3354
   "       (declare (in) ivec2 P) \n"
3355
   "       (declare (in) int lod) )\n"
3356
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3357
   "\n"
3358
   "   (signature vec4\n"
3359
   "     (parameters\n"
3360
   "       (declare (in) sampler2DArray sampler)\n"
3361
   "       (declare (in) ivec3 P) \n"
3362
   "       (declare (in) int lod) )\n"
3363
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3364
   "\n"
3365
   "   (signature ivec4\n"
3366
   "     (parameters\n"
3367
   "       (declare (in) isampler2DArray sampler)\n"
3368
   "       (declare (in) ivec3 P) \n"
3369
   "       (declare (in) int lod) )\n"
3370
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3371
   "\n"
3372
   "   (signature uvec4\n"
3373
   "     (parameters\n"
3374
   "       (declare (in) usampler2DArray sampler)\n"
3375
   "       (declare (in) ivec3 P) \n"
3376
   "       (declare (in) int lod) )\n"
3377
   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3378
   "\n"
3379
   "))\n"
3380
   ""
3381
;
3382
static const char builtin_texture[] =
3383
   "((function texture\n"
3384
   "   (signature vec4\n"
3385
   "     (parameters\n"
3386
   "       (declare (in) sampler1D sampler)\n"
3387
   "       (declare (in) float P) )\n"
3388
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3389
   "\n"
3390
   "   (signature ivec4\n"
3391
   "     (parameters\n"
3392
   "       (declare (in) isampler1D sampler)\n"
3393
   "       (declare (in) float P) )\n"
3394
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3395
   "\n"
3396
   "   (signature uvec4\n"
3397
   "     (parameters\n"
3398
   "       (declare (in) usampler1D sampler)\n"
3399
   "       (declare (in) float P) )\n"
3400
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3401
   "\n"
3402
   "   (signature vec4\n"
3403
   "     (parameters\n"
3404
   "       (declare (in) sampler2D sampler)\n"
3405
   "       (declare (in) vec2 P) )\n"
3406
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3407
   "\n"
3408
   "   (signature ivec4\n"
3409
   "     (parameters\n"
3410
   "       (declare (in) isampler2D sampler)\n"
3411
   "       (declare (in) vec2 P) )\n"
3412
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3413
   "\n"
3414
   "   (signature uvec4\n"
3415
   "     (parameters\n"
3416
   "       (declare (in) usampler2D sampler)\n"
3417
   "       (declare (in) vec2 P) )\n"
3418
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3419
   "\n"
3420
   "   (signature vec4\n"
3421
   "     (parameters\n"
3422
   "       (declare (in) sampler3D sampler)\n"
3423
   "       (declare (in) vec3 P) )\n"
3424
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3425
   "\n"
3426
   "   (signature ivec4\n"
3427
   "     (parameters\n"
3428
   "       (declare (in) isampler3D sampler)\n"
3429
   "       (declare (in) vec3 P) )\n"
3430
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3431
   "\n"
3432
   "   (signature uvec4\n"
3433
   "     (parameters\n"
3434
   "       (declare (in) usampler3D sampler)\n"
3435
   "       (declare (in) vec3 P) )\n"
3436
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3437
   "\n"
3438
   "   (signature vec4\n"
3439
   "     (parameters\n"
3440
   "       (declare (in) samplerCube sampler)\n"
3441
   "       (declare (in) vec3 P) )\n"
3442
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3443
   "\n"
3444
   "   (signature ivec4\n"
3445
   "     (parameters\n"
3446
   "       (declare (in) isamplerCube sampler)\n"
3447
   "       (declare (in) vec3 P) )\n"
3448
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3449
   "\n"
3450
   "   (signature uvec4\n"
3451
   "     (parameters\n"
3452
   "       (declare (in) usamplerCube sampler)\n"
3453
   "       (declare (in) vec3 P) )\n"
3454
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3455
   "\n"
3456
   "   (signature vec4\n"
3457
   "     (parameters\n"
3458
   "       (declare (in) sampler1DArray sampler)\n"
3459
   "       (declare (in) vec2 P) )\n"
3460
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3461
   "\n"
3462
   "   (signature ivec4\n"
3463
   "     (parameters\n"
3464
   "       (declare (in) isampler1DArray sampler)\n"
3465
   "       (declare (in) vec2 P) )\n"
3466
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3467
   "\n"
3468
   "   (signature uvec4\n"
3469
   "     (parameters\n"
3470
   "       (declare (in) usampler1DArray sampler)\n"
3471
   "       (declare (in) vec2 P) )\n"
3472
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3473
   "\n"
3474
   "   (signature vec4\n"
3475
   "     (parameters\n"
3476
   "       (declare (in) sampler2DArray sampler)\n"
3477
   "       (declare (in) vec3 P) )\n"
3478
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3479
   "\n"
3480
   "   (signature ivec4\n"
3481
   "     (parameters\n"
3482
   "       (declare (in) isampler2DArray sampler)\n"
3483
   "       (declare (in) vec3 P) )\n"
3484
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3485
   "\n"
3486
   "   (signature uvec4\n"
3487
   "     (parameters\n"
3488
   "       (declare (in) usampler2DArray sampler)\n"
3489
   "       (declare (in) vec3 P) )\n"
3490
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3491
   "\n"
3492
   "   (signature vec4\n"
3493
   "     (parameters\n"
3494
   "       (declare (in) sampler1D sampler)\n"
3495
   "       (declare (in) float P) \n"
3496
   "       (declare (in) float bias) )\n"
3497
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3498
   "\n"
3499
   "   (signature ivec4\n"
3500
   "     (parameters\n"
3501
   "       (declare (in) isampler1D sampler)\n"
3502
   "       (declare (in) float P) \n"
3503
   "       (declare (in) float bias) )\n"
3504
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3505
   "\n"
3506
   "   (signature uvec4\n"
3507
   "     (parameters\n"
3508
   "       (declare (in) usampler1D sampler)\n"
3509
   "       (declare (in) float P) \n"
3510
   "       (declare (in) float bias) )\n"
3511
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3512
   "\n"
3513
   "   (signature vec4\n"
3514
   "     (parameters\n"
3515
   "       (declare (in) sampler2D sampler)\n"
3516
   "       (declare (in) vec2 P) \n"
3517
   "       (declare (in) float bias) )\n"
3518
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3519
   "\n"
3520
   "   (signature ivec4\n"
3521
   "     (parameters\n"
3522
   "       (declare (in) isampler2D sampler)\n"
3523
   "       (declare (in) vec2 P) \n"
3524
   "       (declare (in) float bias) )\n"
3525
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3526
   "\n"
3527
   "   (signature uvec4\n"
3528
   "     (parameters\n"
3529
   "       (declare (in) usampler2D sampler)\n"
3530
   "       (declare (in) vec2 P) \n"
3531
   "       (declare (in) float bias) )\n"
3532
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3533
   "\n"
3534
   "   (signature vec4\n"
3535
   "     (parameters\n"
3536
   "       (declare (in) sampler3D sampler)\n"
3537
   "       (declare (in) vec3 P) \n"
3538
   "       (declare (in) float bias) )\n"
3539
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3540
   "\n"
3541
   "   (signature ivec4\n"
3542
   "     (parameters\n"
3543
   "       (declare (in) isampler3D sampler)\n"
3544
   "       (declare (in) vec3 P) \n"
3545
   "       (declare (in) float bias) )\n"
3546
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3547
   "\n"
3548
   "   (signature uvec4\n"
3549
   "     (parameters\n"
3550
   "       (declare (in) usampler3D sampler)\n"
3551
   "       (declare (in) vec3 P) \n"
3552
   "       (declare (in) float bias) )\n"
3553
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3554
   "\n"
3555
   "   (signature vec4\n"
3556
   "     (parameters\n"
3557
   "       (declare (in) samplerCube sampler)\n"
3558
   "       (declare (in) vec3 P) \n"
3559
   "       (declare (in) float bias) )\n"
3560
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3561
   "\n"
3562
   "   (signature ivec4\n"
3563
   "     (parameters\n"
3564
   "       (declare (in) isamplerCube sampler)\n"
3565
   "       (declare (in) vec3 P) \n"
3566
   "       (declare (in) float bias) )\n"
3567
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3568
   "\n"
3569
   "   (signature uvec4\n"
3570
   "     (parameters\n"
3571
   "       (declare (in) usamplerCube sampler)\n"
3572
   "       (declare (in) vec3 P) \n"
3573
   "       (declare (in) float bias) )\n"
3574
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3575
   "\n"
3576
   "   (signature vec4\n"
3577
   "     (parameters\n"
3578
   "       (declare (in) sampler1DArray sampler)\n"
3579
   "       (declare (in) vec2 P) \n"
3580
   "       (declare (in) float bias) )\n"
3581
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3582
   "\n"
3583
   "   (signature ivec4\n"
3584
   "     (parameters\n"
3585
   "       (declare (in) isampler1DArray sampler)\n"
3586
   "       (declare (in) vec2 P) \n"
3587
   "       (declare (in) float bias) )\n"
3588
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3589
   "\n"
3590
   "   (signature uvec4\n"
3591
   "     (parameters\n"
3592
   "       (declare (in) usampler1DArray sampler)\n"
3593
   "       (declare (in) vec2 P) \n"
3594
   "       (declare (in) float bias) )\n"
3595
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3596
   "\n"
3597
   "   (signature vec4\n"
3598
   "     (parameters\n"
3599
   "       (declare (in) sampler2DArray sampler)\n"
3600
   "       (declare (in) vec3 P) \n"
3601
   "       (declare (in) float bias) )\n"
3602
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3603
   "\n"
3604
   "   (signature ivec4\n"
3605
   "     (parameters\n"
3606
   "       (declare (in) isampler2DArray sampler)\n"
3607
   "       (declare (in) vec3 P) \n"
3608
   "       (declare (in) float bias) )\n"
3609
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3610
   "\n"
3611
   "   (signature uvec4\n"
3612
   "     (parameters\n"
3613
   "       (declare (in) usampler2DArray sampler)\n"
3614
   "       (declare (in) vec3 P) \n"
3615
   "       (declare (in) float bias) )\n"
3616
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3617
   "\n"
3618
   "))\n"
3619
   ""
3620
;
3621
static const char builtin_texture1D[] =
3622
   "((function texture1D\n"
3623
   "   (signature vec4\n"
3624
   "     (parameters\n"
3625
   "       (declare (in) sampler1D sampler)\n"
3626
   "       (declare (in) float P) )\n"
3627
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3628
   "\n"
3629
   "   (signature vec4\n"
3630
   "     (parameters\n"
3631
   "       (declare (in) sampler1D sampler)\n"
3632
   "       (declare (in) float P) \n"
3633
   "       (declare (in) float bias) )\n"
3634
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3635
   "\n"
3636
   "))\n"
3637
   ""
3638
;
3639
static const char builtin_texture1DArray[] =
3640
   "((function texture1DArray\n"
3641
   "   (signature vec4\n"
3642
   "     (parameters\n"
3643
   "       (declare (in) sampler1DArray sampler)\n"
3644
   "       (declare (in) vec2 P) )\n"
3645
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3646
   "\n"
3647
   "   (signature vec4\n"
3648
   "     (parameters\n"
3649
   "       (declare (in) sampler1DArray sampler)\n"
3650
   "       (declare (in) vec2 P) \n"
3651
   "       (declare (in) float bias) )\n"
3652
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3653
   "\n"
3654
   "))\n"
3655
   ""
3656
;
3657
static const char builtin_texture1DArrayLod[] =
3658
   "((function texture1DArrayLod\n"
3659
   "   (signature vec4\n"
3660
   "     (parameters\n"
3661
   "       (declare (in) sampler1DArray sampler)\n"
3662
   "       (declare (in) vec2 P) \n"
3663
   "       (declare (in) float lod) )\n"
3664
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3665
   "\n"
3666
   "))\n"
3667
   ""
3668
;
3669
static const char builtin_texture1DLod[] =
3670
   "((function texture1DLod\n"
3671
   "   (signature vec4\n"
3672
   "     (parameters\n"
3673
   "       (declare (in) sampler1D sampler)\n"
3674
   "       (declare (in) float P) \n"
3675
   "       (declare (in) float lod) )\n"
3676
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3677
   "\n"
3678
   "))\n"
3679
   ""
3680
;
3681
static const char builtin_texture1DProj[] =
3682
   "((function texture1DProj\n"
3683
   "   (signature vec4\n"
3684
   "     (parameters\n"
3685
   "       (declare (in) sampler1D sampler)\n"
3686
   "       (declare (in) vec2 P) )\n"
3687
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3688
   "\n"
3689
   "   (signature vec4\n"
3690
   "     (parameters\n"
3691
   "       (declare (in) sampler1D sampler)\n"
3692
   "       (declare (in) vec4 P) )\n"
3693
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3694
   "\n"
3695
   "   (signature vec4\n"
3696
   "     (parameters\n"
3697
   "       (declare (in) sampler1D sampler)\n"
3698
   "       (declare (in) vec2 P) \n"
3699
   "       (declare (in) float bias) )\n"
3700
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3701
   "\n"
3702
   "   (signature vec4\n"
3703
   "     (parameters\n"
3704
   "       (declare (in) sampler1D sampler)\n"
3705
   "       (declare (in) vec4 P) \n"
3706
   "       (declare (in) float bias) )\n"
3707
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3708
   "\n"
3709
   "))\n"
3710
   ""
3711
;
3712
static const char builtin_texture1DProjLod[] =
3713
   "((function texture1DProjLod\n"
3714
   "   (signature vec4\n"
3715
   "     (parameters\n"
3716
   "       (declare (in) sampler1D sampler)\n"
3717
   "       (declare (in) vec2 P) \n"
3718
   "       (declare (in) float lod) )\n"
3719
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3720
   "\n"
3721
   "   (signature vec4\n"
3722
   "     (parameters\n"
3723
   "       (declare (in) sampler1D sampler)\n"
3724
   "       (declare (in) vec4 P) \n"
3725
   "       (declare (in) float lod) )\n"
3726
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3727
   "\n"
3728
   "))\n"
3729
   ""
3730
;
3731
static const char builtin_texture2D[] =
3732
   "((function texture2D\n"
3733
   "   (signature vec4\n"
3734
   "     (parameters\n"
3735
   "       (declare (in) sampler2D sampler)\n"
3736
   "       (declare (in) vec2 P) )\n"
3737
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3738
   "\n"
3739
   "   (signature vec4\n"
3740
   "     (parameters\n"
3741
   "       (declare (in) sampler2D sampler)\n"
3742
   "       (declare (in) vec2 P) \n"
3743
   "       (declare (in) float bias) )\n"
3744
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3745
   "\n"
3746
   "))\n"
3747
   ""
3748
;
3749
static const char builtin_texture2DArray[] =
3750
   "((function texture2DArray\n"
3751
   "   (signature vec4\n"
3752
   "     (parameters\n"
3753
   "       (declare (in) sampler2DArray sampler)\n"
3754
   "       (declare (in) vec3 P) )\n"
3755
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3756
   "\n"
3757
   "   (signature vec4\n"
3758
   "     (parameters\n"
3759
   "       (declare (in) sampler2DArray sampler)\n"
3760
   "       (declare (in) vec3 P) \n"
3761
   "       (declare (in) float bias) )\n"
3762
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3763
   "\n"
3764
   "))\n"
3765
   ""
3766
;
3767
static const char builtin_texture2DArrayLod[] =
3768
   "((function texture2DArrayLod\n"
3769
   "   (signature vec4\n"
3770
   "     (parameters\n"
3771
   "       (declare (in) sampler2DArray sampler)\n"
3772
   "       (declare (in) vec3 P) \n"
3773
   "       (declare (in) float lod) )\n"
3774
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3775
   "\n"
3776
   "))\n"
3777
   ""
3778
;
3779
static const char builtin_texture2DLod[] =
3780
   "((function texture2DLod\n"
3781
   "   (signature vec4\n"
3782
   "     (parameters\n"
3783
   "       (declare (in) sampler2D sampler)\n"
3784
   "       (declare (in) vec2 P) \n"
3785
   "       (declare (in) float lod) )\n"
3786
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3787
   "\n"
3788
   "))\n"
3789
   ""
3790
;
3791
static const char builtin_texture2DProj[] =
3792
   "((function texture2DProj\n"
3793
   "   (signature vec4\n"
3794
   "     (parameters\n"
3795
   "       (declare (in) sampler2D sampler)\n"
3796
   "       (declare (in) vec3 P) )\n"
3797
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3798
   "\n"
3799
   "   (signature vec4\n"
3800
   "     (parameters\n"
3801
   "       (declare (in) sampler2D sampler)\n"
3802
   "       (declare (in) vec4 P) )\n"
3803
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3804
   "\n"
3805
   "   (signature vec4\n"
3806
   "     (parameters\n"
3807
   "       (declare (in) sampler2D sampler)\n"
3808
   "       (declare (in) vec3 P) \n"
3809
   "       (declare (in) float bias) )\n"
3810
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3811
   "\n"
3812
   "   (signature vec4\n"
3813
   "     (parameters\n"
3814
   "       (declare (in) sampler2D sampler)\n"
3815
   "       (declare (in) vec4 P) \n"
3816
   "       (declare (in) float bias) )\n"
3817
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3818
   "\n"
3819
   "))\n"
3820
   ""
3821
;
3822
static const char builtin_texture2DProjLod[] =
3823
   "((function texture2DProjLod\n"
3824
   "   (signature vec4\n"
3825
   "     (parameters\n"
3826
   "       (declare (in) sampler2D sampler)\n"
3827
   "       (declare (in) vec3 P) \n"
3828
   "       (declare (in) float lod) )\n"
3829
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3830
   "\n"
3831
   "   (signature vec4\n"
3832
   "     (parameters\n"
3833
   "       (declare (in) sampler2D sampler)\n"
3834
   "       (declare (in) vec4 P) \n"
3835
   "       (declare (in) float lod) )\n"
3836
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3837
   "\n"
3838
   "))\n"
3839
   ""
3840
;
3841
static const char builtin_texture2DRect[] =
3842
   "((function texture2DRect\n"
3843
   "   (signature vec4\n"
3844
   "     (parameters\n"
3845
   "       (declare (in) sampler2DRect sampler)\n"
3846
   "       (declare (in) vec2 P) )\n"
3847
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3848
   "\n"
3849
   "))\n"
3850
   ""
3851
;
3852
static const char builtin_texture2DRectProj[] =
3853
   "((function texture2DRectProj\n"
3854
   "   (signature vec4\n"
3855
   "     (parameters\n"
3856
   "       (declare (in) sampler2DRect sampler)\n"
3857
   "       (declare (in) vec3 P) )\n"
3858
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3859
   "\n"
3860
   "   (signature vec4\n"
3861
   "     (parameters\n"
3862
   "       (declare (in) sampler2DRect sampler)\n"
3863
   "       (declare (in) vec4 P) )\n"
3864
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3865
   "\n"
3866
   "))\n"
3867
   ""
3868
;
3869
static const char builtin_texture3D[] =
3870
   "((function texture3D\n"
3871
   "   (signature vec4\n"
3872
   "     (parameters\n"
3873
   "       (declare (in) sampler3D sampler)\n"
3874
   "       (declare (in) vec3 P) )\n"
3875
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3876
   "\n"
3877
   "   (signature vec4\n"
3878
   "     (parameters\n"
3879
   "       (declare (in) sampler3D sampler)\n"
3880
   "       (declare (in) vec3 P) \n"
3881
   "       (declare (in) float bias) )\n"
3882
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3883
   "\n"
3884
   "))\n"
3885
   ""
3886
;
3887
static const char builtin_texture3DLod[] =
3888
   "((function texture3DLod\n"
3889
   "   (signature vec4\n"
3890
   "     (parameters\n"
3891
   "       (declare (in) sampler3D sampler)\n"
3892
   "       (declare (in) vec3 P) \n"
3893
   "       (declare (in) float lod) )\n"
3894
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3895
   "\n"
3896
   "))\n"
3897
   ""
3898
;
3899
static const char builtin_texture3DProj[] =
3900
   "((function texture3DProj\n"
3901
   "   (signature vec4\n"
3902
   "     (parameters\n"
3903
   "       (declare (in) sampler3D sampler)\n"
3904
   "       (declare (in) vec4 P) )\n"
3905
   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3906
   "\n"
3907
   "   (signature vec4\n"
3908
   "     (parameters\n"
3909
   "       (declare (in) sampler3D sampler)\n"
3910
   "       (declare (in) vec4 P) \n"
3911
   "       (declare (in) float bias) )\n"
3912
   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3913
   "\n"
3914
   "))\n"
3915
   ""
3916
;
3917
static const char builtin_texture3DProjLod[] =
3918
   "((function texture3DProjLod\n"
3919
   "   (signature vec4\n"
3920
   "     (parameters\n"
3921
   "       (declare (in) sampler3D sampler)\n"
3922
   "       (declare (in) vec4 P) \n"
3923
   "       (declare (in) float lod) )\n"
3924
   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3925
   "\n"
3926
   "))\n"
3927
   ""
3928
;
3929
static const char builtin_textureCube[] =
3930
   "((function textureCube\n"
3931
   "   (signature vec4\n"
3932
   "     (parameters\n"
3933
   "       (declare (in) samplerCube sampler)\n"
3934
   "       (declare (in) vec3 P) )\n"
3935
   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3936
   "\n"
3937
   "   (signature vec4\n"
3938
   "     (parameters\n"
3939
   "       (declare (in) samplerCube sampler)\n"
3940
   "       (declare (in) vec3 P) \n"
3941
   "       (declare (in) float bias) )\n"
3942
   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3943
   "\n"
3944
   "))\n"
3945
   ""
3946
;
3947
static const char builtin_textureCubeLod[] =
3948
   "((function textureCubeLod\n"
3949
   "   (signature vec4\n"
3950
   "     (parameters\n"
3951
   "       (declare (in) samplerCube sampler)\n"
3952
   "       (declare (in) vec3 P) \n"
3953
   "       (declare (in) float lod) )\n"
3954
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3955
   "\n"
3956
   "))\n"
3957
   ""
3958
;
3959
static const char builtin_textureGrad[] =
3960
   "((function textureGrad\n"
3961
   "   (signature vec4\n"
3962
   "     (parameters\n"
3963
   "       (declare (in) sampler1D sampler)\n"
3964
   "       (declare (in) float P) \n"
3965
   "       (declare (in) float dPdx) \n"
3966
   "       (declare (in) float dPdy) )\n"
3967
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3968
   "\n"
3969
   "   (signature ivec4\n"
3970
   "     (parameters\n"
3971
   "       (declare (in) isampler1D sampler)\n"
3972
   "       (declare (in) float P) \n"
3973
   "       (declare (in) float dPdx) \n"
3974
   "       (declare (in) float dPdy) )\n"
3975
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3976
   "\n"
3977
   "   (signature uvec4\n"
3978
   "     (parameters\n"
3979
   "       (declare (in) usampler1D sampler)\n"
3980
   "       (declare (in) float P) \n"
3981
   "       (declare (in) float dPdx) \n"
3982
   "       (declare (in) float dPdy) )\n"
3983
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3984
   "\n"
3985
   "   (signature vec4\n"
3986
   "     (parameters\n"
3987
   "       (declare (in) sampler2D sampler)\n"
3988
   "       (declare (in) vec2 P) \n"
3989
   "       (declare (in) vec2 dPdx) \n"
3990
   "       (declare (in) vec2 dPdy) )\n"
3991
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3992
   "\n"
3993
   "   (signature ivec4\n"
3994
   "     (parameters\n"
3995
   "       (declare (in) isampler2D sampler)\n"
3996
   "       (declare (in) vec2 P) \n"
3997
   "       (declare (in) vec2 dPdx) \n"
3998
   "       (declare (in) vec2 dPdy) )\n"
3999
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4000
   "\n"
4001
   "   (signature uvec4\n"
4002
   "     (parameters\n"
4003
   "       (declare (in) usampler2D sampler)\n"
4004
   "       (declare (in) vec2 P) \n"
4005
   "       (declare (in) vec2 dPdx) \n"
4006
   "       (declare (in) vec2 dPdy) )\n"
4007
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4008
   "\n"
4009
   "   (signature vec4\n"
4010
   "     (parameters\n"
4011
   "       (declare (in) sampler3D sampler)\n"
4012
   "       (declare (in) vec3 P) \n"
4013
   "       (declare (in) vec3 dPdx) \n"
4014
   "       (declare (in) vec3 dPdy) )\n"
4015
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4016
   "\n"
4017
   "   (signature ivec4\n"
4018
   "     (parameters\n"
4019
   "       (declare (in) isampler3D sampler)\n"
4020
   "       (declare (in) vec3 P) \n"
4021
   "       (declare (in) vec3 dPdx) \n"
4022
   "       (declare (in) vec3 dPdy) )\n"
4023
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4024
   "\n"
4025
   "   (signature uvec4\n"
4026
   "     (parameters\n"
4027
   "       (declare (in) usampler3D sampler)\n"
4028
   "       (declare (in) vec3 P) \n"
4029
   "       (declare (in) vec3 dPdx) \n"
4030
   "       (declare (in) vec3 dPdy) )\n"
4031
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4032
   "\n"
4033
   "   (signature vec4\n"
4034
   "     (parameters\n"
4035
   "       (declare (in) samplerCube sampler)\n"
4036
   "       (declare (in) vec3 P) \n"
4037
   "       (declare (in) vec3 dPdx) \n"
4038
   "       (declare (in) vec3 dPdy) )\n"
4039
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4040
   "\n"
4041
   "   (signature ivec4\n"
4042
   "     (parameters\n"
4043
   "       (declare (in) isamplerCube sampler)\n"
4044
   "       (declare (in) vec3 P) \n"
4045
   "       (declare (in) vec3 dPdx) \n"
4046
   "       (declare (in) vec3 dPdy) )\n"
4047
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4048
   "\n"
4049
   "   (signature uvec4\n"
4050
   "     (parameters\n"
4051
   "       (declare (in) usamplerCube sampler)\n"
4052
   "       (declare (in) vec3 P) \n"
4053
   "       (declare (in) vec3 dPdx) \n"
4054
   "       (declare (in) vec3 dPdy) )\n"
4055
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4056
   "\n"
4057
   "   (signature vec4\n"
4058
   "     (parameters\n"
4059
   "       (declare (in) sampler1DArray sampler)\n"
4060
   "       (declare (in) vec2 P) \n"
4061
   "       (declare (in) vec2 dPdx) \n"
4062
   "       (declare (in) vec2 dPdy) )\n"
4063
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4064
   "\n"
4065
   "   (signature ivec4\n"
4066
   "     (parameters\n"
4067
   "       (declare (in) isampler1DArray sampler)\n"
4068
   "       (declare (in) vec2 P) \n"
4069
   "       (declare (in) vec2 dPdx) \n"
4070
   "       (declare (in) vec2 dPdy) )\n"
4071
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4072
   "\n"
4073
   "   (signature uvec4\n"
4074
   "     (parameters\n"
4075
   "       (declare (in) usampler1DArray sampler)\n"
4076
   "       (declare (in) vec2 P) \n"
4077
   "       (declare (in) vec2 dPdx) \n"
4078
   "       (declare (in) vec2 dPdy) )\n"
4079
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4080
   "\n"
4081
   "   (signature vec4\n"
4082
   "     (parameters\n"
4083
   "       (declare (in) sampler2DArray sampler)\n"
4084
   "       (declare (in) vec3 P) \n"
4085
   "       (declare (in) vec3 dPdx) \n"
4086
   "       (declare (in) vec3 dPdy) )\n"
4087
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4088
   "\n"
4089
   "   (signature ivec4\n"
4090
   "     (parameters\n"
4091
   "       (declare (in) isampler2DArray sampler)\n"
4092
   "       (declare (in) vec3 P) \n"
4093
   "       (declare (in) vec3 dPdx) \n"
4094
   "       (declare (in) vec3 dPdy) )\n"
4095
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4096
   "\n"
4097
   "   (signature uvec4\n"
4098
   "     (parameters\n"
4099
   "       (declare (in) usampler2DArray sampler)\n"
4100
   "       (declare (in) vec3 P) \n"
4101
   "       (declare (in) vec3 dPdx) \n"
4102
   "       (declare (in) vec3 dPdy) )\n"
4103
   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4104
   "\n"
4105
   "))\n"
4106
   ""
4107
;
4108
static const char builtin_textureLod[] =
4109
   "((function textureLod\n"
4110
   "   (signature vec4\n"
4111
   "     (parameters\n"
4112
   "       (declare (in) sampler1D sampler)\n"
4113
   "       (declare (in) float P) \n"
4114
   "       (declare (in) float lod) )\n"
4115
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4116
   "\n"
4117
   "   (signature ivec4\n"
4118
   "     (parameters\n"
4119
   "       (declare (in) isampler1D sampler)\n"
4120
   "       (declare (in) float P) \n"
4121
   "       (declare (in) float lod) )\n"
4122
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4123
   "\n"
4124
   "   (signature uvec4\n"
4125
   "     (parameters\n"
4126
   "       (declare (in) usampler1D sampler)\n"
4127
   "       (declare (in) float P) \n"
4128
   "       (declare (in) float lod) )\n"
4129
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4130
   "\n"
4131
   "   (signature vec4\n"
4132
   "     (parameters\n"
4133
   "       (declare (in) sampler2D sampler)\n"
4134
   "       (declare (in) vec2 P) \n"
4135
   "       (declare (in) float lod) )\n"
4136
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4137
   "\n"
4138
   "   (signature ivec4\n"
4139
   "     (parameters\n"
4140
   "       (declare (in) isampler2D sampler)\n"
4141
   "       (declare (in) vec2 P) \n"
4142
   "       (declare (in) float lod) )\n"
4143
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4144
   "\n"
4145
   "   (signature uvec4\n"
4146
   "     (parameters\n"
4147
   "       (declare (in) usampler2D sampler)\n"
4148
   "       (declare (in) vec2 P) \n"
4149
   "       (declare (in) float lod) )\n"
4150
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4151
   "\n"
4152
   "   (signature vec4\n"
4153
   "     (parameters\n"
4154
   "       (declare (in) sampler3D sampler)\n"
4155
   "       (declare (in) vec3 P) \n"
4156
   "       (declare (in) float lod) )\n"
4157
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4158
   "\n"
4159
   "   (signature ivec4\n"
4160
   "     (parameters\n"
4161
   "       (declare (in) isampler3D sampler)\n"
4162
   "       (declare (in) vec3 P) \n"
4163
   "       (declare (in) float lod) )\n"
4164
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4165
   "\n"
4166
   "   (signature uvec4\n"
4167
   "     (parameters\n"
4168
   "       (declare (in) usampler3D sampler)\n"
4169
   "       (declare (in) vec3 P) \n"
4170
   "       (declare (in) float lod) )\n"
4171
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4172
   "\n"
4173
   "   (signature vec4\n"
4174
   "     (parameters\n"
4175
   "       (declare (in) samplerCube sampler)\n"
4176
   "       (declare (in) vec3 P) \n"
4177
   "       (declare (in) float lod) )\n"
4178
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4179
   "\n"
4180
   "   (signature ivec4\n"
4181
   "     (parameters\n"
4182
   "       (declare (in) isamplerCube sampler)\n"
4183
   "       (declare (in) vec3 P) \n"
4184
   "       (declare (in) float lod) )\n"
4185
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4186
   "\n"
4187
   "   (signature uvec4\n"
4188
   "     (parameters\n"
4189
   "       (declare (in) usamplerCube sampler)\n"
4190
   "       (declare (in) vec3 P) \n"
4191
   "       (declare (in) float lod) )\n"
4192
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4193
   "\n"
4194
   "   (signature vec4\n"
4195
   "     (parameters\n"
4196
   "       (declare (in) sampler1DArray sampler)\n"
4197
   "       (declare (in) vec2 P) \n"
4198
   "       (declare (in) float lod) )\n"
4199
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4200
   "\n"
4201
   "   (signature ivec4\n"
4202
   "     (parameters\n"
4203
   "       (declare (in) isampler1DArray sampler)\n"
4204
   "       (declare (in) vec2 P) \n"
4205
   "       (declare (in) float lod) )\n"
4206
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4207
   "\n"
4208
   "   (signature uvec4\n"
4209
   "     (parameters\n"
4210
   "       (declare (in) usampler1DArray sampler)\n"
4211
   "       (declare (in) vec2 P) \n"
4212
   "       (declare (in) float lod) )\n"
4213
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4214
   "\n"
4215
   "   (signature vec4\n"
4216
   "     (parameters\n"
4217
   "       (declare (in) sampler2DArray sampler)\n"
4218
   "       (declare (in) vec3 P) \n"
4219
   "       (declare (in) float lod) )\n"
4220
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4221
   "\n"
4222
   "   (signature ivec4\n"
4223
   "     (parameters\n"
4224
   "       (declare (in) isampler2DArray sampler)\n"
4225
   "       (declare (in) vec3 P) \n"
4226
   "       (declare (in) float lod) )\n"
4227
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4228
   "\n"
4229
   "   (signature uvec4\n"
4230
   "     (parameters\n"
4231
   "       (declare (in) usampler2DArray sampler)\n"
4232
   "       (declare (in) vec3 P) \n"
4233
   "       (declare (in) float lod) )\n"
4234
   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4235
   "\n"
4236
   "))\n"
4237
   ""
4238
;
4239
static const char builtin_textureProj[] =
4240
   "((function textureProj\n"
4241
   "   (signature vec4\n"
4242
   "     (parameters\n"
4243
   "       (declare (in) sampler1D sampler)\n"
4244
   "       (declare (in) vec2 P) )\n"
4245
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4246
   "\n"
4247
   "   (signature ivec4\n"
4248
   "     (parameters\n"
4249
   "       (declare (in) isampler1D sampler)\n"
4250
   "       (declare (in) vec2 P) )\n"
4251
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4252
   "\n"
4253
   "   (signature uvec4\n"
4254
   "     (parameters\n"
4255
   "       (declare (in) usampler1D sampler)\n"
4256
   "       (declare (in) vec2 P) )\n"
4257
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4258
   "\n"
4259
   "   (signature vec4\n"
4260
   "     (parameters\n"
4261
   "       (declare (in) sampler1D sampler)\n"
4262
   "       (declare (in) vec4 P) )\n"
4263
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4264
   "\n"
4265
   "   (signature ivec4\n"
4266
   "     (parameters\n"
4267
   "       (declare (in) isampler1D sampler)\n"
4268
   "       (declare (in) vec4 P) )\n"
4269
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4270
   "\n"
4271
   "   (signature uvec4\n"
4272
   "     (parameters\n"
4273
   "       (declare (in) usampler1D sampler)\n"
4274
   "       (declare (in) vec4 P) )\n"
4275
   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4276
   "\n"
4277
   "   (signature vec4\n"
4278
   "     (parameters\n"
4279
   "       (declare (in) sampler2D sampler)\n"
4280
   "       (declare (in) vec3 P) )\n"
4281
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4282
   "\n"
4283
   "   (signature ivec4\n"
4284
   "     (parameters\n"
4285
   "       (declare (in) isampler2D sampler)\n"
4286
   "       (declare (in) vec3 P) )\n"
4287
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4288
   "\n"
4289
   "   (signature uvec4\n"
4290
   "     (parameters\n"
4291
   "       (declare (in) usampler2D sampler)\n"
4292
   "       (declare (in) vec3 P) )\n"
4293
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4294
   "\n"
4295
   "   (signature vec4\n"
4296
   "     (parameters\n"
4297
   "       (declare (in) sampler2D sampler)\n"
4298
   "       (declare (in) vec4 P) )\n"
4299
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4300
   "\n"
4301
   "   (signature ivec4\n"
4302
   "     (parameters\n"
4303
   "       (declare (in) isampler2D sampler)\n"
4304
   "       (declare (in) vec4 P) )\n"
4305
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4306
   "\n"
4307
   "   (signature uvec4\n"
4308
   "     (parameters\n"
4309
   "       (declare (in) usampler2D sampler)\n"
4310
   "       (declare (in) vec4 P) )\n"
4311
   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4312
   "\n"
4313
   "   (signature vec4\n"
4314
   "     (parameters\n"
4315
   "       (declare (in) sampler3D sampler)\n"
4316
   "       (declare (in) vec4 P) )\n"
4317
   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4318
   "\n"
4319
   "   (signature ivec4\n"
4320
   "     (parameters\n"
4321
   "       (declare (in) isampler3D sampler)\n"
4322
   "       (declare (in) vec4 P) )\n"
4323
   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4324
   "\n"
4325
   "   (signature uvec4\n"
4326
   "     (parameters\n"
4327
   "       (declare (in) usampler3D sampler)\n"
4328
   "       (declare (in) vec4 P) )\n"
4329
   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4330
   "\n"
4331
   "   (signature vec4\n"
4332
   "     (parameters\n"
4333
   "       (declare (in) sampler1D sampler)\n"
4334
   "       (declare (in) vec2 P) \n"
4335
   "       (declare (in) float bias) )\n"
4336
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4337
   "\n"
4338
   "   (signature ivec4\n"
4339
   "     (parameters\n"
4340
   "       (declare (in) isampler1D sampler)\n"
4341
   "       (declare (in) vec2 P) \n"
4342
   "       (declare (in) float bias) )\n"
4343
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4344
   "\n"
4345
   "   (signature uvec4\n"
4346
   "     (parameters\n"
4347
   "       (declare (in) usampler1D sampler)\n"
4348
   "       (declare (in) vec2 P) \n"
4349
   "       (declare (in) float bias) )\n"
4350
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4351
   "\n"
4352
   "   (signature vec4\n"
4353
   "     (parameters\n"
4354
   "       (declare (in) sampler1D sampler)\n"
4355
   "       (declare (in) vec4 P) \n"
4356
   "       (declare (in) float bias) )\n"
4357
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4358
   "\n"
4359
   "   (signature ivec4\n"
4360
   "     (parameters\n"
4361
   "       (declare (in) isampler1D sampler)\n"
4362
   "       (declare (in) vec4 P) \n"
4363
   "       (declare (in) float bias) )\n"
4364
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4365
   "\n"
4366
   "   (signature uvec4\n"
4367
   "     (parameters\n"
4368
   "       (declare (in) usampler1D sampler)\n"
4369
   "       (declare (in) vec4 P) \n"
4370
   "       (declare (in) float bias) )\n"
4371
   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4372
   "\n"
4373
   "   (signature vec4\n"
4374
   "     (parameters\n"
4375
   "       (declare (in) sampler2D sampler)\n"
4376
   "       (declare (in) vec3 P) \n"
4377
   "       (declare (in) float bias) )\n"
4378
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4379
   "\n"
4380
   "   (signature ivec4\n"
4381
   "     (parameters\n"
4382
   "       (declare (in) isampler2D sampler)\n"
4383
   "       (declare (in) vec3 P) \n"
4384
   "       (declare (in) float bias) )\n"
4385
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4386
   "\n"
4387
   "   (signature uvec4\n"
4388
   "     (parameters\n"
4389
   "       (declare (in) usampler2D sampler)\n"
4390
   "       (declare (in) vec3 P) \n"
4391
   "       (declare (in) float bias) )\n"
4392
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4393
   "\n"
4394
   "   (signature vec4\n"
4395
   "     (parameters\n"
4396
   "       (declare (in) sampler2D sampler)\n"
4397
   "       (declare (in) vec4 P) \n"
4398
   "       (declare (in) float bias) )\n"
4399
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4400
   "\n"
4401
   "   (signature ivec4\n"
4402
   "     (parameters\n"
4403
   "       (declare (in) isampler2D sampler)\n"
4404
   "       (declare (in) vec4 P) \n"
4405
   "       (declare (in) float bias) )\n"
4406
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4407
   "\n"
4408
   "   (signature uvec4\n"
4409
   "     (parameters\n"
4410
   "       (declare (in) usampler2D sampler)\n"
4411
   "       (declare (in) vec4 P) \n"
4412
   "       (declare (in) float bias) )\n"
4413
   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4414
   "\n"
4415
   "   (signature vec4\n"
4416
   "     (parameters\n"
4417
   "       (declare (in) sampler3D sampler)\n"
4418
   "       (declare (in) vec4 P) \n"
4419
   "       (declare (in) float bias) )\n"
4420
   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4421
   "\n"
4422
   "   (signature ivec4\n"
4423
   "     (parameters\n"
4424
   "       (declare (in) isampler3D sampler)\n"
4425
   "       (declare (in) vec4 P) \n"
4426
   "       (declare (in) float bias) )\n"
4427
   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4428
   "\n"
4429
   "   (signature uvec4\n"
4430
   "     (parameters\n"
4431
   "       (declare (in) usampler3D sampler)\n"
4432
   "       (declare (in) vec4 P) \n"
4433
   "       (declare (in) float bias) )\n"
4434
   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4435
   "\n"
4436
   "))\n"
4437
   ""
4438
;
4439
static const char builtin_textureProjGrad[] =
4440
   "((function textureProjGrad\n"
4441
   "   (signature vec4\n"
4442
   "     (parameters\n"
4443
   "       (declare (in) sampler1D sampler)\n"
4444
   "       (declare (in) vec2 P) \n"
4445
   "       (declare (in) float dPdx) \n"
4446
   "       (declare (in) float dPdy) )\n"
4447
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4448
   "\n"
4449
   "   (signature ivec4\n"
4450
   "     (parameters\n"
4451
   "       (declare (in) isampler1D sampler)\n"
4452
   "       (declare (in) vec2 P) \n"
4453
   "       (declare (in) float dPdx) \n"
4454
   "       (declare (in) float dPdy) )\n"
4455
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4456
   "\n"
4457
   "   (signature uvec4\n"
4458
   "     (parameters\n"
4459
   "       (declare (in) usampler1D sampler)\n"
4460
   "       (declare (in) vec2 P) \n"
4461
   "       (declare (in) float dPdx) \n"
4462
   "       (declare (in) float dPdy) )\n"
4463
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4464
   "\n"
4465
   "   (signature vec4\n"
4466
   "     (parameters\n"
4467
   "       (declare (in) sampler1D sampler)\n"
4468
   "       (declare (in) vec4 P) \n"
4469
   "       (declare (in) float dPdx) \n"
4470
   "       (declare (in) float dPdy) )\n"
4471
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4472
   "\n"
4473
   "   (signature ivec4\n"
4474
   "     (parameters\n"
4475
   "       (declare (in) isampler1D sampler)\n"
4476
   "       (declare (in) vec4 P) \n"
4477
   "       (declare (in) float dPdx) \n"
4478
   "       (declare (in) float dPdy) )\n"
4479
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4480
   "\n"
4481
   "   (signature uvec4\n"
4482
   "     (parameters\n"
4483
   "       (declare (in) usampler1D sampler)\n"
4484
   "       (declare (in) vec4 P) \n"
4485
   "       (declare (in) float dPdx) \n"
4486
   "       (declare (in) float dPdy) )\n"
4487
   "     ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4488
   "\n"
4489
   "   (signature vec4\n"
4490
   "     (parameters\n"
4491
   "       (declare (in) sampler2D sampler)\n"
4492
   "       (declare (in) vec3 P) \n"
4493
   "       (declare (in) vec2 dPdx) \n"
4494
   "       (declare (in) vec2 dPdy) )\n"
4495
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4496
   "\n"
4497
   "   (signature ivec4\n"
4498
   "     (parameters\n"
4499
   "       (declare (in) isampler2D sampler)\n"
4500
   "       (declare (in) vec3 P) \n"
4501
   "       (declare (in) vec2 dPdx) \n"
4502
   "       (declare (in) vec2 dPdy) )\n"
4503
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4504
   "\n"
4505
   "   (signature uvec4\n"
4506
   "     (parameters\n"
4507
   "       (declare (in) usampler2D sampler)\n"
4508
   "       (declare (in) vec3 P) \n"
4509
   "       (declare (in) vec2 dPdx) \n"
4510
   "       (declare (in) vec2 dPdy) )\n"
4511
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4512
   "\n"
4513
   "   (signature vec4\n"
4514
   "     (parameters\n"
4515
   "       (declare (in) sampler2D sampler)\n"
4516
   "       (declare (in) vec4 P) \n"
4517
   "       (declare (in) vec2 dPdx) \n"
4518
   "       (declare (in) vec2 dPdy) )\n"
4519
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4520
   "\n"
4521
   "   (signature ivec4\n"
4522
   "     (parameters\n"
4523
   "       (declare (in) isampler2D sampler)\n"
4524
   "       (declare (in) vec4 P) \n"
4525
   "       (declare (in) vec2 dPdx) \n"
4526
   "       (declare (in) vec2 dPdy) )\n"
4527
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4528
   "\n"
4529
   "   (signature uvec4\n"
4530
   "     (parameters\n"
4531
   "       (declare (in) usampler2D sampler)\n"
4532
   "       (declare (in) vec4 P) \n"
4533
   "       (declare (in) vec2 dPdx) \n"
4534
   "       (declare (in) vec2 dPdy) )\n"
4535
   "     ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4536
   "\n"
4537
   "   (signature vec4\n"
4538
   "     (parameters\n"
4539
   "       (declare (in) sampler3D sampler)\n"
4540
   "       (declare (in) vec4 P) \n"
4541
   "       (declare (in) vec3 dPdx) \n"
4542
   "       (declare (in) vec3 dPdy) )\n"
4543
   "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4544
   "\n"
4545
   "   (signature ivec4\n"
4546
   "     (parameters\n"
4547
   "       (declare (in) isampler3D sampler)\n"
4548
   "       (declare (in) vec4 P) \n"
4549
   "       (declare (in) vec3 dPdx) \n"
4550
   "       (declare (in) vec3 dPdy) )\n"
4551
   "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4552
   "\n"
4553
   "   (signature uvec4\n"
4554
   "     (parameters\n"
4555
   "       (declare (in) usampler3D sampler)\n"
4556
   "       (declare (in) vec4 P) \n"
4557
   "       (declare (in) vec3 dPdx) \n"
4558
   "       (declare (in) vec3 dPdy) )\n"
4559
   "     ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4560
   "\n"
4561
   "))\n"
4562
   ""
4563
;
4564
static const char builtin_textureProjLod[] =
4565
   "((function textureProjLod\n"
4566
   "   (signature vec4\n"
4567
   "     (parameters\n"
4568
   "       (declare (in) sampler1D sampler)\n"
4569
   "       (declare (in) vec2 P) \n"
4570
   "       (declare (in) float lod) )\n"
4571
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4572
   "\n"
4573
   "   (signature ivec4\n"
4574
   "     (parameters\n"
4575
   "       (declare (in) isampler1D sampler)\n"
4576
   "       (declare (in) vec2 P) \n"
4577
   "       (declare (in) float lod) )\n"
4578
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4579
   "\n"
4580
   "   (signature uvec4\n"
4581
   "     (parameters\n"
4582
   "       (declare (in) usampler1D sampler)\n"
4583
   "       (declare (in) vec2 P) \n"
4584
   "       (declare (in) float lod) )\n"
4585
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4586
   "\n"
4587
   "   (signature vec4\n"
4588
   "     (parameters\n"
4589
   "       (declare (in) sampler1D sampler)\n"
4590
   "       (declare (in) vec4 P) \n"
4591
   "       (declare (in) float lod) )\n"
4592
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4593
   "\n"
4594
   "   (signature ivec4\n"
4595
   "     (parameters\n"
4596
   "       (declare (in) isampler1D sampler)\n"
4597
   "       (declare (in) vec4 P) \n"
4598
   "       (declare (in) float lod) )\n"
4599
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4600
   "\n"
4601
   "   (signature uvec4\n"
4602
   "     (parameters\n"
4603
   "       (declare (in) usampler1D sampler)\n"
4604
   "       (declare (in) vec4 P) \n"
4605
   "       (declare (in) float lod) )\n"
4606
   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4607
   "\n"
4608
   "   (signature vec4\n"
4609
   "     (parameters\n"
4610
   "       (declare (in) sampler2D sampler)\n"
4611
   "       (declare (in) vec3 P) \n"
4612
   "       (declare (in) float lod) )\n"
4613
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4614
   "\n"
4615
   "   (signature ivec4\n"
4616
   "     (parameters\n"
4617
   "       (declare (in) isampler2D sampler)\n"
4618
   "       (declare (in) vec3 P) \n"
4619
   "       (declare (in) float lod) )\n"
4620
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4621
   "\n"
4622
   "   (signature uvec4\n"
4623
   "     (parameters\n"
4624
   "       (declare (in) usampler2D sampler)\n"
4625
   "       (declare (in) vec3 P) \n"
4626
   "       (declare (in) float lod) )\n"
4627
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4628
   "\n"
4629
   "   (signature vec4\n"
4630
   "     (parameters\n"
4631
   "       (declare (in) sampler2D sampler)\n"
4632
   "       (declare (in) vec4 P) \n"
4633
   "       (declare (in) float lod) )\n"
4634
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4635
   "\n"
4636
   "   (signature ivec4\n"
4637
   "     (parameters\n"
4638
   "       (declare (in) isampler2D sampler)\n"
4639
   "       (declare (in) vec4 P) \n"
4640
   "       (declare (in) float lod) )\n"
4641
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4642
   "\n"
4643
   "   (signature uvec4\n"
4644
   "     (parameters\n"
4645
   "       (declare (in) usampler2D sampler)\n"
4646
   "       (declare (in) vec4 P) \n"
4647
   "       (declare (in) float lod) )\n"
4648
   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4649
   "\n"
4650
   "   (signature vec4\n"
4651
   "     (parameters\n"
4652
   "       (declare (in) sampler3D sampler)\n"
4653
   "       (declare (in) vec4 P) \n"
4654
   "       (declare (in) float lod) )\n"
4655
   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4656
   "\n"
4657
   "   (signature ivec4\n"
4658
   "     (parameters\n"
4659
   "       (declare (in) isampler3D sampler)\n"
4660
   "       (declare (in) vec4 P) \n"
4661
   "       (declare (in) float lod) )\n"
4662
   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4663
   "\n"
4664
   "   (signature uvec4\n"
4665
   "     (parameters\n"
4666
   "       (declare (in) usampler3D sampler)\n"
4667
   "       (declare (in) vec4 P) \n"
4668
   "       (declare (in) float lod) )\n"
4669
   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4670
   "\n"
4671
   "))\n"
4672
   ""
4673
;
4674
static const char builtin_transpose[] =
4675
   "((function transpose\n"
4676
   "   (signature mat2\n"
4677
   "     (parameters\n"
4678
   "       (declare (in) mat2 m))\n"
4679
   "     ((declare () mat2 t)\n"
4680
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4681
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4682
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4683
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4684
   "(return (var_ref t))))\n"
4685
   "\n"
4686
   "   (signature mat3x2\n"
4687
   "     (parameters\n"
4688
   "       (declare (in) mat2x3 m))\n"
4689
   "     ((declare () mat3x2 t)\n"
4690
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4691
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4692
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4693
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4694
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4695
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4696
   "(return (var_ref t))))\n"
4697
   "\n"
4698
   "   (signature mat4x2\n"
4699
   "     (parameters\n"
4700
   "       (declare (in) mat2x4 m))\n"
4701
   "     ((declare () mat4x2 t)\n"
4702
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4703
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4704
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4705
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4706
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4707
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4708
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4709
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4710
   "(return (var_ref t))))\n"
4711
   "\n"
4712
   "   (signature mat2x3\n"
4713
   "     (parameters\n"
4714
   "       (declare (in) mat3x2 m))\n"
4715
   "     ((declare () mat2x3 t)\n"
4716
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4717
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4718
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4719
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4720
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4721
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4722
   "(return (var_ref t))))\n"
4723
   "\n"
4724
   "   (signature mat3\n"
4725
   "     (parameters\n"
4726
   "       (declare (in) mat3 m))\n"
4727
   "     ((declare () mat3 t)\n"
4728
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4729
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4730
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4731
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4732
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4733
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4734
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4735
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4736
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4737
   "(return (var_ref t))))\n"
4738
   "\n"
4739
   "   (signature mat4x3\n"
4740
   "     (parameters\n"
4741
   "       (declare (in) mat3x4 m))\n"
4742
   "     ((declare () mat4x3 t)\n"
4743
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4744
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4745
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4746
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4747
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4748
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4749
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4750
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4751
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4752
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4753
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4754
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4755
   "(return (var_ref t))))\n"
4756
   "\n"
4757
   "   (signature mat2x4\n"
4758
   "     (parameters\n"
4759
   "       (declare (in) mat4x2 m))\n"
4760
   "     ((declare () mat2x4 t)\n"
4761
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4762
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4763
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4764
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4765
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4766
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4767
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4768
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4769
   "(return (var_ref t))))\n"
4770
   "\n"
4771
   "   (signature mat3x4\n"
4772
   "     (parameters\n"
4773
   "       (declare (in) mat4x3 m))\n"
4774
   "     ((declare () mat3x4 t)\n"
4775
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4776
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4777
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4778
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4779
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4780
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4781
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4782
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4783
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4784
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4785
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4786
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4787
   "(return (var_ref t))))\n"
4788
   "\n"
4789
   "   (signature mat4\n"
4790
   "     (parameters\n"
4791
   "       (declare (in) mat4 m))\n"
4792
   "     ((declare () mat4 t)\n"
4793
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4794
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4795
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4796
   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4797
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4798
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4799
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4800
   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4801
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4802
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4803
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4804
   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4805
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4806
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4807
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4808
   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
4809
   "(return (var_ref t))))\n"
4810
   ")\n"
4811
   "\n"
4812
   ")\n"
4813
   "\n"
4814
   ""
4815
;
4816
static const char builtin_trunc[] =
4817
   "((function trunc\n"
4818
   "   (signature float\n"
4819
   "     (parameters\n"
4820
   "       (declare (in) float arg0))\n"
4821
   "     ((return (expression float trunc (var_ref arg0)))))\n"
4822
   "\n"
4823
   "   (signature vec2\n"
4824
   "     (parameters\n"
4825
   "       (declare (in) vec2 arg0))\n"
4826
   "     ((return (expression vec2 trunc (var_ref arg0)))))\n"
4827
   "\n"
4828
   "   (signature vec3\n"
4829
   "     (parameters\n"
4830
   "       (declare (in) vec3 arg0))\n"
4831
   "     ((return (expression vec3 trunc (var_ref arg0)))))\n"
4832
   "\n"
4833
   "   (signature vec4\n"
4834
   "     (parameters\n"
4835
   "       (declare (in) vec4 arg0))\n"
4836
   "     ((return (expression vec4 trunc (var_ref arg0)))))\n"
4837
   "))\n"
4838
   ""
4839
;
4840
static const char prototypes_for_100_frag[] =
4841
   "(\n"
4842
   "(function radians\n"
4843
   "  (signature float\n"
4844
   "    (parameters\n"
4845
   "      (declare (in) float degrees))\n"
4846
   "    ())\n"
4847
   "  (signature vec2\n"
4848
   "    (parameters\n"
4849
   "      (declare (in) vec2 degrees))\n"
4850
   "    ())\n"
4851
   "  (signature vec3\n"
4852
   "    (parameters\n"
4853
   "      (declare (in) vec3 degrees))\n"
4854
   "    ())\n"
4855
   "  (signature vec4\n"
4856
   "    (parameters\n"
4857
   "      (declare (in) vec4 degrees))\n"
4858
   "    ()))\n"
4859
   "(function degrees\n"
4860
   "  (signature float\n"
4861
   "    (parameters\n"
4862
   "      (declare (in) float radians))\n"
4863
   "    ())\n"
4864
   "  (signature vec2\n"
4865
   "    (parameters\n"
4866
   "      (declare (in) vec2 radians))\n"
4867
   "    ())\n"
4868
   "  (signature vec3\n"
4869
   "    (parameters\n"
4870
   "      (declare (in) vec3 radians))\n"
4871
   "    ())\n"
4872
   "  (signature vec4\n"
4873
   "    (parameters\n"
4874
   "      (declare (in) vec4 radians))\n"
4875
   "    ()))\n"
4876
   "(function sin\n"
4877
   "  (signature float\n"
4878
   "    (parameters\n"
4879
   "      (declare (in) float angle))\n"
4880
   "    ())\n"
4881
   "  (signature vec2\n"
4882
   "    (parameters\n"
4883
   "      (declare (in) vec2 angle))\n"
4884
   "    ())\n"
4885
   "  (signature vec3\n"
4886
   "    (parameters\n"
4887
   "      (declare (in) vec3 angle))\n"
4888
   "    ())\n"
4889
   "  (signature vec4\n"
4890
   "    (parameters\n"
4891
   "      (declare (in) vec4 angle))\n"
4892
   "    ()))\n"
4893
   "(function cos\n"
4894
   "  (signature float\n"
4895
   "    (parameters\n"
4896
   "      (declare (in) float angle))\n"
4897
   "    ())\n"
4898
   "  (signature vec2\n"
4899
   "    (parameters\n"
4900
   "      (declare (in) vec2 angle))\n"
4901
   "    ())\n"
4902
   "  (signature vec3\n"
4903
   "    (parameters\n"
4904
   "      (declare (in) vec3 angle))\n"
4905
   "    ())\n"
4906
   "  (signature vec4\n"
4907
   "    (parameters\n"
4908
   "      (declare (in) vec4 angle))\n"
4909
   "    ()))\n"
4910
   "(function tan\n"
4911
   "  (signature float\n"
4912
   "    (parameters\n"
4913
   "      (declare (in) float angle))\n"
4914
   "    ())\n"
4915
   "  (signature vec2\n"
4916
   "    (parameters\n"
4917
   "      (declare (in) vec2 angle))\n"
4918
   "    ())\n"
4919
   "  (signature vec3\n"
4920
   "    (parameters\n"
4921
   "      (declare (in) vec3 angle))\n"
4922
   "    ())\n"
4923
   "  (signature vec4\n"
4924
   "    (parameters\n"
4925
   "      (declare (in) vec4 angle))\n"
4926
   "    ()))\n"
4927
   "(function asin\n"
4928
   "  (signature float\n"
4929
   "    (parameters\n"
4930
   "      (declare (in) float angle))\n"
4931
   "    ())\n"
4932
   "  (signature vec2\n"
4933
   "    (parameters\n"
4934
   "      (declare (in) vec2 angle))\n"
4935
   "    ())\n"
4936
   "  (signature vec3\n"
4937
   "    (parameters\n"
4938
   "      (declare (in) vec3 angle))\n"
4939
   "    ())\n"
4940
   "  (signature vec4\n"
4941
   "    (parameters\n"
4942
   "      (declare (in) vec4 angle))\n"
4943
   "    ()))\n"
4944
   "(function acos\n"
4945
   "  (signature float\n"
4946
   "    (parameters\n"
4947
   "      (declare (in) float angle))\n"
4948
   "    ())\n"
4949
   "  (signature vec2\n"
4950
   "    (parameters\n"
4951
   "      (declare (in) vec2 angle))\n"
4952
   "    ())\n"
4953
   "  (signature vec3\n"
4954
   "    (parameters\n"
4955
   "      (declare (in) vec3 angle))\n"
4956
   "    ())\n"
4957
   "  (signature vec4\n"
4958
   "    (parameters\n"
4959
   "      (declare (in) vec4 angle))\n"
4960
   "    ()))\n"
4961
   "(function atan\n"
4962
   "  (signature float\n"
4963
   "    (parameters\n"
4964
   "      (declare (in) float y)\n"
4965
   "      (declare (in) float x))\n"
4966
   "    ())\n"
4967
   "  (signature vec2\n"
4968
   "    (parameters\n"
4969
   "      (declare (in) vec2 y)\n"
4970
   "      (declare (in) vec2 x))\n"
4971
   "    ())\n"
4972
   "  (signature vec3\n"
4973
   "    (parameters\n"
4974
   "      (declare (in) vec3 y)\n"
4975
   "      (declare (in) vec3 x))\n"
4976
   "    ())\n"
4977
   "  (signature vec4\n"
4978
   "    (parameters\n"
4979
   "      (declare (in) vec4 y)\n"
4980
   "      (declare (in) vec4 x))\n"
4981
   "    ())\n"
4982
   "  (signature float\n"
4983
   "    (parameters\n"
4984
   "      (declare (in) float y_over_x))\n"
4985
   "    ())\n"
4986
   "  (signature vec2\n"
4987
   "    (parameters\n"
4988
   "      (declare (in) vec2 y_over_x))\n"
4989
   "    ())\n"
4990
   "  (signature vec3\n"
4991
   "    (parameters\n"
4992
   "      (declare (in) vec3 y_over_x))\n"
4993
   "    ())\n"
4994
   "  (signature vec4\n"
4995
   "    (parameters\n"
4996
   "      (declare (in) vec4 y_over_x))\n"
4997
   "    ()))\n"
4998
   "(function pow\n"
4999
   "  (signature float\n"
5000
   "    (parameters\n"
5001
   "      (declare (in) float x)\n"
5002
   "      (declare (in) float y))\n"
5003
   "    ())\n"
5004
   "  (signature vec2\n"
5005
   "    (parameters\n"
5006
   "      (declare (in) vec2 x)\n"
5007
   "      (declare (in) vec2 y))\n"
5008
   "    ())\n"
5009
   "  (signature vec3\n"
5010
   "    (parameters\n"
5011
   "      (declare (in) vec3 x)\n"
5012
   "      (declare (in) vec3 y))\n"
5013
   "    ())\n"
5014
   "  (signature vec4\n"
5015
   "    (parameters\n"
5016
   "      (declare (in) vec4 x)\n"
5017
   "      (declare (in) vec4 y))\n"
5018
   "    ()))\n"
5019
   "(function exp\n"
5020
   "  (signature float\n"
5021
   "    (parameters\n"
5022
   "      (declare (in) float x))\n"
5023
   "    ())\n"
5024
   "  (signature vec2\n"
5025
   "    (parameters\n"
5026
   "      (declare (in) vec2 x))\n"
5027
   "    ())\n"
5028
   "  (signature vec3\n"
5029
   "    (parameters\n"
5030
   "      (declare (in) vec3 x))\n"
5031
   "    ())\n"
5032
   "  (signature vec4\n"
5033
   "    (parameters\n"
5034
   "      (declare (in) vec4 x))\n"
5035
   "    ()))\n"
5036
   "(function log\n"
5037
   "  (signature float\n"
5038
   "    (parameters\n"
5039
   "      (declare (in) float x))\n"
5040
   "    ())\n"
5041
   "  (signature vec2\n"
5042
   "    (parameters\n"
5043
   "      (declare (in) vec2 x))\n"
5044
   "    ())\n"
5045
   "  (signature vec3\n"
5046
   "    (parameters\n"
5047
   "      (declare (in) vec3 x))\n"
5048
   "    ())\n"
5049
   "  (signature vec4\n"
5050
   "    (parameters\n"
5051
   "      (declare (in) vec4 x))\n"
5052
   "    ()))\n"
5053
   "(function exp2\n"
5054
   "  (signature float\n"
5055
   "    (parameters\n"
5056
   "      (declare (in) float x))\n"
5057
   "    ())\n"
5058
   "  (signature vec2\n"
5059
   "    (parameters\n"
5060
   "      (declare (in) vec2 x))\n"
5061
   "    ())\n"
5062
   "  (signature vec3\n"
5063
   "    (parameters\n"
5064
   "      (declare (in) vec3 x))\n"
5065
   "    ())\n"
5066
   "  (signature vec4\n"
5067
   "    (parameters\n"
5068
   "      (declare (in) vec4 x))\n"
5069
   "    ()))\n"
5070
   "(function log2\n"
5071
   "  (signature float\n"
5072
   "    (parameters\n"
5073
   "      (declare (in) float x))\n"
5074
   "    ())\n"
5075
   "  (signature vec2\n"
5076
   "    (parameters\n"
5077
   "      (declare (in) vec2 x))\n"
5078
   "    ())\n"
5079
   "  (signature vec3\n"
5080
   "    (parameters\n"
5081
   "      (declare (in) vec3 x))\n"
5082
   "    ())\n"
5083
   "  (signature vec4\n"
5084
   "    (parameters\n"
5085
   "      (declare (in) vec4 x))\n"
5086
   "    ()))\n"
5087
   "(function sqrt\n"
5088
   "  (signature float\n"
5089
   "    (parameters\n"
5090
   "      (declare (in) float x))\n"
5091
   "    ())\n"
5092
   "  (signature vec2\n"
5093
   "    (parameters\n"
5094
   "      (declare (in) vec2 x))\n"
5095
   "    ())\n"
5096
   "  (signature vec3\n"
5097
   "    (parameters\n"
5098
   "      (declare (in) vec3 x))\n"
5099
   "    ())\n"
5100
   "  (signature vec4\n"
5101
   "    (parameters\n"
5102
   "      (declare (in) vec4 x))\n"
5103
   "    ()))\n"
5104
   "(function inversesqrt\n"
5105
   "  (signature float\n"
5106
   "    (parameters\n"
5107
   "      (declare (in) float x))\n"
5108
   "    ())\n"
5109
   "  (signature vec2\n"
5110
   "    (parameters\n"
5111
   "      (declare (in) vec2 x))\n"
5112
   "    ())\n"
5113
   "  (signature vec3\n"
5114
   "    (parameters\n"
5115
   "      (declare (in) vec3 x))\n"
5116
   "    ())\n"
5117
   "  (signature vec4\n"
5118
   "    (parameters\n"
5119
   "      (declare (in) vec4 x))\n"
5120
   "    ()))\n"
5121
   "(function abs\n"
5122
   "  (signature float\n"
5123
   "    (parameters\n"
5124
   "      (declare (in) float x))\n"
5125
   "    ())\n"
5126
   "  (signature vec2\n"
5127
   "    (parameters\n"
5128
   "      (declare (in) vec2 x))\n"
5129
   "    ())\n"
5130
   "  (signature vec3\n"
5131
   "    (parameters\n"
5132
   "      (declare (in) vec3 x))\n"
5133
   "    ())\n"
5134
   "  (signature vec4\n"
5135
   "    (parameters\n"
5136
   "      (declare (in) vec4 x))\n"
5137
   "    ()))\n"
5138
   "(function sign\n"
5139
   "  (signature float\n"
5140
   "    (parameters\n"
5141
   "      (declare (in) float x))\n"
5142
   "    ())\n"
5143
   "  (signature vec2\n"
5144
   "    (parameters\n"
5145
   "      (declare (in) vec2 x))\n"
5146
   "    ())\n"
5147
   "  (signature vec3\n"
5148
   "    (parameters\n"
5149
   "      (declare (in) vec3 x))\n"
5150
   "    ())\n"
5151
   "  (signature vec4\n"
5152
   "    (parameters\n"
5153
   "      (declare (in) vec4 x))\n"
5154
   "    ()))\n"
5155
   "(function floor\n"
5156
   "  (signature float\n"
5157
   "    (parameters\n"
5158
   "      (declare (in) float x))\n"
5159
   "    ())\n"
5160
   "  (signature vec2\n"
5161
   "    (parameters\n"
5162
   "      (declare (in) vec2 x))\n"
5163
   "    ())\n"
5164
   "  (signature vec3\n"
5165
   "    (parameters\n"
5166
   "      (declare (in) vec3 x))\n"
5167
   "    ())\n"
5168
   "  (signature vec4\n"
5169
   "    (parameters\n"
5170
   "      (declare (in) vec4 x))\n"
5171
   "    ()))\n"
5172
   "(function ceil\n"
5173
   "  (signature float\n"
5174
   "    (parameters\n"
5175
   "      (declare (in) float x))\n"
5176
   "    ())\n"
5177
   "  (signature vec2\n"
5178
   "    (parameters\n"
5179
   "      (declare (in) vec2 x))\n"
5180
   "    ())\n"
5181
   "  (signature vec3\n"
5182
   "    (parameters\n"
5183
   "      (declare (in) vec3 x))\n"
5184
   "    ())\n"
5185
   "  (signature vec4\n"
5186
   "    (parameters\n"
5187
   "      (declare (in) vec4 x))\n"
5188
   "    ()))\n"
5189
   "(function fract\n"
5190
   "  (signature float\n"
5191
   "    (parameters\n"
5192
   "      (declare (in) float x))\n"
5193
   "    ())\n"
5194
   "  (signature vec2\n"
5195
   "    (parameters\n"
5196
   "      (declare (in) vec2 x))\n"
5197
   "    ())\n"
5198
   "  (signature vec3\n"
5199
   "    (parameters\n"
5200
   "      (declare (in) vec3 x))\n"
5201
   "    ())\n"
5202
   "  (signature vec4\n"
5203
   "    (parameters\n"
5204
   "      (declare (in) vec4 x))\n"
5205
   "    ()))\n"
5206
   "(function mod\n"
5207
   "  (signature float\n"
5208
   "    (parameters\n"
5209
   "      (declare (in) float x)\n"
5210
   "      (declare (in) float y))\n"
5211
   "    ())\n"
5212
   "  (signature vec2\n"
5213
   "    (parameters\n"
5214
   "      (declare (in) vec2 x)\n"
5215
   "      (declare (in) float y))\n"
5216
   "    ())\n"
5217
   "  (signature vec3\n"
5218
   "    (parameters\n"
5219
   "      (declare (in) vec3 x)\n"
5220
   "      (declare (in) float y))\n"
5221
   "    ())\n"
5222
   "  (signature vec4\n"
5223
   "    (parameters\n"
5224
   "      (declare (in) vec4 x)\n"
5225
   "      (declare (in) float y))\n"
5226
   "    ())\n"
5227
   "  (signature vec2\n"
5228
   "    (parameters\n"
5229
   "      (declare (in) vec2 x)\n"
5230
   "      (declare (in) vec2 y))\n"
5231
   "    ())\n"
5232
   "  (signature vec3\n"
5233
   "    (parameters\n"
5234
   "      (declare (in) vec3 x)\n"
5235
   "      (declare (in) vec3 y))\n"
5236
   "    ())\n"
5237
   "  (signature vec4\n"
5238
   "    (parameters\n"
5239
   "      (declare (in) vec4 x)\n"
5240
   "      (declare (in) vec4 y))\n"
5241
   "    ()))\n"
5242
   "(function min\n"
5243
   "  (signature float\n"
5244
   "    (parameters\n"
5245
   "      (declare (in) float x)\n"
5246
   "      (declare (in) float y))\n"
5247
   "    ())\n"
5248
   "  (signature vec2\n"
5249
   "    (parameters\n"
5250
   "      (declare (in) vec2 x)\n"
5251
   "      (declare (in) vec2 y))\n"
5252
   "    ())\n"
5253
   "  (signature vec3\n"
5254
   "    (parameters\n"
5255
   "      (declare (in) vec3 x)\n"
5256
   "      (declare (in) vec3 y))\n"
5257
   "    ())\n"
5258
   "  (signature vec4\n"
5259
   "    (parameters\n"
5260
   "      (declare (in) vec4 x)\n"
5261
   "      (declare (in) vec4 y))\n"
5262
   "    ())\n"
5263
   "  (signature vec2\n"
5264
   "    (parameters\n"
5265
   "      (declare (in) vec2 x)\n"
5266
   "      (declare (in) float y))\n"
5267
   "    ())\n"
5268
   "  (signature vec3\n"
5269
   "    (parameters\n"
5270
   "      (declare (in) vec3 x)\n"
5271
   "      (declare (in) float y))\n"
5272
   "    ())\n"
5273
   "  (signature vec4\n"
5274
   "    (parameters\n"
5275
   "      (declare (in) vec4 x)\n"
5276
   "      (declare (in) float y))\n"
5277
   "    ()))\n"
5278
   "(function max\n"
5279
   "  (signature float\n"
5280
   "    (parameters\n"
5281
   "      (declare (in) float x)\n"
5282
   "      (declare (in) float y))\n"
5283
   "    ())\n"
5284
   "  (signature vec2\n"
5285
   "    (parameters\n"
5286
   "      (declare (in) vec2 x)\n"
5287
   "      (declare (in) vec2 y))\n"
5288
   "    ())\n"
5289
   "  (signature vec3\n"
5290
   "    (parameters\n"
5291
   "      (declare (in) vec3 x)\n"
5292
   "      (declare (in) vec3 y))\n"
5293
   "    ())\n"
5294
   "  (signature vec4\n"
5295
   "    (parameters\n"
5296
   "      (declare (in) vec4 x)\n"
5297
   "      (declare (in) vec4 y))\n"
5298
   "    ())\n"
5299
   "  (signature vec2\n"
5300
   "    (parameters\n"
5301
   "      (declare (in) vec2 x)\n"
5302
   "      (declare (in) float y))\n"
5303
   "    ())\n"
5304
   "  (signature vec3\n"
5305
   "    (parameters\n"
5306
   "      (declare (in) vec3 x)\n"
5307
   "      (declare (in) float y))\n"
5308
   "    ())\n"
5309
   "  (signature vec4\n"
5310
   "    (parameters\n"
5311
   "      (declare (in) vec4 x)\n"
5312
   "      (declare (in) float y))\n"
5313
   "    ()))\n"
5314
   "(function clamp\n"
5315
   "  (signature float\n"
5316
   "    (parameters\n"
5317
   "      (declare (in) float x)\n"
5318
   "      (declare (in) float minVal)\n"
5319
   "      (declare (in) float maxVal))\n"
5320
   "    ())\n"
5321
   "  (signature vec2\n"
5322
   "    (parameters\n"
5323
   "      (declare (in) vec2 x)\n"
5324
   "      (declare (in) vec2 minVal)\n"
5325
   "      (declare (in) vec2 maxVal))\n"
5326
   "    ())\n"
5327
   "  (signature vec3\n"
5328
   "    (parameters\n"
5329
   "      (declare (in) vec3 x)\n"
5330
   "      (declare (in) vec3 minVal)\n"
5331
   "      (declare (in) vec3 maxVal))\n"
5332
   "    ())\n"
5333
   "  (signature vec4\n"
5334
   "    (parameters\n"
5335
   "      (declare (in) vec4 x)\n"
5336
   "      (declare (in) vec4 minVal)\n"
5337
   "      (declare (in) vec4 maxVal))\n"
5338
   "    ())\n"
5339
   "  (signature vec2\n"
5340
   "    (parameters\n"
5341
   "      (declare (in) vec2 x)\n"
5342
   "      (declare (in) float minVal)\n"
5343
   "      (declare (in) float maxVal))\n"
5344
   "    ())\n"
5345
   "  (signature vec3\n"
5346
   "    (parameters\n"
5347
   "      (declare (in) vec3 x)\n"
5348
   "      (declare (in) float minVal)\n"
5349
   "      (declare (in) float maxVal))\n"
5350
   "    ())\n"
5351
   "  (signature vec4\n"
5352
   "    (parameters\n"
5353
   "      (declare (in) vec4 x)\n"
5354
   "      (declare (in) float minVal)\n"
5355
   "      (declare (in) float maxVal))\n"
5356
   "    ()))\n"
5357
   "(function mix\n"
5358
   "  (signature float\n"
5359
   "    (parameters\n"
5360
   "      (declare (in) float x)\n"
5361
   "      (declare (in) float y)\n"
5362
   "      (declare (in) float a))\n"
5363
   "    ())\n"
5364
   "  (signature vec2\n"
5365
   "    (parameters\n"
5366
   "      (declare (in) vec2 x)\n"
5367
   "      (declare (in) vec2 y)\n"
5368
   "      (declare (in) vec2 a))\n"
5369
   "    ())\n"
5370
   "  (signature vec3\n"
5371
   "    (parameters\n"
5372
   "      (declare (in) vec3 x)\n"
5373
   "      (declare (in) vec3 y)\n"
5374
   "      (declare (in) vec3 a))\n"
5375
   "    ())\n"
5376
   "  (signature vec4\n"
5377
   "    (parameters\n"
5378
   "      (declare (in) vec4 x)\n"
5379
   "      (declare (in) vec4 y)\n"
5380
   "      (declare (in) vec4 a))\n"
5381
   "    ())\n"
5382
   "  (signature vec2\n"
5383
   "    (parameters\n"
5384
   "      (declare (in) vec2 x)\n"
5385
   "      (declare (in) vec2 y)\n"
5386
   "      (declare (in) float a))\n"
5387
   "    ())\n"
5388
   "  (signature vec3\n"
5389
   "    (parameters\n"
5390
   "      (declare (in) vec3 x)\n"
5391
   "      (declare (in) vec3 y)\n"
5392
   "      (declare (in) float a))\n"
5393
   "    ())\n"
5394
   "  (signature vec4\n"
5395
   "    (parameters\n"
5396
   "      (declare (in) vec4 x)\n"
5397
   "      (declare (in) vec4 y)\n"
5398
   "      (declare (in) float a))\n"
5399
   "    ()))\n"
5400
   "(function step\n"
5401
   "  (signature float\n"
5402
   "    (parameters\n"
5403
   "      (declare (in) float edge)\n"
5404
   "      (declare (in) float x))\n"
5405
   "    ())\n"
5406
   "  (signature vec2\n"
5407
   "    (parameters\n"
5408
   "      (declare (in) vec2 edge)\n"
5409
   "      (declare (in) vec2 x))\n"
5410
   "    ())\n"
5411
   "  (signature vec3\n"
5412
   "    (parameters\n"
5413
   "      (declare (in) vec3 edge)\n"
5414
   "      (declare (in) vec3 x))\n"
5415
   "    ())\n"
5416
   "  (signature vec4\n"
5417
   "    (parameters\n"
5418
   "      (declare (in) vec4 edge)\n"
5419
   "      (declare (in) vec4 x))\n"
5420
   "    ())\n"
5421
   "  (signature vec2\n"
5422
   "    (parameters\n"
5423
   "      (declare (in) float edge)\n"
5424
   "      (declare (in) vec2 x))\n"
5425
   "    ())\n"
5426
   "  (signature vec3\n"
5427
   "    (parameters\n"
5428
   "      (declare (in) float edge)\n"
5429
   "      (declare (in) vec3 x))\n"
5430
   "    ())\n"
5431
   "  (signature vec4\n"
5432
   "    (parameters\n"
5433
   "      (declare (in) float edge)\n"
5434
   "      (declare (in) vec4 x))\n"
5435
   "    ()))\n"
5436
   "(function smoothstep\n"
5437
   "  (signature float\n"
5438
   "    (parameters\n"
5439
   "      (declare (in) float edge0)\n"
5440
   "      (declare (in) float edge1)\n"
5441
   "      (declare (in) float x))\n"
5442
   "    ())\n"
5443
   "  (signature vec2\n"
5444
   "    (parameters\n"
5445
   "      (declare (in) vec2 edge0)\n"
5446
   "      (declare (in) vec2 edge1)\n"
5447
   "      (declare (in) vec2 x))\n"
5448
   "    ())\n"
5449
   "  (signature vec3\n"
5450
   "    (parameters\n"
5451
   "      (declare (in) vec3 edge0)\n"
5452
   "      (declare (in) vec3 edge1)\n"
5453
   "      (declare (in) vec3 x))\n"
5454
   "    ())\n"
5455
   "  (signature vec4\n"
5456
   "    (parameters\n"
5457
   "      (declare (in) vec4 edge0)\n"
5458
   "      (declare (in) vec4 edge1)\n"
5459
   "      (declare (in) vec4 x))\n"
5460
   "    ())\n"
5461
   "  (signature vec2\n"
5462
   "    (parameters\n"
5463
   "      (declare (in) float edge0)\n"
5464
   "      (declare (in) float edge1)\n"
5465
   "      (declare (in) vec2 x))\n"
5466
   "    ())\n"
5467
   "  (signature vec3\n"
5468
   "    (parameters\n"
5469
   "      (declare (in) float edge0)\n"
5470
   "      (declare (in) float edge1)\n"
5471
   "      (declare (in) vec3 x))\n"
5472
   "    ())\n"
5473
   "  (signature vec4\n"
5474
   "    (parameters\n"
5475
   "      (declare (in) float edge0)\n"
5476
   "      (declare (in) float edge1)\n"
5477
   "      (declare (in) vec4 x))\n"
5478
   "    ()))\n"
5479
   "(function length\n"
5480
   "  (signature float\n"
5481
   "    (parameters\n"
5482
   "      (declare (in) float x))\n"
5483
   "    ())\n"
5484
   "  (signature float\n"
5485
   "    (parameters\n"
5486
   "      (declare (in) vec2 x))\n"
5487
   "    ())\n"
5488
   "  (signature float\n"
5489
   "    (parameters\n"
5490
   "      (declare (in) vec3 x))\n"
5491
   "    ())\n"
5492
   "  (signature float\n"
5493
   "    (parameters\n"
5494
   "      (declare (in) vec4 x))\n"
5495
   "    ()))\n"
5496
   "(function distance\n"
5497
   "  (signature float\n"
5498
   "    (parameters\n"
5499
   "      (declare (in) float p0)\n"
5500
   "      (declare (in) float p1))\n"
5501
   "    ())\n"
5502
   "  (signature float\n"
5503
   "    (parameters\n"
5504
   "      (declare (in) vec2 p0)\n"
5505
   "      (declare (in) vec2 p1))\n"
5506
   "    ())\n"
5507
   "  (signature float\n"
5508
   "    (parameters\n"
5509
   "      (declare (in) vec3 p0)\n"
5510
   "      (declare (in) vec3 p1))\n"
5511
   "    ())\n"
5512
   "  (signature float\n"
5513
   "    (parameters\n"
5514
   "      (declare (in) vec4 p0)\n"
5515
   "      (declare (in) vec4 p1))\n"
5516
   "    ()))\n"
5517
   "(function dot\n"
5518
   "  (signature float\n"
5519
   "    (parameters\n"
5520
   "      (declare (in) float x)\n"
5521
   "      (declare (in) float y))\n"
5522
   "    ())\n"
5523
   "  (signature float\n"
5524
   "    (parameters\n"
5525
   "      (declare (in) vec2 x)\n"
5526
   "      (declare (in) vec2 y))\n"
5527
   "    ())\n"
5528
   "  (signature float\n"
5529
   "    (parameters\n"
5530
   "      (declare (in) vec3 x)\n"
5531
   "      (declare (in) vec3 y))\n"
5532
   "    ())\n"
5533
   "  (signature float\n"
5534
   "    (parameters\n"
5535
   "      (declare (in) vec4 x)\n"
5536
   "      (declare (in) vec4 y))\n"
5537
   "    ()))\n"
5538
   "(function cross\n"
5539
   "  (signature vec3\n"
5540
   "    (parameters\n"
5541
   "      (declare (in) vec3 x)\n"
5542
   "      (declare (in) vec3 y))\n"
5543
   "    ()))\n"
5544
   "(function normalize\n"
5545
   "  (signature float\n"
5546
   "    (parameters\n"
5547
   "      (declare (in) float x))\n"
5548
   "    ())\n"
5549
   "  (signature vec2\n"
5550
   "    (parameters\n"
5551
   "      (declare (in) vec2 x))\n"
5552
   "    ())\n"
5553
   "  (signature vec3\n"
5554
   "    (parameters\n"
5555
   "      (declare (in) vec3 x))\n"
5556
   "    ())\n"
5557
   "  (signature vec4\n"
5558
   "    (parameters\n"
5559
   "      (declare (in) vec4 x))\n"
5560
   "    ()))\n"
5561
   "(function faceforward\n"
5562
   "  (signature float\n"
5563
   "    (parameters\n"
5564
   "      (declare (in) float N)\n"
5565
   "      (declare (in) float I)\n"
5566
   "      (declare (in) float Nref))\n"
5567
   "    ())\n"
5568
   "  (signature vec2\n"
5569
   "    (parameters\n"
5570
   "      (declare (in) vec2 N)\n"
5571
   "      (declare (in) vec2 I)\n"
5572
   "      (declare (in) vec2 Nref))\n"
5573
   "    ())\n"
5574
   "  (signature vec3\n"
5575
   "    (parameters\n"
5576
   "      (declare (in) vec3 N)\n"
5577
   "      (declare (in) vec3 I)\n"
5578
   "      (declare (in) vec3 Nref))\n"
5579
   "    ())\n"
5580
   "  (signature vec4\n"
5581
   "    (parameters\n"
5582
   "      (declare (in) vec4 N)\n"
5583
   "      (declare (in) vec4 I)\n"
5584
   "      (declare (in) vec4 Nref))\n"
5585
   "    ()))\n"
5586
   "(function reflect\n"
5587
   "  (signature float\n"
5588
   "    (parameters\n"
5589
   "      (declare (in) float I)\n"
5590
   "      (declare (in) float N))\n"
5591
   "    ())\n"
5592
   "  (signature vec2\n"
5593
   "    (parameters\n"
5594
   "      (declare (in) vec2 I)\n"
5595
   "      (declare (in) vec2 N))\n"
5596
   "    ())\n"
5597
   "  (signature vec3\n"
5598
   "    (parameters\n"
5599
   "      (declare (in) vec3 I)\n"
5600
   "      (declare (in) vec3 N))\n"
5601
   "    ())\n"
5602
   "  (signature vec4\n"
5603
   "    (parameters\n"
5604
   "      (declare (in) vec4 I)\n"
5605
   "      (declare (in) vec4 N))\n"
5606
   "    ()))\n"
5607
   "(function refract\n"
5608
   "  (signature float\n"
5609
   "    (parameters\n"
5610
   "      (declare (in) float I)\n"
5611
   "      (declare (in) float N)\n"
5612
   "      (declare (in) float eta))\n"
5613
   "    ())\n"
5614
   "  (signature vec2\n"
5615
   "    (parameters\n"
5616
   "      (declare (in) vec2 I)\n"
5617
   "      (declare (in) vec2 N)\n"
5618
   "      (declare (in) float eta))\n"
5619
   "    ())\n"
5620
   "  (signature vec3\n"
5621
   "    (parameters\n"
5622
   "      (declare (in) vec3 I)\n"
5623
   "      (declare (in) vec3 N)\n"
5624
   "      (declare (in) float eta))\n"
5625
   "    ())\n"
5626
   "  (signature vec4\n"
5627
   "    (parameters\n"
5628
   "      (declare (in) vec4 I)\n"
5629
   "      (declare (in) vec4 N)\n"
5630
   "      (declare (in) float eta))\n"
5631
   "    ()))\n"
5632
   "(function matrixCompMult\n"
5633
   "  (signature mat2\n"
5634
   "    (parameters\n"
5635
   "      (declare (in) mat2 x)\n"
5636
   "      (declare (in) mat2 y))\n"
5637
   "    ())\n"
5638
   "  (signature mat3\n"
5639
   "    (parameters\n"
5640
   "      (declare (in) mat3 x)\n"
5641
   "      (declare (in) mat3 y))\n"
5642
   "    ())\n"
5643
   "  (signature mat4\n"
5644
   "    (parameters\n"
5645
   "      (declare (in) mat4 x)\n"
5646
   "      (declare (in) mat4 y))\n"
5647
   "    ()))\n"
5648
   "(function lessThan\n"
5649
   "  (signature bvec2\n"
5650
   "    (parameters\n"
5651
   "      (declare (in) vec2 x)\n"
5652
   "      (declare (in) vec2 y))\n"
5653
   "    ())\n"
5654
   "  (signature bvec3\n"
5655
   "    (parameters\n"
5656
   "      (declare (in) vec3 x)\n"
5657
   "      (declare (in) vec3 y))\n"
5658
   "    ())\n"
5659
   "  (signature bvec4\n"
5660
   "    (parameters\n"
5661
   "      (declare (in) vec4 x)\n"
5662
   "      (declare (in) vec4 y))\n"
5663
   "    ())\n"
5664
   "  (signature bvec2\n"
5665
   "    (parameters\n"
5666
   "      (declare (in) ivec2 x)\n"
5667
   "      (declare (in) ivec2 y))\n"
5668
   "    ())\n"
5669
   "  (signature bvec3\n"
5670
   "    (parameters\n"
5671
   "      (declare (in) ivec3 x)\n"
5672
   "      (declare (in) ivec3 y))\n"
5673
   "    ())\n"
5674
   "  (signature bvec4\n"
5675
   "    (parameters\n"
5676
   "      (declare (in) ivec4 x)\n"
5677
   "      (declare (in) ivec4 y))\n"
5678
   "    ()))\n"
5679
   "(function lessThanEqual\n"
5680
   "  (signature bvec2\n"
5681
   "    (parameters\n"
5682
   "      (declare (in) vec2 x)\n"
5683
   "      (declare (in) vec2 y))\n"
5684
   "    ())\n"
5685
   "  (signature bvec3\n"
5686
   "    (parameters\n"
5687
   "      (declare (in) vec3 x)\n"
5688
   "      (declare (in) vec3 y))\n"
5689
   "    ())\n"
5690
   "  (signature bvec4\n"
5691
   "    (parameters\n"
5692
   "      (declare (in) vec4 x)\n"
5693
   "      (declare (in) vec4 y))\n"
5694
   "    ())\n"
5695
   "  (signature bvec2\n"
5696
   "    (parameters\n"
5697
   "      (declare (in) ivec2 x)\n"
5698
   "      (declare (in) ivec2 y))\n"
5699
   "    ())\n"
5700
   "  (signature bvec3\n"
5701
   "    (parameters\n"
5702
   "      (declare (in) ivec3 x)\n"
5703
   "      (declare (in) ivec3 y))\n"
5704
   "    ())\n"
5705
   "  (signature bvec4\n"
5706
   "    (parameters\n"
5707
   "      (declare (in) ivec4 x)\n"
5708
   "      (declare (in) ivec4 y))\n"
5709
   "    ()))\n"
5710
   "(function greaterThan\n"
5711
   "  (signature bvec2\n"
5712
   "    (parameters\n"
5713
   "      (declare (in) vec2 x)\n"
5714
   "      (declare (in) vec2 y))\n"
5715
   "    ())\n"
5716
   "  (signature bvec3\n"
5717
   "    (parameters\n"
5718
   "      (declare (in) vec3 x)\n"
5719
   "      (declare (in) vec3 y))\n"
5720
   "    ())\n"
5721
   "  (signature bvec4\n"
5722
   "    (parameters\n"
5723
   "      (declare (in) vec4 x)\n"
5724
   "      (declare (in) vec4 y))\n"
5725
   "    ())\n"
5726
   "  (signature bvec2\n"
5727
   "    (parameters\n"
5728
   "      (declare (in) ivec2 x)\n"
5729
   "      (declare (in) ivec2 y))\n"
5730
   "    ())\n"
5731
   "  (signature bvec3\n"
5732
   "    (parameters\n"
5733
   "      (declare (in) ivec3 x)\n"
5734
   "      (declare (in) ivec3 y))\n"
5735
   "    ())\n"
5736
   "  (signature bvec4\n"
5737
   "    (parameters\n"
5738
   "      (declare (in) ivec4 x)\n"
5739
   "      (declare (in) ivec4 y))\n"
5740
   "    ()))\n"
5741
   "(function greaterThanEqual\n"
5742
   "  (signature bvec2\n"
5743
   "    (parameters\n"
5744
   "      (declare (in) vec2 x)\n"
5745
   "      (declare (in) vec2 y))\n"
5746
   "    ())\n"
5747
   "  (signature bvec3\n"
5748
   "    (parameters\n"
5749
   "      (declare (in) vec3 x)\n"
5750
   "      (declare (in) vec3 y))\n"
5751
   "    ())\n"
5752
   "  (signature bvec4\n"
5753
   "    (parameters\n"
5754
   "      (declare (in) vec4 x)\n"
5755
   "      (declare (in) vec4 y))\n"
5756
   "    ())\n"
5757
   "  (signature bvec2\n"
5758
   "    (parameters\n"
5759
   "      (declare (in) ivec2 x)\n"
5760
   "      (declare (in) ivec2 y))\n"
5761
   "    ())\n"
5762
   "  (signature bvec3\n"
5763
   "    (parameters\n"
5764
   "      (declare (in) ivec3 x)\n"
5765
   "      (declare (in) ivec3 y))\n"
5766
   "    ())\n"
5767
   "  (signature bvec4\n"
5768
   "    (parameters\n"
5769
   "      (declare (in) ivec4 x)\n"
5770
   "      (declare (in) ivec4 y))\n"
5771
   "    ()))\n"
5772
   "(function equal\n"
5773
   "  (signature bvec2\n"
5774
   "    (parameters\n"
5775
   "      (declare (in) vec2 x)\n"
5776
   "      (declare (in) vec2 y))\n"
5777
   "    ())\n"
5778
   "  (signature bvec3\n"
5779
   "    (parameters\n"
5780
   "      (declare (in) vec3 x)\n"
5781
   "      (declare (in) vec3 y))\n"
5782
   "    ())\n"
5783
   "  (signature bvec4\n"
5784
   "    (parameters\n"
5785
   "      (declare (in) vec4 x)\n"
5786
   "      (declare (in) vec4 y))\n"
5787
   "    ())\n"
5788
   "  (signature bvec2\n"
5789
   "    (parameters\n"
5790
   "      (declare (in) ivec2 x)\n"
5791
   "      (declare (in) ivec2 y))\n"
5792
   "    ())\n"
5793
   "  (signature bvec3\n"
5794
   "    (parameters\n"
5795
   "      (declare (in) ivec3 x)\n"
5796
   "      (declare (in) ivec3 y))\n"
5797
   "    ())\n"
5798
   "  (signature bvec4\n"
5799
   "    (parameters\n"
5800
   "      (declare (in) ivec4 x)\n"
5801
   "      (declare (in) ivec4 y))\n"
5802
   "    ())\n"
5803
   "  (signature bvec2\n"
5804
   "    (parameters\n"
5805
   "      (declare (in) bvec2 x)\n"
5806
   "      (declare (in) bvec2 y))\n"
5807
   "    ())\n"
5808
   "  (signature bvec3\n"
5809
   "    (parameters\n"
5810
   "      (declare (in) bvec3 x)\n"
5811
   "      (declare (in) bvec3 y))\n"
5812
   "    ())\n"
5813
   "  (signature bvec4\n"
5814
   "    (parameters\n"
5815
   "      (declare (in) bvec4 x)\n"
5816
   "      (declare (in) bvec4 y))\n"
5817
   "    ()))\n"
5818
   "(function notEqual\n"
5819
   "  (signature bvec2\n"
5820
   "    (parameters\n"
5821
   "      (declare (in) vec2 x)\n"
5822
   "      (declare (in) vec2 y))\n"
5823
   "    ())\n"
5824
   "  (signature bvec3\n"
5825
   "    (parameters\n"
5826
   "      (declare (in) vec3 x)\n"
5827
   "      (declare (in) vec3 y))\n"
5828
   "    ())\n"
5829
   "  (signature bvec4\n"
5830
   "    (parameters\n"
5831
   "      (declare (in) vec4 x)\n"
5832
   "      (declare (in) vec4 y))\n"
5833
   "    ())\n"
5834
   "  (signature bvec2\n"
5835
   "    (parameters\n"
5836
   "      (declare (in) ivec2 x)\n"
5837
   "      (declare (in) ivec2 y))\n"
5838
   "    ())\n"
5839
   "  (signature bvec3\n"
5840
   "    (parameters\n"
5841
   "      (declare (in) ivec3 x)\n"
5842
   "      (declare (in) ivec3 y))\n"
5843
   "    ())\n"
5844
   "  (signature bvec4\n"
5845
   "    (parameters\n"
5846
   "      (declare (in) ivec4 x)\n"
5847
   "      (declare (in) ivec4 y))\n"
5848
   "    ())\n"
5849
   "  (signature bvec2\n"
5850
   "    (parameters\n"
5851
   "      (declare (in) bvec2 x)\n"
5852
   "      (declare (in) bvec2 y))\n"
5853
   "    ())\n"
5854
   "  (signature bvec3\n"
5855
   "    (parameters\n"
5856
   "      (declare (in) bvec3 x)\n"
5857
   "      (declare (in) bvec3 y))\n"
5858
   "    ())\n"
5859
   "  (signature bvec4\n"
5860
   "    (parameters\n"
5861
   "      (declare (in) bvec4 x)\n"
5862
   "      (declare (in) bvec4 y))\n"
5863
   "    ()))\n"
5864
   "(function any\n"
5865
   "  (signature bool\n"
5866
   "    (parameters\n"
5867
   "      (declare (in) bvec2 x))\n"
5868
   "    ())\n"
5869
   "  (signature bool\n"
5870
   "    (parameters\n"
5871
   "      (declare (in) bvec3 x))\n"
5872
   "    ())\n"
5873
   "  (signature bool\n"
5874
   "    (parameters\n"
5875
   "      (declare (in) bvec4 x))\n"
5876
   "    ()))\n"
5877
   "(function all\n"
5878
   "  (signature bool\n"
5879
   "    (parameters\n"
5880
   "      (declare (in) bvec2 x))\n"
5881
   "    ())\n"
5882
   "  (signature bool\n"
5883
   "    (parameters\n"
5884
   "      (declare (in) bvec3 x))\n"
5885
   "    ())\n"
5886
   "  (signature bool\n"
5887
   "    (parameters\n"
5888
   "      (declare (in) bvec4 x))\n"
5889
   "    ()))\n"
5890
   "(function not\n"
5891
   "  (signature bvec2\n"
5892
   "    (parameters\n"
5893
   "      (declare (in) bvec2 x))\n"
5894
   "    ())\n"
5895
   "  (signature bvec3\n"
5896
   "    (parameters\n"
5897
   "      (declare (in) bvec3 x))\n"
5898
   "    ())\n"
5899
   "  (signature bvec4\n"
5900
   "    (parameters\n"
5901
   "      (declare (in) bvec4 x))\n"
5902
   "    ()))\n"
5903
   "(function texture2D\n"
5904
   "  (signature vec4\n"
5905
   "    (parameters\n"
5906
   "      (declare (in) sampler2D sampler)\n"
5907
   "      (declare (in) vec2 coord))\n"
5908
   "    ())\n"
5909
   "  (signature vec4\n"
5910
   "    (parameters\n"
5911
   "      (declare (in) sampler2D sampler)\n"
5912
   "      (declare (in) vec2 coord)\n"
5913
   "      (declare (in) float bias))\n"
5914
   "    ()))\n"
5915
   "(function texture2DProj\n"
5916
   "  (signature vec4\n"
5917
   "    (parameters\n"
5918
   "      (declare (in) sampler2D sampler)\n"
5919
   "      (declare (in) vec3 coord))\n"
5920
   "    ())\n"
5921
   "  (signature vec4\n"
5922
   "    (parameters\n"
5923
   "      (declare (in) sampler2D sampler)\n"
5924
   "      (declare (in) vec4 coord))\n"
5925
   "    ())\n"
5926
   "  (signature vec4\n"
5927
   "    (parameters\n"
5928
   "      (declare (in) sampler2D sampler)\n"
5929
   "      (declare (in) vec3 coord)\n"
5930
   "      (declare (in) float bias))\n"
5931
   "    ())\n"
5932
   "  (signature vec4\n"
5933
   "    (parameters\n"
5934
   "      (declare (in) sampler2D sampler)\n"
5935
   "      (declare (in) vec4 coord)\n"
5936
   "      (declare (in) float bias))\n"
5937
   "    ()))\n"
5938
   "(function textureCube\n"
5939
   "  (signature vec4\n"
5940
   "    (parameters\n"
5941
   "      (declare (in) samplerCube sampler)\n"
5942
   "      (declare (in) vec3 coord))\n"
5943
   "    ())\n"
5944
   "  (signature vec4\n"
5945
   "    (parameters\n"
5946
   "      (declare (in) samplerCube sampler)\n"
5947
   "      (declare (in) vec3 coord)\n"
5948
   "      (declare (in) float bias))\n"
5949
   "    ())))"
5950
;
5951
static const char *functions_for_100_frag [] = {
5952
   builtin_abs,
5953
   builtin_acos,
5954
   builtin_all,
5955
   builtin_any,
5956
   builtin_asin,
5957
   builtin_atan,
5958
   builtin_ceil,
5959
   builtin_clamp,
5960
   builtin_cos,
5961
   builtin_cross,
5962
   builtin_degrees,
5963
   builtin_distance,
5964
   builtin_dot,
5965
   builtin_equal,
5966
   builtin_exp,
5967
   builtin_exp2,
5968
   builtin_faceforward,
5969
   builtin_floor,
5970
   builtin_fract,
5971
   builtin_greaterThan,
5972
   builtin_greaterThanEqual,
5973
   builtin_inversesqrt,
5974
   builtin_length,
5975
   builtin_lessThan,
5976
   builtin_lessThanEqual,
5977
   builtin_log,
5978
   builtin_log2,
5979
   builtin_matrixCompMult,
5980
   builtin_max,
5981
   builtin_min,
5982
   builtin_mix,
5983
   builtin_mod,
5984
   builtin_normalize,
5985
   builtin_not,
5986
   builtin_notEqual,
5987
   builtin_pow,
5988
   builtin_radians,
5989
   builtin_reflect,
5990
   builtin_refract,
5991
   builtin_sign,
5992
   builtin_sin,
5993
   builtin_smoothstep,
5994
   builtin_sqrt,
5995
   builtin_step,
5996
   builtin_tan,
5997
   builtin_texture2D,
5998
   builtin_texture2DProj,
5999
   builtin_textureCube,
6000
};
6001
static const char prototypes_for_100_vert[] =
6002
   "(\n"
6003
   "(function radians\n"
6004
   "  (signature float\n"
6005
   "    (parameters\n"
6006
   "      (declare (in) float degrees))\n"
6007
   "    ())\n"
6008
   "  (signature vec2\n"
6009
   "    (parameters\n"
6010
   "      (declare (in) vec2 degrees))\n"
6011
   "    ())\n"
6012
   "  (signature vec3\n"
6013
   "    (parameters\n"
6014
   "      (declare (in) vec3 degrees))\n"
6015
   "    ())\n"
6016
   "  (signature vec4\n"
6017
   "    (parameters\n"
6018
   "      (declare (in) vec4 degrees))\n"
6019
   "    ()))\n"
6020
   "(function degrees\n"
6021
   "  (signature float\n"
6022
   "    (parameters\n"
6023
   "      (declare (in) float radians))\n"
6024
   "    ())\n"
6025
   "  (signature vec2\n"
6026
   "    (parameters\n"
6027
   "      (declare (in) vec2 radians))\n"
6028
   "    ())\n"
6029
   "  (signature vec3\n"
6030
   "    (parameters\n"
6031
   "      (declare (in) vec3 radians))\n"
6032
   "    ())\n"
6033
   "  (signature vec4\n"
6034
   "    (parameters\n"
6035
   "      (declare (in) vec4 radians))\n"
6036
   "    ()))\n"
6037
   "(function sin\n"
6038
   "  (signature float\n"
6039
   "    (parameters\n"
6040
   "      (declare (in) float angle))\n"
6041
   "    ())\n"
6042
   "  (signature vec2\n"
6043
   "    (parameters\n"
6044
   "      (declare (in) vec2 angle))\n"
6045
   "    ())\n"
6046
   "  (signature vec3\n"
6047
   "    (parameters\n"
6048
   "      (declare (in) vec3 angle))\n"
6049
   "    ())\n"
6050
   "  (signature vec4\n"
6051
   "    (parameters\n"
6052
   "      (declare (in) vec4 angle))\n"
6053
   "    ()))\n"
6054
   "(function cos\n"
6055
   "  (signature float\n"
6056
   "    (parameters\n"
6057
   "      (declare (in) float angle))\n"
6058
   "    ())\n"
6059
   "  (signature vec2\n"
6060
   "    (parameters\n"
6061
   "      (declare (in) vec2 angle))\n"
6062
   "    ())\n"
6063
   "  (signature vec3\n"
6064
   "    (parameters\n"
6065
   "      (declare (in) vec3 angle))\n"
6066
   "    ())\n"
6067
   "  (signature vec4\n"
6068
   "    (parameters\n"
6069
   "      (declare (in) vec4 angle))\n"
6070
   "    ()))\n"
6071
   "(function tan\n"
6072
   "  (signature float\n"
6073
   "    (parameters\n"
6074
   "      (declare (in) float angle))\n"
6075
   "    ())\n"
6076
   "  (signature vec2\n"
6077
   "    (parameters\n"
6078
   "      (declare (in) vec2 angle))\n"
6079
   "    ())\n"
6080
   "  (signature vec3\n"
6081
   "    (parameters\n"
6082
   "      (declare (in) vec3 angle))\n"
6083
   "    ())\n"
6084
   "  (signature vec4\n"
6085
   "    (parameters\n"
6086
   "      (declare (in) vec4 angle))\n"
6087
   "    ()))\n"
6088
   "(function asin\n"
6089
   "  (signature float\n"
6090
   "    (parameters\n"
6091
   "      (declare (in) float angle))\n"
6092
   "    ())\n"
6093
   "  (signature vec2\n"
6094
   "    (parameters\n"
6095
   "      (declare (in) vec2 angle))\n"
6096
   "    ())\n"
6097
   "  (signature vec3\n"
6098
   "    (parameters\n"
6099
   "      (declare (in) vec3 angle))\n"
6100
   "    ())\n"
6101
   "  (signature vec4\n"
6102
   "    (parameters\n"
6103
   "      (declare (in) vec4 angle))\n"
6104
   "    ()))\n"
6105
   "(function acos\n"
6106
   "  (signature float\n"
6107
   "    (parameters\n"
6108
   "      (declare (in) float angle))\n"
6109
   "    ())\n"
6110
   "  (signature vec2\n"
6111
   "    (parameters\n"
6112
   "      (declare (in) vec2 angle))\n"
6113
   "    ())\n"
6114
   "  (signature vec3\n"
6115
   "    (parameters\n"
6116
   "      (declare (in) vec3 angle))\n"
6117
   "    ())\n"
6118
   "  (signature vec4\n"
6119
   "    (parameters\n"
6120
   "      (declare (in) vec4 angle))\n"
6121
   "    ()))\n"
6122
   "(function atan\n"
6123
   "  (signature float\n"
6124
   "    (parameters\n"
6125
   "      (declare (in) float y)\n"
6126
   "      (declare (in) float x))\n"
6127
   "    ())\n"
6128
   "  (signature vec2\n"
6129
   "    (parameters\n"
6130
   "      (declare (in) vec2 y)\n"
6131
   "      (declare (in) vec2 x))\n"
6132
   "    ())\n"
6133
   "  (signature vec3\n"
6134
   "    (parameters\n"
6135
   "      (declare (in) vec3 y)\n"
6136
   "      (declare (in) vec3 x))\n"
6137
   "    ())\n"
6138
   "  (signature vec4\n"
6139
   "    (parameters\n"
6140
   "      (declare (in) vec4 y)\n"
6141
   "      (declare (in) vec4 x))\n"
6142
   "    ())\n"
6143
   "  (signature float\n"
6144
   "    (parameters\n"
6145
   "      (declare (in) float y_over_x))\n"
6146
   "    ())\n"
6147
   "  (signature vec2\n"
6148
   "    (parameters\n"
6149
   "      (declare (in) vec2 y_over_x))\n"
6150
   "    ())\n"
6151
   "  (signature vec3\n"
6152
   "    (parameters\n"
6153
   "      (declare (in) vec3 y_over_x))\n"
6154
   "    ())\n"
6155
   "  (signature vec4\n"
6156
   "    (parameters\n"
6157
   "      (declare (in) vec4 y_over_x))\n"
6158
   "    ()))\n"
6159
   "(function pow\n"
6160
   "  (signature float\n"
6161
   "    (parameters\n"
6162
   "      (declare (in) float x)\n"
6163
   "      (declare (in) float y))\n"
6164
   "    ())\n"
6165
   "  (signature vec2\n"
6166
   "    (parameters\n"
6167
   "      (declare (in) vec2 x)\n"
6168
   "      (declare (in) vec2 y))\n"
6169
   "    ())\n"
6170
   "  (signature vec3\n"
6171
   "    (parameters\n"
6172
   "      (declare (in) vec3 x)\n"
6173
   "      (declare (in) vec3 y))\n"
6174
   "    ())\n"
6175
   "  (signature vec4\n"
6176
   "    (parameters\n"
6177
   "      (declare (in) vec4 x)\n"
6178
   "      (declare (in) vec4 y))\n"
6179
   "    ()))\n"
6180
   "(function exp\n"
6181
   "  (signature float\n"
6182
   "    (parameters\n"
6183
   "      (declare (in) float x))\n"
6184
   "    ())\n"
6185
   "  (signature vec2\n"
6186
   "    (parameters\n"
6187
   "      (declare (in) vec2 x))\n"
6188
   "    ())\n"
6189
   "  (signature vec3\n"
6190
   "    (parameters\n"
6191
   "      (declare (in) vec3 x))\n"
6192
   "    ())\n"
6193
   "  (signature vec4\n"
6194
   "    (parameters\n"
6195
   "      (declare (in) vec4 x))\n"
6196
   "    ()))\n"
6197
   "(function log\n"
6198
   "  (signature float\n"
6199
   "    (parameters\n"
6200
   "      (declare (in) float x))\n"
6201
   "    ())\n"
6202
   "  (signature vec2\n"
6203
   "    (parameters\n"
6204
   "      (declare (in) vec2 x))\n"
6205
   "    ())\n"
6206
   "  (signature vec3\n"
6207
   "    (parameters\n"
6208
   "      (declare (in) vec3 x))\n"
6209
   "    ())\n"
6210
   "  (signature vec4\n"
6211
   "    (parameters\n"
6212
   "      (declare (in) vec4 x))\n"
6213
   "    ()))\n"
6214
   "(function exp2\n"
6215
   "  (signature float\n"
6216
   "    (parameters\n"
6217
   "      (declare (in) float x))\n"
6218
   "    ())\n"
6219
   "  (signature vec2\n"
6220
   "    (parameters\n"
6221
   "      (declare (in) vec2 x))\n"
6222
   "    ())\n"
6223
   "  (signature vec3\n"
6224
   "    (parameters\n"
6225
   "      (declare (in) vec3 x))\n"
6226
   "    ())\n"
6227
   "  (signature vec4\n"
6228
   "    (parameters\n"
6229
   "      (declare (in) vec4 x))\n"
6230
   "    ()))\n"
6231
   "(function log2\n"
6232
   "  (signature float\n"
6233
   "    (parameters\n"
6234
   "      (declare (in) float x))\n"
6235
   "    ())\n"
6236
   "  (signature vec2\n"
6237
   "    (parameters\n"
6238
   "      (declare (in) vec2 x))\n"
6239
   "    ())\n"
6240
   "  (signature vec3\n"
6241
   "    (parameters\n"
6242
   "      (declare (in) vec3 x))\n"
6243
   "    ())\n"
6244
   "  (signature vec4\n"
6245
   "    (parameters\n"
6246
   "      (declare (in) vec4 x))\n"
6247
   "    ()))\n"
6248
   "(function sqrt\n"
6249
   "  (signature float\n"
6250
   "    (parameters\n"
6251
   "      (declare (in) float x))\n"
6252
   "    ())\n"
6253
   "  (signature vec2\n"
6254
   "    (parameters\n"
6255
   "      (declare (in) vec2 x))\n"
6256
   "    ())\n"
6257
   "  (signature vec3\n"
6258
   "    (parameters\n"
6259
   "      (declare (in) vec3 x))\n"
6260
   "    ())\n"
6261
   "  (signature vec4\n"
6262
   "    (parameters\n"
6263
   "      (declare (in) vec4 x))\n"
6264
   "    ()))\n"
6265
   "(function inversesqrt\n"
6266
   "  (signature float\n"
6267
   "    (parameters\n"
6268
   "      (declare (in) float x))\n"
6269
   "    ())\n"
6270
   "  (signature vec2\n"
6271
   "    (parameters\n"
6272
   "      (declare (in) vec2 x))\n"
6273
   "    ())\n"
6274
   "  (signature vec3\n"
6275
   "    (parameters\n"
6276
   "      (declare (in) vec3 x))\n"
6277
   "    ())\n"
6278
   "  (signature vec4\n"
6279
   "    (parameters\n"
6280
   "      (declare (in) vec4 x))\n"
6281
   "    ()))\n"
6282
   "(function abs\n"
6283
   "  (signature float\n"
6284
   "    (parameters\n"
6285
   "      (declare (in) float x))\n"
6286
   "    ())\n"
6287
   "  (signature vec2\n"
6288
   "    (parameters\n"
6289
   "      (declare (in) vec2 x))\n"
6290
   "    ())\n"
6291
   "  (signature vec3\n"
6292
   "    (parameters\n"
6293
   "      (declare (in) vec3 x))\n"
6294
   "    ())\n"
6295
   "  (signature vec4\n"
6296
   "    (parameters\n"
6297
   "      (declare (in) vec4 x))\n"
6298
   "    ()))\n"
6299
   "(function sign\n"
6300
   "  (signature float\n"
6301
   "    (parameters\n"
6302
   "      (declare (in) float x))\n"
6303
   "    ())\n"
6304
   "  (signature vec2\n"
6305
   "    (parameters\n"
6306
   "      (declare (in) vec2 x))\n"
6307
   "    ())\n"
6308
   "  (signature vec3\n"
6309
   "    (parameters\n"
6310
   "      (declare (in) vec3 x))\n"
6311
   "    ())\n"
6312
   "  (signature vec4\n"
6313
   "    (parameters\n"
6314
   "      (declare (in) vec4 x))\n"
6315
   "    ()))\n"
6316
   "(function floor\n"
6317
   "  (signature float\n"
6318
   "    (parameters\n"
6319
   "      (declare (in) float x))\n"
6320
   "    ())\n"
6321
   "  (signature vec2\n"
6322
   "    (parameters\n"
6323
   "      (declare (in) vec2 x))\n"
6324
   "    ())\n"
6325
   "  (signature vec3\n"
6326
   "    (parameters\n"
6327
   "      (declare (in) vec3 x))\n"
6328
   "    ())\n"
6329
   "  (signature vec4\n"
6330
   "    (parameters\n"
6331
   "      (declare (in) vec4 x))\n"
6332
   "    ()))\n"
6333
   "(function ceil\n"
6334
   "  (signature float\n"
6335
   "    (parameters\n"
6336
   "      (declare (in) float x))\n"
6337
   "    ())\n"
6338
   "  (signature vec2\n"
6339
   "    (parameters\n"
6340
   "      (declare (in) vec2 x))\n"
6341
   "    ())\n"
6342
   "  (signature vec3\n"
6343
   "    (parameters\n"
6344
   "      (declare (in) vec3 x))\n"
6345
   "    ())\n"
6346
   "  (signature vec4\n"
6347
   "    (parameters\n"
6348
   "      (declare (in) vec4 x))\n"
6349
   "    ()))\n"
6350
   "(function fract\n"
6351
   "  (signature float\n"
6352
   "    (parameters\n"
6353
   "      (declare (in) float x))\n"
6354
   "    ())\n"
6355
   "  (signature vec2\n"
6356
   "    (parameters\n"
6357
   "      (declare (in) vec2 x))\n"
6358
   "    ())\n"
6359
   "  (signature vec3\n"
6360
   "    (parameters\n"
6361
   "      (declare (in) vec3 x))\n"
6362
   "    ())\n"
6363
   "  (signature vec4\n"
6364
   "    (parameters\n"
6365
   "      (declare (in) vec4 x))\n"
6366
   "    ()))\n"
6367
   "(function mod\n"
6368
   "  (signature float\n"
6369
   "    (parameters\n"
6370
   "      (declare (in) float x)\n"
6371
   "      (declare (in) float y))\n"
6372
   "    ())\n"
6373
   "  (signature vec2\n"
6374
   "    (parameters\n"
6375
   "      (declare (in) vec2 x)\n"
6376
   "      (declare (in) float y))\n"
6377
   "    ())\n"
6378
   "  (signature vec3\n"
6379
   "    (parameters\n"
6380
   "      (declare (in) vec3 x)\n"
6381
   "      (declare (in) float y))\n"
6382
   "    ())\n"
6383
   "  (signature vec4\n"
6384
   "    (parameters\n"
6385
   "      (declare (in) vec4 x)\n"
6386
   "      (declare (in) float y))\n"
6387
   "    ())\n"
6388
   "  (signature vec2\n"
6389
   "    (parameters\n"
6390
   "      (declare (in) vec2 x)\n"
6391
   "      (declare (in) vec2 y))\n"
6392
   "    ())\n"
6393
   "  (signature vec3\n"
6394
   "    (parameters\n"
6395
   "      (declare (in) vec3 x)\n"
6396
   "      (declare (in) vec3 y))\n"
6397
   "    ())\n"
6398
   "  (signature vec4\n"
6399
   "    (parameters\n"
6400
   "      (declare (in) vec4 x)\n"
6401
   "      (declare (in) vec4 y))\n"
6402
   "    ()))\n"
6403
   "(function min\n"
6404
   "  (signature float\n"
6405
   "    (parameters\n"
6406
   "      (declare (in) float x)\n"
6407
   "      (declare (in) float y))\n"
6408
   "    ())\n"
6409
   "  (signature vec2\n"
6410
   "    (parameters\n"
6411
   "      (declare (in) vec2 x)\n"
6412
   "      (declare (in) vec2 y))\n"
6413
   "    ())\n"
6414
   "  (signature vec3\n"
6415
   "    (parameters\n"
6416
   "      (declare (in) vec3 x)\n"
6417
   "      (declare (in) vec3 y))\n"
6418
   "    ())\n"
6419
   "  (signature vec4\n"
6420
   "    (parameters\n"
6421
   "      (declare (in) vec4 x)\n"
6422
   "      (declare (in) vec4 y))\n"
6423
   "    ())\n"
6424
   "  (signature vec2\n"
6425
   "    (parameters\n"
6426
   "      (declare (in) vec2 x)\n"
6427
   "      (declare (in) float y))\n"
6428
   "    ())\n"
6429
   "  (signature vec3\n"
6430
   "    (parameters\n"
6431
   "      (declare (in) vec3 x)\n"
6432
   "      (declare (in) float y))\n"
6433
   "    ())\n"
6434
   "  (signature vec4\n"
6435
   "    (parameters\n"
6436
   "      (declare (in) vec4 x)\n"
6437
   "      (declare (in) float y))\n"
6438
   "    ()))\n"
6439
   "(function max\n"
6440
   "  (signature float\n"
6441
   "    (parameters\n"
6442
   "      (declare (in) float x)\n"
6443
   "      (declare (in) float y))\n"
6444
   "    ())\n"
6445
   "  (signature vec2\n"
6446
   "    (parameters\n"
6447
   "      (declare (in) vec2 x)\n"
6448
   "      (declare (in) vec2 y))\n"
6449
   "    ())\n"
6450
   "  (signature vec3\n"
6451
   "    (parameters\n"
6452
   "      (declare (in) vec3 x)\n"
6453
   "      (declare (in) vec3 y))\n"
6454
   "    ())\n"
6455
   "  (signature vec4\n"
6456
   "    (parameters\n"
6457
   "      (declare (in) vec4 x)\n"
6458
   "      (declare (in) vec4 y))\n"
6459
   "    ())\n"
6460
   "  (signature vec2\n"
6461
   "    (parameters\n"
6462
   "      (declare (in) vec2 x)\n"
6463
   "      (declare (in) float y))\n"
6464
   "    ())\n"
6465
   "  (signature vec3\n"
6466
   "    (parameters\n"
6467
   "      (declare (in) vec3 x)\n"
6468
   "      (declare (in) float y))\n"
6469
   "    ())\n"
6470
   "  (signature vec4\n"
6471
   "    (parameters\n"
6472
   "      (declare (in) vec4 x)\n"
6473
   "      (declare (in) float y))\n"
6474
   "    ()))\n"
6475
   "(function clamp\n"
6476
   "  (signature float\n"
6477
   "    (parameters\n"
6478
   "      (declare (in) float x)\n"
6479
   "      (declare (in) float minVal)\n"
6480
   "      (declare (in) float maxVal))\n"
6481
   "    ())\n"
6482
   "  (signature vec2\n"
6483
   "    (parameters\n"
6484
   "      (declare (in) vec2 x)\n"
6485
   "      (declare (in) vec2 minVal)\n"
6486
   "      (declare (in) vec2 maxVal))\n"
6487
   "    ())\n"
6488
   "  (signature vec3\n"
6489
   "    (parameters\n"
6490
   "      (declare (in) vec3 x)\n"
6491
   "      (declare (in) vec3 minVal)\n"
6492
   "      (declare (in) vec3 maxVal))\n"
6493
   "    ())\n"
6494
   "  (signature vec4\n"
6495
   "    (parameters\n"
6496
   "      (declare (in) vec4 x)\n"
6497
   "      (declare (in) vec4 minVal)\n"
6498
   "      (declare (in) vec4 maxVal))\n"
6499
   "    ())\n"
6500
   "  (signature vec2\n"
6501
   "    (parameters\n"
6502
   "      (declare (in) vec2 x)\n"
6503
   "      (declare (in) float minVal)\n"
6504
   "      (declare (in) float maxVal))\n"
6505
   "    ())\n"
6506
   "  (signature vec3\n"
6507
   "    (parameters\n"
6508
   "      (declare (in) vec3 x)\n"
6509
   "      (declare (in) float minVal)\n"
6510
   "      (declare (in) float maxVal))\n"
6511
   "    ())\n"
6512
   "  (signature vec4\n"
6513
   "    (parameters\n"
6514
   "      (declare (in) vec4 x)\n"
6515
   "      (declare (in) float minVal)\n"
6516
   "      (declare (in) float maxVal))\n"
6517
   "    ()))\n"
6518
   "(function mix\n"
6519
   "  (signature float\n"
6520
   "    (parameters\n"
6521
   "      (declare (in) float x)\n"
6522
   "      (declare (in) float y)\n"
6523
   "      (declare (in) float a))\n"
6524
   "    ())\n"
6525
   "  (signature vec2\n"
6526
   "    (parameters\n"
6527
   "      (declare (in) vec2 x)\n"
6528
   "      (declare (in) vec2 y)\n"
6529
   "      (declare (in) vec2 a))\n"
6530
   "    ())\n"
6531
   "  (signature vec3\n"
6532
   "    (parameters\n"
6533
   "      (declare (in) vec3 x)\n"
6534
   "      (declare (in) vec3 y)\n"
6535
   "      (declare (in) vec3 a))\n"
6536
   "    ())\n"
6537
   "  (signature vec4\n"
6538
   "    (parameters\n"
6539
   "      (declare (in) vec4 x)\n"
6540
   "      (declare (in) vec4 y)\n"
6541
   "      (declare (in) vec4 a))\n"
6542
   "    ())\n"
6543
   "  (signature vec2\n"
6544
   "    (parameters\n"
6545
   "      (declare (in) vec2 x)\n"
6546
   "      (declare (in) vec2 y)\n"
6547
   "      (declare (in) float a))\n"
6548
   "    ())\n"
6549
   "  (signature vec3\n"
6550
   "    (parameters\n"
6551
   "      (declare (in) vec3 x)\n"
6552
   "      (declare (in) vec3 y)\n"
6553
   "      (declare (in) float a))\n"
6554
   "    ())\n"
6555
   "  (signature vec4\n"
6556
   "    (parameters\n"
6557
   "      (declare (in) vec4 x)\n"
6558
   "      (declare (in) vec4 y)\n"
6559
   "      (declare (in) float a))\n"
6560
   "    ()))\n"
6561
   "(function step\n"
6562
   "  (signature float\n"
6563
   "    (parameters\n"
6564
   "      (declare (in) float edge)\n"
6565
   "      (declare (in) float x))\n"
6566
   "    ())\n"
6567
   "  (signature vec2\n"
6568
   "    (parameters\n"
6569
   "      (declare (in) vec2 edge)\n"
6570
   "      (declare (in) vec2 x))\n"
6571
   "    ())\n"
6572
   "  (signature vec3\n"
6573
   "    (parameters\n"
6574
   "      (declare (in) vec3 edge)\n"
6575
   "      (declare (in) vec3 x))\n"
6576
   "    ())\n"
6577
   "  (signature vec4\n"
6578
   "    (parameters\n"
6579
   "      (declare (in) vec4 edge)\n"
6580
   "      (declare (in) vec4 x))\n"
6581
   "    ())\n"
6582
   "  (signature vec2\n"
6583
   "    (parameters\n"
6584
   "      (declare (in) float edge)\n"
6585
   "      (declare (in) vec2 x))\n"
6586
   "    ())\n"
6587
   "  (signature vec3\n"
6588
   "    (parameters\n"
6589
   "      (declare (in) float edge)\n"
6590
   "      (declare (in) vec3 x))\n"
6591
   "    ())\n"
6592
   "  (signature vec4\n"
6593
   "    (parameters\n"
6594
   "      (declare (in) float edge)\n"
6595
   "      (declare (in) vec4 x))\n"
6596
   "    ()))\n"
6597
   "(function smoothstep\n"
6598
   "  (signature float\n"
6599
   "    (parameters\n"
6600
   "      (declare (in) float edge0)\n"
6601
   "      (declare (in) float edge1)\n"
6602
   "      (declare (in) float x))\n"
6603
   "    ())\n"
6604
   "  (signature vec2\n"
6605
   "    (parameters\n"
6606
   "      (declare (in) vec2 edge0)\n"
6607
   "      (declare (in) vec2 edge1)\n"
6608
   "      (declare (in) vec2 x))\n"
6609
   "    ())\n"
6610
   "  (signature vec3\n"
6611
   "    (parameters\n"
6612
   "      (declare (in) vec3 edge0)\n"
6613
   "      (declare (in) vec3 edge1)\n"
6614
   "      (declare (in) vec3 x))\n"
6615
   "    ())\n"
6616
   "  (signature vec4\n"
6617
   "    (parameters\n"
6618
   "      (declare (in) vec4 edge0)\n"
6619
   "      (declare (in) vec4 edge1)\n"
6620
   "      (declare (in) vec4 x))\n"
6621
   "    ())\n"
6622
   "  (signature vec2\n"
6623
   "    (parameters\n"
6624
   "      (declare (in) float edge0)\n"
6625
   "      (declare (in) float edge1)\n"
6626
   "      (declare (in) vec2 x))\n"
6627
   "    ())\n"
6628
   "  (signature vec3\n"
6629
   "    (parameters\n"
6630
   "      (declare (in) float edge0)\n"
6631
   "      (declare (in) float edge1)\n"
6632
   "      (declare (in) vec3 x))\n"
6633
   "    ())\n"
6634
   "  (signature vec4\n"
6635
   "    (parameters\n"
6636
   "      (declare (in) float edge0)\n"
6637
   "      (declare (in) float edge1)\n"
6638
   "      (declare (in) vec4 x))\n"
6639
   "    ()))\n"
6640
   "(function length\n"
6641
   "  (signature float\n"
6642
   "    (parameters\n"
6643
   "      (declare (in) float x))\n"
6644
   "    ())\n"
6645
   "  (signature float\n"
6646
   "    (parameters\n"
6647
   "      (declare (in) vec2 x))\n"
6648
   "    ())\n"
6649
   "  (signature float\n"
6650
   "    (parameters\n"
6651
   "      (declare (in) vec3 x))\n"
6652
   "    ())\n"
6653
   "  (signature float\n"
6654
   "    (parameters\n"
6655
   "      (declare (in) vec4 x))\n"
6656
   "    ()))\n"
6657
   "(function distance\n"
6658
   "  (signature float\n"
6659
   "    (parameters\n"
6660
   "      (declare (in) float p0)\n"
6661
   "      (declare (in) float p1))\n"
6662
   "    ())\n"
6663
   "  (signature float\n"
6664
   "    (parameters\n"
6665
   "      (declare (in) vec2 p0)\n"
6666
   "      (declare (in) vec2 p1))\n"
6667
   "    ())\n"
6668
   "  (signature float\n"
6669
   "    (parameters\n"
6670
   "      (declare (in) vec3 p0)\n"
6671
   "      (declare (in) vec3 p1))\n"
6672
   "    ())\n"
6673
   "  (signature float\n"
6674
   "    (parameters\n"
6675
   "      (declare (in) vec4 p0)\n"
6676
   "      (declare (in) vec4 p1))\n"
6677
   "    ()))\n"
6678
   "(function dot\n"
6679
   "  (signature float\n"
6680
   "    (parameters\n"
6681
   "      (declare (in) float x)\n"
6682
   "      (declare (in) float y))\n"
6683
   "    ())\n"
6684
   "  (signature float\n"
6685
   "    (parameters\n"
6686
   "      (declare (in) vec2 x)\n"
6687
   "      (declare (in) vec2 y))\n"
6688
   "    ())\n"
6689
   "  (signature float\n"
6690
   "    (parameters\n"
6691
   "      (declare (in) vec3 x)\n"
6692
   "      (declare (in) vec3 y))\n"
6693
   "    ())\n"
6694
   "  (signature float\n"
6695
   "    (parameters\n"
6696
   "      (declare (in) vec4 x)\n"
6697
   "      (declare (in) vec4 y))\n"
6698
   "    ()))\n"
6699
   "(function cross\n"
6700
   "  (signature vec3\n"
6701
   "    (parameters\n"
6702
   "      (declare (in) vec3 x)\n"
6703
   "      (declare (in) vec3 y))\n"
6704
   "    ()))\n"
6705
   "(function normalize\n"
6706
   "  (signature float\n"
6707
   "    (parameters\n"
6708
   "      (declare (in) float x))\n"
6709
   "    ())\n"
6710
   "  (signature vec2\n"
6711
   "    (parameters\n"
6712
   "      (declare (in) vec2 x))\n"
6713
   "    ())\n"
6714
   "  (signature vec3\n"
6715
   "    (parameters\n"
6716
   "      (declare (in) vec3 x))\n"
6717
   "    ())\n"
6718
   "  (signature vec4\n"
6719
   "    (parameters\n"
6720
   "      (declare (in) vec4 x))\n"
6721
   "    ()))\n"
6722
   "(function faceforward\n"
6723
   "  (signature float\n"
6724
   "    (parameters\n"
6725
   "      (declare (in) float N)\n"
6726
   "      (declare (in) float I)\n"
6727
   "      (declare (in) float Nref))\n"
6728
   "    ())\n"
6729
   "  (signature vec2\n"
6730
   "    (parameters\n"
6731
   "      (declare (in) vec2 N)\n"
6732
   "      (declare (in) vec2 I)\n"
6733
   "      (declare (in) vec2 Nref))\n"
6734
   "    ())\n"
6735
   "  (signature vec3\n"
6736
   "    (parameters\n"
6737
   "      (declare (in) vec3 N)\n"
6738
   "      (declare (in) vec3 I)\n"
6739
   "      (declare (in) vec3 Nref))\n"
6740
   "    ())\n"
6741
   "  (signature vec4\n"
6742
   "    (parameters\n"
6743
   "      (declare (in) vec4 N)\n"
6744
   "      (declare (in) vec4 I)\n"
6745
   "      (declare (in) vec4 Nref))\n"
6746
   "    ()))\n"
6747
   "(function reflect\n"
6748
   "  (signature float\n"
6749
   "    (parameters\n"
6750
   "      (declare (in) float I)\n"
6751
   "      (declare (in) float N))\n"
6752
   "    ())\n"
6753
   "  (signature vec2\n"
6754
   "    (parameters\n"
6755
   "      (declare (in) vec2 I)\n"
6756
   "      (declare (in) vec2 N))\n"
6757
   "    ())\n"
6758
   "  (signature vec3\n"
6759
   "    (parameters\n"
6760
   "      (declare (in) vec3 I)\n"
6761
   "      (declare (in) vec3 N))\n"
6762
   "    ())\n"
6763
   "  (signature vec4\n"
6764
   "    (parameters\n"
6765
   "      (declare (in) vec4 I)\n"
6766
   "      (declare (in) vec4 N))\n"
6767
   "    ()))\n"
6768
   "(function refract\n"
6769
   "  (signature float\n"
6770
   "    (parameters\n"
6771
   "      (declare (in) float I)\n"
6772
   "      (declare (in) float N)\n"
6773
   "      (declare (in) float eta))\n"
6774
   "    ())\n"
6775
   "  (signature vec2\n"
6776
   "    (parameters\n"
6777
   "      (declare (in) vec2 I)\n"
6778
   "      (declare (in) vec2 N)\n"
6779
   "      (declare (in) float eta))\n"
6780
   "    ())\n"
6781
   "  (signature vec3\n"
6782
   "    (parameters\n"
6783
   "      (declare (in) vec3 I)\n"
6784
   "      (declare (in) vec3 N)\n"
6785
   "      (declare (in) float eta))\n"
6786
   "    ())\n"
6787
   "  (signature vec4\n"
6788
   "    (parameters\n"
6789
   "      (declare (in) vec4 I)\n"
6790
   "      (declare (in) vec4 N)\n"
6791
   "      (declare (in) float eta))\n"
6792
   "    ()))\n"
6793
   "(function matrixCompMult\n"
6794
   "  (signature mat2\n"
6795
   "    (parameters\n"
6796
   "      (declare (in) mat2 x)\n"
6797
   "      (declare (in) mat2 y))\n"
6798
   "    ())\n"
6799
   "  (signature mat3\n"
6800
   "    (parameters\n"
6801
   "      (declare (in) mat3 x)\n"
6802
   "      (declare (in) mat3 y))\n"
6803
   "    ())\n"
6804
   "  (signature mat4\n"
6805
   "    (parameters\n"
6806
   "      (declare (in) mat4 x)\n"
6807
   "      (declare (in) mat4 y))\n"
6808
   "    ()))\n"
6809
   "(function lessThan\n"
6810
   "  (signature bvec2\n"
6811
   "    (parameters\n"
6812
   "      (declare (in) vec2 x)\n"
6813
   "      (declare (in) vec2 y))\n"
6814
   "    ())\n"
6815
   "  (signature bvec3\n"
6816
   "    (parameters\n"
6817
   "      (declare (in) vec3 x)\n"
6818
   "      (declare (in) vec3 y))\n"
6819
   "    ())\n"
6820
   "  (signature bvec4\n"
6821
   "    (parameters\n"
6822
   "      (declare (in) vec4 x)\n"
6823
   "      (declare (in) vec4 y))\n"
6824
   "    ())\n"
6825
   "  (signature bvec2\n"
6826
   "    (parameters\n"
6827
   "      (declare (in) ivec2 x)\n"
6828
   "      (declare (in) ivec2 y))\n"
6829
   "    ())\n"
6830
   "  (signature bvec3\n"
6831
   "    (parameters\n"
6832
   "      (declare (in) ivec3 x)\n"
6833
   "      (declare (in) ivec3 y))\n"
6834
   "    ())\n"
6835
   "  (signature bvec4\n"
6836
   "    (parameters\n"
6837
   "      (declare (in) ivec4 x)\n"
6838
   "      (declare (in) ivec4 y))\n"
6839
   "    ()))\n"
6840
   "(function lessThanEqual\n"
6841
   "  (signature bvec2\n"
6842
   "    (parameters\n"
6843
   "      (declare (in) vec2 x)\n"
6844
   "      (declare (in) vec2 y))\n"
6845
   "    ())\n"
6846
   "  (signature bvec3\n"
6847
   "    (parameters\n"
6848
   "      (declare (in) vec3 x)\n"
6849
   "      (declare (in) vec3 y))\n"
6850
   "    ())\n"
6851
   "  (signature bvec4\n"
6852
   "    (parameters\n"
6853
   "      (declare (in) vec4 x)\n"
6854
   "      (declare (in) vec4 y))\n"
6855
   "    ())\n"
6856
   "  (signature bvec2\n"
6857
   "    (parameters\n"
6858
   "      (declare (in) ivec2 x)\n"
6859
   "      (declare (in) ivec2 y))\n"
6860
   "    ())\n"
6861
   "  (signature bvec3\n"
6862
   "    (parameters\n"
6863
   "      (declare (in) ivec3 x)\n"
6864
   "      (declare (in) ivec3 y))\n"
6865
   "    ())\n"
6866
   "  (signature bvec4\n"
6867
   "    (parameters\n"
6868
   "      (declare (in) ivec4 x)\n"
6869
   "      (declare (in) ivec4 y))\n"
6870
   "    ()))\n"
6871
   "(function greaterThan\n"
6872
   "  (signature bvec2\n"
6873
   "    (parameters\n"
6874
   "      (declare (in) vec2 x)\n"
6875
   "      (declare (in) vec2 y))\n"
6876
   "    ())\n"
6877
   "  (signature bvec3\n"
6878
   "    (parameters\n"
6879
   "      (declare (in) vec3 x)\n"
6880
   "      (declare (in) vec3 y))\n"
6881
   "    ())\n"
6882
   "  (signature bvec4\n"
6883
   "    (parameters\n"
6884
   "      (declare (in) vec4 x)\n"
6885
   "      (declare (in) vec4 y))\n"
6886
   "    ())\n"
6887
   "  (signature bvec2\n"
6888
   "    (parameters\n"
6889
   "      (declare (in) ivec2 x)\n"
6890
   "      (declare (in) ivec2 y))\n"
6891
   "    ())\n"
6892
   "  (signature bvec3\n"
6893
   "    (parameters\n"
6894
   "      (declare (in) ivec3 x)\n"
6895
   "      (declare (in) ivec3 y))\n"
6896
   "    ())\n"
6897
   "  (signature bvec4\n"
6898
   "    (parameters\n"
6899
   "      (declare (in) ivec4 x)\n"
6900
   "      (declare (in) ivec4 y))\n"
6901
   "    ()))\n"
6902
   "(function greaterThanEqual\n"
6903
   "  (signature bvec2\n"
6904
   "    (parameters\n"
6905
   "      (declare (in) vec2 x)\n"
6906
   "      (declare (in) vec2 y))\n"
6907
   "    ())\n"
6908
   "  (signature bvec3\n"
6909
   "    (parameters\n"
6910
   "      (declare (in) vec3 x)\n"
6911
   "      (declare (in) vec3 y))\n"
6912
   "    ())\n"
6913
   "  (signature bvec4\n"
6914
   "    (parameters\n"
6915
   "      (declare (in) vec4 x)\n"
6916
   "      (declare (in) vec4 y))\n"
6917
   "    ())\n"
6918
   "  (signature bvec2\n"
6919
   "    (parameters\n"
6920
   "      (declare (in) ivec2 x)\n"
6921
   "      (declare (in) ivec2 y))\n"
6922
   "    ())\n"
6923
   "  (signature bvec3\n"
6924
   "    (parameters\n"
6925
   "      (declare (in) ivec3 x)\n"
6926
   "      (declare (in) ivec3 y))\n"
6927
   "    ())\n"
6928
   "  (signature bvec4\n"
6929
   "    (parameters\n"
6930
   "      (declare (in) ivec4 x)\n"
6931
   "      (declare (in) ivec4 y))\n"
6932
   "    ()))\n"
6933
   "(function equal\n"
6934
   "  (signature bvec2\n"
6935
   "    (parameters\n"
6936
   "      (declare (in) vec2 x)\n"
6937
   "      (declare (in) vec2 y))\n"
6938
   "    ())\n"
6939
   "  (signature bvec3\n"
6940
   "    (parameters\n"
6941
   "      (declare (in) vec3 x)\n"
6942
   "      (declare (in) vec3 y))\n"
6943
   "    ())\n"
6944
   "  (signature bvec4\n"
6945
   "    (parameters\n"
6946
   "      (declare (in) vec4 x)\n"
6947
   "      (declare (in) vec4 y))\n"
6948
   "    ())\n"
6949
   "  (signature bvec2\n"
6950
   "    (parameters\n"
6951
   "      (declare (in) ivec2 x)\n"
6952
   "      (declare (in) ivec2 y))\n"
6953
   "    ())\n"
6954
   "  (signature bvec3\n"
6955
   "    (parameters\n"
6956
   "      (declare (in) ivec3 x)\n"
6957
   "      (declare (in) ivec3 y))\n"
6958
   "    ())\n"
6959
   "  (signature bvec4\n"
6960
   "    (parameters\n"
6961
   "      (declare (in) ivec4 x)\n"
6962
   "      (declare (in) ivec4 y))\n"
6963
   "    ())\n"
6964
   "  (signature bvec2\n"
6965
   "    (parameters\n"
6966
   "      (declare (in) bvec2 x)\n"
6967
   "      (declare (in) bvec2 y))\n"
6968
   "    ())\n"
6969
   "  (signature bvec3\n"
6970
   "    (parameters\n"
6971
   "      (declare (in) bvec3 x)\n"
6972
   "      (declare (in) bvec3 y))\n"
6973
   "    ())\n"
6974
   "  (signature bvec4\n"
6975
   "    (parameters\n"
6976
   "      (declare (in) bvec4 x)\n"
6977
   "      (declare (in) bvec4 y))\n"
6978
   "    ()))\n"
6979
   "(function notEqual\n"
6980
   "  (signature bvec2\n"
6981
   "    (parameters\n"
6982
   "      (declare (in) vec2 x)\n"
6983
   "      (declare (in) vec2 y))\n"
6984
   "    ())\n"
6985
   "  (signature bvec3\n"
6986
   "    (parameters\n"
6987
   "      (declare (in) vec3 x)\n"
6988
   "      (declare (in) vec3 y))\n"
6989
   "    ())\n"
6990
   "  (signature bvec4\n"
6991
   "    (parameters\n"
6992
   "      (declare (in) vec4 x)\n"
6993
   "      (declare (in) vec4 y))\n"
6994
   "    ())\n"
6995
   "  (signature bvec2\n"
6996
   "    (parameters\n"
6997
   "      (declare (in) ivec2 x)\n"
6998
   "      (declare (in) ivec2 y))\n"
6999
   "    ())\n"
7000
   "  (signature bvec3\n"
7001
   "    (parameters\n"
7002
   "      (declare (in) ivec3 x)\n"
7003
   "      (declare (in) ivec3 y))\n"
7004
   "    ())\n"
7005
   "  (signature bvec4\n"
7006
   "    (parameters\n"
7007
   "      (declare (in) ivec4 x)\n"
7008
   "      (declare (in) ivec4 y))\n"
7009
   "    ())\n"
7010
   "  (signature bvec2\n"
7011
   "    (parameters\n"
7012
   "      (declare (in) bvec2 x)\n"
7013
   "      (declare (in) bvec2 y))\n"
7014
   "    ())\n"
7015
   "  (signature bvec3\n"
7016
   "    (parameters\n"
7017
   "      (declare (in) bvec3 x)\n"
7018
   "      (declare (in) bvec3 y))\n"
7019
   "    ())\n"
7020
   "  (signature bvec4\n"
7021
   "    (parameters\n"
7022
   "      (declare (in) bvec4 x)\n"
7023
   "      (declare (in) bvec4 y))\n"
7024
   "    ()))\n"
7025
   "(function any\n"
7026
   "  (signature bool\n"
7027
   "    (parameters\n"
7028
   "      (declare (in) bvec2 x))\n"
7029
   "    ())\n"
7030
   "  (signature bool\n"
7031
   "    (parameters\n"
7032
   "      (declare (in) bvec3 x))\n"
7033
   "    ())\n"
7034
   "  (signature bool\n"
7035
   "    (parameters\n"
7036
   "      (declare (in) bvec4 x))\n"
7037
   "    ()))\n"
7038
   "(function all\n"
7039
   "  (signature bool\n"
7040
   "    (parameters\n"
7041
   "      (declare (in) bvec2 x))\n"
7042
   "    ())\n"
7043
   "  (signature bool\n"
7044
   "    (parameters\n"
7045
   "      (declare (in) bvec3 x))\n"
7046
   "    ())\n"
7047
   "  (signature bool\n"
7048
   "    (parameters\n"
7049
   "      (declare (in) bvec4 x))\n"
7050
   "    ()))\n"
7051
   "(function not\n"
7052
   "  (signature bvec2\n"
7053
   "    (parameters\n"
7054
   "      (declare (in) bvec2 x))\n"
7055
   "    ())\n"
7056
   "  (signature bvec3\n"
7057
   "    (parameters\n"
7058
   "      (declare (in) bvec3 x))\n"
7059
   "    ())\n"
7060
   "  (signature bvec4\n"
7061
   "    (parameters\n"
7062
   "      (declare (in) bvec4 x))\n"
7063
   "    ()))\n"
7064
   "(function texture2D\n"
7065
   "  (signature vec4\n"
7066
   "    (parameters\n"
7067
   "      (declare (in) sampler2D sampler)\n"
7068
   "      (declare (in) vec2 coord))\n"
7069
   "    ()))\n"
7070
   "(function texture2DProj\n"
7071
   "  (signature vec4\n"
7072
   "    (parameters\n"
7073
   "      (declare (in) sampler2D sampler)\n"
7074
   "      (declare (in) vec3 coord))\n"
7075
   "    ())\n"
7076
   "  (signature vec4\n"
7077
   "    (parameters\n"
7078
   "      (declare (in) sampler2D sampler)\n"
7079
   "      (declare (in) vec4 coord))\n"
7080
   "    ()))\n"
7081
   "(function texture2DLod\n"
7082
   "  (signature vec4\n"
7083
   "    (parameters\n"
7084
   "      (declare (in) sampler2D sampler)\n"
7085
   "      (declare (in) vec2 coord)\n"
7086
   "      (declare (in) float lod))\n"
7087
   "    ()))\n"
7088
   "(function texture2DProjLod\n"
7089
   "  (signature vec4\n"
7090
   "    (parameters\n"
7091
   "      (declare (in) sampler2D sampler)\n"
7092
   "      (declare (in) vec3 coord)\n"
7093
   "      (declare (in) float lod))\n"
7094
   "    ())\n"
7095
   "  (signature vec4\n"
7096
   "    (parameters\n"
7097
   "      (declare (in) sampler2D sampler)\n"
7098
   "      (declare (in) vec4 coord)\n"
7099
   "      (declare (in) float lod))\n"
7100
   "    ()))\n"
7101
   "(function textureCube\n"
7102
   "  (signature vec4\n"
7103
   "    (parameters\n"
7104
   "      (declare (in) samplerCube sampler)\n"
7105
   "      (declare (in) vec3 coord))\n"
7106
   "    ()))\n"
7107
   "(function textureCubeLod\n"
7108
   "  (signature vec4\n"
7109
   "    (parameters\n"
7110
   "      (declare (in) samplerCube sampler)\n"
7111
   "      (declare (in) vec3 coord)\n"
7112
   "      (declare (in) float lod))\n"
7113
   "    ())))"
7114
;
7115
static const char *functions_for_100_vert [] = {
7116
   builtin_abs,
7117
   builtin_acos,
7118
   builtin_all,
7119
   builtin_any,
7120
   builtin_asin,
7121
   builtin_atan,
7122
   builtin_ceil,
7123
   builtin_clamp,
7124
   builtin_cos,
7125
   builtin_cross,
7126
   builtin_degrees,
7127
   builtin_distance,
7128
   builtin_dot,
7129
   builtin_equal,
7130
   builtin_exp,
7131
   builtin_exp2,
7132
   builtin_faceforward,
7133
   builtin_floor,
7134
   builtin_fract,
7135
   builtin_greaterThan,
7136
   builtin_greaterThanEqual,
7137
   builtin_inversesqrt,
7138
   builtin_length,
7139
   builtin_lessThan,
7140
   builtin_lessThanEqual,
7141
   builtin_log,
7142
   builtin_log2,
7143
   builtin_matrixCompMult,
7144
   builtin_max,
7145
   builtin_min,
7146
   builtin_mix,
7147
   builtin_mod,
7148
   builtin_normalize,
7149
   builtin_not,
7150
   builtin_notEqual,
7151
   builtin_pow,
7152
   builtin_radians,
7153
   builtin_reflect,
7154
   builtin_refract,
7155
   builtin_sign,
7156
   builtin_sin,
7157
   builtin_smoothstep,
7158
   builtin_sqrt,
7159
   builtin_step,
7160
   builtin_tan,
7161
   builtin_texture2D,
7162
   builtin_texture2DLod,
7163
   builtin_texture2DProj,
7164
   builtin_texture2DProjLod,
7165
   builtin_textureCube,
7166
   builtin_textureCubeLod,
7167
};
7168
static const char prototypes_for_110_frag[] =
7169
   "(\n"
7170
   "(function radians\n"
7171
   "  (signature float\n"
7172
   "    (parameters\n"
7173
   "      (declare (in) float degrees))\n"
7174
   "    ())\n"
7175
   "  (signature vec2\n"
7176
   "    (parameters\n"
7177
   "      (declare (in) vec2 degrees))\n"
7178
   "    ())\n"
7179
   "  (signature vec3\n"
7180
   "    (parameters\n"
7181
   "      (declare (in) vec3 degrees))\n"
7182
   "    ())\n"
7183
   "  (signature vec4\n"
7184
   "    (parameters\n"
7185
   "      (declare (in) vec4 degrees))\n"
7186
   "    ()))\n"
7187
   "(function degrees\n"
7188
   "  (signature float\n"
7189
   "    (parameters\n"
7190
   "      (declare (in) float radians))\n"
7191
   "    ())\n"
7192
   "  (signature vec2\n"
7193
   "    (parameters\n"
7194
   "      (declare (in) vec2 radians))\n"
7195
   "    ())\n"
7196
   "  (signature vec3\n"
7197
   "    (parameters\n"
7198
   "      (declare (in) vec3 radians))\n"
7199
   "    ())\n"
7200
   "  (signature vec4\n"
7201
   "    (parameters\n"
7202
   "      (declare (in) vec4 radians))\n"
7203
   "    ()))\n"
7204
   "(function sin\n"
7205
   "  (signature float\n"
7206
   "    (parameters\n"
7207
   "      (declare (in) float angle))\n"
7208
   "    ())\n"
7209
   "  (signature vec2\n"
7210
   "    (parameters\n"
7211
   "      (declare (in) vec2 angle))\n"
7212
   "    ())\n"
7213
   "  (signature vec3\n"
7214
   "    (parameters\n"
7215
   "      (declare (in) vec3 angle))\n"
7216
   "    ())\n"
7217
   "  (signature vec4\n"
7218
   "    (parameters\n"
7219
   "      (declare (in) vec4 angle))\n"
7220
   "    ()))\n"
7221
   "(function cos\n"
7222
   "  (signature float\n"
7223
   "    (parameters\n"
7224
   "      (declare (in) float angle))\n"
7225
   "    ())\n"
7226
   "  (signature vec2\n"
7227
   "    (parameters\n"
7228
   "      (declare (in) vec2 angle))\n"
7229
   "    ())\n"
7230
   "  (signature vec3\n"
7231
   "    (parameters\n"
7232
   "      (declare (in) vec3 angle))\n"
7233
   "    ())\n"
7234
   "  (signature vec4\n"
7235
   "    (parameters\n"
7236
   "      (declare (in) vec4 angle))\n"
7237
   "    ()))\n"
7238
   "(function tan\n"
7239
   "  (signature float\n"
7240
   "    (parameters\n"
7241
   "      (declare (in) float angle))\n"
7242
   "    ())\n"
7243
   "  (signature vec2\n"
7244
   "    (parameters\n"
7245
   "      (declare (in) vec2 angle))\n"
7246
   "    ())\n"
7247
   "  (signature vec3\n"
7248
   "    (parameters\n"
7249
   "      (declare (in) vec3 angle))\n"
7250
   "    ())\n"
7251
   "  (signature vec4\n"
7252
   "    (parameters\n"
7253
   "      (declare (in) vec4 angle))\n"
7254
   "    ()))\n"
7255
   "(function asin\n"
7256
   "  (signature float\n"
7257
   "    (parameters\n"
7258
   "      (declare (in) float angle))\n"
7259
   "    ())\n"
7260
   "  (signature vec2\n"
7261
   "    (parameters\n"
7262
   "      (declare (in) vec2 angle))\n"
7263
   "    ())\n"
7264
   "  (signature vec3\n"
7265
   "    (parameters\n"
7266
   "      (declare (in) vec3 angle))\n"
7267
   "    ())\n"
7268
   "  (signature vec4\n"
7269
   "    (parameters\n"
7270
   "      (declare (in) vec4 angle))\n"
7271
   "    ()))\n"
7272
   "(function acos\n"
7273
   "  (signature float\n"
7274
   "    (parameters\n"
7275
   "      (declare (in) float angle))\n"
7276
   "    ())\n"
7277
   "  (signature vec2\n"
7278
   "    (parameters\n"
7279
   "      (declare (in) vec2 angle))\n"
7280
   "    ())\n"
7281
   "  (signature vec3\n"
7282
   "    (parameters\n"
7283
   "      (declare (in) vec3 angle))\n"
7284
   "    ())\n"
7285
   "  (signature vec4\n"
7286
   "    (parameters\n"
7287
   "      (declare (in) vec4 angle))\n"
7288
   "    ()))\n"
7289
   "(function atan\n"
7290
   "  (signature float\n"
7291
   "    (parameters\n"
7292
   "      (declare (in) float y)\n"
7293
   "      (declare (in) float x))\n"
7294
   "    ())\n"
7295
   "  (signature vec2\n"
7296
   "    (parameters\n"
7297
   "      (declare (in) vec2 y)\n"
7298
   "      (declare (in) vec2 x))\n"
7299
   "    ())\n"
7300
   "  (signature vec3\n"
7301
   "    (parameters\n"
7302
   "      (declare (in) vec3 y)\n"
7303
   "      (declare (in) vec3 x))\n"
7304
   "    ())\n"
7305
   "  (signature vec4\n"
7306
   "    (parameters\n"
7307
   "      (declare (in) vec4 y)\n"
7308
   "      (declare (in) vec4 x))\n"
7309
   "    ())\n"
7310
   "  (signature float\n"
7311
   "    (parameters\n"
7312
   "      (declare (in) float y_over_x))\n"
7313
   "    ())\n"
7314
   "  (signature vec2\n"
7315
   "    (parameters\n"
7316
   "      (declare (in) vec2 y_over_x))\n"
7317
   "    ())\n"
7318
   "  (signature vec3\n"
7319
   "    (parameters\n"
7320
   "      (declare (in) vec3 y_over_x))\n"
7321
   "    ())\n"
7322
   "  (signature vec4\n"
7323
   "    (parameters\n"
7324
   "      (declare (in) vec4 y_over_x))\n"
7325
   "    ()))\n"
7326
   "(function pow\n"
7327
   "  (signature float\n"
7328
   "    (parameters\n"
7329
   "      (declare (in) float x)\n"
7330
   "      (declare (in) float y))\n"
7331
   "    ())\n"
7332
   "  (signature vec2\n"
7333
   "    (parameters\n"
7334
   "      (declare (in) vec2 x)\n"
7335
   "      (declare (in) vec2 y))\n"
7336
   "    ())\n"
7337
   "  (signature vec3\n"
7338
   "    (parameters\n"
7339
   "      (declare (in) vec3 x)\n"
7340
   "      (declare (in) vec3 y))\n"
7341
   "    ())\n"
7342
   "  (signature vec4\n"
7343
   "    (parameters\n"
7344
   "      (declare (in) vec4 x)\n"
7345
   "      (declare (in) vec4 y))\n"
7346
   "    ()))\n"
7347
   "(function exp\n"
7348
   "  (signature float\n"
7349
   "    (parameters\n"
7350
   "      (declare (in) float x))\n"
7351
   "    ())\n"
7352
   "  (signature vec2\n"
7353
   "    (parameters\n"
7354
   "      (declare (in) vec2 x))\n"
7355
   "    ())\n"
7356
   "  (signature vec3\n"
7357
   "    (parameters\n"
7358
   "      (declare (in) vec3 x))\n"
7359
   "    ())\n"
7360
   "  (signature vec4\n"
7361
   "    (parameters\n"
7362
   "      (declare (in) vec4 x))\n"
7363
   "    ()))\n"
7364
   "(function log\n"
7365
   "  (signature float\n"
7366
   "    (parameters\n"
7367
   "      (declare (in) float x))\n"
7368
   "    ())\n"
7369
   "  (signature vec2\n"
7370
   "    (parameters\n"
7371
   "      (declare (in) vec2 x))\n"
7372
   "    ())\n"
7373
   "  (signature vec3\n"
7374
   "    (parameters\n"
7375
   "      (declare (in) vec3 x))\n"
7376
   "    ())\n"
7377
   "  (signature vec4\n"
7378
   "    (parameters\n"
7379
   "      (declare (in) vec4 x))\n"
7380
   "    ()))\n"
7381
   "(function exp2\n"
7382
   "  (signature float\n"
7383
   "    (parameters\n"
7384
   "      (declare (in) float x))\n"
7385
   "    ())\n"
7386
   "  (signature vec2\n"
7387
   "    (parameters\n"
7388
   "      (declare (in) vec2 x))\n"
7389
   "    ())\n"
7390
   "  (signature vec3\n"
7391
   "    (parameters\n"
7392
   "      (declare (in) vec3 x))\n"
7393
   "    ())\n"
7394
   "  (signature vec4\n"
7395
   "    (parameters\n"
7396
   "      (declare (in) vec4 x))\n"
7397
   "    ()))\n"
7398
   "(function log2\n"
7399
   "  (signature float\n"
7400
   "    (parameters\n"
7401
   "      (declare (in) float x))\n"
7402
   "    ())\n"
7403
   "  (signature vec2\n"
7404
   "    (parameters\n"
7405
   "      (declare (in) vec2 x))\n"
7406
   "    ())\n"
7407
   "  (signature vec3\n"
7408
   "    (parameters\n"
7409
   "      (declare (in) vec3 x))\n"
7410
   "    ())\n"
7411
   "  (signature vec4\n"
7412
   "    (parameters\n"
7413
   "      (declare (in) vec4 x))\n"
7414
   "    ()))\n"
7415
   "(function sqrt\n"
7416
   "  (signature float\n"
7417
   "    (parameters\n"
7418
   "      (declare (in) float x))\n"
7419
   "    ())\n"
7420
   "  (signature vec2\n"
7421
   "    (parameters\n"
7422
   "      (declare (in) vec2 x))\n"
7423
   "    ())\n"
7424
   "  (signature vec3\n"
7425
   "    (parameters\n"
7426
   "      (declare (in) vec3 x))\n"
7427
   "    ())\n"
7428
   "  (signature vec4\n"
7429
   "    (parameters\n"
7430
   "      (declare (in) vec4 x))\n"
7431
   "    ()))\n"
7432
   "(function inversesqrt\n"
7433
   "  (signature float\n"
7434
   "    (parameters\n"
7435
   "      (declare (in) float x))\n"
7436
   "    ())\n"
7437
   "  (signature vec2\n"
7438
   "    (parameters\n"
7439
   "      (declare (in) vec2 x))\n"
7440
   "    ())\n"
7441
   "  (signature vec3\n"
7442
   "    (parameters\n"
7443
   "      (declare (in) vec3 x))\n"
7444
   "    ())\n"
7445
   "  (signature vec4\n"
7446
   "    (parameters\n"
7447
   "      (declare (in) vec4 x))\n"
7448
   "    ()))\n"
7449
   "(function abs\n"
7450
   "  (signature float\n"
7451
   "    (parameters\n"
7452
   "      (declare (in) float x))\n"
7453
   "    ())\n"
7454
   "  (signature vec2\n"
7455
   "    (parameters\n"
7456
   "      (declare (in) vec2 x))\n"
7457
   "    ())\n"
7458
   "  (signature vec3\n"
7459
   "    (parameters\n"
7460
   "      (declare (in) vec3 x))\n"
7461
   "    ())\n"
7462
   "  (signature vec4\n"
7463
   "    (parameters\n"
7464
   "      (declare (in) vec4 x))\n"
7465
   "    ()))\n"
7466
   "(function sign\n"
7467
   "  (signature float\n"
7468
   "    (parameters\n"
7469
   "      (declare (in) float x))\n"
7470
   "    ())\n"
7471
   "  (signature vec2\n"
7472
   "    (parameters\n"
7473
   "      (declare (in) vec2 x))\n"
7474
   "    ())\n"
7475
   "  (signature vec3\n"
7476
   "    (parameters\n"
7477
   "      (declare (in) vec3 x))\n"
7478
   "    ())\n"
7479
   "  (signature vec4\n"
7480
   "    (parameters\n"
7481
   "      (declare (in) vec4 x))\n"
7482
   "    ()))\n"
7483
   "(function floor\n"
7484
   "  (signature float\n"
7485
   "    (parameters\n"
7486
   "      (declare (in) float x))\n"
7487
   "    ())\n"
7488
   "  (signature vec2\n"
7489
   "    (parameters\n"
7490
   "      (declare (in) vec2 x))\n"
7491
   "    ())\n"
7492
   "  (signature vec3\n"
7493
   "    (parameters\n"
7494
   "      (declare (in) vec3 x))\n"
7495
   "    ())\n"
7496
   "  (signature vec4\n"
7497
   "    (parameters\n"
7498
   "      (declare (in) vec4 x))\n"
7499
   "    ()))\n"
7500
   "(function ceil\n"
7501
   "  (signature float\n"
7502
   "    (parameters\n"
7503
   "      (declare (in) float x))\n"
7504
   "    ())\n"
7505
   "  (signature vec2\n"
7506
   "    (parameters\n"
7507
   "      (declare (in) vec2 x))\n"
7508
   "    ())\n"
7509
   "  (signature vec3\n"
7510
   "    (parameters\n"
7511
   "      (declare (in) vec3 x))\n"
7512
   "    ())\n"
7513
   "  (signature vec4\n"
7514
   "    (parameters\n"
7515
   "      (declare (in) vec4 x))\n"
7516
   "    ()))\n"
7517
   "(function fract\n"
7518
   "  (signature float\n"
7519
   "    (parameters\n"
7520
   "      (declare (in) float x))\n"
7521
   "    ())\n"
7522
   "  (signature vec2\n"
7523
   "    (parameters\n"
7524
   "      (declare (in) vec2 x))\n"
7525
   "    ())\n"
7526
   "  (signature vec3\n"
7527
   "    (parameters\n"
7528
   "      (declare (in) vec3 x))\n"
7529
   "    ())\n"
7530
   "  (signature vec4\n"
7531
   "    (parameters\n"
7532
   "      (declare (in) vec4 x))\n"
7533
   "    ()))\n"
7534
   "(function mod\n"
7535
   "  (signature float\n"
7536
   "    (parameters\n"
7537
   "      (declare (in) float x)\n"
7538
   "      (declare (in) float y))\n"
7539
   "    ())\n"
7540
   "  (signature vec2\n"
7541
   "    (parameters\n"
7542
   "      (declare (in) vec2 x)\n"
7543
   "      (declare (in) float y))\n"
7544
   "    ())\n"
7545
   "  (signature vec3\n"
7546
   "    (parameters\n"
7547
   "      (declare (in) vec3 x)\n"
7548
   "      (declare (in) float y))\n"
7549
   "    ())\n"
7550
   "  (signature vec4\n"
7551
   "    (parameters\n"
7552
   "      (declare (in) vec4 x)\n"
7553
   "      (declare (in) float y))\n"
7554
   "    ())\n"
7555
   "  (signature vec2\n"
7556
   "    (parameters\n"
7557
   "      (declare (in) vec2 x)\n"
7558
   "      (declare (in) vec2 y))\n"
7559
   "    ())\n"
7560
   "  (signature vec3\n"
7561
   "    (parameters\n"
7562
   "      (declare (in) vec3 x)\n"
7563
   "      (declare (in) vec3 y))\n"
7564
   "    ())\n"
7565
   "  (signature vec4\n"
7566
   "    (parameters\n"
7567
   "      (declare (in) vec4 x)\n"
7568
   "      (declare (in) vec4 y))\n"
7569
   "    ()))\n"
7570
   "(function min\n"
7571
   "  (signature float\n"
7572
   "    (parameters\n"
7573
   "      (declare (in) float x)\n"
7574
   "      (declare (in) float y))\n"
7575
   "    ())\n"
7576
   "  (signature vec2\n"
7577
   "    (parameters\n"
7578
   "      (declare (in) vec2 x)\n"
7579
   "      (declare (in) vec2 y))\n"
7580
   "    ())\n"
7581
   "  (signature vec3\n"
7582
   "    (parameters\n"
7583
   "      (declare (in) vec3 x)\n"
7584
   "      (declare (in) vec3 y))\n"
7585
   "    ())\n"
7586
   "  (signature vec4\n"
7587
   "    (parameters\n"
7588
   "      (declare (in) vec4 x)\n"
7589
   "      (declare (in) vec4 y))\n"
7590
   "    ())\n"
7591
   "  (signature vec2\n"
7592
   "    (parameters\n"
7593
   "      (declare (in) vec2 x)\n"
7594
   "      (declare (in) float y))\n"
7595
   "    ())\n"
7596
   "  (signature vec3\n"
7597
   "    (parameters\n"
7598
   "      (declare (in) vec3 x)\n"
7599
   "      (declare (in) float y))\n"
7600
   "    ())\n"
7601
   "  (signature vec4\n"
7602
   "    (parameters\n"
7603
   "      (declare (in) vec4 x)\n"
7604
   "      (declare (in) float y))\n"
7605
   "    ()))\n"
7606
   "(function max\n"
7607
   "  (signature float\n"
7608
   "    (parameters\n"
7609
   "      (declare (in) float x)\n"
7610
   "      (declare (in) float y))\n"
7611
   "    ())\n"
7612
   "  (signature vec2\n"
7613
   "    (parameters\n"
7614
   "      (declare (in) vec2 x)\n"
7615
   "      (declare (in) vec2 y))\n"
7616
   "    ())\n"
7617
   "  (signature vec3\n"
7618
   "    (parameters\n"
7619
   "      (declare (in) vec3 x)\n"
7620
   "      (declare (in) vec3 y))\n"
7621
   "    ())\n"
7622
   "  (signature vec4\n"
7623
   "    (parameters\n"
7624
   "      (declare (in) vec4 x)\n"
7625
   "      (declare (in) vec4 y))\n"
7626
   "    ())\n"
7627
   "  (signature vec2\n"
7628
   "    (parameters\n"
7629
   "      (declare (in) vec2 x)\n"
7630
   "      (declare (in) float y))\n"
7631
   "    ())\n"
7632
   "  (signature vec3\n"
7633
   "    (parameters\n"
7634
   "      (declare (in) vec3 x)\n"
7635
   "      (declare (in) float y))\n"
7636
   "    ())\n"
7637
   "  (signature vec4\n"
7638
   "    (parameters\n"
7639
   "      (declare (in) vec4 x)\n"
7640
   "      (declare (in) float y))\n"
7641
   "    ()))\n"
7642
   "(function clamp\n"
7643
   "  (signature float\n"
7644
   "    (parameters\n"
7645
   "      (declare (in) float x)\n"
7646
   "      (declare (in) float minVal)\n"
7647
   "      (declare (in) float maxVal))\n"
7648
   "    ())\n"
7649
   "  (signature vec2\n"
7650
   "    (parameters\n"
7651
   "      (declare (in) vec2 x)\n"
7652
   "      (declare (in) vec2 minVal)\n"
7653
   "      (declare (in) vec2 maxVal))\n"
7654
   "    ())\n"
7655
   "  (signature vec3\n"
7656
   "    (parameters\n"
7657
   "      (declare (in) vec3 x)\n"
7658
   "      (declare (in) vec3 minVal)\n"
7659
   "      (declare (in) vec3 maxVal))\n"
7660
   "    ())\n"
7661
   "  (signature vec4\n"
7662
   "    (parameters\n"
7663
   "      (declare (in) vec4 x)\n"
7664
   "      (declare (in) vec4 minVal)\n"
7665
   "      (declare (in) vec4 maxVal))\n"
7666
   "    ())\n"
7667
   "  (signature vec2\n"
7668
   "    (parameters\n"
7669
   "      (declare (in) vec2 x)\n"
7670
   "      (declare (in) float minVal)\n"
7671
   "      (declare (in) float maxVal))\n"
7672
   "    ())\n"
7673
   "  (signature vec3\n"
7674
   "    (parameters\n"
7675
   "      (declare (in) vec3 x)\n"
7676
   "      (declare (in) float minVal)\n"
7677
   "      (declare (in) float maxVal))\n"
7678
   "    ())\n"
7679
   "  (signature vec4\n"
7680
   "    (parameters\n"
7681
   "      (declare (in) vec4 x)\n"
7682
   "      (declare (in) float minVal)\n"
7683
   "      (declare (in) float maxVal))\n"
7684
   "    ()))\n"
7685
   "(function mix\n"
7686
   "  (signature float\n"
7687
   "    (parameters\n"
7688
   "      (declare (in) float x)\n"
7689
   "      (declare (in) float y)\n"
7690
   "      (declare (in) float a))\n"
7691
   "    ())\n"
7692
   "  (signature vec2\n"
7693
   "    (parameters\n"
7694
   "      (declare (in) vec2 x)\n"
7695
   "      (declare (in) vec2 y)\n"
7696
   "      (declare (in) vec2 a))\n"
7697
   "    ())\n"
7698
   "  (signature vec3\n"
7699
   "    (parameters\n"
7700
   "      (declare (in) vec3 x)\n"
7701
   "      (declare (in) vec3 y)\n"
7702
   "      (declare (in) vec3 a))\n"
7703
   "    ())\n"
7704
   "  (signature vec4\n"
7705
   "    (parameters\n"
7706
   "      (declare (in) vec4 x)\n"
7707
   "      (declare (in) vec4 y)\n"
7708
   "      (declare (in) vec4 a))\n"
7709
   "    ())\n"
7710
   "  (signature vec2\n"
7711
   "    (parameters\n"
7712
   "      (declare (in) vec2 x)\n"
7713
   "      (declare (in) vec2 y)\n"
7714
   "      (declare (in) float a))\n"
7715
   "    ())\n"
7716
   "  (signature vec3\n"
7717
   "    (parameters\n"
7718
   "      (declare (in) vec3 x)\n"
7719
   "      (declare (in) vec3 y)\n"
7720
   "      (declare (in) float a))\n"
7721
   "    ())\n"
7722
   "  (signature vec4\n"
7723
   "    (parameters\n"
7724
   "      (declare (in) vec4 x)\n"
7725
   "      (declare (in) vec4 y)\n"
7726
   "      (declare (in) float a))\n"
7727
   "    ()))\n"
7728
   "(function step\n"
7729
   "  (signature float\n"
7730
   "    (parameters\n"
7731
   "      (declare (in) float edge)\n"
7732
   "      (declare (in) float x))\n"
7733
   "    ())\n"
7734
   "  (signature vec2\n"
7735
   "    (parameters\n"
7736
   "      (declare (in) vec2 edge)\n"
7737
   "      (declare (in) vec2 x))\n"
7738
   "    ())\n"
7739
   "  (signature vec3\n"
7740
   "    (parameters\n"
7741
   "      (declare (in) vec3 edge)\n"
7742
   "      (declare (in) vec3 x))\n"
7743
   "    ())\n"
7744
   "  (signature vec4\n"
7745
   "    (parameters\n"
7746
   "      (declare (in) vec4 edge)\n"
7747
   "      (declare (in) vec4 x))\n"
7748
   "    ())\n"
7749
   "  (signature vec2\n"
7750
   "    (parameters\n"
7751
   "      (declare (in) float edge)\n"
7752
   "      (declare (in) vec2 x))\n"
7753
   "    ())\n"
7754
   "  (signature vec3\n"
7755
   "    (parameters\n"
7756
   "      (declare (in) float edge)\n"
7757
   "      (declare (in) vec3 x))\n"
7758
   "    ())\n"
7759
   "  (signature vec4\n"
7760
   "    (parameters\n"
7761
   "      (declare (in) float edge)\n"
7762
   "      (declare (in) vec4 x))\n"
7763
   "    ()))\n"
7764
   "(function smoothstep\n"
7765
   "  (signature float\n"
7766
   "    (parameters\n"
7767
   "      (declare (in) float edge0)\n"
7768
   "      (declare (in) float edge1)\n"
7769
   "      (declare (in) float x))\n"
7770
   "    ())\n"
7771
   "  (signature vec2\n"
7772
   "    (parameters\n"
7773
   "      (declare (in) vec2 edge0)\n"
7774
   "      (declare (in) vec2 edge1)\n"
7775
   "      (declare (in) vec2 x))\n"
7776
   "    ())\n"
7777
   "  (signature vec3\n"
7778
   "    (parameters\n"
7779
   "      (declare (in) vec3 edge0)\n"
7780
   "      (declare (in) vec3 edge1)\n"
7781
   "      (declare (in) vec3 x))\n"
7782
   "    ())\n"
7783
   "  (signature vec4\n"
7784
   "    (parameters\n"
7785
   "      (declare (in) vec4 edge0)\n"
7786
   "      (declare (in) vec4 edge1)\n"
7787
   "      (declare (in) vec4 x))\n"
7788
   "    ())\n"
7789
   "  (signature vec2\n"
7790
   "    (parameters\n"
7791
   "      (declare (in) float edge0)\n"
7792
   "      (declare (in) float edge1)\n"
7793
   "      (declare (in) vec2 x))\n"
7794
   "    ())\n"
7795
   "  (signature vec3\n"
7796
   "    (parameters\n"
7797
   "      (declare (in) float edge0)\n"
7798
   "      (declare (in) float edge1)\n"
7799
   "      (declare (in) vec3 x))\n"
7800
   "    ())\n"
7801
   "  (signature vec4\n"
7802
   "    (parameters\n"
7803
   "      (declare (in) float edge0)\n"
7804
   "      (declare (in) float edge1)\n"
7805
   "      (declare (in) vec4 x))\n"
7806
   "    ()))\n"
7807
   "(function length\n"
7808
   "  (signature float\n"
7809
   "    (parameters\n"
7810
   "      (declare (in) float x))\n"
7811
   "    ())\n"
7812
   "  (signature float\n"
7813
   "    (parameters\n"
7814
   "      (declare (in) vec2 x))\n"
7815
   "    ())\n"
7816
   "  (signature float\n"
7817
   "    (parameters\n"
7818
   "      (declare (in) vec3 x))\n"
7819
   "    ())\n"
7820
   "  (signature float\n"
7821
   "    (parameters\n"
7822
   "      (declare (in) vec4 x))\n"
7823
   "    ()))\n"
7824
   "(function distance\n"
7825
   "  (signature float\n"
7826
   "    (parameters\n"
7827
   "      (declare (in) float p0)\n"
7828
   "      (declare (in) float p1))\n"
7829
   "    ())\n"
7830
   "  (signature float\n"
7831
   "    (parameters\n"
7832
   "      (declare (in) vec2 p0)\n"
7833
   "      (declare (in) vec2 p1))\n"
7834
   "    ())\n"
7835
   "  (signature float\n"
7836
   "    (parameters\n"
7837
   "      (declare (in) vec3 p0)\n"
7838
   "      (declare (in) vec3 p1))\n"
7839
   "    ())\n"
7840
   "  (signature float\n"
7841
   "    (parameters\n"
7842
   "      (declare (in) vec4 p0)\n"
7843
   "      (declare (in) vec4 p1))\n"
7844
   "    ()))\n"
7845
   "(function dot\n"
7846
   "  (signature float\n"
7847
   "    (parameters\n"
7848
   "      (declare (in) float x)\n"
7849
   "      (declare (in) float y))\n"
7850
   "    ())\n"
7851
   "  (signature float\n"
7852
   "    (parameters\n"
7853
   "      (declare (in) vec2 x)\n"
7854
   "      (declare (in) vec2 y))\n"
7855
   "    ())\n"
7856
   "  (signature float\n"
7857
   "    (parameters\n"
7858
   "      (declare (in) vec3 x)\n"
7859
   "      (declare (in) vec3 y))\n"
7860
   "    ())\n"
7861
   "  (signature float\n"
7862
   "    (parameters\n"
7863
   "      (declare (in) vec4 x)\n"
7864
   "      (declare (in) vec4 y))\n"
7865
   "    ()))\n"
7866
   "(function cross\n"
7867
   "  (signature vec3\n"
7868
   "    (parameters\n"
7869
   "      (declare (in) vec3 x)\n"
7870
   "      (declare (in) vec3 y))\n"
7871
   "    ()))\n"
7872
   "(function normalize\n"
7873
   "  (signature float\n"
7874
   "    (parameters\n"
7875
   "      (declare (in) float x))\n"
7876
   "    ())\n"
7877
   "  (signature vec2\n"
7878
   "    (parameters\n"
7879
   "      (declare (in) vec2 x))\n"
7880
   "    ())\n"
7881
   "  (signature vec3\n"
7882
   "    (parameters\n"
7883
   "      (declare (in) vec3 x))\n"
7884
   "    ())\n"
7885
   "  (signature vec4\n"
7886
   "    (parameters\n"
7887
   "      (declare (in) vec4 x))\n"
7888
   "    ()))\n"
7889
   "(function faceforward\n"
7890
   "  (signature float\n"
7891
   "    (parameters\n"
7892
   "      (declare (in) float N)\n"
7893
   "      (declare (in) float I)\n"
7894
   "      (declare (in) float Nref))\n"
7895
   "    ())\n"
7896
   "  (signature vec2\n"
7897
   "    (parameters\n"
7898
   "      (declare (in) vec2 N)\n"
7899
   "      (declare (in) vec2 I)\n"
7900
   "      (declare (in) vec2 Nref))\n"
7901
   "    ())\n"
7902
   "  (signature vec3\n"
7903
   "    (parameters\n"
7904
   "      (declare (in) vec3 N)\n"
7905
   "      (declare (in) vec3 I)\n"
7906
   "      (declare (in) vec3 Nref))\n"
7907
   "    ())\n"
7908
   "  (signature vec4\n"
7909
   "    (parameters\n"
7910
   "      (declare (in) vec4 N)\n"
7911
   "      (declare (in) vec4 I)\n"
7912
   "      (declare (in) vec4 Nref))\n"
7913
   "    ()))\n"
7914
   "(function reflect\n"
7915
   "  (signature float\n"
7916
   "    (parameters\n"
7917
   "      (declare (in) float I)\n"
7918
   "      (declare (in) float N))\n"
7919
   "    ())\n"
7920
   "  (signature vec2\n"
7921
   "    (parameters\n"
7922
   "      (declare (in) vec2 I)\n"
7923
   "      (declare (in) vec2 N))\n"
7924
   "    ())\n"
7925
   "  (signature vec3\n"
7926
   "    (parameters\n"
7927
   "      (declare (in) vec3 I)\n"
7928
   "      (declare (in) vec3 N))\n"
7929
   "    ())\n"
7930
   "  (signature vec4\n"
7931
   "    (parameters\n"
7932
   "      (declare (in) vec4 I)\n"
7933
   "      (declare (in) vec4 N))\n"
7934
   "    ()))\n"
7935
   "(function refract\n"
7936
   "  (signature float\n"
7937
   "    (parameters\n"
7938
   "      (declare (in) float I)\n"
7939
   "      (declare (in) float N)\n"
7940
   "      (declare (in) float eta))\n"
7941
   "    ())\n"
7942
   "  (signature vec2\n"
7943
   "    (parameters\n"
7944
   "      (declare (in) vec2 I)\n"
7945
   "      (declare (in) vec2 N)\n"
7946
   "      (declare (in) float eta))\n"
7947
   "    ())\n"
7948
   "  (signature vec3\n"
7949
   "    (parameters\n"
7950
   "      (declare (in) vec3 I)\n"
7951
   "      (declare (in) vec3 N)\n"
7952
   "      (declare (in) float eta))\n"
7953
   "    ())\n"
7954
   "  (signature vec4\n"
7955
   "    (parameters\n"
7956
   "      (declare (in) vec4 I)\n"
7957
   "      (declare (in) vec4 N)\n"
7958
   "      (declare (in) float eta))\n"
7959
   "    ()))\n"
7960
   "(function matrixCompMult\n"
7961
   "  (signature mat2\n"
7962
   "    (parameters\n"
7963
   "      (declare (in) mat2 x)\n"
7964
   "      (declare (in) mat2 y))\n"
7965
   "    ())\n"
7966
   "  (signature mat3\n"
7967
   "    (parameters\n"
7968
   "      (declare (in) mat3 x)\n"
7969
   "      (declare (in) mat3 y))\n"
7970
   "    ())\n"
7971
   "  (signature mat4\n"
7972
   "    (parameters\n"
7973
   "      (declare (in) mat4 x)\n"
7974
   "      (declare (in) mat4 y))\n"
7975
   "    ()))\n"
7976
   "(function lessThan\n"
7977
   "  (signature bvec2\n"
7978
   "    (parameters\n"
7979
   "      (declare (in) vec2 x)\n"
7980
   "      (declare (in) vec2 y))\n"
7981
   "    ())\n"
7982
   "  (signature bvec3\n"
7983
   "    (parameters\n"
7984
   "      (declare (in) vec3 x)\n"
7985
   "      (declare (in) vec3 y))\n"
7986
   "    ())\n"
7987
   "  (signature bvec4\n"
7988
   "    (parameters\n"
7989
   "      (declare (in) vec4 x)\n"
7990
   "      (declare (in) vec4 y))\n"
7991
   "    ())\n"
7992
   "  (signature bvec2\n"
7993
   "    (parameters\n"
7994
   "      (declare (in) ivec2 x)\n"
7995
   "      (declare (in) ivec2 y))\n"
7996
   "    ())\n"
7997
   "  (signature bvec3\n"
7998
   "    (parameters\n"
7999
   "      (declare (in) ivec3 x)\n"
8000
   "      (declare (in) ivec3 y))\n"
8001
   "    ())\n"
8002
   "  (signature bvec4\n"
8003
   "    (parameters\n"
8004
   "      (declare (in) ivec4 x)\n"
8005
   "      (declare (in) ivec4 y))\n"
8006
   "    ()))\n"
8007
   "(function lessThanEqual\n"
8008
   "  (signature bvec2\n"
8009
   "    (parameters\n"
8010
   "      (declare (in) vec2 x)\n"
8011
   "      (declare (in) vec2 y))\n"
8012
   "    ())\n"
8013
   "  (signature bvec3\n"
8014
   "    (parameters\n"
8015
   "      (declare (in) vec3 x)\n"
8016
   "      (declare (in) vec3 y))\n"
8017
   "    ())\n"
8018
   "  (signature bvec4\n"
8019
   "    (parameters\n"
8020
   "      (declare (in) vec4 x)\n"
8021
   "      (declare (in) vec4 y))\n"
8022
   "    ())\n"
8023
   "  (signature bvec2\n"
8024
   "    (parameters\n"
8025
   "      (declare (in) ivec2 x)\n"
8026
   "      (declare (in) ivec2 y))\n"
8027
   "    ())\n"
8028
   "  (signature bvec3\n"
8029
   "    (parameters\n"
8030
   "      (declare (in) ivec3 x)\n"
8031
   "      (declare (in) ivec3 y))\n"
8032
   "    ())\n"
8033
   "  (signature bvec4\n"
8034
   "    (parameters\n"
8035
   "      (declare (in) ivec4 x)\n"
8036
   "      (declare (in) ivec4 y))\n"
8037
   "    ()))\n"
8038
   "(function greaterThan\n"
8039
   "  (signature bvec2\n"
8040
   "    (parameters\n"
8041
   "      (declare (in) vec2 x)\n"
8042
   "      (declare (in) vec2 y))\n"
8043
   "    ())\n"
8044
   "  (signature bvec3\n"
8045
   "    (parameters\n"
8046
   "      (declare (in) vec3 x)\n"
8047
   "      (declare (in) vec3 y))\n"
8048
   "    ())\n"
8049
   "  (signature bvec4\n"
8050
   "    (parameters\n"
8051
   "      (declare (in) vec4 x)\n"
8052
   "      (declare (in) vec4 y))\n"
8053
   "    ())\n"
8054
   "  (signature bvec2\n"
8055
   "    (parameters\n"
8056
   "      (declare (in) ivec2 x)\n"
8057
   "      (declare (in) ivec2 y))\n"
8058
   "    ())\n"
8059
   "  (signature bvec3\n"
8060
   "    (parameters\n"
8061
   "      (declare (in) ivec3 x)\n"
8062
   "      (declare (in) ivec3 y))\n"
8063
   "    ())\n"
8064
   "  (signature bvec4\n"
8065
   "    (parameters\n"
8066
   "      (declare (in) ivec4 x)\n"
8067
   "      (declare (in) ivec4 y))\n"
8068
   "    ()))\n"
8069
   "(function greaterThanEqual\n"
8070
   "  (signature bvec2\n"
8071
   "    (parameters\n"
8072
   "      (declare (in) vec2 x)\n"
8073
   "      (declare (in) vec2 y))\n"
8074
   "    ())\n"
8075
   "  (signature bvec3\n"
8076
   "    (parameters\n"
8077
   "      (declare (in) vec3 x)\n"
8078
   "      (declare (in) vec3 y))\n"
8079
   "    ())\n"
8080
   "  (signature bvec4\n"
8081
   "    (parameters\n"
8082
   "      (declare (in) vec4 x)\n"
8083
   "      (declare (in) vec4 y))\n"
8084
   "    ())\n"
8085
   "  (signature bvec2\n"
8086
   "    (parameters\n"
8087
   "      (declare (in) ivec2 x)\n"
8088
   "      (declare (in) ivec2 y))\n"
8089
   "    ())\n"
8090
   "  (signature bvec3\n"
8091
   "    (parameters\n"
8092
   "      (declare (in) ivec3 x)\n"
8093
   "      (declare (in) ivec3 y))\n"
8094
   "    ())\n"
8095
   "  (signature bvec4\n"
8096
   "    (parameters\n"
8097
   "      (declare (in) ivec4 x)\n"
8098
   "      (declare (in) ivec4 y))\n"
8099
   "    ()))\n"
8100
   "(function equal\n"
8101
   "  (signature bvec2\n"
8102
   "    (parameters\n"
8103
   "      (declare (in) vec2 x)\n"
8104
   "      (declare (in) vec2 y))\n"
8105
   "    ())\n"
8106
   "  (signature bvec3\n"
8107
   "    (parameters\n"
8108
   "      (declare (in) vec3 x)\n"
8109
   "      (declare (in) vec3 y))\n"
8110
   "    ())\n"
8111
   "  (signature bvec4\n"
8112
   "    (parameters\n"
8113
   "      (declare (in) vec4 x)\n"
8114
   "      (declare (in) vec4 y))\n"
8115
   "    ())\n"
8116
   "  (signature bvec2\n"
8117
   "    (parameters\n"
8118
   "      (declare (in) ivec2 x)\n"
8119
   "      (declare (in) ivec2 y))\n"
8120
   "    ())\n"
8121
   "  (signature bvec3\n"
8122
   "    (parameters\n"
8123
   "      (declare (in) ivec3 x)\n"
8124
   "      (declare (in) ivec3 y))\n"
8125
   "    ())\n"
8126
   "  (signature bvec4\n"
8127
   "    (parameters\n"
8128
   "      (declare (in) ivec4 x)\n"
8129
   "      (declare (in) ivec4 y))\n"
8130
   "    ())\n"
8131
   "  (signature bvec2\n"
8132
   "    (parameters\n"
8133
   "      (declare (in) bvec2 x)\n"
8134
   "      (declare (in) bvec2 y))\n"
8135
   "    ())\n"
8136
   "  (signature bvec3\n"
8137
   "    (parameters\n"
8138
   "      (declare (in) bvec3 x)\n"
8139
   "      (declare (in) bvec3 y))\n"
8140
   "    ())\n"
8141
   "  (signature bvec4\n"
8142
   "    (parameters\n"
8143
   "      (declare (in) bvec4 x)\n"
8144
   "      (declare (in) bvec4 y))\n"
8145
   "    ()))\n"
8146
   "(function notEqual\n"
8147
   "  (signature bvec2\n"
8148
   "    (parameters\n"
8149
   "      (declare (in) vec2 x)\n"
8150
   "      (declare (in) vec2 y))\n"
8151
   "    ())\n"
8152
   "  (signature bvec3\n"
8153
   "    (parameters\n"
8154
   "      (declare (in) vec3 x)\n"
8155
   "      (declare (in) vec3 y))\n"
8156
   "    ())\n"
8157
   "  (signature bvec4\n"
8158
   "    (parameters\n"
8159
   "      (declare (in) vec4 x)\n"
8160
   "      (declare (in) vec4 y))\n"
8161
   "    ())\n"
8162
   "  (signature bvec2\n"
8163
   "    (parameters\n"
8164
   "      (declare (in) ivec2 x)\n"
8165
   "      (declare (in) ivec2 y))\n"
8166
   "    ())\n"
8167
   "  (signature bvec3\n"
8168
   "    (parameters\n"
8169
   "      (declare (in) ivec3 x)\n"
8170
   "      (declare (in) ivec3 y))\n"
8171
   "    ())\n"
8172
   "  (signature bvec4\n"
8173
   "    (parameters\n"
8174
   "      (declare (in) ivec4 x)\n"
8175
   "      (declare (in) ivec4 y))\n"
8176
   "    ())\n"
8177
   "  (signature bvec2\n"
8178
   "    (parameters\n"
8179
   "      (declare (in) bvec2 x)\n"
8180
   "      (declare (in) bvec2 y))\n"
8181
   "    ())\n"
8182
   "  (signature bvec3\n"
8183
   "    (parameters\n"
8184
   "      (declare (in) bvec3 x)\n"
8185
   "      (declare (in) bvec3 y))\n"
8186
   "    ())\n"
8187
   "  (signature bvec4\n"
8188
   "    (parameters\n"
8189
   "      (declare (in) bvec4 x)\n"
8190
   "      (declare (in) bvec4 y))\n"
8191
   "    ()))\n"
8192
   "(function any\n"
8193
   "  (signature bool\n"
8194
   "    (parameters\n"
8195
   "      (declare (in) bvec2 x))\n"
8196
   "    ())\n"
8197
   "  (signature bool\n"
8198
   "    (parameters\n"
8199
   "      (declare (in) bvec3 x))\n"
8200
   "    ())\n"
8201
   "  (signature bool\n"
8202
   "    (parameters\n"
8203
   "      (declare (in) bvec4 x))\n"
8204
   "    ()))\n"
8205
   "(function all\n"
8206
   "  (signature bool\n"
8207
   "    (parameters\n"
8208
   "      (declare (in) bvec2 x))\n"
8209
   "    ())\n"
8210
   "  (signature bool\n"
8211
   "    (parameters\n"
8212
   "      (declare (in) bvec3 x))\n"
8213
   "    ())\n"
8214
   "  (signature bool\n"
8215
   "    (parameters\n"
8216
   "      (declare (in) bvec4 x))\n"
8217
   "    ()))\n"
8218
   "(function not\n"
8219
   "  (signature bvec2\n"
8220
   "    (parameters\n"
8221
   "      (declare (in) bvec2 x))\n"
8222
   "    ())\n"
8223
   "  (signature bvec3\n"
8224
   "    (parameters\n"
8225
   "      (declare (in) bvec3 x))\n"
8226
   "    ())\n"
8227
   "  (signature bvec4\n"
8228
   "    (parameters\n"
8229
   "      (declare (in) bvec4 x))\n"
8230
   "    ()))\n"
8231
   "(function texture1D\n"
8232
   "  (signature vec4\n"
8233
   "    (parameters\n"
8234
   "      (declare (in) sampler1D sampler)\n"
8235
   "      (declare (in) float coord))\n"
8236
   "    ())\n"
8237
   "  (signature vec4\n"
8238
   "    (parameters\n"
8239
   "      (declare (in) sampler1D sampler)\n"
8240
   "      (declare (in) float coord)\n"
8241
   "      (declare (in) float bias))\n"
8242
   "    ()))\n"
8243
   "(function texture1DProj\n"
8244
   "  (signature vec4\n"
8245
   "    (parameters\n"
8246
   "      (declare (in) sampler1D sampler)\n"
8247
   "      (declare (in) vec2 coord))\n"
8248
   "    ())\n"
8249
   "  (signature vec4\n"
8250
   "    (parameters\n"
8251
   "      (declare (in) sampler1D sampler)\n"
8252
   "      (declare (in) vec4 coord))\n"
8253
   "    ())\n"
8254
   "  (signature vec4\n"
8255
   "    (parameters\n"
8256
   "      (declare (in) sampler1D sampler)\n"
8257
   "      (declare (in) vec2 coord)\n"
8258
   "      (declare (in) float bias))\n"
8259
   "    ())\n"
8260
   "  (signature vec4\n"
8261
   "    (parameters\n"
8262
   "      (declare (in) sampler1D sampler)\n"
8263
   "      (declare (in) vec4 coord)\n"
8264
   "      (declare (in) float bias))\n"
8265
   "    ()))\n"
8266
   "(function texture2D\n"
8267
   "  (signature vec4\n"
8268
   "    (parameters\n"
8269
   "      (declare (in) sampler2D sampler)\n"
8270
   "      (declare (in) vec2 coord))\n"
8271
   "    ())\n"
8272
   "  (signature vec4\n"
8273
   "    (parameters\n"
8274
   "      (declare (in) sampler2D sampler)\n"
8275
   "      (declare (in) vec2 coord)\n"
8276
   "      (declare (in) float bias))\n"
8277
   "    ()))\n"
8278
   "(function texture2DProj\n"
8279
   "  (signature vec4\n"
8280
   "    (parameters\n"
8281
   "      (declare (in) sampler2D sampler)\n"
8282
   "      (declare (in) vec3 coord))\n"
8283
   "    ())\n"
8284
   "  (signature vec4\n"
8285
   "    (parameters\n"
8286
   "      (declare (in) sampler2D sampler)\n"
8287
   "      (declare (in) vec4 coord))\n"
8288
   "    ())\n"
8289
   "  (signature vec4\n"
8290
   "    (parameters\n"
8291
   "      (declare (in) sampler2D sampler)\n"
8292
   "      (declare (in) vec3 coord)\n"
8293
   "      (declare (in) float bias))\n"
8294
   "    ())\n"
8295
   "  (signature vec4\n"
8296
   "    (parameters\n"
8297
   "      (declare (in) sampler2D sampler)\n"
8298
   "      (declare (in) vec4 coord)\n"
8299
   "      (declare (in) float bias))\n"
8300
   "    ()))\n"
8301
   "(function texture3D\n"
8302
   "  (signature vec4\n"
8303
   "    (parameters\n"
8304
   "      (declare (in) sampler3D sampler)\n"
8305
   "      (declare (in) vec3 coord))\n"
8306
   "    ())\n"
8307
   "  (signature vec4\n"
8308
   "    (parameters\n"
8309
   "      (declare (in) sampler3D sampler)\n"
8310
   "      (declare (in) vec3 coord)\n"
8311
   "      (declare (in) float bias))\n"
8312
   "    ()))\n"
8313
   "(function texture3DProj\n"
8314
   "  (signature vec4\n"
8315
   "    (parameters\n"
8316
   "      (declare (in) sampler3D sampler)\n"
8317
   "      (declare (in) vec4 coord))\n"
8318
   "    ())\n"
8319
   "  (signature vec4\n"
8320
   "    (parameters\n"
8321
   "      (declare (in) sampler3D sampler)\n"
8322
   "      (declare (in) vec4 coord)\n"
8323
   "      (declare (in) float bias))\n"
8324
   "    ()))\n"
8325
   "(function textureCube\n"
8326
   "  (signature vec4\n"
8327
   "    (parameters\n"
8328
   "      (declare (in) samplerCube sampler)\n"
8329
   "      (declare (in) vec3 coord))\n"
8330
   "    ())\n"
8331
   "  (signature vec4\n"
8332
   "    (parameters\n"
8333
   "      (declare (in) samplerCube sampler)\n"
8334
   "      (declare (in) vec3 coord)\n"
8335
   "      (declare (in) float bias))\n"
8336
   "    ()))\n"
8337
   "(function shadow1D\n"
8338
   "  (signature vec4\n"
8339
   "    (parameters\n"
8340
   "      (declare (in) sampler1DShadow sampler)\n"
8341
   "      (declare (in) vec3 coord))\n"
8342
   "    ())\n"
8343
   "  (signature vec4\n"
8344
   "    (parameters\n"
8345
   "      (declare (in) sampler1DShadow sampler)\n"
8346
   "      (declare (in) vec3 coord)\n"
8347
   "      (declare (in) float bias))\n"
8348
   "    ()))\n"
8349
   "(function shadow2D\n"
8350
   "  (signature vec4\n"
8351
   "    (parameters\n"
8352
   "      (declare (in) sampler2DShadow sampler)\n"
8353
   "      (declare (in) vec3 coord))\n"
8354
   "    ())\n"
8355
   "  (signature vec4\n"
8356
   "    (parameters\n"
8357
   "      (declare (in) sampler2DShadow sampler)\n"
8358
   "      (declare (in) vec3 coord)\n"
8359
   "      (declare (in) float bias))\n"
8360
   "    ()))\n"
8361
   "(function shadow1DProj\n"
8362
   "  (signature vec4\n"
8363
   "    (parameters\n"
8364
   "      (declare (in) sampler1DShadow sampler)\n"
8365
   "      (declare (in) vec4 coord))\n"
8366
   "    ())\n"
8367
   "  (signature vec4\n"
8368
   "    (parameters\n"
8369
   "      (declare (in) sampler1DShadow sampler)\n"
8370
   "      (declare (in) vec4 coord)\n"
8371
   "      (declare (in) float bias))\n"
8372
   "    ()))\n"
8373
   "(function shadow2DProj\n"
8374
   "  (signature vec4\n"
8375
   "    (parameters\n"
8376
   "      (declare (in) sampler2DShadow sampler)\n"
8377
   "      (declare (in) vec4 coord))\n"
8378
   "    ())\n"
8379
   "  (signature vec4\n"
8380
   "    (parameters\n"
8381
   "      (declare (in) sampler2DShadow sampler)\n"
8382
   "      (declare (in) vec4 coord)\n"
8383
   "      (declare (in) float bias))\n"
8384
   "    ()))\n"
8385
   "(function dFdx\n"
8386
   "  (signature float\n"
8387
   "    (parameters\n"
8388
   "      (declare (in) float p))\n"
8389
   "    ())\n"
8390
   "  (signature vec2\n"
8391
   "    (parameters\n"
8392
   "      (declare (in) vec2 p))\n"
8393
   "    ())\n"
8394
   "  (signature vec3\n"
8395
   "    (parameters\n"
8396
   "      (declare (in) vec3 p))\n"
8397
   "    ())\n"
8398
   "  (signature vec4\n"
8399
   "    (parameters\n"
8400
   "      (declare (in) vec4 p))\n"
8401
   "    ()))\n"
8402
   "(function dFdy\n"
8403
   "  (signature float\n"
8404
   "    (parameters\n"
8405
   "      (declare (in) float p))\n"
8406
   "    ())\n"
8407
   "  (signature vec2\n"
8408
   "    (parameters\n"
8409
   "      (declare (in) vec2 p))\n"
8410
   "    ())\n"
8411
   "  (signature vec3\n"
8412
   "    (parameters\n"
8413
   "      (declare (in) vec3 p))\n"
8414
   "    ())\n"
8415
   "  (signature vec4\n"
8416
   "    (parameters\n"
8417
   "      (declare (in) vec4 p))\n"
8418
   "    ()))\n"
8419
   "(function fwidth\n"
8420
   "  (signature float\n"
8421
   "    (parameters\n"
8422
   "      (declare (in) float p))\n"
8423
   "    ())\n"
8424
   "  (signature vec2\n"
8425
   "    (parameters\n"
8426
   "      (declare (in) vec2 p))\n"
8427
   "    ())\n"
8428
   "  (signature vec3\n"
8429
   "    (parameters\n"
8430
   "      (declare (in) vec3 p))\n"
8431
   "    ())\n"
8432
   "  (signature vec4\n"
8433
   "    (parameters\n"
8434
   "      (declare (in) vec4 p))\n"
8435
   "    ()))\n"
8436
   "(function noise1\n"
8437
   "  (signature float\n"
8438
   "    (parameters\n"
8439
   "      (declare (in) float x))\n"
8440
   "    ())\n"
8441
   "  (signature float\n"
8442
   "    (parameters\n"
8443
   "      (declare (in) vec2 x))\n"
8444
   "    ())\n"
8445
   "  (signature float\n"
8446
   "    (parameters\n"
8447
   "      (declare (in) vec3 x))\n"
8448
   "    ())\n"
8449
   "  (signature float\n"
8450
   "    (parameters\n"
8451
   "      (declare (in) vec4 x))\n"
8452
   "    ()))\n"
8453
   "(function noise2\n"
8454
   "  (signature vec2\n"
8455
   "    (parameters\n"
8456
   "      (declare (in) float x))\n"
8457
   "    ())\n"
8458
   "  (signature vec2\n"
8459
   "    (parameters\n"
8460
   "      (declare (in) vec2 x))\n"
8461
   "    ())\n"
8462
   "  (signature vec2\n"
8463
   "    (parameters\n"
8464
   "      (declare (in) vec3 x))\n"
8465
   "    ())\n"
8466
   "  (signature vec2\n"
8467
   "    (parameters\n"
8468
   "      (declare (in) vec4 x))\n"
8469
   "    ()))\n"
8470
   "(function noise3\n"
8471
   "  (signature vec3\n"
8472
   "    (parameters\n"
8473
   "      (declare (in) float x))\n"
8474
   "    ())\n"
8475
   "  (signature vec3\n"
8476
   "    (parameters\n"
8477
   "      (declare (in) vec2 x))\n"
8478
   "    ())\n"
8479
   "  (signature vec3\n"
8480
   "    (parameters\n"
8481
   "      (declare (in) vec3 x))\n"
8482
   "    ())\n"
8483
   "  (signature vec3\n"
8484
   "    (parameters\n"
8485
   "      (declare (in) vec4 x))\n"
8486
   "    ()))\n"
8487
   "(function noise4\n"
8488
   "  (signature vec4\n"
8489
   "    (parameters\n"
8490
   "      (declare (in) float x))\n"
8491
   "    ())\n"
8492
   "  (signature vec4\n"
8493
   "    (parameters\n"
8494
   "      (declare (in) vec2 x))\n"
8495
   "    ())\n"
8496
   "  (signature vec4\n"
8497
   "    (parameters\n"
8498
   "      (declare (in) vec3 x))\n"
8499
   "    ())\n"
8500
   "  (signature vec4\n"
8501
   "    (parameters\n"
8502
   "      (declare (in) vec4 x))\n"
8503
   "    ())))"
8504
;
8505
static const char *functions_for_110_frag [] = {
8506
   builtin_abs,
8507
   builtin_acos,
8508
   builtin_all,
8509
   builtin_any,
8510
   builtin_asin,
8511
   builtin_atan,
8512
   builtin_ceil,
8513
   builtin_clamp,
8514
   builtin_cos,
8515
   builtin_cross,
8516
   builtin_dFdx,
8517
   builtin_dFdy,
8518
   builtin_degrees,
8519
   builtin_distance,
8520
   builtin_dot,
8521
   builtin_equal,
8522
   builtin_exp,
8523
   builtin_exp2,
8524
   builtin_faceforward,
8525
   builtin_floor,
8526
   builtin_fract,
8527
   builtin_fwidth,
8528
   builtin_greaterThan,
8529
   builtin_greaterThanEqual,
8530
   builtin_inversesqrt,
8531
   builtin_length,
8532
   builtin_lessThan,
8533
   builtin_lessThanEqual,
8534
   builtin_log,
8535
   builtin_log2,
8536
   builtin_matrixCompMult,
8537
   builtin_max,
8538
   builtin_min,
8539
   builtin_mix,
8540
   builtin_mod,
8541
   builtin_noise1,
8542
   builtin_noise2,
8543
   builtin_noise3,
8544
   builtin_noise4,
8545
   builtin_normalize,
8546
   builtin_not,
8547
   builtin_notEqual,
8548
   builtin_pow,
8549
   builtin_radians,
8550
   builtin_reflect,
8551
   builtin_refract,
8552
   builtin_shadow1D,
8553
   builtin_shadow1DProj,
8554
   builtin_shadow2D,
8555
   builtin_shadow2DProj,
8556
   builtin_sign,
8557
   builtin_sin,
8558
   builtin_smoothstep,
8559
   builtin_sqrt,
8560
   builtin_step,
8561
   builtin_tan,
8562
   builtin_texture1D,
8563
   builtin_texture1DProj,
8564
   builtin_texture2D,
8565
   builtin_texture2DProj,
8566
   builtin_texture3D,
8567
   builtin_texture3DProj,
8568
   builtin_textureCube,
8569
};
8570
static const char prototypes_for_110_vert[] =
8571
   "(\n"
8572
   "(function radians\n"
8573
   "  (signature float\n"
8574
   "    (parameters\n"
8575
   "      (declare (in) float degrees))\n"
8576
   "    ())\n"
8577
   "  (signature vec2\n"
8578
   "    (parameters\n"
8579
   "      (declare (in) vec2 degrees))\n"
8580
   "    ())\n"
8581
   "  (signature vec3\n"
8582
   "    (parameters\n"
8583
   "      (declare (in) vec3 degrees))\n"
8584
   "    ())\n"
8585
   "  (signature vec4\n"
8586
   "    (parameters\n"
8587
   "      (declare (in) vec4 degrees))\n"
8588
   "    ()))\n"
8589
   "(function degrees\n"
8590
   "  (signature float\n"
8591
   "    (parameters\n"
8592
   "      (declare (in) float radians))\n"
8593
   "    ())\n"
8594
   "  (signature vec2\n"
8595
   "    (parameters\n"
8596
   "      (declare (in) vec2 radians))\n"
8597
   "    ())\n"
8598
   "  (signature vec3\n"
8599
   "    (parameters\n"
8600
   "      (declare (in) vec3 radians))\n"
8601
   "    ())\n"
8602
   "  (signature vec4\n"
8603
   "    (parameters\n"
8604
   "      (declare (in) vec4 radians))\n"
8605
   "    ()))\n"
8606
   "(function sin\n"
8607
   "  (signature float\n"
8608
   "    (parameters\n"
8609
   "      (declare (in) float angle))\n"
8610
   "    ())\n"
8611
   "  (signature vec2\n"
8612
   "    (parameters\n"
8613
   "      (declare (in) vec2 angle))\n"
8614
   "    ())\n"
8615
   "  (signature vec3\n"
8616
   "    (parameters\n"
8617
   "      (declare (in) vec3 angle))\n"
8618
   "    ())\n"
8619
   "  (signature vec4\n"
8620
   "    (parameters\n"
8621
   "      (declare (in) vec4 angle))\n"
8622
   "    ()))\n"
8623
   "(function cos\n"
8624
   "  (signature float\n"
8625
   "    (parameters\n"
8626
   "      (declare (in) float angle))\n"
8627
   "    ())\n"
8628
   "  (signature vec2\n"
8629
   "    (parameters\n"
8630
   "      (declare (in) vec2 angle))\n"
8631
   "    ())\n"
8632
   "  (signature vec3\n"
8633
   "    (parameters\n"
8634
   "      (declare (in) vec3 angle))\n"
8635
   "    ())\n"
8636
   "  (signature vec4\n"
8637
   "    (parameters\n"
8638
   "      (declare (in) vec4 angle))\n"
8639
   "    ()))\n"
8640
   "(function tan\n"
8641
   "  (signature float\n"
8642
   "    (parameters\n"
8643
   "      (declare (in) float angle))\n"
8644
   "    ())\n"
8645
   "  (signature vec2\n"
8646
   "    (parameters\n"
8647
   "      (declare (in) vec2 angle))\n"
8648
   "    ())\n"
8649
   "  (signature vec3\n"
8650
   "    (parameters\n"
8651
   "      (declare (in) vec3 angle))\n"
8652
   "    ())\n"
8653
   "  (signature vec4\n"
8654
   "    (parameters\n"
8655
   "      (declare (in) vec4 angle))\n"
8656
   "    ()))\n"
8657
   "(function asin\n"
8658
   "  (signature float\n"
8659
   "    (parameters\n"
8660
   "      (declare (in) float angle))\n"
8661
   "    ())\n"
8662
   "  (signature vec2\n"
8663
   "    (parameters\n"
8664
   "      (declare (in) vec2 angle))\n"
8665
   "    ())\n"
8666
   "  (signature vec3\n"
8667
   "    (parameters\n"
8668
   "      (declare (in) vec3 angle))\n"
8669
   "    ())\n"
8670
   "  (signature vec4\n"
8671
   "    (parameters\n"
8672
   "      (declare (in) vec4 angle))\n"
8673
   "    ()))\n"
8674
   "(function acos\n"
8675
   "  (signature float\n"
8676
   "    (parameters\n"
8677
   "      (declare (in) float angle))\n"
8678
   "    ())\n"
8679
   "  (signature vec2\n"
8680
   "    (parameters\n"
8681
   "      (declare (in) vec2 angle))\n"
8682
   "    ())\n"
8683
   "  (signature vec3\n"
8684
   "    (parameters\n"
8685
   "      (declare (in) vec3 angle))\n"
8686
   "    ())\n"
8687
   "  (signature vec4\n"
8688
   "    (parameters\n"
8689
   "      (declare (in) vec4 angle))\n"
8690
   "    ()))\n"
8691
   "(function atan\n"
8692
   "  (signature float\n"
8693
   "    (parameters\n"
8694
   "      (declare (in) float y)\n"
8695
   "      (declare (in) float x))\n"
8696
   "    ())\n"
8697
   "  (signature vec2\n"
8698
   "    (parameters\n"
8699
   "      (declare (in) vec2 y)\n"
8700
   "      (declare (in) vec2 x))\n"
8701
   "    ())\n"
8702
   "  (signature vec3\n"
8703
   "    (parameters\n"
8704
   "      (declare (in) vec3 y)\n"
8705
   "      (declare (in) vec3 x))\n"
8706
   "    ())\n"
8707
   "  (signature vec4\n"
8708
   "    (parameters\n"
8709
   "      (declare (in) vec4 y)\n"
8710
   "      (declare (in) vec4 x))\n"
8711
   "    ())\n"
8712
   "  (signature float\n"
8713
   "    (parameters\n"
8714
   "      (declare (in) float y_over_x))\n"
8715
   "    ())\n"
8716
   "  (signature vec2\n"
8717
   "    (parameters\n"
8718
   "      (declare (in) vec2 y_over_x))\n"
8719
   "    ())\n"
8720
   "  (signature vec3\n"
8721
   "    (parameters\n"
8722
   "      (declare (in) vec3 y_over_x))\n"
8723
   "    ())\n"
8724
   "  (signature vec4\n"
8725
   "    (parameters\n"
8726
   "      (declare (in) vec4 y_over_x))\n"
8727
   "    ()))\n"
8728
   "(function pow\n"
8729
   "  (signature float\n"
8730
   "    (parameters\n"
8731
   "      (declare (in) float x)\n"
8732
   "      (declare (in) float y))\n"
8733
   "    ())\n"
8734
   "  (signature vec2\n"
8735
   "    (parameters\n"
8736
   "      (declare (in) vec2 x)\n"
8737
   "      (declare (in) vec2 y))\n"
8738
   "    ())\n"
8739
   "  (signature vec3\n"
8740
   "    (parameters\n"
8741
   "      (declare (in) vec3 x)\n"
8742
   "      (declare (in) vec3 y))\n"
8743
   "    ())\n"
8744
   "  (signature vec4\n"
8745
   "    (parameters\n"
8746
   "      (declare (in) vec4 x)\n"
8747
   "      (declare (in) vec4 y))\n"
8748
   "    ()))\n"
8749
   "(function exp\n"
8750
   "  (signature float\n"
8751
   "    (parameters\n"
8752
   "      (declare (in) float x))\n"
8753
   "    ())\n"
8754
   "  (signature vec2\n"
8755
   "    (parameters\n"
8756
   "      (declare (in) vec2 x))\n"
8757
   "    ())\n"
8758
   "  (signature vec3\n"
8759
   "    (parameters\n"
8760
   "      (declare (in) vec3 x))\n"
8761
   "    ())\n"
8762
   "  (signature vec4\n"
8763
   "    (parameters\n"
8764
   "      (declare (in) vec4 x))\n"
8765
   "    ()))\n"
8766
   "(function log\n"
8767
   "  (signature float\n"
8768
   "    (parameters\n"
8769
   "      (declare (in) float x))\n"
8770
   "    ())\n"
8771
   "  (signature vec2\n"
8772
   "    (parameters\n"
8773
   "      (declare (in) vec2 x))\n"
8774
   "    ())\n"
8775
   "  (signature vec3\n"
8776
   "    (parameters\n"
8777
   "      (declare (in) vec3 x))\n"
8778
   "    ())\n"
8779
   "  (signature vec4\n"
8780
   "    (parameters\n"
8781
   "      (declare (in) vec4 x))\n"
8782
   "    ()))\n"
8783
   "(function exp2\n"
8784
   "  (signature float\n"
8785
   "    (parameters\n"
8786
   "      (declare (in) float x))\n"
8787
   "    ())\n"
8788
   "  (signature vec2\n"
8789
   "    (parameters\n"
8790
   "      (declare (in) vec2 x))\n"
8791
   "    ())\n"
8792
   "  (signature vec3\n"
8793
   "    (parameters\n"
8794
   "      (declare (in) vec3 x))\n"
8795
   "    ())\n"
8796
   "  (signature vec4\n"
8797
   "    (parameters\n"
8798
   "      (declare (in) vec4 x))\n"
8799
   "    ()))\n"
8800
   "(function log2\n"
8801
   "  (signature float\n"
8802
   "    (parameters\n"
8803
   "      (declare (in) float x))\n"
8804
   "    ())\n"
8805
   "  (signature vec2\n"
8806
   "    (parameters\n"
8807
   "      (declare (in) vec2 x))\n"
8808
   "    ())\n"
8809
   "  (signature vec3\n"
8810
   "    (parameters\n"
8811
   "      (declare (in) vec3 x))\n"
8812
   "    ())\n"
8813
   "  (signature vec4\n"
8814
   "    (parameters\n"
8815
   "      (declare (in) vec4 x))\n"
8816
   "    ()))\n"
8817
   "(function sqrt\n"
8818
   "  (signature float\n"
8819
   "    (parameters\n"
8820
   "      (declare (in) float x))\n"
8821
   "    ())\n"
8822
   "  (signature vec2\n"
8823
   "    (parameters\n"
8824
   "      (declare (in) vec2 x))\n"
8825
   "    ())\n"
8826
   "  (signature vec3\n"
8827
   "    (parameters\n"
8828
   "      (declare (in) vec3 x))\n"
8829
   "    ())\n"
8830
   "  (signature vec4\n"
8831
   "    (parameters\n"
8832
   "      (declare (in) vec4 x))\n"
8833
   "    ()))\n"
8834
   "(function inversesqrt\n"
8835
   "  (signature float\n"
8836
   "    (parameters\n"
8837
   "      (declare (in) float x))\n"
8838
   "    ())\n"
8839
   "  (signature vec2\n"
8840
   "    (parameters\n"
8841
   "      (declare (in) vec2 x))\n"
8842
   "    ())\n"
8843
   "  (signature vec3\n"
8844
   "    (parameters\n"
8845
   "      (declare (in) vec3 x))\n"
8846
   "    ())\n"
8847
   "  (signature vec4\n"
8848
   "    (parameters\n"
8849
   "      (declare (in) vec4 x))\n"
8850
   "    ()))\n"
8851
   "(function abs\n"
8852
   "  (signature float\n"
8853
   "    (parameters\n"
8854
   "      (declare (in) float x))\n"
8855
   "    ())\n"
8856
   "  (signature vec2\n"
8857
   "    (parameters\n"
8858
   "      (declare (in) vec2 x))\n"
8859
   "    ())\n"
8860
   "  (signature vec3\n"
8861
   "    (parameters\n"
8862
   "      (declare (in) vec3 x))\n"
8863
   "    ())\n"
8864
   "  (signature vec4\n"
8865
   "    (parameters\n"
8866
   "      (declare (in) vec4 x))\n"
8867
   "    ()))\n"
8868
   "(function sign\n"
8869
   "  (signature float\n"
8870
   "    (parameters\n"
8871
   "      (declare (in) float x))\n"
8872
   "    ())\n"
8873
   "  (signature vec2\n"
8874
   "    (parameters\n"
8875
   "      (declare (in) vec2 x))\n"
8876
   "    ())\n"
8877
   "  (signature vec3\n"
8878
   "    (parameters\n"
8879
   "      (declare (in) vec3 x))\n"
8880
   "    ())\n"
8881
   "  (signature vec4\n"
8882
   "    (parameters\n"
8883
   "      (declare (in) vec4 x))\n"
8884
   "    ()))\n"
8885
   "(function floor\n"
8886
   "  (signature float\n"
8887
   "    (parameters\n"
8888
   "      (declare (in) float x))\n"
8889
   "    ())\n"
8890
   "  (signature vec2\n"
8891
   "    (parameters\n"
8892
   "      (declare (in) vec2 x))\n"
8893
   "    ())\n"
8894
   "  (signature vec3\n"
8895
   "    (parameters\n"
8896
   "      (declare (in) vec3 x))\n"
8897
   "    ())\n"
8898
   "  (signature vec4\n"
8899
   "    (parameters\n"
8900
   "      (declare (in) vec4 x))\n"
8901
   "    ()))\n"
8902
   "(function ceil\n"
8903
   "  (signature float\n"
8904
   "    (parameters\n"
8905
   "      (declare (in) float x))\n"
8906
   "    ())\n"
8907
   "  (signature vec2\n"
8908
   "    (parameters\n"
8909
   "      (declare (in) vec2 x))\n"
8910
   "    ())\n"
8911
   "  (signature vec3\n"
8912
   "    (parameters\n"
8913
   "      (declare (in) vec3 x))\n"
8914
   "    ())\n"
8915
   "  (signature vec4\n"
8916
   "    (parameters\n"
8917
   "      (declare (in) vec4 x))\n"
8918
   "    ()))\n"
8919
   "(function fract\n"
8920
   "  (signature float\n"
8921
   "    (parameters\n"
8922
   "      (declare (in) float x))\n"
8923
   "    ())\n"
8924
   "  (signature vec2\n"
8925
   "    (parameters\n"
8926
   "      (declare (in) vec2 x))\n"
8927
   "    ())\n"
8928
   "  (signature vec3\n"
8929
   "    (parameters\n"
8930
   "      (declare (in) vec3 x))\n"
8931
   "    ())\n"
8932
   "  (signature vec4\n"
8933
   "    (parameters\n"
8934
   "      (declare (in) vec4 x))\n"
8935
   "    ()))\n"
8936
   "(function mod\n"
8937
   "  (signature float\n"
8938
   "    (parameters\n"
8939
   "      (declare (in) float x)\n"
8940
   "      (declare (in) float y))\n"
8941
   "    ())\n"
8942
   "  (signature vec2\n"
8943
   "    (parameters\n"
8944
   "      (declare (in) vec2 x)\n"
8945
   "      (declare (in) float y))\n"
8946
   "    ())\n"
8947
   "  (signature vec3\n"
8948
   "    (parameters\n"
8949
   "      (declare (in) vec3 x)\n"
8950
   "      (declare (in) float y))\n"
8951
   "    ())\n"
8952
   "  (signature vec4\n"
8953
   "    (parameters\n"
8954
   "      (declare (in) vec4 x)\n"
8955
   "      (declare (in) float y))\n"
8956
   "    ())\n"
8957
   "  (signature vec2\n"
8958
   "    (parameters\n"
8959
   "      (declare (in) vec2 x)\n"
8960
   "      (declare (in) vec2 y))\n"
8961
   "    ())\n"
8962
   "  (signature vec3\n"
8963
   "    (parameters\n"
8964
   "      (declare (in) vec3 x)\n"
8965
   "      (declare (in) vec3 y))\n"
8966
   "    ())\n"
8967
   "  (signature vec4\n"
8968
   "    (parameters\n"
8969
   "      (declare (in) vec4 x)\n"
8970
   "      (declare (in) vec4 y))\n"
8971
   "    ()))\n"
8972
   "(function min\n"
8973
   "  (signature float\n"
8974
   "    (parameters\n"
8975
   "      (declare (in) float x)\n"
8976
   "      (declare (in) float y))\n"
8977
   "    ())\n"
8978
   "  (signature vec2\n"
8979
   "    (parameters\n"
8980
   "      (declare (in) vec2 x)\n"
8981
   "      (declare (in) vec2 y))\n"
8982
   "    ())\n"
8983
   "  (signature vec3\n"
8984
   "    (parameters\n"
8985
   "      (declare (in) vec3 x)\n"
8986
   "      (declare (in) vec3 y))\n"
8987
   "    ())\n"
8988
   "  (signature vec4\n"
8989
   "    (parameters\n"
8990
   "      (declare (in) vec4 x)\n"
8991
   "      (declare (in) vec4 y))\n"
8992
   "    ())\n"
8993
   "  (signature vec2\n"
8994
   "    (parameters\n"
8995
   "      (declare (in) vec2 x)\n"
8996
   "      (declare (in) float y))\n"
8997
   "    ())\n"
8998
   "  (signature vec3\n"
8999
   "    (parameters\n"
9000
   "      (declare (in) vec3 x)\n"
9001
   "      (declare (in) float y))\n"
9002
   "    ())\n"
9003
   "  (signature vec4\n"
9004
   "    (parameters\n"
9005
   "      (declare (in) vec4 x)\n"
9006
   "      (declare (in) float y))\n"
9007
   "    ()))\n"
9008
   "(function max\n"
9009
   "  (signature float\n"
9010
   "    (parameters\n"
9011
   "      (declare (in) float x)\n"
9012
   "      (declare (in) float y))\n"
9013
   "    ())\n"
9014
   "  (signature vec2\n"
9015
   "    (parameters\n"
9016
   "      (declare (in) vec2 x)\n"
9017
   "      (declare (in) vec2 y))\n"
9018
   "    ())\n"
9019
   "  (signature vec3\n"
9020
   "    (parameters\n"
9021
   "      (declare (in) vec3 x)\n"
9022
   "      (declare (in) vec3 y))\n"
9023
   "    ())\n"
9024
   "  (signature vec4\n"
9025
   "    (parameters\n"
9026
   "      (declare (in) vec4 x)\n"
9027
   "      (declare (in) vec4 y))\n"
9028
   "    ())\n"
9029
   "  (signature vec2\n"
9030
   "    (parameters\n"
9031
   "      (declare (in) vec2 x)\n"
9032
   "      (declare (in) float y))\n"
9033
   "    ())\n"
9034
   "  (signature vec3\n"
9035
   "    (parameters\n"
9036
   "      (declare (in) vec3 x)\n"
9037
   "      (declare (in) float y))\n"
9038
   "    ())\n"
9039
   "  (signature vec4\n"
9040
   "    (parameters\n"
9041
   "      (declare (in) vec4 x)\n"
9042
   "      (declare (in) float y))\n"
9043
   "    ()))\n"
9044
   "(function clamp\n"
9045
   "  (signature float\n"
9046
   "    (parameters\n"
9047
   "      (declare (in) float x)\n"
9048
   "      (declare (in) float minVal)\n"
9049
   "      (declare (in) float maxVal))\n"
9050
   "    ())\n"
9051
   "  (signature vec2\n"
9052
   "    (parameters\n"
9053
   "      (declare (in) vec2 x)\n"
9054
   "      (declare (in) vec2 minVal)\n"
9055
   "      (declare (in) vec2 maxVal))\n"
9056
   "    ())\n"
9057
   "  (signature vec3\n"
9058
   "    (parameters\n"
9059
   "      (declare (in) vec3 x)\n"
9060
   "      (declare (in) vec3 minVal)\n"
9061
   "      (declare (in) vec3 maxVal))\n"
9062
   "    ())\n"
9063
   "  (signature vec4\n"
9064
   "    (parameters\n"
9065
   "      (declare (in) vec4 x)\n"
9066
   "      (declare (in) vec4 minVal)\n"
9067
   "      (declare (in) vec4 maxVal))\n"
9068
   "    ())\n"
9069
   "  (signature vec2\n"
9070
   "    (parameters\n"
9071
   "      (declare (in) vec2 x)\n"
9072
   "      (declare (in) float minVal)\n"
9073
   "      (declare (in) float maxVal))\n"
9074
   "    ())\n"
9075
   "  (signature vec3\n"
9076
   "    (parameters\n"
9077
   "      (declare (in) vec3 x)\n"
9078
   "      (declare (in) float minVal)\n"
9079
   "      (declare (in) float maxVal))\n"
9080
   "    ())\n"
9081
   "  (signature vec4\n"
9082
   "    (parameters\n"
9083
   "      (declare (in) vec4 x)\n"
9084
   "      (declare (in) float minVal)\n"
9085
   "      (declare (in) float maxVal))\n"
9086
   "    ()))\n"
9087
   "(function mix\n"
9088
   "  (signature float\n"
9089
   "    (parameters\n"
9090
   "      (declare (in) float x)\n"
9091
   "      (declare (in) float y)\n"
9092
   "      (declare (in) float a))\n"
9093
   "    ())\n"
9094
   "  (signature vec2\n"
9095
   "    (parameters\n"
9096
   "      (declare (in) vec2 x)\n"
9097
   "      (declare (in) vec2 y)\n"
9098
   "      (declare (in) vec2 a))\n"
9099
   "    ())\n"
9100
   "  (signature vec3\n"
9101
   "    (parameters\n"
9102
   "      (declare (in) vec3 x)\n"
9103
   "      (declare (in) vec3 y)\n"
9104
   "      (declare (in) vec3 a))\n"
9105
   "    ())\n"
9106
   "  (signature vec4\n"
9107
   "    (parameters\n"
9108
   "      (declare (in) vec4 x)\n"
9109
   "      (declare (in) vec4 y)\n"
9110
   "      (declare (in) vec4 a))\n"
9111
   "    ())\n"
9112
   "  (signature vec2\n"
9113
   "    (parameters\n"
9114
   "      (declare (in) vec2 x)\n"
9115
   "      (declare (in) vec2 y)\n"
9116
   "      (declare (in) float a))\n"
9117
   "    ())\n"
9118
   "  (signature vec3\n"
9119
   "    (parameters\n"
9120
   "      (declare (in) vec3 x)\n"
9121
   "      (declare (in) vec3 y)\n"
9122
   "      (declare (in) float a))\n"
9123
   "    ())\n"
9124
   "  (signature vec4\n"
9125
   "    (parameters\n"
9126
   "      (declare (in) vec4 x)\n"
9127
   "      (declare (in) vec4 y)\n"
9128
   "      (declare (in) float a))\n"
9129
   "    ()))\n"
9130
   "(function step\n"
9131
   "  (signature float\n"
9132
   "    (parameters\n"
9133
   "      (declare (in) float edge)\n"
9134
   "      (declare (in) float x))\n"
9135
   "    ())\n"
9136
   "  (signature vec2\n"
9137
   "    (parameters\n"
9138
   "      (declare (in) vec2 edge)\n"
9139
   "      (declare (in) vec2 x))\n"
9140
   "    ())\n"
9141
   "  (signature vec3\n"
9142
   "    (parameters\n"
9143
   "      (declare (in) vec3 edge)\n"
9144
   "      (declare (in) vec3 x))\n"
9145
   "    ())\n"
9146
   "  (signature vec4\n"
9147
   "    (parameters\n"
9148
   "      (declare (in) vec4 edge)\n"
9149
   "      (declare (in) vec4 x))\n"
9150
   "    ())\n"
9151
   "  (signature vec2\n"
9152
   "    (parameters\n"
9153
   "      (declare (in) float edge)\n"
9154
   "      (declare (in) vec2 x))\n"
9155
   "    ())\n"
9156
   "  (signature vec3\n"
9157
   "    (parameters\n"
9158
   "      (declare (in) float edge)\n"
9159
   "      (declare (in) vec3 x))\n"
9160
   "    ())\n"
9161
   "  (signature vec4\n"
9162
   "    (parameters\n"
9163
   "      (declare (in) float edge)\n"
9164
   "      (declare (in) vec4 x))\n"
9165
   "    ()))\n"
9166
   "(function smoothstep\n"
9167
   "  (signature float\n"
9168
   "    (parameters\n"
9169
   "      (declare (in) float edge0)\n"
9170
   "      (declare (in) float edge1)\n"
9171
   "      (declare (in) float x))\n"
9172
   "    ())\n"
9173
   "  (signature vec2\n"
9174
   "    (parameters\n"
9175
   "      (declare (in) vec2 edge0)\n"
9176
   "      (declare (in) vec2 edge1)\n"
9177
   "      (declare (in) vec2 x))\n"
9178
   "    ())\n"
9179
   "  (signature vec3\n"
9180
   "    (parameters\n"
9181
   "      (declare (in) vec3 edge0)\n"
9182
   "      (declare (in) vec3 edge1)\n"
9183
   "      (declare (in) vec3 x))\n"
9184
   "    ())\n"
9185
   "  (signature vec4\n"
9186
   "    (parameters\n"
9187
   "      (declare (in) vec4 edge0)\n"
9188
   "      (declare (in) vec4 edge1)\n"
9189
   "      (declare (in) vec4 x))\n"
9190
   "    ())\n"
9191
   "  (signature vec2\n"
9192
   "    (parameters\n"
9193
   "      (declare (in) float edge0)\n"
9194
   "      (declare (in) float edge1)\n"
9195
   "      (declare (in) vec2 x))\n"
9196
   "    ())\n"
9197
   "  (signature vec3\n"
9198
   "    (parameters\n"
9199
   "      (declare (in) float edge0)\n"
9200
   "      (declare (in) float edge1)\n"
9201
   "      (declare (in) vec3 x))\n"
9202
   "    ())\n"
9203
   "  (signature vec4\n"
9204
   "    (parameters\n"
9205
   "      (declare (in) float edge0)\n"
9206
   "      (declare (in) float edge1)\n"
9207
   "      (declare (in) vec4 x))\n"
9208
   "    ()))\n"
9209
   "(function length\n"
9210
   "  (signature float\n"
9211
   "    (parameters\n"
9212
   "      (declare (in) float x))\n"
9213
   "    ())\n"
9214
   "  (signature float\n"
9215
   "    (parameters\n"
9216
   "      (declare (in) vec2 x))\n"
9217
   "    ())\n"
9218
   "  (signature float\n"
9219
   "    (parameters\n"
9220
   "      (declare (in) vec3 x))\n"
9221
   "    ())\n"
9222
   "  (signature float\n"
9223
   "    (parameters\n"
9224
   "      (declare (in) vec4 x))\n"
9225
   "    ()))\n"
9226
   "(function distance\n"
9227
   "  (signature float\n"
9228
   "    (parameters\n"
9229
   "      (declare (in) float p0)\n"
9230
   "      (declare (in) float p1))\n"
9231
   "    ())\n"
9232
   "  (signature float\n"
9233
   "    (parameters\n"
9234
   "      (declare (in) vec2 p0)\n"
9235
   "      (declare (in) vec2 p1))\n"
9236
   "    ())\n"
9237
   "  (signature float\n"
9238
   "    (parameters\n"
9239
   "      (declare (in) vec3 p0)\n"
9240
   "      (declare (in) vec3 p1))\n"
9241
   "    ())\n"
9242
   "  (signature float\n"
9243
   "    (parameters\n"
9244
   "      (declare (in) vec4 p0)\n"
9245
   "      (declare (in) vec4 p1))\n"
9246
   "    ()))\n"
9247
   "(function dot\n"
9248
   "  (signature float\n"
9249
   "    (parameters\n"
9250
   "      (declare (in) float x)\n"
9251
   "      (declare (in) float y))\n"
9252
   "    ())\n"
9253
   "  (signature float\n"
9254
   "    (parameters\n"
9255
   "      (declare (in) vec2 x)\n"
9256
   "      (declare (in) vec2 y))\n"
9257
   "    ())\n"
9258
   "  (signature float\n"
9259
   "    (parameters\n"
9260
   "      (declare (in) vec3 x)\n"
9261
   "      (declare (in) vec3 y))\n"
9262
   "    ())\n"
9263
   "  (signature float\n"
9264
   "    (parameters\n"
9265
   "      (declare (in) vec4 x)\n"
9266
   "      (declare (in) vec4 y))\n"
9267
   "    ()))\n"
9268
   "(function cross\n"
9269
   "  (signature vec3\n"
9270
   "    (parameters\n"
9271
   "      (declare (in) vec3 x)\n"
9272
   "      (declare (in) vec3 y))\n"
9273
   "    ()))\n"
9274
   "(function normalize\n"
9275
   "  (signature float\n"
9276
   "    (parameters\n"
9277
   "      (declare (in) float x))\n"
9278
   "    ())\n"
9279
   "  (signature vec2\n"
9280
   "    (parameters\n"
9281
   "      (declare (in) vec2 x))\n"
9282
   "    ())\n"
9283
   "  (signature vec3\n"
9284
   "    (parameters\n"
9285
   "      (declare (in) vec3 x))\n"
9286
   "    ())\n"
9287
   "  (signature vec4\n"
9288
   "    (parameters\n"
9289
   "      (declare (in) vec4 x))\n"
9290
   "    ()))\n"
9291
   "(function ftransform\n"
9292
   "  (signature vec4\n"
9293
   "    (parameters)\n"
9294
   "    ()))\n"
9295
   "(function faceforward\n"
9296
   "  (signature float\n"
9297
   "    (parameters\n"
9298
   "      (declare (in) float N)\n"
9299
   "      (declare (in) float I)\n"
9300
   "      (declare (in) float Nref))\n"
9301
   "    ())\n"
9302
   "  (signature vec2\n"
9303
   "    (parameters\n"
9304
   "      (declare (in) vec2 N)\n"
9305
   "      (declare (in) vec2 I)\n"
9306
   "      (declare (in) vec2 Nref))\n"
9307
   "    ())\n"
9308
   "  (signature vec3\n"
9309
   "    (parameters\n"
9310
   "      (declare (in) vec3 N)\n"
9311
   "      (declare (in) vec3 I)\n"
9312
   "      (declare (in) vec3 Nref))\n"
9313
   "    ())\n"
9314
   "  (signature vec4\n"
9315
   "    (parameters\n"
9316
   "      (declare (in) vec4 N)\n"
9317
   "      (declare (in) vec4 I)\n"
9318
   "      (declare (in) vec4 Nref))\n"
9319
   "    ()))\n"
9320
   "(function reflect\n"
9321
   "  (signature float\n"
9322
   "    (parameters\n"
9323
   "      (declare (in) float I)\n"
9324
   "      (declare (in) float N))\n"
9325
   "    ())\n"
9326
   "  (signature vec2\n"
9327
   "    (parameters\n"
9328
   "      (declare (in) vec2 I)\n"
9329
   "      (declare (in) vec2 N))\n"
9330
   "    ())\n"
9331
   "  (signature vec3\n"
9332
   "    (parameters\n"
9333
   "      (declare (in) vec3 I)\n"
9334
   "      (declare (in) vec3 N))\n"
9335
   "    ())\n"
9336
   "  (signature vec4\n"
9337
   "    (parameters\n"
9338
   "      (declare (in) vec4 I)\n"
9339
   "      (declare (in) vec4 N))\n"
9340
   "    ()))\n"
9341
   "(function refract\n"
9342
   "  (signature float\n"
9343
   "    (parameters\n"
9344
   "      (declare (in) float I)\n"
9345
   "      (declare (in) float N)\n"
9346
   "      (declare (in) float eta))\n"
9347
   "    ())\n"
9348
   "  (signature vec2\n"
9349
   "    (parameters\n"
9350
   "      (declare (in) vec2 I)\n"
9351
   "      (declare (in) vec2 N)\n"
9352
   "      (declare (in) float eta))\n"
9353
   "    ())\n"
9354
   "  (signature vec3\n"
9355
   "    (parameters\n"
9356
   "      (declare (in) vec3 I)\n"
9357
   "      (declare (in) vec3 N)\n"
9358
   "      (declare (in) float eta))\n"
9359
   "    ())\n"
9360
   "  (signature vec4\n"
9361
   "    (parameters\n"
9362
   "      (declare (in) vec4 I)\n"
9363
   "      (declare (in) vec4 N)\n"
9364
   "      (declare (in) float eta))\n"
9365
   "    ()))\n"
9366
   "(function matrixCompMult\n"
9367
   "  (signature mat2\n"
9368
   "    (parameters\n"
9369
   "      (declare (in) mat2 x)\n"
9370
   "      (declare (in) mat2 y))\n"
9371
   "    ())\n"
9372
   "  (signature mat3\n"
9373
   "    (parameters\n"
9374
   "      (declare (in) mat3 x)\n"
9375
   "      (declare (in) mat3 y))\n"
9376
   "    ())\n"
9377
   "  (signature mat4\n"
9378
   "    (parameters\n"
9379
   "      (declare (in) mat4 x)\n"
9380
   "      (declare (in) mat4 y))\n"
9381
   "    ()))\n"
9382
   "(function lessThan\n"
9383
   "  (signature bvec2\n"
9384
   "    (parameters\n"
9385
   "      (declare (in) vec2 x)\n"
9386
   "      (declare (in) vec2 y))\n"
9387
   "    ())\n"
9388
   "  (signature bvec3\n"
9389
   "    (parameters\n"
9390
   "      (declare (in) vec3 x)\n"
9391
   "      (declare (in) vec3 y))\n"
9392
   "    ())\n"
9393
   "  (signature bvec4\n"
9394
   "    (parameters\n"
9395
   "      (declare (in) vec4 x)\n"
9396
   "      (declare (in) vec4 y))\n"
9397
   "    ())\n"
9398
   "  (signature bvec2\n"
9399
   "    (parameters\n"
9400
   "      (declare (in) ivec2 x)\n"
9401
   "      (declare (in) ivec2 y))\n"
9402
   "    ())\n"
9403
   "  (signature bvec3\n"
9404
   "    (parameters\n"
9405
   "      (declare (in) ivec3 x)\n"
9406
   "      (declare (in) ivec3 y))\n"
9407
   "    ())\n"
9408
   "  (signature bvec4\n"
9409
   "    (parameters\n"
9410
   "      (declare (in) ivec4 x)\n"
9411
   "      (declare (in) ivec4 y))\n"
9412
   "    ()))\n"
9413
   "(function lessThanEqual\n"
9414
   "  (signature bvec2\n"
9415
   "    (parameters\n"
9416
   "      (declare (in) vec2 x)\n"
9417
   "      (declare (in) vec2 y))\n"
9418
   "    ())\n"
9419
   "  (signature bvec3\n"
9420
   "    (parameters\n"
9421
   "      (declare (in) vec3 x)\n"
9422
   "      (declare (in) vec3 y))\n"
9423
   "    ())\n"
9424
   "  (signature bvec4\n"
9425
   "    (parameters\n"
9426
   "      (declare (in) vec4 x)\n"
9427
   "      (declare (in) vec4 y))\n"
9428
   "    ())\n"
9429
   "  (signature bvec2\n"
9430
   "    (parameters\n"
9431
   "      (declare (in) ivec2 x)\n"
9432
   "      (declare (in) ivec2 y))\n"
9433
   "    ())\n"
9434
   "  (signature bvec3\n"
9435
   "    (parameters\n"
9436
   "      (declare (in) ivec3 x)\n"
9437
   "      (declare (in) ivec3 y))\n"
9438
   "    ())\n"
9439
   "  (signature bvec4\n"
9440
   "    (parameters\n"
9441
   "      (declare (in) ivec4 x)\n"
9442
   "      (declare (in) ivec4 y))\n"
9443
   "    ()))\n"
9444
   "(function greaterThan\n"
9445
   "  (signature bvec2\n"
9446
   "    (parameters\n"
9447
   "      (declare (in) vec2 x)\n"
9448
   "      (declare (in) vec2 y))\n"
9449
   "    ())\n"
9450
   "  (signature bvec3\n"
9451
   "    (parameters\n"
9452
   "      (declare (in) vec3 x)\n"
9453
   "      (declare (in) vec3 y))\n"
9454
   "    ())\n"
9455
   "  (signature bvec4\n"
9456
   "    (parameters\n"
9457
   "      (declare (in) vec4 x)\n"
9458
   "      (declare (in) vec4 y))\n"
9459
   "    ())\n"
9460
   "  (signature bvec2\n"
9461
   "    (parameters\n"
9462
   "      (declare (in) ivec2 x)\n"
9463
   "      (declare (in) ivec2 y))\n"
9464
   "    ())\n"
9465
   "  (signature bvec3\n"
9466
   "    (parameters\n"
9467
   "      (declare (in) ivec3 x)\n"
9468
   "      (declare (in) ivec3 y))\n"
9469
   "    ())\n"
9470
   "  (signature bvec4\n"
9471
   "    (parameters\n"
9472
   "      (declare (in) ivec4 x)\n"
9473
   "      (declare (in) ivec4 y))\n"
9474
   "    ()))\n"
9475
   "(function greaterThanEqual\n"
9476
   "  (signature bvec2\n"
9477
   "    (parameters\n"
9478
   "      (declare (in) vec2 x)\n"
9479
   "      (declare (in) vec2 y))\n"
9480
   "    ())\n"
9481
   "  (signature bvec3\n"
9482
   "    (parameters\n"
9483
   "      (declare (in) vec3 x)\n"
9484
   "      (declare (in) vec3 y))\n"
9485
   "    ())\n"
9486
   "  (signature bvec4\n"
9487
   "    (parameters\n"
9488
   "      (declare (in) vec4 x)\n"
9489
   "      (declare (in) vec4 y))\n"
9490
   "    ())\n"
9491
   "  (signature bvec2\n"
9492
   "    (parameters\n"
9493
   "      (declare (in) ivec2 x)\n"
9494
   "      (declare (in) ivec2 y))\n"
9495
   "    ())\n"
9496
   "  (signature bvec3\n"
9497
   "    (parameters\n"
9498
   "      (declare (in) ivec3 x)\n"
9499
   "      (declare (in) ivec3 y))\n"
9500
   "    ())\n"
9501
   "  (signature bvec4\n"
9502
   "    (parameters\n"
9503
   "      (declare (in) ivec4 x)\n"
9504
   "      (declare (in) ivec4 y))\n"
9505
   "    ()))\n"
9506
   "(function equal\n"
9507
   "  (signature bvec2\n"
9508
   "    (parameters\n"
9509
   "      (declare (in) vec2 x)\n"
9510
   "      (declare (in) vec2 y))\n"
9511
   "    ())\n"
9512
   "  (signature bvec3\n"
9513
   "    (parameters\n"
9514
   "      (declare (in) vec3 x)\n"
9515
   "      (declare (in) vec3 y))\n"
9516
   "    ())\n"
9517
   "  (signature bvec4\n"
9518
   "    (parameters\n"
9519
   "      (declare (in) vec4 x)\n"
9520
   "      (declare (in) vec4 y))\n"
9521
   "    ())\n"
9522
   "  (signature bvec2\n"
9523
   "    (parameters\n"
9524
   "      (declare (in) ivec2 x)\n"
9525
   "      (declare (in) ivec2 y))\n"
9526
   "    ())\n"
9527
   "  (signature bvec3\n"
9528
   "    (parameters\n"
9529
   "      (declare (in) ivec3 x)\n"
9530
   "      (declare (in) ivec3 y))\n"
9531
   "    ())\n"
9532
   "  (signature bvec4\n"
9533
   "    (parameters\n"
9534
   "      (declare (in) ivec4 x)\n"
9535
   "      (declare (in) ivec4 y))\n"
9536
   "    ())\n"
9537
   "  (signature bvec2\n"
9538
   "    (parameters\n"
9539
   "      (declare (in) bvec2 x)\n"
9540
   "      (declare (in) bvec2 y))\n"
9541
   "    ())\n"
9542
   "  (signature bvec3\n"
9543
   "    (parameters\n"
9544
   "      (declare (in) bvec3 x)\n"
9545
   "      (declare (in) bvec3 y))\n"
9546
   "    ())\n"
9547
   "  (signature bvec4\n"
9548
   "    (parameters\n"
9549
   "      (declare (in) bvec4 x)\n"
9550
   "      (declare (in) bvec4 y))\n"
9551
   "    ()))\n"
9552
   "(function notEqual\n"
9553
   "  (signature bvec2\n"
9554
   "    (parameters\n"
9555
   "      (declare (in) vec2 x)\n"
9556
   "      (declare (in) vec2 y))\n"
9557
   "    ())\n"
9558
   "  (signature bvec3\n"
9559
   "    (parameters\n"
9560
   "      (declare (in) vec3 x)\n"
9561
   "      (declare (in) vec3 y))\n"
9562
   "    ())\n"
9563
   "  (signature bvec4\n"
9564
   "    (parameters\n"
9565
   "      (declare (in) vec4 x)\n"
9566
   "      (declare (in) vec4 y))\n"
9567
   "    ())\n"
9568
   "  (signature bvec2\n"
9569
   "    (parameters\n"
9570
   "      (declare (in) ivec2 x)\n"
9571
   "      (declare (in) ivec2 y))\n"
9572
   "    ())\n"
9573
   "  (signature bvec3\n"
9574
   "    (parameters\n"
9575
   "      (declare (in) ivec3 x)\n"
9576
   "      (declare (in) ivec3 y))\n"
9577
   "    ())\n"
9578
   "  (signature bvec4\n"
9579
   "    (parameters\n"
9580
   "      (declare (in) ivec4 x)\n"
9581
   "      (declare (in) ivec4 y))\n"
9582
   "    ())\n"
9583
   "  (signature bvec2\n"
9584
   "    (parameters\n"
9585
   "      (declare (in) bvec2 x)\n"
9586
   "      (declare (in) bvec2 y))\n"
9587
   "    ())\n"
9588
   "  (signature bvec3\n"
9589
   "    (parameters\n"
9590
   "      (declare (in) bvec3 x)\n"
9591
   "      (declare (in) bvec3 y))\n"
9592
   "    ())\n"
9593
   "  (signature bvec4\n"
9594
   "    (parameters\n"
9595
   "      (declare (in) bvec4 x)\n"
9596
   "      (declare (in) bvec4 y))\n"
9597
   "    ()))\n"
9598
   "(function any\n"
9599
   "  (signature bool\n"
9600
   "    (parameters\n"
9601
   "      (declare (in) bvec2 x))\n"
9602
   "    ())\n"
9603
   "  (signature bool\n"
9604
   "    (parameters\n"
9605
   "      (declare (in) bvec3 x))\n"
9606
   "    ())\n"
9607
   "  (signature bool\n"
9608
   "    (parameters\n"
9609
   "      (declare (in) bvec4 x))\n"
9610
   "    ()))\n"
9611
   "(function all\n"
9612
   "  (signature bool\n"
9613
   "    (parameters\n"
9614
   "      (declare (in) bvec2 x))\n"
9615
   "    ())\n"
9616
   "  (signature bool\n"
9617
   "    (parameters\n"
9618
   "      (declare (in) bvec3 x))\n"
9619
   "    ())\n"
9620
   "  (signature bool\n"
9621
   "    (parameters\n"
9622
   "      (declare (in) bvec4 x))\n"
9623
   "    ()))\n"
9624
   "(function not\n"
9625
   "  (signature bvec2\n"
9626
   "    (parameters\n"
9627
   "      (declare (in) bvec2 x))\n"
9628
   "    ())\n"
9629
   "  (signature bvec3\n"
9630
   "    (parameters\n"
9631
   "      (declare (in) bvec3 x))\n"
9632
   "    ())\n"
9633
   "  (signature bvec4\n"
9634
   "    (parameters\n"
9635
   "      (declare (in) bvec4 x))\n"
9636
   "    ()))\n"
9637
   "(function texture1D\n"
9638
   "  (signature vec4\n"
9639
   "    (parameters\n"
9640
   "      (declare (in) sampler1D sampler)\n"
9641
   "      (declare (in) float coord))\n"
9642
   "    ()))\n"
9643
   "(function texture1DProj\n"
9644
   "  (signature vec4\n"
9645
   "    (parameters\n"
9646
   "      (declare (in) sampler1D sampler)\n"
9647
   "      (declare (in) vec2 coord))\n"
9648
   "    ())\n"
9649
   "  (signature vec4\n"
9650
   "    (parameters\n"
9651
   "      (declare (in) sampler1D sampler)\n"
9652
   "      (declare (in) vec4 coord))\n"
9653
   "    ()))\n"
9654
   "(function texture1DLod\n"
9655
   "  (signature vec4\n"
9656
   "    (parameters\n"
9657
   "      (declare (in) sampler1D sampler)\n"
9658
   "      (declare (in) float coord)\n"
9659
   "      (declare (in) float lod))\n"
9660
   "    ()))\n"
9661
   "(function texture1DProjLod\n"
9662
   "  (signature vec4\n"
9663
   "    (parameters\n"
9664
   "      (declare (in) sampler1D sampler)\n"
9665
   "      (declare (in) vec2 coord)\n"
9666
   "      (declare (in) float lod))\n"
9667
   "    ())\n"
9668
   "  (signature vec4\n"
9669
   "    (parameters\n"
9670
   "      (declare (in) sampler1D sampler)\n"
9671
   "      (declare (in) vec4 coord)\n"
9672
   "      (declare (in) float lod))\n"
9673
   "    ()))\n"
9674
   "(function texture2D\n"
9675
   "  (signature vec4\n"
9676
   "    (parameters\n"
9677
   "      (declare (in) sampler2D sampler)\n"
9678
   "      (declare (in) vec2 coord))\n"
9679
   "    ()))\n"
9680
   "(function texture2DProj\n"
9681
   "  (signature vec4\n"
9682
   "    (parameters\n"
9683
   "      (declare (in) sampler2D sampler)\n"
9684
   "      (declare (in) vec3 coord))\n"
9685
   "    ())\n"
9686
   "  (signature vec4\n"
9687
   "    (parameters\n"
9688
   "      (declare (in) sampler2D sampler)\n"
9689
   "      (declare (in) vec4 coord))\n"
9690
   "    ()))\n"
9691
   "(function texture2DLod\n"
9692
   "  (signature vec4\n"
9693
   "    (parameters\n"
9694
   "      (declare (in) sampler2D sampler)\n"
9695
   "      (declare (in) vec2 coord)\n"
9696
   "      (declare (in) float lod))\n"
9697
   "    ()))\n"
9698
   "(function texture2DProjLod\n"
9699
   "  (signature vec4\n"
9700
   "    (parameters\n"
9701
   "      (declare (in) sampler2D sampler)\n"
9702
   "      (declare (in) vec3 coord)\n"
9703
   "      (declare (in) float lod))\n"
9704
   "    ())\n"
9705
   "  (signature vec4\n"
9706
   "    (parameters\n"
9707
   "      (declare (in) sampler2D sampler)\n"
9708
   "      (declare (in) vec4 coord)\n"
9709
   "      (declare (in) float lod))\n"
9710
   "    ()))\n"
9711
   "(function texture3D\n"
9712
   "  (signature vec4\n"
9713
   "    (parameters\n"
9714
   "      (declare (in) sampler3D sampler)\n"
9715
   "      (declare (in) vec3 coord))\n"
9716
   "    ()))\n"
9717
   "(function texture3DProj\n"
9718
   "  (signature vec4\n"
9719
   "    (parameters\n"
9720
   "      (declare (in) sampler3D sampler)\n"
9721
   "      (declare (in) vec4 coord))\n"
9722
   "    ()))\n"
9723
   "(function texture3DLod\n"
9724
   "  (signature vec4\n"
9725
   "    (parameters\n"
9726
   "      (declare (in) sampler3D sampler)\n"
9727
   "      (declare (in) vec3 coord)\n"
9728
   "      (declare (in) float lod))\n"
9729
   "    ()))\n"
9730
   "(function texture3DProjLod\n"
9731
   "  (signature vec4\n"
9732
   "    (parameters\n"
9733
   "      (declare (in) sampler3D sampler)\n"
9734
   "      (declare (in) vec4 coord)\n"
9735
   "      (declare (in) float lod))\n"
9736
   "    ()))\n"
9737
   "(function textureCube\n"
9738
   "  (signature vec4\n"
9739
   "    (parameters\n"
9740
   "      (declare (in) samplerCube sampler)\n"
9741
   "      (declare (in) vec3 coord))\n"
9742
   "    ()))\n"
9743
   "(function textureCubeLod\n"
9744
   "  (signature vec4\n"
9745
   "    (parameters\n"
9746
   "      (declare (in) samplerCube sampler)\n"
9747
   "      (declare (in) vec3 coord)\n"
9748
   "      (declare (in) float lod))\n"
9749
   "    ()))\n"
9750
   "(function shadow1D\n"
9751
   "  (signature vec4\n"
9752
   "    (parameters\n"
9753
   "      (declare (in) sampler1DShadow sampler)\n"
9754
   "      (declare (in) vec3 coord))\n"
9755
   "    ()))\n"
9756
   "(function shadow2D\n"
9757
   "  (signature vec4\n"
9758
   "    (parameters\n"
9759
   "      (declare (in) sampler2DShadow sampler)\n"
9760
   "      (declare (in) vec3 coord))\n"
9761
   "    ()))\n"
9762
   "(function shadow1DProj\n"
9763
   "  (signature vec4\n"
9764
   "    (parameters\n"
9765
   "      (declare (in) sampler1DShadow sampler)\n"
9766
   "      (declare (in) vec4 coord))\n"
9767
   "    ()))\n"
9768
   "(function shadow2DProj\n"
9769
   "  (signature vec4\n"
9770
   "    (parameters\n"
9771
   "      (declare (in) sampler2DShadow sampler)\n"
9772
   "      (declare (in) vec4 coord))\n"
9773
   "    ()))\n"
9774
   "(function shadow1DLod\n"
9775
   "  (signature vec4\n"
9776
   "    (parameters\n"
9777
   "      (declare (in) sampler1DShadow sampler)\n"
9778
   "      (declare (in) vec3 coord)\n"
9779
   "      (declare (in) float lod))\n"
9780
   "    ()))\n"
9781
   "(function shadow2DLod\n"
9782
   "  (signature vec4\n"
9783
   "    (parameters\n"
9784
   "      (declare (in) sampler2DShadow sampler)\n"
9785
   "      (declare (in) vec3 coord)\n"
9786
   "      (declare (in) float lod))\n"
9787
   "    ()))\n"
9788
   "(function shadow1DProjLod\n"
9789
   "  (signature vec4\n"
9790
   "    (parameters\n"
9791
   "      (declare (in) sampler1DShadow sampler)\n"
9792
   "      (declare (in) vec4 coord)\n"
9793
   "      (declare (in) float lod))\n"
9794
   "    ()))\n"
9795
   "(function shadow2DProjLod\n"
9796
   "  (signature vec4\n"
9797
   "    (parameters\n"
9798
   "      (declare (in) sampler2DShadow sampler)\n"
9799
   "      (declare (in) vec4 coord)\n"
9800
   "      (declare (in) float lod))\n"
9801
   "    ()))\n"
9802
   "(function noise1\n"
9803
   "  (signature float\n"
9804
   "    (parameters\n"
9805
   "      (declare (in) float x))\n"
9806
   "    ())\n"
9807
   "  (signature float\n"
9808
   "    (parameters\n"
9809
   "      (declare (in) vec2 x))\n"
9810
   "    ())\n"
9811
   "  (signature float\n"
9812
   "    (parameters\n"
9813
   "      (declare (in) vec3 x))\n"
9814
   "    ())\n"
9815
   "  (signature float\n"
9816
   "    (parameters\n"
9817
   "      (declare (in) vec4 x))\n"
9818
   "    ()))\n"
9819
   "(function noise2\n"
9820
   "  (signature vec2\n"
9821
   "    (parameters\n"
9822
   "      (declare (in) float x))\n"
9823
   "    ())\n"
9824
   "  (signature vec2\n"
9825
   "    (parameters\n"
9826
   "      (declare (in) vec2 x))\n"
9827
   "    ())\n"
9828
   "  (signature vec2\n"
9829
   "    (parameters\n"
9830
   "      (declare (in) vec3 x))\n"
9831
   "    ())\n"
9832
   "  (signature vec2\n"
9833
   "    (parameters\n"
9834
   "      (declare (in) vec4 x))\n"
9835
   "    ()))\n"
9836
   "(function noise3\n"
9837
   "  (signature vec3\n"
9838
   "    (parameters\n"
9839
   "      (declare (in) float x))\n"
9840
   "    ())\n"
9841
   "  (signature vec3\n"
9842
   "    (parameters\n"
9843
   "      (declare (in) vec2 x))\n"
9844
   "    ())\n"
9845
   "  (signature vec3\n"
9846
   "    (parameters\n"
9847
   "      (declare (in) vec3 x))\n"
9848
   "    ())\n"
9849
   "  (signature vec3\n"
9850
   "    (parameters\n"
9851
   "      (declare (in) vec4 x))\n"
9852
   "    ()))\n"
9853
   "(function noise4\n"
9854
   "  (signature vec4\n"
9855
   "    (parameters\n"
9856
   "      (declare (in) float x))\n"
9857
   "    ())\n"
9858
   "  (signature vec4\n"
9859
   "    (parameters\n"
9860
   "      (declare (in) vec2 x))\n"
9861
   "    ())\n"
9862
   "  (signature vec4\n"
9863
   "    (parameters\n"
9864
   "      (declare (in) vec3 x))\n"
9865
   "    ())\n"
9866
   "  (signature vec4\n"
9867
   "    (parameters\n"
9868
   "      (declare (in) vec4 x))\n"
9869
   "    ())))"
9870
;
9871
static const char *functions_for_110_vert [] = {
9872
   builtin_abs,
9873
   builtin_acos,
9874
   builtin_all,
9875
   builtin_any,
9876
   builtin_asin,
9877
   builtin_atan,
9878
   builtin_ceil,
9879
   builtin_clamp,
9880
   builtin_cos,
9881
   builtin_cross,
9882
   builtin_degrees,
9883
   builtin_distance,
9884
   builtin_dot,
9885
   builtin_equal,
9886
   builtin_exp,
9887
   builtin_exp2,
9888
   builtin_faceforward,
9889
   builtin_floor,
9890
   builtin_fract,
9891
   builtin_ftransform,
9892
   builtin_greaterThan,
9893
   builtin_greaterThanEqual,
9894
   builtin_inversesqrt,
9895
   builtin_length,
9896
   builtin_lessThan,
9897
   builtin_lessThanEqual,
9898
   builtin_log,
9899
   builtin_log2,
9900
   builtin_matrixCompMult,
9901
   builtin_max,
9902
   builtin_min,
9903
   builtin_mix,
9904
   builtin_mod,
9905
   builtin_noise1,
9906
   builtin_noise2,
9907
   builtin_noise3,
9908
   builtin_noise4,
9909
   builtin_normalize,
9910
   builtin_not,
9911
   builtin_notEqual,
9912
   builtin_pow,
9913
   builtin_radians,
9914
   builtin_reflect,
9915
   builtin_refract,
9916
   builtin_shadow1D,
9917
   builtin_shadow1DLod,
9918
   builtin_shadow1DProj,
9919
   builtin_shadow1DProjLod,
9920
   builtin_shadow2D,
9921
   builtin_shadow2DLod,
9922
   builtin_shadow2DProj,
9923
   builtin_shadow2DProjLod,
9924
   builtin_sign,
9925
   builtin_sin,
9926
   builtin_smoothstep,
9927
   builtin_sqrt,
9928
   builtin_step,
9929
   builtin_tan,
9930
   builtin_texture1D,
9931
   builtin_texture1DLod,
9932
   builtin_texture1DProj,
9933
   builtin_texture1DProjLod,
9934
   builtin_texture2D,
9935
   builtin_texture2DLod,
9936
   builtin_texture2DProj,
9937
   builtin_texture2DProjLod,
9938
   builtin_texture3D,
9939
   builtin_texture3DLod,
9940
   builtin_texture3DProj,
9941
   builtin_texture3DProjLod,
9942
   builtin_textureCube,
9943
   builtin_textureCubeLod,
9944
};
9945
static const char prototypes_for_120_frag[] =
9946
   "(\n"
9947
   "(function radians\n"
9948
   "  (signature float\n"
9949
   "    (parameters\n"
9950
   "      (declare (in) float degrees))\n"
9951
   "    ())\n"
9952
   "  (signature vec2\n"
9953
   "    (parameters\n"
9954
   "      (declare (in) vec2 degrees))\n"
9955
   "    ())\n"
9956
   "  (signature vec3\n"
9957
   "    (parameters\n"
9958
   "      (declare (in) vec3 degrees))\n"
9959
   "    ())\n"
9960
   "  (signature vec4\n"
9961
   "    (parameters\n"
9962
   "      (declare (in) vec4 degrees))\n"
9963
   "    ()))\n"
9964
   "(function degrees\n"
9965
   "  (signature float\n"
9966
   "    (parameters\n"
9967
   "      (declare (in) float radians))\n"
9968
   "    ())\n"
9969
   "  (signature vec2\n"
9970
   "    (parameters\n"
9971
   "      (declare (in) vec2 radians))\n"
9972
   "    ())\n"
9973
   "  (signature vec3\n"
9974
   "    (parameters\n"
9975
   "      (declare (in) vec3 radians))\n"
9976
   "    ())\n"
9977
   "  (signature vec4\n"
9978
   "    (parameters\n"
9979
   "      (declare (in) vec4 radians))\n"
9980
   "    ()))\n"
9981
   "(function sin\n"
9982
   "  (signature float\n"
9983
   "    (parameters\n"
9984
   "      (declare (in) float angle))\n"
9985
   "    ())\n"
9986
   "  (signature vec2\n"
9987
   "    (parameters\n"
9988
   "      (declare (in) vec2 angle))\n"
9989
   "    ())\n"
9990
   "  (signature vec3\n"
9991
   "    (parameters\n"
9992
   "      (declare (in) vec3 angle))\n"
9993
   "    ())\n"
9994
   "  (signature vec4\n"
9995
   "    (parameters\n"
9996
   "      (declare (in) vec4 angle))\n"
9997
   "    ()))\n"
9998
   "(function cos\n"
9999
   "  (signature float\n"
10000
   "    (parameters\n"
10001
   "      (declare (in) float angle))\n"
10002
   "    ())\n"
10003
   "  (signature vec2\n"
10004
   "    (parameters\n"
10005
   "      (declare (in) vec2 angle))\n"
10006
   "    ())\n"
10007
   "  (signature vec3\n"
10008
   "    (parameters\n"
10009
   "      (declare (in) vec3 angle))\n"
10010
   "    ())\n"
10011
   "  (signature vec4\n"
10012
   "    (parameters\n"
10013
   "      (declare (in) vec4 angle))\n"
10014
   "    ()))\n"
10015
   "(function tan\n"
10016
   "  (signature float\n"
10017
   "    (parameters\n"
10018
   "      (declare (in) float angle))\n"
10019
   "    ())\n"
10020
   "  (signature vec2\n"
10021
   "    (parameters\n"
10022
   "      (declare (in) vec2 angle))\n"
10023
   "    ())\n"
10024
   "  (signature vec3\n"
10025
   "    (parameters\n"
10026
   "      (declare (in) vec3 angle))\n"
10027
   "    ())\n"
10028
   "  (signature vec4\n"
10029
   "    (parameters\n"
10030
   "      (declare (in) vec4 angle))\n"
10031
   "    ()))\n"
10032
   "(function asin\n"
10033
   "  (signature float\n"
10034
   "    (parameters\n"
10035
   "      (declare (in) float angle))\n"
10036
   "    ())\n"
10037
   "  (signature vec2\n"
10038
   "    (parameters\n"
10039
   "      (declare (in) vec2 angle))\n"
10040
   "    ())\n"
10041
   "  (signature vec3\n"
10042
   "    (parameters\n"
10043
   "      (declare (in) vec3 angle))\n"
10044
   "    ())\n"
10045
   "  (signature vec4\n"
10046
   "    (parameters\n"
10047
   "      (declare (in) vec4 angle))\n"
10048
   "    ()))\n"
10049
   "(function acos\n"
10050
   "  (signature float\n"
10051
   "    (parameters\n"
10052
   "      (declare (in) float angle))\n"
10053
   "    ())\n"
10054
   "  (signature vec2\n"
10055
   "    (parameters\n"
10056
   "      (declare (in) vec2 angle))\n"
10057
   "    ())\n"
10058
   "  (signature vec3\n"
10059
   "    (parameters\n"
10060
   "      (declare (in) vec3 angle))\n"
10061
   "    ())\n"
10062
   "  (signature vec4\n"
10063
   "    (parameters\n"
10064
   "      (declare (in) vec4 angle))\n"
10065
   "    ()))\n"
10066
   "(function atan\n"
10067
   "  (signature float\n"
10068
   "    (parameters\n"
10069
   "      (declare (in) float y)\n"
10070
   "      (declare (in) float x))\n"
10071
   "    ())\n"
10072
   "  (signature vec2\n"
10073
   "    (parameters\n"
10074
   "      (declare (in) vec2 y)\n"
10075
   "      (declare (in) vec2 x))\n"
10076
   "    ())\n"
10077
   "  (signature vec3\n"
10078
   "    (parameters\n"
10079
   "      (declare (in) vec3 y)\n"
10080
   "      (declare (in) vec3 x))\n"
10081
   "    ())\n"
10082
   "  (signature vec4\n"
10083
   "    (parameters\n"
10084
   "      (declare (in) vec4 y)\n"
10085
   "      (declare (in) vec4 x))\n"
10086
   "    ())\n"
10087
   "  (signature float\n"
10088
   "    (parameters\n"
10089
   "      (declare (in) float y_over_x))\n"
10090
   "    ())\n"
10091
   "  (signature vec2\n"
10092
   "    (parameters\n"
10093
   "      (declare (in) vec2 y_over_x))\n"
10094
   "    ())\n"
10095
   "  (signature vec3\n"
10096
   "    (parameters\n"
10097
   "      (declare (in) vec3 y_over_x))\n"
10098
   "    ())\n"
10099
   "  (signature vec4\n"
10100
   "    (parameters\n"
10101
   "      (declare (in) vec4 y_over_x))\n"
10102
   "    ()))\n"
10103
   "(function pow\n"
10104
   "  (signature float\n"
10105
   "    (parameters\n"
10106
   "      (declare (in) float x)\n"
10107
   "      (declare (in) float y))\n"
10108
   "    ())\n"
10109
   "  (signature vec2\n"
10110
   "    (parameters\n"
10111
   "      (declare (in) vec2 x)\n"
10112
   "      (declare (in) vec2 y))\n"
10113
   "    ())\n"
10114
   "  (signature vec3\n"
10115
   "    (parameters\n"
10116
   "      (declare (in) vec3 x)\n"
10117
   "      (declare (in) vec3 y))\n"
10118
   "    ())\n"
10119
   "  (signature vec4\n"
10120
   "    (parameters\n"
10121
   "      (declare (in) vec4 x)\n"
10122
   "      (declare (in) vec4 y))\n"
10123
   "    ()))\n"
10124
   "(function exp\n"
10125
   "  (signature float\n"
10126
   "    (parameters\n"
10127
   "      (declare (in) float x))\n"
10128
   "    ())\n"
10129
   "  (signature vec2\n"
10130
   "    (parameters\n"
10131
   "      (declare (in) vec2 x))\n"
10132
   "    ())\n"
10133
   "  (signature vec3\n"
10134
   "    (parameters\n"
10135
   "      (declare (in) vec3 x))\n"
10136
   "    ())\n"
10137
   "  (signature vec4\n"
10138
   "    (parameters\n"
10139
   "      (declare (in) vec4 x))\n"
10140
   "    ()))\n"
10141
   "(function log\n"
10142
   "  (signature float\n"
10143
   "    (parameters\n"
10144
   "      (declare (in) float x))\n"
10145
   "    ())\n"
10146
   "  (signature vec2\n"
10147
   "    (parameters\n"
10148
   "      (declare (in) vec2 x))\n"
10149
   "    ())\n"
10150
   "  (signature vec3\n"
10151
   "    (parameters\n"
10152
   "      (declare (in) vec3 x))\n"
10153
   "    ())\n"
10154
   "  (signature vec4\n"
10155
   "    (parameters\n"
10156
   "      (declare (in) vec4 x))\n"
10157
   "    ()))\n"
10158
   "(function exp2\n"
10159
   "  (signature float\n"
10160
   "    (parameters\n"
10161
   "      (declare (in) float x))\n"
10162
   "    ())\n"
10163
   "  (signature vec2\n"
10164
   "    (parameters\n"
10165
   "      (declare (in) vec2 x))\n"
10166
   "    ())\n"
10167
   "  (signature vec3\n"
10168
   "    (parameters\n"
10169
   "      (declare (in) vec3 x))\n"
10170
   "    ())\n"
10171
   "  (signature vec4\n"
10172
   "    (parameters\n"
10173
   "      (declare (in) vec4 x))\n"
10174
   "    ()))\n"
10175
   "(function log2\n"
10176
   "  (signature float\n"
10177
   "    (parameters\n"
10178
   "      (declare (in) float x))\n"
10179
   "    ())\n"
10180
   "  (signature vec2\n"
10181
   "    (parameters\n"
10182
   "      (declare (in) vec2 x))\n"
10183
   "    ())\n"
10184
   "  (signature vec3\n"
10185
   "    (parameters\n"
10186
   "      (declare (in) vec3 x))\n"
10187
   "    ())\n"
10188
   "  (signature vec4\n"
10189
   "    (parameters\n"
10190
   "      (declare (in) vec4 x))\n"
10191
   "    ()))\n"
10192
   "(function sqrt\n"
10193
   "  (signature float\n"
10194
   "    (parameters\n"
10195
   "      (declare (in) float x))\n"
10196
   "    ())\n"
10197
   "  (signature vec2\n"
10198
   "    (parameters\n"
10199
   "      (declare (in) vec2 x))\n"
10200
   "    ())\n"
10201
   "  (signature vec3\n"
10202
   "    (parameters\n"
10203
   "      (declare (in) vec3 x))\n"
10204
   "    ())\n"
10205
   "  (signature vec4\n"
10206
   "    (parameters\n"
10207
   "      (declare (in) vec4 x))\n"
10208
   "    ()))\n"
10209
   "(function inversesqrt\n"
10210
   "  (signature float\n"
10211
   "    (parameters\n"
10212
   "      (declare (in) float x))\n"
10213
   "    ())\n"
10214
   "  (signature vec2\n"
10215
   "    (parameters\n"
10216
   "      (declare (in) vec2 x))\n"
10217
   "    ())\n"
10218
   "  (signature vec3\n"
10219
   "    (parameters\n"
10220
   "      (declare (in) vec3 x))\n"
10221
   "    ())\n"
10222
   "  (signature vec4\n"
10223
   "    (parameters\n"
10224
   "      (declare (in) vec4 x))\n"
10225
   "    ()))\n"
10226
   "(function abs\n"
10227
   "  (signature float\n"
10228
   "    (parameters\n"
10229
   "      (declare (in) float x))\n"
10230
   "    ())\n"
10231
   "  (signature vec2\n"
10232
   "    (parameters\n"
10233
   "      (declare (in) vec2 x))\n"
10234
   "    ())\n"
10235
   "  (signature vec3\n"
10236
   "    (parameters\n"
10237
   "      (declare (in) vec3 x))\n"
10238
   "    ())\n"
10239
   "  (signature vec4\n"
10240
   "    (parameters\n"
10241
   "      (declare (in) vec4 x))\n"
10242
   "    ()))\n"
10243
   "(function sign\n"
10244
   "  (signature float\n"
10245
   "    (parameters\n"
10246
   "      (declare (in) float x))\n"
10247
   "    ())\n"
10248
   "  (signature vec2\n"
10249
   "    (parameters\n"
10250
   "      (declare (in) vec2 x))\n"
10251
   "    ())\n"
10252
   "  (signature vec3\n"
10253
   "    (parameters\n"
10254
   "      (declare (in) vec3 x))\n"
10255
   "    ())\n"
10256
   "  (signature vec4\n"
10257
   "    (parameters\n"
10258
   "      (declare (in) vec4 x))\n"
10259
   "    ()))\n"
10260
   "(function floor\n"
10261
   "  (signature float\n"
10262
   "    (parameters\n"
10263
   "      (declare (in) float x))\n"
10264
   "    ())\n"
10265
   "  (signature vec2\n"
10266
   "    (parameters\n"
10267
   "      (declare (in) vec2 x))\n"
10268
   "    ())\n"
10269
   "  (signature vec3\n"
10270
   "    (parameters\n"
10271
   "      (declare (in) vec3 x))\n"
10272
   "    ())\n"
10273
   "  (signature vec4\n"
10274
   "    (parameters\n"
10275
   "      (declare (in) vec4 x))\n"
10276
   "    ()))\n"
10277
   "(function ceil\n"
10278
   "  (signature float\n"
10279
   "    (parameters\n"
10280
   "      (declare (in) float x))\n"
10281
   "    ())\n"
10282
   "  (signature vec2\n"
10283
   "    (parameters\n"
10284
   "      (declare (in) vec2 x))\n"
10285
   "    ())\n"
10286
   "  (signature vec3\n"
10287
   "    (parameters\n"
10288
   "      (declare (in) vec3 x))\n"
10289
   "    ())\n"
10290
   "  (signature vec4\n"
10291
   "    (parameters\n"
10292
   "      (declare (in) vec4 x))\n"
10293
   "    ()))\n"
10294
   "(function fract\n"
10295
   "  (signature float\n"
10296
   "    (parameters\n"
10297
   "      (declare (in) float x))\n"
10298
   "    ())\n"
10299
   "  (signature vec2\n"
10300
   "    (parameters\n"
10301
   "      (declare (in) vec2 x))\n"
10302
   "    ())\n"
10303
   "  (signature vec3\n"
10304
   "    (parameters\n"
10305
   "      (declare (in) vec3 x))\n"
10306
   "    ())\n"
10307
   "  (signature vec4\n"
10308
   "    (parameters\n"
10309
   "      (declare (in) vec4 x))\n"
10310
   "    ()))\n"
10311
   "(function mod\n"
10312
   "  (signature float\n"
10313
   "    (parameters\n"
10314
   "      (declare (in) float x)\n"
10315
   "      (declare (in) float y))\n"
10316
   "    ())\n"
10317
   "  (signature vec2\n"
10318
   "    (parameters\n"
10319
   "      (declare (in) vec2 x)\n"
10320
   "      (declare (in) float y))\n"
10321
   "    ())\n"
10322
   "  (signature vec3\n"
10323
   "    (parameters\n"
10324
   "      (declare (in) vec3 x)\n"
10325
   "      (declare (in) float y))\n"
10326
   "    ())\n"
10327
   "  (signature vec4\n"
10328
   "    (parameters\n"
10329
   "      (declare (in) vec4 x)\n"
10330
   "      (declare (in) float y))\n"
10331
   "    ())\n"
10332
   "  (signature vec2\n"
10333
   "    (parameters\n"
10334
   "      (declare (in) vec2 x)\n"
10335
   "      (declare (in) vec2 y))\n"
10336
   "    ())\n"
10337
   "  (signature vec3\n"
10338
   "    (parameters\n"
10339
   "      (declare (in) vec3 x)\n"
10340
   "      (declare (in) vec3 y))\n"
10341
   "    ())\n"
10342
   "  (signature vec4\n"
10343
   "    (parameters\n"
10344
   "      (declare (in) vec4 x)\n"
10345
   "      (declare (in) vec4 y))\n"
10346
   "    ()))\n"
10347
   "(function min\n"
10348
   "  (signature float\n"
10349
   "    (parameters\n"
10350
   "      (declare (in) float x)\n"
10351
   "      (declare (in) float y))\n"
10352
   "    ())\n"
10353
   "  (signature vec2\n"
10354
   "    (parameters\n"
10355
   "      (declare (in) vec2 x)\n"
10356
   "      (declare (in) vec2 y))\n"
10357
   "    ())\n"
10358
   "  (signature vec3\n"
10359
   "    (parameters\n"
10360
   "      (declare (in) vec3 x)\n"
10361
   "      (declare (in) vec3 y))\n"
10362
   "    ())\n"
10363
   "  (signature vec4\n"
10364
   "    (parameters\n"
10365
   "      (declare (in) vec4 x)\n"
10366
   "      (declare (in) vec4 y))\n"
10367
   "    ())\n"
10368
   "  (signature vec2\n"
10369
   "    (parameters\n"
10370
   "      (declare (in) vec2 x)\n"
10371
   "      (declare (in) float y))\n"
10372
   "    ())\n"
10373
   "  (signature vec3\n"
10374
   "    (parameters\n"
10375
   "      (declare (in) vec3 x)\n"
10376
   "      (declare (in) float y))\n"
10377
   "    ())\n"
10378
   "  (signature vec4\n"
10379
   "    (parameters\n"
10380
   "      (declare (in) vec4 x)\n"
10381
   "      (declare (in) float y))\n"
10382
   "    ()))\n"
10383
   "(function max\n"
10384
   "  (signature float\n"
10385
   "    (parameters\n"
10386
   "      (declare (in) float x)\n"
10387
   "      (declare (in) float y))\n"
10388
   "    ())\n"
10389
   "  (signature vec2\n"
10390
   "    (parameters\n"
10391
   "      (declare (in) vec2 x)\n"
10392
   "      (declare (in) vec2 y))\n"
10393
   "    ())\n"
10394
   "  (signature vec3\n"
10395
   "    (parameters\n"
10396
   "      (declare (in) vec3 x)\n"
10397
   "      (declare (in) vec3 y))\n"
10398
   "    ())\n"
10399
   "  (signature vec4\n"
10400
   "    (parameters\n"
10401
   "      (declare (in) vec4 x)\n"
10402
   "      (declare (in) vec4 y))\n"
10403
   "    ())\n"
10404
   "  (signature vec2\n"
10405
   "    (parameters\n"
10406
   "      (declare (in) vec2 x)\n"
10407
   "      (declare (in) float y))\n"
10408
   "    ())\n"
10409
   "  (signature vec3\n"
10410
   "    (parameters\n"
10411
   "      (declare (in) vec3 x)\n"
10412
   "      (declare (in) float y))\n"
10413
   "    ())\n"
10414
   "  (signature vec4\n"
10415
   "    (parameters\n"
10416
   "      (declare (in) vec4 x)\n"
10417
   "      (declare (in) float y))\n"
10418
   "    ()))\n"
10419
   "(function clamp\n"
10420
   "  (signature float\n"
10421
   "    (parameters\n"
10422
   "      (declare (in) float x)\n"
10423
   "      (declare (in) float minVal)\n"
10424
   "      (declare (in) float maxVal))\n"
10425
   "    ())\n"
10426
   "  (signature vec2\n"
10427
   "    (parameters\n"
10428
   "      (declare (in) vec2 x)\n"
10429
   "      (declare (in) vec2 minVal)\n"
10430
   "      (declare (in) vec2 maxVal))\n"
10431
   "    ())\n"
10432
   "  (signature vec3\n"
10433
   "    (parameters\n"
10434
   "      (declare (in) vec3 x)\n"
10435
   "      (declare (in) vec3 minVal)\n"
10436
   "      (declare (in) vec3 maxVal))\n"
10437
   "    ())\n"
10438
   "  (signature vec4\n"
10439
   "    (parameters\n"
10440
   "      (declare (in) vec4 x)\n"
10441
   "      (declare (in) vec4 minVal)\n"
10442
   "      (declare (in) vec4 maxVal))\n"
10443
   "    ())\n"
10444
   "  (signature vec2\n"
10445
   "    (parameters\n"
10446
   "      (declare (in) vec2 x)\n"
10447
   "      (declare (in) float minVal)\n"
10448
   "      (declare (in) float maxVal))\n"
10449
   "    ())\n"
10450
   "  (signature vec3\n"
10451
   "    (parameters\n"
10452
   "      (declare (in) vec3 x)\n"
10453
   "      (declare (in) float minVal)\n"
10454
   "      (declare (in) float maxVal))\n"
10455
   "    ())\n"
10456
   "  (signature vec4\n"
10457
   "    (parameters\n"
10458
   "      (declare (in) vec4 x)\n"
10459
   "      (declare (in) float minVal)\n"
10460
   "      (declare (in) float maxVal))\n"
10461
   "    ()))\n"
10462
   "(function mix\n"
10463
   "  (signature float\n"
10464
   "    (parameters\n"
10465
   "      (declare (in) float x)\n"
10466
   "      (declare (in) float y)\n"
10467
   "      (declare (in) float a))\n"
10468
   "    ())\n"
10469
   "  (signature vec2\n"
10470
   "    (parameters\n"
10471
   "      (declare (in) vec2 x)\n"
10472
   "      (declare (in) vec2 y)\n"
10473
   "      (declare (in) vec2 a))\n"
10474
   "    ())\n"
10475
   "  (signature vec3\n"
10476
   "    (parameters\n"
10477
   "      (declare (in) vec3 x)\n"
10478
   "      (declare (in) vec3 y)\n"
10479
   "      (declare (in) vec3 a))\n"
10480
   "    ())\n"
10481
   "  (signature vec4\n"
10482
   "    (parameters\n"
10483
   "      (declare (in) vec4 x)\n"
10484
   "      (declare (in) vec4 y)\n"
10485
   "      (declare (in) vec4 a))\n"
10486
   "    ())\n"
10487
   "  (signature vec2\n"
10488
   "    (parameters\n"
10489
   "      (declare (in) vec2 x)\n"
10490
   "      (declare (in) vec2 y)\n"
10491
   "      (declare (in) float a))\n"
10492
   "    ())\n"
10493
   "  (signature vec3\n"
10494
   "    (parameters\n"
10495
   "      (declare (in) vec3 x)\n"
10496
   "      (declare (in) vec3 y)\n"
10497
   "      (declare (in) float a))\n"
10498
   "    ())\n"
10499
   "  (signature vec4\n"
10500
   "    (parameters\n"
10501
   "      (declare (in) vec4 x)\n"
10502
   "      (declare (in) vec4 y)\n"
10503
   "      (declare (in) float a))\n"
10504
   "    ()))\n"
10505
   "(function step\n"
10506
   "  (signature float\n"
10507
   "    (parameters\n"
10508
   "      (declare (in) float edge)\n"
10509
   "      (declare (in) float x))\n"
10510
   "    ())\n"
10511
   "  (signature vec2\n"
10512
   "    (parameters\n"
10513
   "      (declare (in) vec2 edge)\n"
10514
   "      (declare (in) vec2 x))\n"
10515
   "    ())\n"
10516
   "  (signature vec3\n"
10517
   "    (parameters\n"
10518
   "      (declare (in) vec3 edge)\n"
10519
   "      (declare (in) vec3 x))\n"
10520
   "    ())\n"
10521
   "  (signature vec4\n"
10522
   "    (parameters\n"
10523
   "      (declare (in) vec4 edge)\n"
10524
   "      (declare (in) vec4 x))\n"
10525
   "    ())\n"
10526
   "  (signature vec2\n"
10527
   "    (parameters\n"
10528
   "      (declare (in) float edge)\n"
10529
   "      (declare (in) vec2 x))\n"
10530
   "    ())\n"
10531
   "  (signature vec3\n"
10532
   "    (parameters\n"
10533
   "      (declare (in) float edge)\n"
10534
   "      (declare (in) vec3 x))\n"
10535
   "    ())\n"
10536
   "  (signature vec4\n"
10537
   "    (parameters\n"
10538
   "      (declare (in) float edge)\n"
10539
   "      (declare (in) vec4 x))\n"
10540
   "    ()))\n"
10541
   "(function smoothstep\n"
10542
   "  (signature float\n"
10543
   "    (parameters\n"
10544
   "      (declare (in) float edge0)\n"
10545
   "      (declare (in) float edge1)\n"
10546
   "      (declare (in) float x))\n"
10547
   "    ())\n"
10548
   "  (signature vec2\n"
10549
   "    (parameters\n"
10550
   "      (declare (in) vec2 edge0)\n"
10551
   "      (declare (in) vec2 edge1)\n"
10552
   "      (declare (in) vec2 x))\n"
10553
   "    ())\n"
10554
   "  (signature vec3\n"
10555
   "    (parameters\n"
10556
   "      (declare (in) vec3 edge0)\n"
10557
   "      (declare (in) vec3 edge1)\n"
10558
   "      (declare (in) vec3 x))\n"
10559
   "    ())\n"
10560
   "  (signature vec4\n"
10561
   "    (parameters\n"
10562
   "      (declare (in) vec4 edge0)\n"
10563
   "      (declare (in) vec4 edge1)\n"
10564
   "      (declare (in) vec4 x))\n"
10565
   "    ())\n"
10566
   "  (signature vec2\n"
10567
   "    (parameters\n"
10568
   "      (declare (in) float edge0)\n"
10569
   "      (declare (in) float edge1)\n"
10570
   "      (declare (in) vec2 x))\n"
10571
   "    ())\n"
10572
   "  (signature vec3\n"
10573
   "    (parameters\n"
10574
   "      (declare (in) float edge0)\n"
10575
   "      (declare (in) float edge1)\n"
10576
   "      (declare (in) vec3 x))\n"
10577
   "    ())\n"
10578
   "  (signature vec4\n"
10579
   "    (parameters\n"
10580
   "      (declare (in) float edge0)\n"
10581
   "      (declare (in) float edge1)\n"
10582
   "      (declare (in) vec4 x))\n"
10583
   "    ()))\n"
10584
   "(function length\n"
10585
   "  (signature float\n"
10586
   "    (parameters\n"
10587
   "      (declare (in) float x))\n"
10588
   "    ())\n"
10589
   "  (signature float\n"
10590
   "    (parameters\n"
10591
   "      (declare (in) vec2 x))\n"
10592
   "    ())\n"
10593
   "  (signature float\n"
10594
   "    (parameters\n"
10595
   "      (declare (in) vec3 x))\n"
10596
   "    ())\n"
10597
   "  (signature float\n"
10598
   "    (parameters\n"
10599
   "      (declare (in) vec4 x))\n"
10600
   "    ()))\n"
10601
   "(function distance\n"
10602
   "  (signature float\n"
10603
   "    (parameters\n"
10604
   "      (declare (in) float p0)\n"
10605
   "      (declare (in) float p1))\n"
10606
   "    ())\n"
10607
   "  (signature float\n"
10608
   "    (parameters\n"
10609
   "      (declare (in) vec2 p0)\n"
10610
   "      (declare (in) vec2 p1))\n"
10611
   "    ())\n"
10612
   "  (signature float\n"
10613
   "    (parameters\n"
10614
   "      (declare (in) vec3 p0)\n"
10615
   "      (declare (in) vec3 p1))\n"
10616
   "    ())\n"
10617
   "  (signature float\n"
10618
   "    (parameters\n"
10619
   "      (declare (in) vec4 p0)\n"
10620
   "      (declare (in) vec4 p1))\n"
10621
   "    ()))\n"
10622
   "(function dot\n"
10623
   "  (signature float\n"
10624
   "    (parameters\n"
10625
   "      (declare (in) float x)\n"
10626
   "      (declare (in) float y))\n"
10627
   "    ())\n"
10628
   "  (signature float\n"
10629
   "    (parameters\n"
10630
   "      (declare (in) vec2 x)\n"
10631
   "      (declare (in) vec2 y))\n"
10632
   "    ())\n"
10633
   "  (signature float\n"
10634
   "    (parameters\n"
10635
   "      (declare (in) vec3 x)\n"
10636
   "      (declare (in) vec3 y))\n"
10637
   "    ())\n"
10638
   "  (signature float\n"
10639
   "    (parameters\n"
10640
   "      (declare (in) vec4 x)\n"
10641
   "      (declare (in) vec4 y))\n"
10642
   "    ()))\n"
10643
   "(function cross\n"
10644
   "  (signature vec3\n"
10645
   "    (parameters\n"
10646
   "      (declare (in) vec3 x)\n"
10647
   "      (declare (in) vec3 y))\n"
10648
   "    ()))\n"
10649
   "(function normalize\n"
10650
   "  (signature float\n"
10651
   "    (parameters\n"
10652
   "      (declare (in) float x))\n"
10653
   "    ())\n"
10654
   "  (signature vec2\n"
10655
   "    (parameters\n"
10656
   "      (declare (in) vec2 x))\n"
10657
   "    ())\n"
10658
   "  (signature vec3\n"
10659
   "    (parameters\n"
10660
   "      (declare (in) vec3 x))\n"
10661
   "    ())\n"
10662
   "  (signature vec4\n"
10663
   "    (parameters\n"
10664
   "      (declare (in) vec4 x))\n"
10665
   "    ()))\n"
10666
   "(function faceforward\n"
10667
   "  (signature float\n"
10668
   "    (parameters\n"
10669
   "      (declare (in) float N)\n"
10670
   "      (declare (in) float I)\n"
10671
   "      (declare (in) float Nref))\n"
10672
   "    ())\n"
10673
   "  (signature vec2\n"
10674
   "    (parameters\n"
10675
   "      (declare (in) vec2 N)\n"
10676
   "      (declare (in) vec2 I)\n"
10677
   "      (declare (in) vec2 Nref))\n"
10678
   "    ())\n"
10679
   "  (signature vec3\n"
10680
   "    (parameters\n"
10681
   "      (declare (in) vec3 N)\n"
10682
   "      (declare (in) vec3 I)\n"
10683
   "      (declare (in) vec3 Nref))\n"
10684
   "    ())\n"
10685
   "  (signature vec4\n"
10686
   "    (parameters\n"
10687
   "      (declare (in) vec4 N)\n"
10688
   "      (declare (in) vec4 I)\n"
10689
   "      (declare (in) vec4 Nref))\n"
10690
   "    ()))\n"
10691
   "(function reflect\n"
10692
   "  (signature float\n"
10693
   "    (parameters\n"
10694
   "      (declare (in) float I)\n"
10695
   "      (declare (in) float N))\n"
10696
   "    ())\n"
10697
   "  (signature vec2\n"
10698
   "    (parameters\n"
10699
   "      (declare (in) vec2 I)\n"
10700
   "      (declare (in) vec2 N))\n"
10701
   "    ())\n"
10702
   "  (signature vec3\n"
10703
   "    (parameters\n"
10704
   "      (declare (in) vec3 I)\n"
10705
   "      (declare (in) vec3 N))\n"
10706
   "    ())\n"
10707
   "  (signature vec4\n"
10708
   "    (parameters\n"
10709
   "      (declare (in) vec4 I)\n"
10710
   "      (declare (in) vec4 N))\n"
10711
   "    ()))\n"
10712
   "(function refract\n"
10713
   "  (signature float\n"
10714
   "    (parameters\n"
10715
   "      (declare (in) float I)\n"
10716
   "      (declare (in) float N)\n"
10717
   "      (declare (in) float eta))\n"
10718
   "    ())\n"
10719
   "  (signature vec2\n"
10720
   "    (parameters\n"
10721
   "      (declare (in) vec2 I)\n"
10722
   "      (declare (in) vec2 N)\n"
10723
   "      (declare (in) float eta))\n"
10724
   "    ())\n"
10725
   "  (signature vec3\n"
10726
   "    (parameters\n"
10727
   "      (declare (in) vec3 I)\n"
10728
   "      (declare (in) vec3 N)\n"
10729
   "      (declare (in) float eta))\n"
10730
   "    ())\n"
10731
   "  (signature vec4\n"
10732
   "    (parameters\n"
10733
   "      (declare (in) vec4 I)\n"
10734
   "      (declare (in) vec4 N)\n"
10735
   "      (declare (in) float eta))\n"
10736
   "    ()))\n"
10737
   "(function matrixCompMult\n"
10738
   "  (signature mat2\n"
10739
   "    (parameters\n"
10740
   "      (declare (in) mat2 x)\n"
10741
   "      (declare (in) mat2 y))\n"
10742
   "    ())\n"
10743
   "  (signature mat3\n"
10744
   "    (parameters\n"
10745
   "      (declare (in) mat3 x)\n"
10746
   "      (declare (in) mat3 y))\n"
10747
   "    ())\n"
10748
   "  (signature mat4\n"
10749
   "    (parameters\n"
10750
   "      (declare (in) mat4 x)\n"
10751
   "      (declare (in) mat4 y))\n"
10752
   "    ())\n"
10753
   "  (signature mat2x3\n"
10754
   "    (parameters\n"
10755
   "      (declare (in) mat2x3 x)\n"
10756
   "      (declare (in) mat2x3 y))\n"
10757
   "    ())\n"
10758
   "  (signature mat2x4\n"
10759
   "    (parameters\n"
10760
   "      (declare (in) mat2x4 x)\n"
10761
   "      (declare (in) mat2x4 y))\n"
10762
   "    ())\n"
10763
   "  (signature mat3x2\n"
10764
   "    (parameters\n"
10765
   "      (declare (in) mat3x2 x)\n"
10766
   "      (declare (in) mat3x2 y))\n"
10767
   "    ())\n"
10768
   "  (signature mat3x4\n"
10769
   "    (parameters\n"
10770
   "      (declare (in) mat3x4 x)\n"
10771
   "      (declare (in) mat3x4 y))\n"
10772
   "    ())\n"
10773
   "  (signature mat4x2\n"
10774
   "    (parameters\n"
10775
   "      (declare (in) mat4x2 x)\n"
10776
   "      (declare (in) mat4x2 y))\n"
10777
   "    ())\n"
10778
   "  (signature mat4x3\n"
10779
   "    (parameters\n"
10780
   "      (declare (in) mat4x3 x)\n"
10781
   "      (declare (in) mat4x3 y))\n"
10782
   "    ()))\n"
10783
   "(function outerProduct\n"
10784
   "  (signature mat2\n"
10785
   "    (parameters\n"
10786
   "      (declare (in) vec2 c)\n"
10787
   "      (declare (in) vec2 r))\n"
10788
   "    ())\n"
10789
   "  (signature mat3\n"
10790
   "    (parameters\n"
10791
   "      (declare (in) vec3 c)\n"
10792
   "      (declare (in) vec3 r))\n"
10793
   "    ())\n"
10794
   "  (signature mat4\n"
10795
   "    (parameters\n"
10796
   "      (declare (in) vec4 c)\n"
10797
   "      (declare (in) vec4 r))\n"
10798
   "    ())\n"
10799
   "  (signature mat2x3\n"
10800
   "    (parameters\n"
10801
   "      (declare (in) vec3 c)\n"
10802
   "      (declare (in) vec2 r))\n"
10803
   "    ())\n"
10804
   "  (signature mat3x2\n"
10805
   "    (parameters\n"
10806
   "      (declare (in) vec2 c)\n"
10807
   "      (declare (in) vec3 r))\n"
10808
   "    ())\n"
10809
   "  (signature mat2x4\n"
10810
   "    (parameters\n"
10811
   "      (declare (in) vec4 c)\n"
10812
   "      (declare (in) vec2 r))\n"
10813
   "    ())\n"
10814
   "  (signature mat4x2\n"
10815
   "    (parameters\n"
10816
   "      (declare (in) vec2 c)\n"
10817
   "      (declare (in) vec4 r))\n"
10818
   "    ())\n"
10819
   "  (signature mat3x4\n"
10820
   "    (parameters\n"
10821
   "      (declare (in) vec4 c)\n"
10822
   "      (declare (in) vec3 r))\n"
10823
   "    ())\n"
10824
   "  (signature mat4x3\n"
10825
   "    (parameters\n"
10826
   "      (declare (in) vec3 c)\n"
10827
   "      (declare (in) vec4 r))\n"
10828
   "    ()))\n"
10829
   "(function transpose\n"
10830
   "  (signature mat2\n"
10831
   "    (parameters\n"
10832
   "      (declare (in) mat2 m))\n"
10833
   "    ())\n"
10834
   "  (signature mat3\n"
10835
   "    (parameters\n"
10836
   "      (declare (in) mat3 m))\n"
10837
   "    ())\n"
10838
   "  (signature mat4\n"
10839
   "    (parameters\n"
10840
   "      (declare (in) mat4 m))\n"
10841
   "    ())\n"
10842
   "  (signature mat2x3\n"
10843
   "    (parameters\n"
10844
   "      (declare (in) mat3x2 m))\n"
10845
   "    ())\n"
10846
   "  (signature mat3x2\n"
10847
   "    (parameters\n"
10848
   "      (declare (in) mat2x3 m))\n"
10849
   "    ())\n"
10850
   "  (signature mat2x4\n"
10851
   "    (parameters\n"
10852
   "      (declare (in) mat4x2 m))\n"
10853
   "    ())\n"
10854
   "  (signature mat4x2\n"
10855
   "    (parameters\n"
10856
   "      (declare (in) mat2x4 m))\n"
10857
   "    ())\n"
10858
   "  (signature mat3x4\n"
10859
   "    (parameters\n"
10860
   "      (declare (in) mat4x3 m))\n"
10861
   "    ())\n"
10862
   "  (signature mat4x3\n"
10863
   "    (parameters\n"
10864
   "      (declare (in) mat3x4 m))\n"
10865
   "    ()))\n"
10866
   "(function lessThan\n"
10867
   "  (signature bvec2\n"
10868
   "    (parameters\n"
10869
   "      (declare (in) vec2 x)\n"
10870
   "      (declare (in) vec2 y))\n"
10871
   "    ())\n"
10872
   "  (signature bvec3\n"
10873
   "    (parameters\n"
10874
   "      (declare (in) vec3 x)\n"
10875
   "      (declare (in) vec3 y))\n"
10876
   "    ())\n"
10877
   "  (signature bvec4\n"
10878
   "    (parameters\n"
10879
   "      (declare (in) vec4 x)\n"
10880
   "      (declare (in) vec4 y))\n"
10881
   "    ())\n"
10882
   "  (signature bvec2\n"
10883
   "    (parameters\n"
10884
   "      (declare (in) ivec2 x)\n"
10885
   "      (declare (in) ivec2 y))\n"
10886
   "    ())\n"
10887
   "  (signature bvec3\n"
10888
   "    (parameters\n"
10889
   "      (declare (in) ivec3 x)\n"
10890
   "      (declare (in) ivec3 y))\n"
10891
   "    ())\n"
10892
   "  (signature bvec4\n"
10893
   "    (parameters\n"
10894
   "      (declare (in) ivec4 x)\n"
10895
   "      (declare (in) ivec4 y))\n"
10896
   "    ()))\n"
10897
   "(function lessThanEqual\n"
10898
   "  (signature bvec2\n"
10899
   "    (parameters\n"
10900
   "      (declare (in) vec2 x)\n"
10901
   "      (declare (in) vec2 y))\n"
10902
   "    ())\n"
10903
   "  (signature bvec3\n"
10904
   "    (parameters\n"
10905
   "      (declare (in) vec3 x)\n"
10906
   "      (declare (in) vec3 y))\n"
10907
   "    ())\n"
10908
   "  (signature bvec4\n"
10909
   "    (parameters\n"
10910
   "      (declare (in) vec4 x)\n"
10911
   "      (declare (in) vec4 y))\n"
10912
   "    ())\n"
10913
   "  (signature bvec2\n"
10914
   "    (parameters\n"
10915
   "      (declare (in) ivec2 x)\n"
10916
   "      (declare (in) ivec2 y))\n"
10917
   "    ())\n"
10918
   "  (signature bvec3\n"
10919
   "    (parameters\n"
10920
   "      (declare (in) ivec3 x)\n"
10921
   "      (declare (in) ivec3 y))\n"
10922
   "    ())\n"
10923
   "  (signature bvec4\n"
10924
   "    (parameters\n"
10925
   "      (declare (in) ivec4 x)\n"
10926
   "      (declare (in) ivec4 y))\n"
10927
   "    ()))\n"
10928
   "(function greaterThan\n"
10929
   "  (signature bvec2\n"
10930
   "    (parameters\n"
10931
   "      (declare (in) vec2 x)\n"
10932
   "      (declare (in) vec2 y))\n"
10933
   "    ())\n"
10934
   "  (signature bvec3\n"
10935
   "    (parameters\n"
10936
   "      (declare (in) vec3 x)\n"
10937
   "      (declare (in) vec3 y))\n"
10938
   "    ())\n"
10939
   "  (signature bvec4\n"
10940
   "    (parameters\n"
10941
   "      (declare (in) vec4 x)\n"
10942
   "      (declare (in) vec4 y))\n"
10943
   "    ())\n"
10944
   "  (signature bvec2\n"
10945
   "    (parameters\n"
10946
   "      (declare (in) ivec2 x)\n"
10947
   "      (declare (in) ivec2 y))\n"
10948
   "    ())\n"
10949
   "  (signature bvec3\n"
10950
   "    (parameters\n"
10951
   "      (declare (in) ivec3 x)\n"
10952
   "      (declare (in) ivec3 y))\n"
10953
   "    ())\n"
10954
   "  (signature bvec4\n"
10955
   "    (parameters\n"
10956
   "      (declare (in) ivec4 x)\n"
10957
   "      (declare (in) ivec4 y))\n"
10958
   "    ()))\n"
10959
   "(function greaterThanEqual\n"
10960
   "  (signature bvec2\n"
10961
   "    (parameters\n"
10962
   "      (declare (in) vec2 x)\n"
10963
   "      (declare (in) vec2 y))\n"
10964
   "    ())\n"
10965
   "  (signature bvec3\n"
10966
   "    (parameters\n"
10967
   "      (declare (in) vec3 x)\n"
10968
   "      (declare (in) vec3 y))\n"
10969
   "    ())\n"
10970
   "  (signature bvec4\n"
10971
   "    (parameters\n"
10972
   "      (declare (in) vec4 x)\n"
10973
   "      (declare (in) vec4 y))\n"
10974
   "    ())\n"
10975
   "  (signature bvec2\n"
10976
   "    (parameters\n"
10977
   "      (declare (in) ivec2 x)\n"
10978
   "      (declare (in) ivec2 y))\n"
10979
   "    ())\n"
10980
   "  (signature bvec3\n"
10981
   "    (parameters\n"
10982
   "      (declare (in) ivec3 x)\n"
10983
   "      (declare (in) ivec3 y))\n"
10984
   "    ())\n"
10985
   "  (signature bvec4\n"
10986
   "    (parameters\n"
10987
   "      (declare (in) ivec4 x)\n"
10988
   "      (declare (in) ivec4 y))\n"
10989
   "    ()))\n"
10990
   "(function equal\n"
10991
   "  (signature bvec2\n"
10992
   "    (parameters\n"
10993
   "      (declare (in) vec2 x)\n"
10994
   "      (declare (in) vec2 y))\n"
10995
   "    ())\n"
10996
   "  (signature bvec3\n"
10997
   "    (parameters\n"
10998
   "      (declare (in) vec3 x)\n"
10999
   "      (declare (in) vec3 y))\n"
11000
   "    ())\n"
11001
   "  (signature bvec4\n"
11002
   "    (parameters\n"
11003
   "      (declare (in) vec4 x)\n"
11004
   "      (declare (in) vec4 y))\n"
11005
   "    ())\n"
11006
   "  (signature bvec2\n"
11007
   "    (parameters\n"
11008
   "      (declare (in) ivec2 x)\n"
11009
   "      (declare (in) ivec2 y))\n"
11010
   "    ())\n"
11011
   "  (signature bvec3\n"
11012
   "    (parameters\n"
11013
   "      (declare (in) ivec3 x)\n"
11014
   "      (declare (in) ivec3 y))\n"
11015
   "    ())\n"
11016
   "  (signature bvec4\n"
11017
   "    (parameters\n"
11018
   "      (declare (in) ivec4 x)\n"
11019
   "      (declare (in) ivec4 y))\n"
11020
   "    ())\n"
11021
   "  (signature bvec2\n"
11022
   "    (parameters\n"
11023
   "      (declare (in) bvec2 x)\n"
11024
   "      (declare (in) bvec2 y))\n"
11025
   "    ())\n"
11026
   "  (signature bvec3\n"
11027
   "    (parameters\n"
11028
   "      (declare (in) bvec3 x)\n"
11029
   "      (declare (in) bvec3 y))\n"
11030
   "    ())\n"
11031
   "  (signature bvec4\n"
11032
   "    (parameters\n"
11033
   "      (declare (in) bvec4 x)\n"
11034
   "      (declare (in) bvec4 y))\n"
11035
   "    ()))\n"
11036
   "(function notEqual\n"
11037
   "  (signature bvec2\n"
11038
   "    (parameters\n"
11039
   "      (declare (in) vec2 x)\n"
11040
   "      (declare (in) vec2 y))\n"
11041
   "    ())\n"
11042
   "  (signature bvec3\n"
11043
   "    (parameters\n"
11044
   "      (declare (in) vec3 x)\n"
11045
   "      (declare (in) vec3 y))\n"
11046
   "    ())\n"
11047
   "  (signature bvec4\n"
11048
   "    (parameters\n"
11049
   "      (declare (in) vec4 x)\n"
11050
   "      (declare (in) vec4 y))\n"
11051
   "    ())\n"
11052
   "  (signature bvec2\n"
11053
   "    (parameters\n"
11054
   "      (declare (in) ivec2 x)\n"
11055
   "      (declare (in) ivec2 y))\n"
11056
   "    ())\n"
11057
   "  (signature bvec3\n"
11058
   "    (parameters\n"
11059
   "      (declare (in) ivec3 x)\n"
11060
   "      (declare (in) ivec3 y))\n"
11061
   "    ())\n"
11062
   "  (signature bvec4\n"
11063
   "    (parameters\n"
11064
   "      (declare (in) ivec4 x)\n"
11065
   "      (declare (in) ivec4 y))\n"
11066
   "    ())\n"
11067
   "  (signature bvec2\n"
11068
   "    (parameters\n"
11069
   "      (declare (in) bvec2 x)\n"
11070
   "      (declare (in) bvec2 y))\n"
11071
   "    ())\n"
11072
   "  (signature bvec3\n"
11073
   "    (parameters\n"
11074
   "      (declare (in) bvec3 x)\n"
11075
   "      (declare (in) bvec3 y))\n"
11076
   "    ())\n"
11077
   "  (signature bvec4\n"
11078
   "    (parameters\n"
11079
   "      (declare (in) bvec4 x)\n"
11080
   "      (declare (in) bvec4 y))\n"
11081
   "    ()))\n"
11082
   "(function any\n"
11083
   "  (signature bool\n"
11084
   "    (parameters\n"
11085
   "      (declare (in) bvec2 x))\n"
11086
   "    ())\n"
11087
   "  (signature bool\n"
11088
   "    (parameters\n"
11089
   "      (declare (in) bvec3 x))\n"
11090
   "    ())\n"
11091
   "  (signature bool\n"
11092
   "    (parameters\n"
11093
   "      (declare (in) bvec4 x))\n"
11094
   "    ()))\n"
11095
   "(function all\n"
11096
   "  (signature bool\n"
11097
   "    (parameters\n"
11098
   "      (declare (in) bvec2 x))\n"
11099
   "    ())\n"
11100
   "  (signature bool\n"
11101
   "    (parameters\n"
11102
   "      (declare (in) bvec3 x))\n"
11103
   "    ())\n"
11104
   "  (signature bool\n"
11105
   "    (parameters\n"
11106
   "      (declare (in) bvec4 x))\n"
11107
   "    ()))\n"
11108
   "(function not\n"
11109
   "  (signature bvec2\n"
11110
   "    (parameters\n"
11111
   "      (declare (in) bvec2 x))\n"
11112
   "    ())\n"
11113
   "  (signature bvec3\n"
11114
   "    (parameters\n"
11115
   "      (declare (in) bvec3 x))\n"
11116
   "    ())\n"
11117
   "  (signature bvec4\n"
11118
   "    (parameters\n"
11119
   "      (declare (in) bvec4 x))\n"
11120
   "    ()))\n"
11121
   "(function texture1D\n"
11122
   "  (signature vec4\n"
11123
   "    (parameters\n"
11124
   "      (declare (in) sampler1D sampler)\n"
11125
   "      (declare (in) float coord))\n"
11126
   "    ())\n"
11127
   "  (signature vec4\n"
11128
   "    (parameters\n"
11129
   "      (declare (in) sampler1D sampler)\n"
11130
   "      (declare (in) float coord)\n"
11131
   "      (declare (in) float bias))\n"
11132
   "    ()))\n"
11133
   "(function texture1DProj\n"
11134
   "  (signature vec4\n"
11135
   "    (parameters\n"
11136
   "      (declare (in) sampler1D sampler)\n"
11137
   "      (declare (in) vec2 coord))\n"
11138
   "    ())\n"
11139
   "  (signature vec4\n"
11140
   "    (parameters\n"
11141
   "      (declare (in) sampler1D sampler)\n"
11142
   "      (declare (in) vec4 coord))\n"
11143
   "    ())\n"
11144
   "  (signature vec4\n"
11145
   "    (parameters\n"
11146
   "      (declare (in) sampler1D sampler)\n"
11147
   "      (declare (in) vec2 coord)\n"
11148
   "      (declare (in) float bias))\n"
11149
   "    ())\n"
11150
   "  (signature vec4\n"
11151
   "    (parameters\n"
11152
   "      (declare (in) sampler1D sampler)\n"
11153
   "      (declare (in) vec4 coord)\n"
11154
   "      (declare (in) float bias))\n"
11155
   "    ()))\n"
11156
   "(function texture2D\n"
11157
   "  (signature vec4\n"
11158
   "    (parameters\n"
11159
   "      (declare (in) sampler2D sampler)\n"
11160
   "      (declare (in) vec2 coord))\n"
11161
   "    ())\n"
11162
   "  (signature vec4\n"
11163
   "    (parameters\n"
11164
   "      (declare (in) sampler2D sampler)\n"
11165
   "      (declare (in) vec2 coord)\n"
11166
   "      (declare (in) float bias))\n"
11167
   "    ()))\n"
11168
   "(function texture2DProj\n"
11169
   "  (signature vec4\n"
11170
   "    (parameters\n"
11171
   "      (declare (in) sampler2D sampler)\n"
11172
   "      (declare (in) vec3 coord))\n"
11173
   "    ())\n"
11174
   "  (signature vec4\n"
11175
   "    (parameters\n"
11176
   "      (declare (in) sampler2D sampler)\n"
11177
   "      (declare (in) vec4 coord))\n"
11178
   "    ())\n"
11179
   "  (signature vec4\n"
11180
   "    (parameters\n"
11181
   "      (declare (in) sampler2D sampler)\n"
11182
   "      (declare (in) vec3 coord)\n"
11183
   "      (declare (in) float bias))\n"
11184
   "    ())\n"
11185
   "  (signature vec4\n"
11186
   "    (parameters\n"
11187
   "      (declare (in) sampler2D sampler)\n"
11188
   "      (declare (in) vec4 coord)\n"
11189
   "      (declare (in) float bias))\n"
11190
   "    ()))\n"
11191
   "(function texture3D\n"
11192
   "  (signature vec4\n"
11193
   "    (parameters\n"
11194
   "      (declare (in) sampler3D sampler)\n"
11195
   "      (declare (in) vec3 coord))\n"
11196
   "    ())\n"
11197
   "  (signature vec4\n"
11198
   "    (parameters\n"
11199
   "      (declare (in) sampler3D sampler)\n"
11200
   "      (declare (in) vec3 coord)\n"
11201
   "      (declare (in) float bias))\n"
11202
   "    ()))\n"
11203
   "(function texture3DProj\n"
11204
   "  (signature vec4\n"
11205
   "    (parameters\n"
11206
   "      (declare (in) sampler3D sampler)\n"
11207
   "      (declare (in) vec4 coord))\n"
11208
   "    ())\n"
11209
   "  (signature vec4\n"
11210
   "    (parameters\n"
11211
   "      (declare (in) sampler3D sampler)\n"
11212
   "      (declare (in) vec4 coord)\n"
11213
   "      (declare (in) float bias))\n"
11214
   "    ()))\n"
11215
   "(function textureCube\n"
11216
   "  (signature vec4\n"
11217
   "    (parameters\n"
11218
   "      (declare (in) samplerCube sampler)\n"
11219
   "      (declare (in) vec3 coord))\n"
11220
   "    ())\n"
11221
   "  (signature vec4\n"
11222
   "    (parameters\n"
11223
   "      (declare (in) samplerCube sampler)\n"
11224
   "      (declare (in) vec3 coord)\n"
11225
   "      (declare (in) float bias))\n"
11226
   "    ()))\n"
11227
   "(function shadow1D\n"
11228
   "  (signature vec4\n"
11229
   "    (parameters\n"
11230
   "      (declare (in) sampler1DShadow sampler)\n"
11231
   "      (declare (in) vec3 coord))\n"
11232
   "    ())\n"
11233
   "  (signature vec4\n"
11234
   "    (parameters\n"
11235
   "      (declare (in) sampler1DShadow sampler)\n"
11236
   "      (declare (in) vec3 coord)\n"
11237
   "      (declare (in) float bias))\n"
11238
   "    ()))\n"
11239
   "(function shadow2D\n"
11240
   "  (signature vec4\n"
11241
   "    (parameters\n"
11242
   "      (declare (in) sampler2DShadow sampler)\n"
11243
   "      (declare (in) vec3 coord))\n"
11244
   "    ())\n"
11245
   "  (signature vec4\n"
11246
   "    (parameters\n"
11247
   "      (declare (in) sampler2DShadow sampler)\n"
11248
   "      (declare (in) vec3 coord)\n"
11249
   "      (declare (in) float bias))\n"
11250
   "    ()))\n"
11251
   "(function shadow1DProj\n"
11252
   "  (signature vec4\n"
11253
   "    (parameters\n"
11254
   "      (declare (in) sampler1DShadow sampler)\n"
11255
   "      (declare (in) vec4 coord))\n"
11256
   "    ())\n"
11257
   "  (signature vec4\n"
11258
   "    (parameters\n"
11259
   "      (declare (in) sampler1DShadow sampler)\n"
11260
   "      (declare (in) vec4 coord)\n"
11261
   "      (declare (in) float bias))\n"
11262
   "    ()))\n"
11263
   "(function shadow2DProj\n"
11264
   "  (signature vec4\n"
11265
   "    (parameters\n"
11266
   "      (declare (in) sampler2DShadow sampler)\n"
11267
   "      (declare (in) vec4 coord))\n"
11268
   "    ())\n"
11269
   "  (signature vec4\n"
11270
   "    (parameters\n"
11271
   "      (declare (in) sampler2DShadow sampler)\n"
11272
   "      (declare (in) vec4 coord)\n"
11273
   "      (declare (in) float bias))\n"
11274
   "    ()))\n"
11275
   "(function dFdx\n"
11276
   "  (signature float\n"
11277
   "    (parameters\n"
11278
   "      (declare (in) float p))\n"
11279
   "    ())\n"
11280
   "  (signature vec2\n"
11281
   "    (parameters\n"
11282
   "      (declare (in) vec2 p))\n"
11283
   "    ())\n"
11284
   "  (signature vec3\n"
11285
   "    (parameters\n"
11286
   "      (declare (in) vec3 p))\n"
11287
   "    ())\n"
11288
   "  (signature vec4\n"
11289
   "    (parameters\n"
11290
   "      (declare (in) vec4 p))\n"
11291
   "    ()))\n"
11292
   "(function dFdy\n"
11293
   "  (signature float\n"
11294
   "    (parameters\n"
11295
   "      (declare (in) float p))\n"
11296
   "    ())\n"
11297
   "  (signature vec2\n"
11298
   "    (parameters\n"
11299
   "      (declare (in) vec2 p))\n"
11300
   "    ())\n"
11301
   "  (signature vec3\n"
11302
   "    (parameters\n"
11303
   "      (declare (in) vec3 p))\n"
11304
   "    ())\n"
11305
   "  (signature vec4\n"
11306
   "    (parameters\n"
11307
   "      (declare (in) vec4 p))\n"
11308
   "    ()))\n"
11309
   "(function fwidth\n"
11310
   "  (signature float\n"
11311
   "    (parameters\n"
11312
   "      (declare (in) float p))\n"
11313
   "    ())\n"
11314
   "  (signature vec2\n"
11315
   "    (parameters\n"
11316
   "      (declare (in) vec2 p))\n"
11317
   "    ())\n"
11318
   "  (signature vec3\n"
11319
   "    (parameters\n"
11320
   "      (declare (in) vec3 p))\n"
11321
   "    ())\n"
11322
   "  (signature vec4\n"
11323
   "    (parameters\n"
11324
   "      (declare (in) vec4 p))\n"
11325
   "    ()))\n"
11326
   "(function noise1\n"
11327
   "  (signature float\n"
11328
   "    (parameters\n"
11329
   "      (declare (in) float x))\n"
11330
   "    ())\n"
11331
   "  (signature float\n"
11332
   "    (parameters\n"
11333
   "      (declare (in) vec2 x))\n"
11334
   "    ())\n"
11335
   "  (signature float\n"
11336
   "    (parameters\n"
11337
   "      (declare (in) vec3 x))\n"
11338
   "    ())\n"
11339
   "  (signature float\n"
11340
   "    (parameters\n"
11341
   "      (declare (in) vec4 x))\n"
11342
   "    ()))\n"
11343
   "(function noise2\n"
11344
   "  (signature vec2\n"
11345
   "    (parameters\n"
11346
   "      (declare (in) float x))\n"
11347
   "    ())\n"
11348
   "  (signature vec2\n"
11349
   "    (parameters\n"
11350
   "      (declare (in) vec2 x))\n"
11351
   "    ())\n"
11352
   "  (signature vec2\n"
11353
   "    (parameters\n"
11354
   "      (declare (in) vec3 x))\n"
11355
   "    ())\n"
11356
   "  (signature vec2\n"
11357
   "    (parameters\n"
11358
   "      (declare (in) vec4 x))\n"
11359
   "    ()))\n"
11360
   "(function noise3\n"
11361
   "  (signature vec3\n"
11362
   "    (parameters\n"
11363
   "      (declare (in) float x))\n"
11364
   "    ())\n"
11365
   "  (signature vec3\n"
11366
   "    (parameters\n"
11367
   "      (declare (in) vec2 x))\n"
11368
   "    ())\n"
11369
   "  (signature vec3\n"
11370
   "    (parameters\n"
11371
   "      (declare (in) vec3 x))\n"
11372
   "    ())\n"
11373
   "  (signature vec3\n"
11374
   "    (parameters\n"
11375
   "      (declare (in) vec4 x))\n"
11376
   "    ()))\n"
11377
   "(function noise4\n"
11378
   "  (signature vec4\n"
11379
   "    (parameters\n"
11380
   "      (declare (in) float x))\n"
11381
   "    ())\n"
11382
   "  (signature vec4\n"
11383
   "    (parameters\n"
11384
   "      (declare (in) vec2 x))\n"
11385
   "    ())\n"
11386
   "  (signature vec4\n"
11387
   "    (parameters\n"
11388
   "      (declare (in) vec3 x))\n"
11389
   "    ())\n"
11390
   "  (signature vec4\n"
11391
   "    (parameters\n"
11392
   "      (declare (in) vec4 x))\n"
11393
   "    ())))"
11394
;
11395
static const char *functions_for_120_frag [] = {
11396
   builtin_abs,
11397
   builtin_acos,
11398
   builtin_all,
11399
   builtin_any,
11400
   builtin_asin,
11401
   builtin_atan,
11402
   builtin_ceil,
11403
   builtin_clamp,
11404
   builtin_cos,
11405
   builtin_cross,
11406
   builtin_dFdx,
11407
   builtin_dFdy,
11408
   builtin_degrees,
11409
   builtin_distance,
11410
   builtin_dot,
11411
   builtin_equal,
11412
   builtin_exp,
11413
   builtin_exp2,
11414
   builtin_faceforward,
11415
   builtin_floor,
11416
   builtin_fract,
11417
   builtin_fwidth,
11418
   builtin_greaterThan,
11419
   builtin_greaterThanEqual,
11420
   builtin_inversesqrt,
11421
   builtin_length,
11422
   builtin_lessThan,
11423
   builtin_lessThanEqual,
11424
   builtin_log,
11425
   builtin_log2,
11426
   builtin_matrixCompMult,
11427
   builtin_max,
11428
   builtin_min,
11429
   builtin_mix,
11430
   builtin_mod,
11431
   builtin_noise1,
11432
   builtin_noise2,
11433
   builtin_noise3,
11434
   builtin_noise4,
11435
   builtin_normalize,
11436
   builtin_not,
11437
   builtin_notEqual,
11438
   builtin_outerProduct,
11439
   builtin_pow,
11440
   builtin_radians,
11441
   builtin_reflect,
11442
   builtin_refract,
11443
   builtin_shadow1D,
11444
   builtin_shadow1DProj,
11445
   builtin_shadow2D,
11446
   builtin_shadow2DProj,
11447
   builtin_sign,
11448
   builtin_sin,
11449
   builtin_smoothstep,
11450
   builtin_sqrt,
11451
   builtin_step,
11452
   builtin_tan,
11453
   builtin_texture1D,
11454
   builtin_texture1DProj,
11455
   builtin_texture2D,
11456
   builtin_texture2DProj,
11457
   builtin_texture3D,
11458
   builtin_texture3DProj,
11459
   builtin_textureCube,
11460
   builtin_transpose,
11461
};
11462
static const char prototypes_for_120_vert[] =
11463
   "(\n"
11464
   "(function radians\n"
11465
   "  (signature float\n"
11466
   "    (parameters\n"
11467
   "      (declare (in) float degrees))\n"
11468
   "    ())\n"
11469
   "  (signature vec2\n"
11470
   "    (parameters\n"
11471
   "      (declare (in) vec2 degrees))\n"
11472
   "    ())\n"
11473
   "  (signature vec3\n"
11474
   "    (parameters\n"
11475
   "      (declare (in) vec3 degrees))\n"
11476
   "    ())\n"
11477
   "  (signature vec4\n"
11478
   "    (parameters\n"
11479
   "      (declare (in) vec4 degrees))\n"
11480
   "    ()))\n"
11481
   "(function degrees\n"
11482
   "  (signature float\n"
11483
   "    (parameters\n"
11484
   "      (declare (in) float radians))\n"
11485
   "    ())\n"
11486
   "  (signature vec2\n"
11487
   "    (parameters\n"
11488
   "      (declare (in) vec2 radians))\n"
11489
   "    ())\n"
11490
   "  (signature vec3\n"
11491
   "    (parameters\n"
11492
   "      (declare (in) vec3 radians))\n"
11493
   "    ())\n"
11494
   "  (signature vec4\n"
11495
   "    (parameters\n"
11496
   "      (declare (in) vec4 radians))\n"
11497
   "    ()))\n"
11498
   "(function sin\n"
11499
   "  (signature float\n"
11500
   "    (parameters\n"
11501
   "      (declare (in) float angle))\n"
11502
   "    ())\n"
11503
   "  (signature vec2\n"
11504
   "    (parameters\n"
11505
   "      (declare (in) vec2 angle))\n"
11506
   "    ())\n"
11507
   "  (signature vec3\n"
11508
   "    (parameters\n"
11509
   "      (declare (in) vec3 angle))\n"
11510
   "    ())\n"
11511
   "  (signature vec4\n"
11512
   "    (parameters\n"
11513
   "      (declare (in) vec4 angle))\n"
11514
   "    ()))\n"
11515
   "(function cos\n"
11516
   "  (signature float\n"
11517
   "    (parameters\n"
11518
   "      (declare (in) float angle))\n"
11519
   "    ())\n"
11520
   "  (signature vec2\n"
11521
   "    (parameters\n"
11522
   "      (declare (in) vec2 angle))\n"
11523
   "    ())\n"
11524
   "  (signature vec3\n"
11525
   "    (parameters\n"
11526
   "      (declare (in) vec3 angle))\n"
11527
   "    ())\n"
11528
   "  (signature vec4\n"
11529
   "    (parameters\n"
11530
   "      (declare (in) vec4 angle))\n"
11531
   "    ()))\n"
11532
   "(function tan\n"
11533
   "  (signature float\n"
11534
   "    (parameters\n"
11535
   "      (declare (in) float angle))\n"
11536
   "    ())\n"
11537
   "  (signature vec2\n"
11538
   "    (parameters\n"
11539
   "      (declare (in) vec2 angle))\n"
11540
   "    ())\n"
11541
   "  (signature vec3\n"
11542
   "    (parameters\n"
11543
   "      (declare (in) vec3 angle))\n"
11544
   "    ())\n"
11545
   "  (signature vec4\n"
11546
   "    (parameters\n"
11547
   "      (declare (in) vec4 angle))\n"
11548
   "    ()))\n"
11549
   "(function asin\n"
11550
   "  (signature float\n"
11551
   "    (parameters\n"
11552
   "      (declare (in) float angle))\n"
11553
   "    ())\n"
11554
   "  (signature vec2\n"
11555
   "    (parameters\n"
11556
   "      (declare (in) vec2 angle))\n"
11557
   "    ())\n"
11558
   "  (signature vec3\n"
11559
   "    (parameters\n"
11560
   "      (declare (in) vec3 angle))\n"
11561
   "    ())\n"
11562
   "  (signature vec4\n"
11563
   "    (parameters\n"
11564
   "      (declare (in) vec4 angle))\n"
11565
   "    ()))\n"
11566
   "(function acos\n"
11567
   "  (signature float\n"
11568
   "    (parameters\n"
11569
   "      (declare (in) float angle))\n"
11570
   "    ())\n"
11571
   "  (signature vec2\n"
11572
   "    (parameters\n"
11573
   "      (declare (in) vec2 angle))\n"
11574
   "    ())\n"
11575
   "  (signature vec3\n"
11576
   "    (parameters\n"
11577
   "      (declare (in) vec3 angle))\n"
11578
   "    ())\n"
11579
   "  (signature vec4\n"
11580
   "    (parameters\n"
11581
   "      (declare (in) vec4 angle))\n"
11582
   "    ()))\n"
11583
   "(function atan\n"
11584
   "  (signature float\n"
11585
   "    (parameters\n"
11586
   "      (declare (in) float y)\n"
11587
   "      (declare (in) float x))\n"
11588
   "    ())\n"
11589
   "  (signature vec2\n"
11590
   "    (parameters\n"
11591
   "      (declare (in) vec2 y)\n"
11592
   "      (declare (in) vec2 x))\n"
11593
   "    ())\n"
11594
   "  (signature vec3\n"
11595
   "    (parameters\n"
11596
   "      (declare (in) vec3 y)\n"
11597
   "      (declare (in) vec3 x))\n"
11598
   "    ())\n"
11599
   "  (signature vec4\n"
11600
   "    (parameters\n"
11601
   "      (declare (in) vec4 y)\n"
11602
   "      (declare (in) vec4 x))\n"
11603
   "    ())\n"
11604
   "  (signature float\n"
11605
   "    (parameters\n"
11606
   "      (declare (in) float y_over_x))\n"
11607
   "    ())\n"
11608
   "  (signature vec2\n"
11609
   "    (parameters\n"
11610
   "      (declare (in) vec2 y_over_x))\n"
11611
   "    ())\n"
11612
   "  (signature vec3\n"
11613
   "    (parameters\n"
11614
   "      (declare (in) vec3 y_over_x))\n"
11615
   "    ())\n"
11616
   "  (signature vec4\n"
11617
   "    (parameters\n"
11618
   "      (declare (in) vec4 y_over_x))\n"
11619
   "    ()))\n"
11620
   "(function pow\n"
11621
   "  (signature float\n"
11622
   "    (parameters\n"
11623
   "      (declare (in) float x)\n"
11624
   "      (declare (in) float y))\n"
11625
   "    ())\n"
11626
   "  (signature vec2\n"
11627
   "    (parameters\n"
11628
   "      (declare (in) vec2 x)\n"
11629
   "      (declare (in) vec2 y))\n"
11630
   "    ())\n"
11631
   "  (signature vec3\n"
11632
   "    (parameters\n"
11633
   "      (declare (in) vec3 x)\n"
11634
   "      (declare (in) vec3 y))\n"
11635
   "    ())\n"
11636
   "  (signature vec4\n"
11637
   "    (parameters\n"
11638
   "      (declare (in) vec4 x)\n"
11639
   "      (declare (in) vec4 y))\n"
11640
   "    ()))\n"
11641
   "(function exp\n"
11642
   "  (signature float\n"
11643
   "    (parameters\n"
11644
   "      (declare (in) float x))\n"
11645
   "    ())\n"
11646
   "  (signature vec2\n"
11647
   "    (parameters\n"
11648
   "      (declare (in) vec2 x))\n"
11649
   "    ())\n"
11650
   "  (signature vec3\n"
11651
   "    (parameters\n"
11652
   "      (declare (in) vec3 x))\n"
11653
   "    ())\n"
11654
   "  (signature vec4\n"
11655
   "    (parameters\n"
11656
   "      (declare (in) vec4 x))\n"
11657
   "    ()))\n"
11658
   "(function log\n"
11659
   "  (signature float\n"
11660
   "    (parameters\n"
11661
   "      (declare (in) float x))\n"
11662
   "    ())\n"
11663
   "  (signature vec2\n"
11664
   "    (parameters\n"
11665
   "      (declare (in) vec2 x))\n"
11666
   "    ())\n"
11667
   "  (signature vec3\n"
11668
   "    (parameters\n"
11669
   "      (declare (in) vec3 x))\n"
11670
   "    ())\n"
11671
   "  (signature vec4\n"
11672
   "    (parameters\n"
11673
   "      (declare (in) vec4 x))\n"
11674
   "    ()))\n"
11675
   "(function exp2\n"
11676
   "  (signature float\n"
11677
   "    (parameters\n"
11678
   "      (declare (in) float x))\n"
11679
   "    ())\n"
11680
   "  (signature vec2\n"
11681
   "    (parameters\n"
11682
   "      (declare (in) vec2 x))\n"
11683
   "    ())\n"
11684
   "  (signature vec3\n"
11685
   "    (parameters\n"
11686
   "      (declare (in) vec3 x))\n"
11687
   "    ())\n"
11688
   "  (signature vec4\n"
11689
   "    (parameters\n"
11690
   "      (declare (in) vec4 x))\n"
11691
   "    ()))\n"
11692
   "(function log2\n"
11693
   "  (signature float\n"
11694
   "    (parameters\n"
11695
   "      (declare (in) float x))\n"
11696
   "    ())\n"
11697
   "  (signature vec2\n"
11698
   "    (parameters\n"
11699
   "      (declare (in) vec2 x))\n"
11700
   "    ())\n"
11701
   "  (signature vec3\n"
11702
   "    (parameters\n"
11703
   "      (declare (in) vec3 x))\n"
11704
   "    ())\n"
11705
   "  (signature vec4\n"
11706
   "    (parameters\n"
11707
   "      (declare (in) vec4 x))\n"
11708
   "    ()))\n"
11709
   "(function sqrt\n"
11710
   "  (signature float\n"
11711
   "    (parameters\n"
11712
   "      (declare (in) float x))\n"
11713
   "    ())\n"
11714
   "  (signature vec2\n"
11715
   "    (parameters\n"
11716
   "      (declare (in) vec2 x))\n"
11717
   "    ())\n"
11718
   "  (signature vec3\n"
11719
   "    (parameters\n"
11720
   "      (declare (in) vec3 x))\n"
11721
   "    ())\n"
11722
   "  (signature vec4\n"
11723
   "    (parameters\n"
11724
   "      (declare (in) vec4 x))\n"
11725
   "    ()))\n"
11726
   "(function inversesqrt\n"
11727
   "  (signature float\n"
11728
   "    (parameters\n"
11729
   "      (declare (in) float x))\n"
11730
   "    ())\n"
11731
   "  (signature vec2\n"
11732
   "    (parameters\n"
11733
   "      (declare (in) vec2 x))\n"
11734
   "    ())\n"
11735
   "  (signature vec3\n"
11736
   "    (parameters\n"
11737
   "      (declare (in) vec3 x))\n"
11738
   "    ())\n"
11739
   "  (signature vec4\n"
11740
   "    (parameters\n"
11741
   "      (declare (in) vec4 x))\n"
11742
   "    ()))\n"
11743
   "(function abs\n"
11744
   "  (signature float\n"
11745
   "    (parameters\n"
11746
   "      (declare (in) float x))\n"
11747
   "    ())\n"
11748
   "  (signature vec2\n"
11749
   "    (parameters\n"
11750
   "      (declare (in) vec2 x))\n"
11751
   "    ())\n"
11752
   "  (signature vec3\n"
11753
   "    (parameters\n"
11754
   "      (declare (in) vec3 x))\n"
11755
   "    ())\n"
11756
   "  (signature vec4\n"
11757
   "    (parameters\n"
11758
   "      (declare (in) vec4 x))\n"
11759
   "    ()))\n"
11760
   "(function sign\n"
11761
   "  (signature float\n"
11762
   "    (parameters\n"
11763
   "      (declare (in) float x))\n"
11764
   "    ())\n"
11765
   "  (signature vec2\n"
11766
   "    (parameters\n"
11767
   "      (declare (in) vec2 x))\n"
11768
   "    ())\n"
11769
   "  (signature vec3\n"
11770
   "    (parameters\n"
11771
   "      (declare (in) vec3 x))\n"
11772
   "    ())\n"
11773
   "  (signature vec4\n"
11774
   "    (parameters\n"
11775
   "      (declare (in) vec4 x))\n"
11776
   "    ()))\n"
11777
   "(function floor\n"
11778
   "  (signature float\n"
11779
   "    (parameters\n"
11780
   "      (declare (in) float x))\n"
11781
   "    ())\n"
11782
   "  (signature vec2\n"
11783
   "    (parameters\n"
11784
   "      (declare (in) vec2 x))\n"
11785
   "    ())\n"
11786
   "  (signature vec3\n"
11787
   "    (parameters\n"
11788
   "      (declare (in) vec3 x))\n"
11789
   "    ())\n"
11790
   "  (signature vec4\n"
11791
   "    (parameters\n"
11792
   "      (declare (in) vec4 x))\n"
11793
   "    ()))\n"
11794
   "(function ceil\n"
11795
   "  (signature float\n"
11796
   "    (parameters\n"
11797
   "      (declare (in) float x))\n"
11798
   "    ())\n"
11799
   "  (signature vec2\n"
11800
   "    (parameters\n"
11801
   "      (declare (in) vec2 x))\n"
11802
   "    ())\n"
11803
   "  (signature vec3\n"
11804
   "    (parameters\n"
11805
   "      (declare (in) vec3 x))\n"
11806
   "    ())\n"
11807
   "  (signature vec4\n"
11808
   "    (parameters\n"
11809
   "      (declare (in) vec4 x))\n"
11810
   "    ()))\n"
11811
   "(function fract\n"
11812
   "  (signature float\n"
11813
   "    (parameters\n"
11814
   "      (declare (in) float x))\n"
11815
   "    ())\n"
11816
   "  (signature vec2\n"
11817
   "    (parameters\n"
11818
   "      (declare (in) vec2 x))\n"
11819
   "    ())\n"
11820
   "  (signature vec3\n"
11821
   "    (parameters\n"
11822
   "      (declare (in) vec3 x))\n"
11823
   "    ())\n"
11824
   "  (signature vec4\n"
11825
   "    (parameters\n"
11826
   "      (declare (in) vec4 x))\n"
11827
   "    ()))\n"
11828
   "(function mod\n"
11829
   "  (signature float\n"
11830
   "    (parameters\n"
11831
   "      (declare (in) float x)\n"
11832
   "      (declare (in) float y))\n"
11833
   "    ())\n"
11834
   "  (signature vec2\n"
11835
   "    (parameters\n"
11836
   "      (declare (in) vec2 x)\n"
11837
   "      (declare (in) float y))\n"
11838
   "    ())\n"
11839
   "  (signature vec3\n"
11840
   "    (parameters\n"
11841
   "      (declare (in) vec3 x)\n"
11842
   "      (declare (in) float y))\n"
11843
   "    ())\n"
11844
   "  (signature vec4\n"
11845
   "    (parameters\n"
11846
   "      (declare (in) vec4 x)\n"
11847
   "      (declare (in) float y))\n"
11848
   "    ())\n"
11849
   "  (signature vec2\n"
11850
   "    (parameters\n"
11851
   "      (declare (in) vec2 x)\n"
11852
   "      (declare (in) vec2 y))\n"
11853
   "    ())\n"
11854
   "  (signature vec3\n"
11855
   "    (parameters\n"
11856
   "      (declare (in) vec3 x)\n"
11857
   "      (declare (in) vec3 y))\n"
11858
   "    ())\n"
11859
   "  (signature vec4\n"
11860
   "    (parameters\n"
11861
   "      (declare (in) vec4 x)\n"
11862
   "      (declare (in) vec4 y))\n"
11863
   "    ()))\n"
11864
   "(function min\n"
11865
   "  (signature float\n"
11866
   "    (parameters\n"
11867
   "      (declare (in) float x)\n"
11868
   "      (declare (in) float y))\n"
11869
   "    ())\n"
11870
   "  (signature vec2\n"
11871
   "    (parameters\n"
11872
   "      (declare (in) vec2 x)\n"
11873
   "      (declare (in) vec2 y))\n"
11874
   "    ())\n"
11875
   "  (signature vec3\n"
11876
   "    (parameters\n"
11877
   "      (declare (in) vec3 x)\n"
11878
   "      (declare (in) vec3 y))\n"
11879
   "    ())\n"
11880
   "  (signature vec4\n"
11881
   "    (parameters\n"
11882
   "      (declare (in) vec4 x)\n"
11883
   "      (declare (in) vec4 y))\n"
11884
   "    ())\n"
11885
   "  (signature vec2\n"
11886
   "    (parameters\n"
11887
   "      (declare (in) vec2 x)\n"
11888
   "      (declare (in) float y))\n"
11889
   "    ())\n"
11890
   "  (signature vec3\n"
11891
   "    (parameters\n"
11892
   "      (declare (in) vec3 x)\n"
11893
   "      (declare (in) float y))\n"
11894
   "    ())\n"
11895
   "  (signature vec4\n"
11896
   "    (parameters\n"
11897
   "      (declare (in) vec4 x)\n"
11898
   "      (declare (in) float y))\n"
11899
   "    ()))\n"
11900
   "(function max\n"
11901
   "  (signature float\n"
11902
   "    (parameters\n"
11903
   "      (declare (in) float x)\n"
11904
   "      (declare (in) float y))\n"
11905
   "    ())\n"
11906
   "  (signature vec2\n"
11907
   "    (parameters\n"
11908
   "      (declare (in) vec2 x)\n"
11909
   "      (declare (in) vec2 y))\n"
11910
   "    ())\n"
11911
   "  (signature vec3\n"
11912
   "    (parameters\n"
11913
   "      (declare (in) vec3 x)\n"
11914
   "      (declare (in) vec3 y))\n"
11915
   "    ())\n"
11916
   "  (signature vec4\n"
11917
   "    (parameters\n"
11918
   "      (declare (in) vec4 x)\n"
11919
   "      (declare (in) vec4 y))\n"
11920
   "    ())\n"
11921
   "  (signature vec2\n"
11922
   "    (parameters\n"
11923
   "      (declare (in) vec2 x)\n"
11924
   "      (declare (in) float y))\n"
11925
   "    ())\n"
11926
   "  (signature vec3\n"
11927
   "    (parameters\n"
11928
   "      (declare (in) vec3 x)\n"
11929
   "      (declare (in) float y))\n"
11930
   "    ())\n"
11931
   "  (signature vec4\n"
11932
   "    (parameters\n"
11933
   "      (declare (in) vec4 x)\n"
11934
   "      (declare (in) float y))\n"
11935
   "    ()))\n"
11936
   "(function clamp\n"
11937
   "  (signature float\n"
11938
   "    (parameters\n"
11939
   "      (declare (in) float x)\n"
11940
   "      (declare (in) float minVal)\n"
11941
   "      (declare (in) float maxVal))\n"
11942
   "    ())\n"
11943
   "  (signature vec2\n"
11944
   "    (parameters\n"
11945
   "      (declare (in) vec2 x)\n"
11946
   "      (declare (in) vec2 minVal)\n"
11947
   "      (declare (in) vec2 maxVal))\n"
11948
   "    ())\n"
11949
   "  (signature vec3\n"
11950
   "    (parameters\n"
11951
   "      (declare (in) vec3 x)\n"
11952
   "      (declare (in) vec3 minVal)\n"
11953
   "      (declare (in) vec3 maxVal))\n"
11954
   "    ())\n"
11955
   "  (signature vec4\n"
11956
   "    (parameters\n"
11957
   "      (declare (in) vec4 x)\n"
11958
   "      (declare (in) vec4 minVal)\n"
11959
   "      (declare (in) vec4 maxVal))\n"
11960
   "    ())\n"
11961
   "  (signature vec2\n"
11962
   "    (parameters\n"
11963
   "      (declare (in) vec2 x)\n"
11964
   "      (declare (in) float minVal)\n"
11965
   "      (declare (in) float maxVal))\n"
11966
   "    ())\n"
11967
   "  (signature vec3\n"
11968
   "    (parameters\n"
11969
   "      (declare (in) vec3 x)\n"
11970
   "      (declare (in) float minVal)\n"
11971
   "      (declare (in) float maxVal))\n"
11972
   "    ())\n"
11973
   "  (signature vec4\n"
11974
   "    (parameters\n"
11975
   "      (declare (in) vec4 x)\n"
11976
   "      (declare (in) float minVal)\n"
11977
   "      (declare (in) float maxVal))\n"
11978
   "    ()))\n"
11979
   "(function mix\n"
11980
   "  (signature float\n"
11981
   "    (parameters\n"
11982
   "      (declare (in) float x)\n"
11983
   "      (declare (in) float y)\n"
11984
   "      (declare (in) float a))\n"
11985
   "    ())\n"
11986
   "  (signature vec2\n"
11987
   "    (parameters\n"
11988
   "      (declare (in) vec2 x)\n"
11989
   "      (declare (in) vec2 y)\n"
11990
   "      (declare (in) vec2 a))\n"
11991
   "    ())\n"
11992
   "  (signature vec3\n"
11993
   "    (parameters\n"
11994
   "      (declare (in) vec3 x)\n"
11995
   "      (declare (in) vec3 y)\n"
11996
   "      (declare (in) vec3 a))\n"
11997
   "    ())\n"
11998
   "  (signature vec4\n"
11999
   "    (parameters\n"
12000
   "      (declare (in) vec4 x)\n"
12001
   "      (declare (in) vec4 y)\n"
12002
   "      (declare (in) vec4 a))\n"
12003
   "    ())\n"
12004
   "  (signature vec2\n"
12005
   "    (parameters\n"
12006
   "      (declare (in) vec2 x)\n"
12007
   "      (declare (in) vec2 y)\n"
12008
   "      (declare (in) float a))\n"
12009
   "    ())\n"
12010
   "  (signature vec3\n"
12011
   "    (parameters\n"
12012
   "      (declare (in) vec3 x)\n"
12013
   "      (declare (in) vec3 y)\n"
12014
   "      (declare (in) float a))\n"
12015
   "    ())\n"
12016
   "  (signature vec4\n"
12017
   "    (parameters\n"
12018
   "      (declare (in) vec4 x)\n"
12019
   "      (declare (in) vec4 y)\n"
12020
   "      (declare (in) float a))\n"
12021
   "    ()))\n"
12022
   "(function step\n"
12023
   "  (signature float\n"
12024
   "    (parameters\n"
12025
   "      (declare (in) float edge)\n"
12026
   "      (declare (in) float x))\n"
12027
   "    ())\n"
12028
   "  (signature vec2\n"
12029
   "    (parameters\n"
12030
   "      (declare (in) vec2 edge)\n"
12031
   "      (declare (in) vec2 x))\n"
12032
   "    ())\n"
12033
   "  (signature vec3\n"
12034
   "    (parameters\n"
12035
   "      (declare (in) vec3 edge)\n"
12036
   "      (declare (in) vec3 x))\n"
12037
   "    ())\n"
12038
   "  (signature vec4\n"
12039
   "    (parameters\n"
12040
   "      (declare (in) vec4 edge)\n"
12041
   "      (declare (in) vec4 x))\n"
12042
   "    ())\n"
12043
   "  (signature vec2\n"
12044
   "    (parameters\n"
12045
   "      (declare (in) float edge)\n"
12046
   "      (declare (in) vec2 x))\n"
12047
   "    ())\n"
12048
   "  (signature vec3\n"
12049
   "    (parameters\n"
12050
   "      (declare (in) float edge)\n"
12051
   "      (declare (in) vec3 x))\n"
12052
   "    ())\n"
12053
   "  (signature vec4\n"
12054
   "    (parameters\n"
12055
   "      (declare (in) float edge)\n"
12056
   "      (declare (in) vec4 x))\n"
12057
   "    ()))\n"
12058
   "(function smoothstep\n"
12059
   "  (signature float\n"
12060
   "    (parameters\n"
12061
   "      (declare (in) float edge0)\n"
12062
   "      (declare (in) float edge1)\n"
12063
   "      (declare (in) float x))\n"
12064
   "    ())\n"
12065
   "  (signature vec2\n"
12066
   "    (parameters\n"
12067
   "      (declare (in) vec2 edge0)\n"
12068
   "      (declare (in) vec2 edge1)\n"
12069
   "      (declare (in) vec2 x))\n"
12070
   "    ())\n"
12071
   "  (signature vec3\n"
12072
   "    (parameters\n"
12073
   "      (declare (in) vec3 edge0)\n"
12074
   "      (declare (in) vec3 edge1)\n"
12075
   "      (declare (in) vec3 x))\n"
12076
   "    ())\n"
12077
   "  (signature vec4\n"
12078
   "    (parameters\n"
12079
   "      (declare (in) vec4 edge0)\n"
12080
   "      (declare (in) vec4 edge1)\n"
12081
   "      (declare (in) vec4 x))\n"
12082
   "    ())\n"
12083
   "  (signature vec2\n"
12084
   "    (parameters\n"
12085
   "      (declare (in) float edge0)\n"
12086
   "      (declare (in) float edge1)\n"
12087
   "      (declare (in) vec2 x))\n"
12088
   "    ())\n"
12089
   "  (signature vec3\n"
12090
   "    (parameters\n"
12091
   "      (declare (in) float edge0)\n"
12092
   "      (declare (in) float edge1)\n"
12093
   "      (declare (in) vec3 x))\n"
12094
   "    ())\n"
12095
   "  (signature vec4\n"
12096
   "    (parameters\n"
12097
   "      (declare (in) float edge0)\n"
12098
   "      (declare (in) float edge1)\n"
12099
   "      (declare (in) vec4 x))\n"
12100
   "    ()))\n"
12101
   "(function length\n"
12102
   "  (signature float\n"
12103
   "    (parameters\n"
12104
   "      (declare (in) float x))\n"
12105
   "    ())\n"
12106
   "  (signature float\n"
12107
   "    (parameters\n"
12108
   "      (declare (in) vec2 x))\n"
12109
   "    ())\n"
12110
   "  (signature float\n"
12111
   "    (parameters\n"
12112
   "      (declare (in) vec3 x))\n"
12113
   "    ())\n"
12114
   "  (signature float\n"
12115
   "    (parameters\n"
12116
   "      (declare (in) vec4 x))\n"
12117
   "    ()))\n"
12118
   "(function distance\n"
12119
   "  (signature float\n"
12120
   "    (parameters\n"
12121
   "      (declare (in) float p0)\n"
12122
   "      (declare (in) float p1))\n"
12123
   "    ())\n"
12124
   "  (signature float\n"
12125
   "    (parameters\n"
12126
   "      (declare (in) vec2 p0)\n"
12127
   "      (declare (in) vec2 p1))\n"
12128
   "    ())\n"
12129
   "  (signature float\n"
12130
   "    (parameters\n"
12131
   "      (declare (in) vec3 p0)\n"
12132
   "      (declare (in) vec3 p1))\n"
12133
   "    ())\n"
12134
   "  (signature float\n"
12135
   "    (parameters\n"
12136
   "      (declare (in) vec4 p0)\n"
12137
   "      (declare (in) vec4 p1))\n"
12138
   "    ()))\n"
12139
   "(function dot\n"
12140
   "  (signature float\n"
12141
   "    (parameters\n"
12142
   "      (declare (in) float x)\n"
12143
   "      (declare (in) float y))\n"
12144
   "    ())\n"
12145
   "  (signature float\n"
12146
   "    (parameters\n"
12147
   "      (declare (in) vec2 x)\n"
12148
   "      (declare (in) vec2 y))\n"
12149
   "    ())\n"
12150
   "  (signature float\n"
12151
   "    (parameters\n"
12152
   "      (declare (in) vec3 x)\n"
12153
   "      (declare (in) vec3 y))\n"
12154
   "    ())\n"
12155
   "  (signature float\n"
12156
   "    (parameters\n"
12157
   "      (declare (in) vec4 x)\n"
12158
   "      (declare (in) vec4 y))\n"
12159
   "    ()))\n"
12160
   "(function cross\n"
12161
   "  (signature vec3\n"
12162
   "    (parameters\n"
12163
   "      (declare (in) vec3 x)\n"
12164
   "      (declare (in) vec3 y))\n"
12165
   "    ()))\n"
12166
   "(function normalize\n"
12167
   "  (signature float\n"
12168
   "    (parameters\n"
12169
   "      (declare (in) float x))\n"
12170
   "    ())\n"
12171
   "  (signature vec2\n"
12172
   "    (parameters\n"
12173
   "      (declare (in) vec2 x))\n"
12174
   "    ())\n"
12175
   "  (signature vec3\n"
12176
   "    (parameters\n"
12177
   "      (declare (in) vec3 x))\n"
12178
   "    ())\n"
12179
   "  (signature vec4\n"
12180
   "    (parameters\n"
12181
   "      (declare (in) vec4 x))\n"
12182
   "    ()))\n"
12183
   "(function ftransform\n"
12184
   "  (signature vec4\n"
12185
   "    (parameters)\n"
12186
   "    ()))\n"
12187
   "(function faceforward\n"
12188
   "  (signature float\n"
12189
   "    (parameters\n"
12190
   "      (declare (in) float N)\n"
12191
   "      (declare (in) float I)\n"
12192
   "      (declare (in) float Nref))\n"
12193
   "    ())\n"
12194
   "  (signature vec2\n"
12195
   "    (parameters\n"
12196
   "      (declare (in) vec2 N)\n"
12197
   "      (declare (in) vec2 I)\n"
12198
   "      (declare (in) vec2 Nref))\n"
12199
   "    ())\n"
12200
   "  (signature vec3\n"
12201
   "    (parameters\n"
12202
   "      (declare (in) vec3 N)\n"
12203
   "      (declare (in) vec3 I)\n"
12204
   "      (declare (in) vec3 Nref))\n"
12205
   "    ())\n"
12206
   "  (signature vec4\n"
12207
   "    (parameters\n"
12208
   "      (declare (in) vec4 N)\n"
12209
   "      (declare (in) vec4 I)\n"
12210
   "      (declare (in) vec4 Nref))\n"
12211
   "    ()))\n"
12212
   "(function reflect\n"
12213
   "  (signature float\n"
12214
   "    (parameters\n"
12215
   "      (declare (in) float I)\n"
12216
   "      (declare (in) float N))\n"
12217
   "    ())\n"
12218
   "  (signature vec2\n"
12219
   "    (parameters\n"
12220
   "      (declare (in) vec2 I)\n"
12221
   "      (declare (in) vec2 N))\n"
12222
   "    ())\n"
12223
   "  (signature vec3\n"
12224
   "    (parameters\n"
12225
   "      (declare (in) vec3 I)\n"
12226
   "      (declare (in) vec3 N))\n"
12227
   "    ())\n"
12228
   "  (signature vec4\n"
12229
   "    (parameters\n"
12230
   "      (declare (in) vec4 I)\n"
12231
   "      (declare (in) vec4 N))\n"
12232
   "    ()))\n"
12233
   "(function refract\n"
12234
   "  (signature float\n"
12235
   "    (parameters\n"
12236
   "      (declare (in) float I)\n"
12237
   "      (declare (in) float N)\n"
12238
   "      (declare (in) float eta))\n"
12239
   "    ())\n"
12240
   "  (signature vec2\n"
12241
   "    (parameters\n"
12242
   "      (declare (in) vec2 I)\n"
12243
   "      (declare (in) vec2 N)\n"
12244
   "      (declare (in) float eta))\n"
12245
   "    ())\n"
12246
   "  (signature vec3\n"
12247
   "    (parameters\n"
12248
   "      (declare (in) vec3 I)\n"
12249
   "      (declare (in) vec3 N)\n"
12250
   "      (declare (in) float eta))\n"
12251
   "    ())\n"
12252
   "  (signature vec4\n"
12253
   "    (parameters\n"
12254
   "      (declare (in) vec4 I)\n"
12255
   "      (declare (in) vec4 N)\n"
12256
   "      (declare (in) float eta))\n"
12257
   "    ()))\n"
12258
   "(function matrixCompMult\n"
12259
   "  (signature mat2\n"
12260
   "    (parameters\n"
12261
   "      (declare (in) mat2 x)\n"
12262
   "      (declare (in) mat2 y))\n"
12263
   "    ())\n"
12264
   "  (signature mat3\n"
12265
   "    (parameters\n"
12266
   "      (declare (in) mat3 x)\n"
12267
   "      (declare (in) mat3 y))\n"
12268
   "    ())\n"
12269
   "  (signature mat4\n"
12270
   "    (parameters\n"
12271
   "      (declare (in) mat4 x)\n"
12272
   "      (declare (in) mat4 y))\n"
12273
   "    ())\n"
12274
   "  (signature mat2x3\n"
12275
   "    (parameters\n"
12276
   "      (declare (in) mat2x3 x)\n"
12277
   "      (declare (in) mat2x3 y))\n"
12278
   "    ())\n"
12279
   "  (signature mat2x4\n"
12280
   "    (parameters\n"
12281
   "      (declare (in) mat2x4 x)\n"
12282
   "      (declare (in) mat2x4 y))\n"
12283
   "    ())\n"
12284
   "  (signature mat3x2\n"
12285
   "    (parameters\n"
12286
   "      (declare (in) mat3x2 x)\n"
12287
   "      (declare (in) mat3x2 y))\n"
12288
   "    ())\n"
12289
   "  (signature mat3x4\n"
12290
   "    (parameters\n"
12291
   "      (declare (in) mat3x4 x)\n"
12292
   "      (declare (in) mat3x4 y))\n"
12293
   "    ())\n"
12294
   "  (signature mat4x2\n"
12295
   "    (parameters\n"
12296
   "      (declare (in) mat4x2 x)\n"
12297
   "      (declare (in) mat4x2 y))\n"
12298
   "    ())\n"
12299
   "  (signature mat4x3\n"
12300
   "    (parameters\n"
12301
   "      (declare (in) mat4x3 x)\n"
12302
   "      (declare (in) mat4x3 y))\n"
12303
   "    ()))\n"
12304
   "(function outerProduct\n"
12305
   "  (signature mat2\n"
12306
   "    (parameters\n"
12307
   "      (declare (in) vec2 c)\n"
12308
   "      (declare (in) vec2 r))\n"
12309
   "    ())\n"
12310
   "  (signature mat3\n"
12311
   "    (parameters\n"
12312
   "      (declare (in) vec3 c)\n"
12313
   "      (declare (in) vec3 r))\n"
12314
   "    ())\n"
12315
   "  (signature mat4\n"
12316
   "    (parameters\n"
12317
   "      (declare (in) vec4 c)\n"
12318
   "      (declare (in) vec4 r))\n"
12319
   "    ())\n"
12320
   "  (signature mat2x3\n"
12321
   "    (parameters\n"
12322
   "      (declare (in) vec3 c)\n"
12323
   "      (declare (in) vec2 r))\n"
12324
   "    ())\n"
12325
   "  (signature mat3x2\n"
12326
   "    (parameters\n"
12327
   "      (declare (in) vec2 c)\n"
12328
   "      (declare (in) vec3 r))\n"
12329
   "    ())\n"
12330
   "  (signature mat2x4\n"
12331
   "    (parameters\n"
12332
   "      (declare (in) vec4 c)\n"
12333
   "      (declare (in) vec2 r))\n"
12334
   "    ())\n"
12335
   "  (signature mat4x2\n"
12336
   "    (parameters\n"
12337
   "      (declare (in) vec2 c)\n"
12338
   "      (declare (in) vec4 r))\n"
12339
   "    ())\n"
12340
   "  (signature mat3x4\n"
12341
   "    (parameters\n"
12342
   "      (declare (in) vec4 c)\n"
12343
   "      (declare (in) vec3 r))\n"
12344
   "    ())\n"
12345
   "  (signature mat4x3\n"
12346
   "    (parameters\n"
12347
   "      (declare (in) vec3 c)\n"
12348
   "      (declare (in) vec4 r))\n"
12349
   "    ()))\n"
12350
   "(function transpose\n"
12351
   "  (signature mat2\n"
12352
   "    (parameters\n"
12353
   "      (declare (in) mat2 m))\n"
12354
   "    ())\n"
12355
   "  (signature mat3\n"
12356
   "    (parameters\n"
12357
   "      (declare (in) mat3 m))\n"
12358
   "    ())\n"
12359
   "  (signature mat4\n"
12360
   "    (parameters\n"
12361
   "      (declare (in) mat4 m))\n"
12362
   "    ())\n"
12363
   "  (signature mat2x3\n"
12364
   "    (parameters\n"
12365
   "      (declare (in) mat3x2 m))\n"
12366
   "    ())\n"
12367
   "  (signature mat3x2\n"
12368
   "    (parameters\n"
12369
   "      (declare (in) mat2x3 m))\n"
12370
   "    ())\n"
12371
   "  (signature mat2x4\n"
12372
   "    (parameters\n"
12373
   "      (declare (in) mat4x2 m))\n"
12374
   "    ())\n"
12375
   "  (signature mat4x2\n"
12376
   "    (parameters\n"
12377
   "      (declare (in) mat2x4 m))\n"
12378
   "    ())\n"
12379
   "  (signature mat3x4\n"
12380
   "    (parameters\n"
12381
   "      (declare (in) mat4x3 m))\n"
12382
   "    ())\n"
12383
   "  (signature mat4x3\n"
12384
   "    (parameters\n"
12385
   "      (declare (in) mat3x4 m))\n"
12386
   "    ()))\n"
12387
   "(function lessThan\n"
12388
   "  (signature bvec2\n"
12389
   "    (parameters\n"
12390
   "      (declare (in) vec2 x)\n"
12391
   "      (declare (in) vec2 y))\n"
12392
   "    ())\n"
12393
   "  (signature bvec3\n"
12394
   "    (parameters\n"
12395
   "      (declare (in) vec3 x)\n"
12396
   "      (declare (in) vec3 y))\n"
12397
   "    ())\n"
12398
   "  (signature bvec4\n"
12399
   "    (parameters\n"
12400
   "      (declare (in) vec4 x)\n"
12401
   "      (declare (in) vec4 y))\n"
12402
   "    ())\n"
12403
   "  (signature bvec2\n"
12404
   "    (parameters\n"
12405
   "      (declare (in) ivec2 x)\n"
12406
   "      (declare (in) ivec2 y))\n"
12407
   "    ())\n"
12408
   "  (signature bvec3\n"
12409
   "    (parameters\n"
12410
   "      (declare (in) ivec3 x)\n"
12411
   "      (declare (in) ivec3 y))\n"
12412
   "    ())\n"
12413
   "  (signature bvec4\n"
12414
   "    (parameters\n"
12415
   "      (declare (in) ivec4 x)\n"
12416
   "      (declare (in) ivec4 y))\n"
12417
   "    ()))\n"
12418
   "(function lessThanEqual\n"
12419
   "  (signature bvec2\n"
12420
   "    (parameters\n"
12421
   "      (declare (in) vec2 x)\n"
12422
   "      (declare (in) vec2 y))\n"
12423
   "    ())\n"
12424
   "  (signature bvec3\n"
12425
   "    (parameters\n"
12426
   "      (declare (in) vec3 x)\n"
12427
   "      (declare (in) vec3 y))\n"
12428
   "    ())\n"
12429
   "  (signature bvec4\n"
12430
   "    (parameters\n"
12431
   "      (declare (in) vec4 x)\n"
12432
   "      (declare (in) vec4 y))\n"
12433
   "    ())\n"
12434
   "  (signature bvec2\n"
12435
   "    (parameters\n"
12436
   "      (declare (in) ivec2 x)\n"
12437
   "      (declare (in) ivec2 y))\n"
12438
   "    ())\n"
12439
   "  (signature bvec3\n"
12440
   "    (parameters\n"
12441
   "      (declare (in) ivec3 x)\n"
12442
   "      (declare (in) ivec3 y))\n"
12443
   "    ())\n"
12444
   "  (signature bvec4\n"
12445
   "    (parameters\n"
12446
   "      (declare (in) ivec4 x)\n"
12447
   "      (declare (in) ivec4 y))\n"
12448
   "    ()))\n"
12449
   "(function greaterThan\n"
12450
   "  (signature bvec2\n"
12451
   "    (parameters\n"
12452
   "      (declare (in) vec2 x)\n"
12453
   "      (declare (in) vec2 y))\n"
12454
   "    ())\n"
12455
   "  (signature bvec3\n"
12456
   "    (parameters\n"
12457
   "      (declare (in) vec3 x)\n"
12458
   "      (declare (in) vec3 y))\n"
12459
   "    ())\n"
12460
   "  (signature bvec4\n"
12461
   "    (parameters\n"
12462
   "      (declare (in) vec4 x)\n"
12463
   "      (declare (in) vec4 y))\n"
12464
   "    ())\n"
12465
   "  (signature bvec2\n"
12466
   "    (parameters\n"
12467
   "      (declare (in) ivec2 x)\n"
12468
   "      (declare (in) ivec2 y))\n"
12469
   "    ())\n"
12470
   "  (signature bvec3\n"
12471
   "    (parameters\n"
12472
   "      (declare (in) ivec3 x)\n"
12473
   "      (declare (in) ivec3 y))\n"
12474
   "    ())\n"
12475
   "  (signature bvec4\n"
12476
   "    (parameters\n"
12477
   "      (declare (in) ivec4 x)\n"
12478
   "      (declare (in) ivec4 y))\n"
12479
   "    ()))\n"
12480
   "(function greaterThanEqual\n"
12481
   "  (signature bvec2\n"
12482
   "    (parameters\n"
12483
   "      (declare (in) vec2 x)\n"
12484
   "      (declare (in) vec2 y))\n"
12485
   "    ())\n"
12486
   "  (signature bvec3\n"
12487
   "    (parameters\n"
12488
   "      (declare (in) vec3 x)\n"
12489
   "      (declare (in) vec3 y))\n"
12490
   "    ())\n"
12491
   "  (signature bvec4\n"
12492
   "    (parameters\n"
12493
   "      (declare (in) vec4 x)\n"
12494
   "      (declare (in) vec4 y))\n"
12495
   "    ())\n"
12496
   "  (signature bvec2\n"
12497
   "    (parameters\n"
12498
   "      (declare (in) ivec2 x)\n"
12499
   "      (declare (in) ivec2 y))\n"
12500
   "    ())\n"
12501
   "  (signature bvec3\n"
12502
   "    (parameters\n"
12503
   "      (declare (in) ivec3 x)\n"
12504
   "      (declare (in) ivec3 y))\n"
12505
   "    ())\n"
12506
   "  (signature bvec4\n"
12507
   "    (parameters\n"
12508
   "      (declare (in) ivec4 x)\n"
12509
   "      (declare (in) ivec4 y))\n"
12510
   "    ()))\n"
12511
   "(function equal\n"
12512
   "  (signature bvec2\n"
12513
   "    (parameters\n"
12514
   "      (declare (in) vec2 x)\n"
12515
   "      (declare (in) vec2 y))\n"
12516
   "    ())\n"
12517
   "  (signature bvec3\n"
12518
   "    (parameters\n"
12519
   "      (declare (in) vec3 x)\n"
12520
   "      (declare (in) vec3 y))\n"
12521
   "    ())\n"
12522
   "  (signature bvec4\n"
12523
   "    (parameters\n"
12524
   "      (declare (in) vec4 x)\n"
12525
   "      (declare (in) vec4 y))\n"
12526
   "    ())\n"
12527
   "  (signature bvec2\n"
12528
   "    (parameters\n"
12529
   "      (declare (in) ivec2 x)\n"
12530
   "      (declare (in) ivec2 y))\n"
12531
   "    ())\n"
12532
   "  (signature bvec3\n"
12533
   "    (parameters\n"
12534
   "      (declare (in) ivec3 x)\n"
12535
   "      (declare (in) ivec3 y))\n"
12536
   "    ())\n"
12537
   "  (signature bvec4\n"
12538
   "    (parameters\n"
12539
   "      (declare (in) ivec4 x)\n"
12540
   "      (declare (in) ivec4 y))\n"
12541
   "    ())\n"
12542
   "  (signature bvec2\n"
12543
   "    (parameters\n"
12544
   "      (declare (in) bvec2 x)\n"
12545
   "      (declare (in) bvec2 y))\n"
12546
   "    ())\n"
12547
   "  (signature bvec3\n"
12548
   "    (parameters\n"
12549
   "      (declare (in) bvec3 x)\n"
12550
   "      (declare (in) bvec3 y))\n"
12551
   "    ())\n"
12552
   "  (signature bvec4\n"
12553
   "    (parameters\n"
12554
   "      (declare (in) bvec4 x)\n"
12555
   "      (declare (in) bvec4 y))\n"
12556
   "    ()))\n"
12557
   "(function notEqual\n"
12558
   "  (signature bvec2\n"
12559
   "    (parameters\n"
12560
   "      (declare (in) vec2 x)\n"
12561
   "      (declare (in) vec2 y))\n"
12562
   "    ())\n"
12563
   "  (signature bvec3\n"
12564
   "    (parameters\n"
12565
   "      (declare (in) vec3 x)\n"
12566
   "      (declare (in) vec3 y))\n"
12567
   "    ())\n"
12568
   "  (signature bvec4\n"
12569
   "    (parameters\n"
12570
   "      (declare (in) vec4 x)\n"
12571
   "      (declare (in) vec4 y))\n"
12572
   "    ())\n"
12573
   "  (signature bvec2\n"
12574
   "    (parameters\n"
12575
   "      (declare (in) ivec2 x)\n"
12576
   "      (declare (in) ivec2 y))\n"
12577
   "    ())\n"
12578
   "  (signature bvec3\n"
12579
   "    (parameters\n"
12580
   "      (declare (in) ivec3 x)\n"
12581
   "      (declare (in) ivec3 y))\n"
12582
   "    ())\n"
12583
   "  (signature bvec4\n"
12584
   "    (parameters\n"
12585
   "      (declare (in) ivec4 x)\n"
12586
   "      (declare (in) ivec4 y))\n"
12587
   "    ())\n"
12588
   "  (signature bvec2\n"
12589
   "    (parameters\n"
12590
   "      (declare (in) bvec2 x)\n"
12591
   "      (declare (in) bvec2 y))\n"
12592
   "    ())\n"
12593
   "  (signature bvec3\n"
12594
   "    (parameters\n"
12595
   "      (declare (in) bvec3 x)\n"
12596
   "      (declare (in) bvec3 y))\n"
12597
   "    ())\n"
12598
   "  (signature bvec4\n"
12599
   "    (parameters\n"
12600
   "      (declare (in) bvec4 x)\n"
12601
   "      (declare (in) bvec4 y))\n"
12602
   "    ()))\n"
12603
   "(function any\n"
12604
   "  (signature bool\n"
12605
   "    (parameters\n"
12606
   "      (declare (in) bvec2 x))\n"
12607
   "    ())\n"
12608
   "  (signature bool\n"
12609
   "    (parameters\n"
12610
   "      (declare (in) bvec3 x))\n"
12611
   "    ())\n"
12612
   "  (signature bool\n"
12613
   "    (parameters\n"
12614
   "      (declare (in) bvec4 x))\n"
12615
   "    ()))\n"
12616
   "(function all\n"
12617
   "  (signature bool\n"
12618
   "    (parameters\n"
12619
   "      (declare (in) bvec2 x))\n"
12620
   "    ())\n"
12621
   "  (signature bool\n"
12622
   "    (parameters\n"
12623
   "      (declare (in) bvec3 x))\n"
12624
   "    ())\n"
12625
   "  (signature bool\n"
12626
   "    (parameters\n"
12627
   "      (declare (in) bvec4 x))\n"
12628
   "    ()))\n"
12629
   "(function not\n"
12630
   "  (signature bvec2\n"
12631
   "    (parameters\n"
12632
   "      (declare (in) bvec2 x))\n"
12633
   "    ())\n"
12634
   "  (signature bvec3\n"
12635
   "    (parameters\n"
12636
   "      (declare (in) bvec3 x))\n"
12637
   "    ())\n"
12638
   "  (signature bvec4\n"
12639
   "    (parameters\n"
12640
   "      (declare (in) bvec4 x))\n"
12641
   "    ()))\n"
12642
   "(function texture1D\n"
12643
   "  (signature vec4\n"
12644
   "    (parameters\n"
12645
   "      (declare (in) sampler1D sampler)\n"
12646
   "      (declare (in) float coord))\n"
12647
   "    ()))\n"
12648
   "(function texture1DProj\n"
12649
   "  (signature vec4\n"
12650
   "    (parameters\n"
12651
   "      (declare (in) sampler1D sampler)\n"
12652
   "      (declare (in) vec2 coord))\n"
12653
   "    ())\n"
12654
   "  (signature vec4\n"
12655
   "    (parameters\n"
12656
   "      (declare (in) sampler1D sampler)\n"
12657
   "      (declare (in) vec4 coord))\n"
12658
   "    ()))\n"
12659
   "(function texture1DLod\n"
12660
   "  (signature vec4\n"
12661
   "    (parameters\n"
12662
   "      (declare (in) sampler1D sampler)\n"
12663
   "      (declare (in) float coord)\n"
12664
   "      (declare (in) float lod))\n"
12665
   "    ()))\n"
12666
   "(function texture1DProjLod\n"
12667
   "  (signature vec4\n"
12668
   "    (parameters\n"
12669
   "      (declare (in) sampler1D sampler)\n"
12670
   "      (declare (in) vec2 coord)\n"
12671
   "      (declare (in) float lod))\n"
12672
   "    ())\n"
12673
   "  (signature vec4\n"
12674
   "    (parameters\n"
12675
   "      (declare (in) sampler1D sampler)\n"
12676
   "      (declare (in) vec4 coord)\n"
12677
   "      (declare (in) float lod))\n"
12678
   "    ()))\n"
12679
   "(function texture2D\n"
12680
   "  (signature vec4\n"
12681
   "    (parameters\n"
12682
   "      (declare (in) sampler2D sampler)\n"
12683
   "      (declare (in) vec2 coord))\n"
12684
   "    ()))\n"
12685
   "(function texture2DProj\n"
12686
   "  (signature vec4\n"
12687
   "    (parameters\n"
12688
   "      (declare (in) sampler2D sampler)\n"
12689
   "      (declare (in) vec3 coord))\n"
12690
   "    ())\n"
12691
   "  (signature vec4\n"
12692
   "    (parameters\n"
12693
   "      (declare (in) sampler2D sampler)\n"
12694
   "      (declare (in) vec4 coord))\n"
12695
   "    ()))\n"
12696
   "(function texture2DLod\n"
12697
   "  (signature vec4\n"
12698
   "    (parameters\n"
12699
   "      (declare (in) sampler2D sampler)\n"
12700
   "      (declare (in) vec2 coord)\n"
12701
   "      (declare (in) float lod))\n"
12702
   "    ()))\n"
12703
   "(function texture2DProjLod\n"
12704
   "  (signature vec4\n"
12705
   "    (parameters\n"
12706
   "      (declare (in) sampler2D sampler)\n"
12707
   "      (declare (in) vec3 coord)\n"
12708
   "      (declare (in) float lod))\n"
12709
   "    ())\n"
12710
   "  (signature vec4\n"
12711
   "    (parameters\n"
12712
   "      (declare (in) sampler2D sampler)\n"
12713
   "      (declare (in) vec4 coord)\n"
12714
   "      (declare (in) float lod))\n"
12715
   "    ()))\n"
12716
   "(function texture3D\n"
12717
   "  (signature vec4\n"
12718
   "    (parameters\n"
12719
   "      (declare (in) sampler3D sampler)\n"
12720
   "      (declare (in) vec3 coord))\n"
12721
   "    ()))\n"
12722
   "(function texture3DProj\n"
12723
   "  (signature vec4\n"
12724
   "    (parameters\n"
12725
   "      (declare (in) sampler3D sampler)\n"
12726
   "      (declare (in) vec4 coord))\n"
12727
   "    ()))\n"
12728
   "(function texture3DLod\n"
12729
   "  (signature vec4\n"
12730
   "    (parameters\n"
12731
   "      (declare (in) sampler3D sampler)\n"
12732
   "      (declare (in) vec3 coord)\n"
12733
   "      (declare (in) float lod))\n"
12734
   "    ()))\n"
12735
   "(function texture3DProjLod\n"
12736
   "  (signature vec4\n"
12737
   "    (parameters\n"
12738
   "      (declare (in) sampler3D sampler)\n"
12739
   "      (declare (in) vec4 coord)\n"
12740
   "      (declare (in) float lod))\n"
12741
   "    ()))\n"
12742
   "(function textureCube\n"
12743
   "  (signature vec4\n"
12744
   "    (parameters\n"
12745
   "      (declare (in) samplerCube sampler)\n"
12746
   "      (declare (in) vec3 coord))\n"
12747
   "    ()))\n"
12748
   "(function textureCubeLod\n"
12749
   "  (signature vec4\n"
12750
   "    (parameters\n"
12751
   "      (declare (in) samplerCube sampler)\n"
12752
   "      (declare (in) vec3 coord)\n"
12753
   "      (declare (in) float lod))\n"
12754
   "    ()))\n"
12755
   "(function shadow1D\n"
12756
   "  (signature vec4\n"
12757
   "    (parameters\n"
12758
   "      (declare (in) sampler1DShadow sampler)\n"
12759
   "      (declare (in) vec3 coord))\n"
12760
   "    ()))\n"
12761
   "(function shadow2D\n"
12762
   "  (signature vec4\n"
12763
   "    (parameters\n"
12764
   "      (declare (in) sampler2DShadow sampler)\n"
12765
   "      (declare (in) vec3 coord))\n"
12766
   "    ()))\n"
12767
   "(function shadow1DProj\n"
12768
   "  (signature vec4\n"
12769
   "    (parameters\n"
12770
   "      (declare (in) sampler1DShadow sampler)\n"
12771
   "      (declare (in) vec4 coord))\n"
12772
   "    ()))\n"
12773
   "(function shadow2DProj\n"
12774
   "  (signature vec4\n"
12775
   "    (parameters\n"
12776
   "      (declare (in) sampler2DShadow sampler)\n"
12777
   "      (declare (in) vec4 coord))\n"
12778
   "    ()))\n"
12779
   "(function shadow1DLod\n"
12780
   "  (signature vec4\n"
12781
   "    (parameters\n"
12782
   "      (declare (in) sampler1DShadow sampler)\n"
12783
   "      (declare (in) vec3 coord)\n"
12784
   "      (declare (in) float lod))\n"
12785
   "    ()))\n"
12786
   "(function shadow2DLod\n"
12787
   "  (signature vec4\n"
12788
   "    (parameters\n"
12789
   "      (declare (in) sampler2DShadow sampler)\n"
12790
   "      (declare (in) vec3 coord)\n"
12791
   "      (declare (in) float lod))\n"
12792
   "    ()))\n"
12793
   "(function shadow1DProjLod\n"
12794
   "  (signature vec4\n"
12795
   "    (parameters\n"
12796
   "      (declare (in) sampler1DShadow sampler)\n"
12797
   "      (declare (in) vec4 coord)\n"
12798
   "      (declare (in) float lod))\n"
12799
   "    ()))\n"
12800
   "(function shadow2DProjLod\n"
12801
   "  (signature vec4\n"
12802
   "    (parameters\n"
12803
   "      (declare (in) sampler2DShadow sampler)\n"
12804
   "      (declare (in) vec4 coord)\n"
12805
   "      (declare (in) float lod))\n"
12806
   "    ()))\n"
12807
   "(function noise1\n"
12808
   "  (signature float\n"
12809
   "    (parameters\n"
12810
   "      (declare (in) float x))\n"
12811
   "    ())\n"
12812
   "  (signature float\n"
12813
   "    (parameters\n"
12814
   "      (declare (in) vec2 x))\n"
12815
   "    ())\n"
12816
   "  (signature float\n"
12817
   "    (parameters\n"
12818
   "      (declare (in) vec3 x))\n"
12819
   "    ())\n"
12820
   "  (signature float\n"
12821
   "    (parameters\n"
12822
   "      (declare (in) vec4 x))\n"
12823
   "    ()))\n"
12824
   "(function noise2\n"
12825
   "  (signature vec2\n"
12826
   "    (parameters\n"
12827
   "      (declare (in) float x))\n"
12828
   "    ())\n"
12829
   "  (signature vec2\n"
12830
   "    (parameters\n"
12831
   "      (declare (in) vec2 x))\n"
12832
   "    ())\n"
12833
   "  (signature vec2\n"
12834
   "    (parameters\n"
12835
   "      (declare (in) vec3 x))\n"
12836
   "    ())\n"
12837
   "  (signature vec2\n"
12838
   "    (parameters\n"
12839
   "      (declare (in) vec4 x))\n"
12840
   "    ()))\n"
12841
   "(function noise3\n"
12842
   "  (signature vec3\n"
12843
   "    (parameters\n"
12844
   "      (declare (in) float x))\n"
12845
   "    ())\n"
12846
   "  (signature vec3\n"
12847
   "    (parameters\n"
12848
   "      (declare (in) vec2 x))\n"
12849
   "    ())\n"
12850
   "  (signature vec3\n"
12851
   "    (parameters\n"
12852
   "      (declare (in) vec3 x))\n"
12853
   "    ())\n"
12854
   "  (signature vec3\n"
12855
   "    (parameters\n"
12856
   "      (declare (in) vec4 x))\n"
12857
   "    ()))\n"
12858
   "(function noise4\n"
12859
   "  (signature vec4\n"
12860
   "    (parameters\n"
12861
   "      (declare (in) float x))\n"
12862
   "    ())\n"
12863
   "  (signature vec4\n"
12864
   "    (parameters\n"
12865
   "      (declare (in) vec2 x))\n"
12866
   "    ())\n"
12867
   "  (signature vec4\n"
12868
   "    (parameters\n"
12869
   "      (declare (in) vec3 x))\n"
12870
   "    ())\n"
12871
   "  (signature vec4\n"
12872
   "    (parameters\n"
12873
   "      (declare (in) vec4 x))\n"
12874
   "    ())))"
12875
;
12876
static const char *functions_for_120_vert [] = {
12877
   builtin_abs,
12878
   builtin_acos,
12879
   builtin_all,
12880
   builtin_any,
12881
   builtin_asin,
12882
   builtin_atan,
12883
   builtin_ceil,
12884
   builtin_clamp,
12885
   builtin_cos,
12886
   builtin_cross,
12887
   builtin_degrees,
12888
   builtin_distance,
12889
   builtin_dot,
12890
   builtin_equal,
12891
   builtin_exp,
12892
   builtin_exp2,
12893
   builtin_faceforward,
12894
   builtin_floor,
12895
   builtin_fract,
12896
   builtin_ftransform,
12897
   builtin_greaterThan,
12898
   builtin_greaterThanEqual,
12899
   builtin_inversesqrt,
12900
   builtin_length,
12901
   builtin_lessThan,
12902
   builtin_lessThanEqual,
12903
   builtin_log,
12904
   builtin_log2,
12905
   builtin_matrixCompMult,
12906
   builtin_max,
12907
   builtin_min,
12908
   builtin_mix,
12909
   builtin_mod,
12910
   builtin_noise1,
12911
   builtin_noise2,
12912
   builtin_noise3,
12913
   builtin_noise4,
12914
   builtin_normalize,
12915
   builtin_not,
12916
   builtin_notEqual,
12917
   builtin_outerProduct,
12918
   builtin_pow,
12919
   builtin_radians,
12920
   builtin_reflect,
12921
   builtin_refract,
12922
   builtin_shadow1D,
12923
   builtin_shadow1DLod,
12924
   builtin_shadow1DProj,
12925
   builtin_shadow1DProjLod,
12926
   builtin_shadow2D,
12927
   builtin_shadow2DLod,
12928
   builtin_shadow2DProj,
12929
   builtin_shadow2DProjLod,
12930
   builtin_sign,
12931
   builtin_sin,
12932
   builtin_smoothstep,
12933
   builtin_sqrt,
12934
   builtin_step,
12935
   builtin_tan,
12936
   builtin_texture1D,
12937
   builtin_texture1DLod,
12938
   builtin_texture1DProj,
12939
   builtin_texture1DProjLod,
12940
   builtin_texture2D,
12941
   builtin_texture2DLod,
12942
   builtin_texture2DProj,
12943
   builtin_texture2DProjLod,
12944
   builtin_texture3D,
12945
   builtin_texture3DLod,
12946
   builtin_texture3DProj,
12947
   builtin_texture3DProjLod,
12948
   builtin_textureCube,
12949
   builtin_textureCubeLod,
12950
   builtin_transpose,
12951
};
12952
static const char prototypes_for_130_frag[] =
12953
{'(',
12954
'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
12955
'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
12956
'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12957
'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12958
'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12959
'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12960
'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12961
'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
12962
'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12963
'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12964
'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12965
'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12966
'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12967
'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12968
'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12969
'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12970
'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12971
'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12972
'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12973
'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12974
'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12975
'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12976
'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12977
'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12978
'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12979
'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12980
'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12981
'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12982
'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12983
'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12984
'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
12985
'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12986
'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12987
'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
12988
'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
12989
'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12990
'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12991
'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12992
'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
12993
'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12994
'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
12995
'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12996
'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
12997
'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
12998
'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
12999
'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
13000
'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
13001
'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
13002
'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13003
'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13004
'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13005
'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13006
'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13007
'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13008
'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13009
'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13010
'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13011
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13012
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13013
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13014
'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
13015
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13016
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13017
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13018
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13019
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13020
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13021
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13022
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13023
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13024
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13025
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13026
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13027
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13028
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13029
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13030
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13031
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13032
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13033
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13034
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13035
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13036
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13037
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13038
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13039
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13040
'(','f','u','n','c','t','i','o','n',' ','d','F','d','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13041
'(','f','u','n','c','t','i','o','n',' ','d','F','d','y',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13042
'(','f','u','n','c','t','i','o','n',' ','f','w','i','d','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13043
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13044
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13045
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13046
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
13047
static const char *functions_for_130_frag [] = {
13048
   builtin_abs,
13049
   builtin_acos,
13050
   builtin_acosh,
13051
   builtin_all,
13052
   builtin_any,
13053
   builtin_asin,
13054
   builtin_asinh,
13055
   builtin_atan,
13056
   builtin_atanh,
13057
   builtin_ceil,
13058
   builtin_clamp,
13059
   builtin_cos,
13060
   builtin_cosh,
13061
   builtin_cross,
13062
   builtin_dFdx,
13063
   builtin_dFdy,
13064
   builtin_degrees,
13065
   builtin_distance,
13066
   builtin_dot,
13067
   builtin_equal,
13068
   builtin_exp,
13069
   builtin_exp2,
13070
   builtin_faceforward,
13071
   builtin_floor,
13072
   builtin_fract,
13073
   builtin_fwidth,
13074
   builtin_greaterThan,
13075
   builtin_greaterThanEqual,
13076
   builtin_inversesqrt,
13077
   builtin_length,
13078
   builtin_lessThan,
13079
   builtin_lessThanEqual,
13080
   builtin_log,
13081
   builtin_log2,
13082
   builtin_matrixCompMult,
13083
   builtin_max,
13084
   builtin_min,
13085
   builtin_mix,
13086
   builtin_mod,
13087
   builtin_modf,
13088
   builtin_noise1,
13089
   builtin_noise2,
13090
   builtin_noise3,
13091
   builtin_noise4,
13092
   builtin_normalize,
13093
   builtin_not,
13094
   builtin_notEqual,
13095
   builtin_outerProduct,
13096
   builtin_pow,
13097
   builtin_radians,
13098
   builtin_reflect,
13099
   builtin_refract,
13100
   builtin_round,
13101
   builtin_roundEven,
13102
   builtin_shadow1D,
13103
   builtin_shadow1DLod,
13104
   builtin_shadow1DProj,
13105
   builtin_shadow1DProjLod,
13106
   builtin_shadow2D,
13107
   builtin_shadow2DLod,
13108
   builtin_shadow2DProj,
13109
   builtin_shadow2DProjLod,
13110
   builtin_sign,
13111
   builtin_sin,
13112
   builtin_sinh,
13113
   builtin_smoothstep,
13114
   builtin_sqrt,
13115
   builtin_step,
13116
   builtin_tan,
13117
   builtin_tanh,
13118
   builtin_texelFetch,
13119
   builtin_texture,
13120
   builtin_texture1D,
13121
   builtin_texture1DLod,
13122
   builtin_texture1DProj,
13123
   builtin_texture1DProjLod,
13124
   builtin_texture2D,
13125
   builtin_texture2DLod,
13126
   builtin_texture2DProj,
13127
   builtin_texture2DProjLod,
13128
   builtin_texture3D,
13129
   builtin_texture3DLod,
13130
   builtin_texture3DProj,
13131
   builtin_texture3DProjLod,
13132
   builtin_textureCube,
13133
   builtin_textureCubeLod,
13134
   builtin_textureGrad,
13135
   builtin_textureLod,
13136
   builtin_textureProj,
13137
   builtin_textureProjGrad,
13138
   builtin_textureProjLod,
13139
   builtin_transpose,
13140
   builtin_trunc,
13141
};
13142
static const char prototypes_for_130_vert[] =
13143
{'(',
13144
'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
13145
'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
13146
'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13147
'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13148
'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13149
'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13150
'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13151
'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
13152
'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13153
'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13154
'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13155
'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13156
'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13157
'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13158
'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13159
'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13160
'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13161
'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13162
'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13163
'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13164
'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13165
'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13166
'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13167
'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13168
'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13169
'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13170
'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13171
'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13172
'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13173
'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13174
'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
13175
'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13176
'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13177
'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
13178
'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
13179
'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13180
'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13181
'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13182
'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
13183
'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13184
'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
13185
'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13186
'(','f','u','n','c','t','i','o','n',' ','f','t','r','a','n','s','f','o','r','m',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',')',' ','(',')',')',')',
13187
'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
13188
'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
13189
'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
13190
'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
13191
'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
13192
'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
13193
'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13194
'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13195
'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13196
'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13197
'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13198
'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13199
'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13200
'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13201
'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13202
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13203
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13204
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13205
'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
13206
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13207
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13208
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13209
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13210
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13211
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13212
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13213
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13214
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13215
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13216
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13217
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13218
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13219
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13220
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13221
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13222
'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13223
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13224
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13225
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13226
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13227
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13228
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13229
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13230
'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13231
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13232
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13233
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13234
'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
13235
static const char *functions_for_130_vert [] = {
13236
   builtin_abs,
13237
   builtin_acos,
13238
   builtin_acosh,
13239
   builtin_all,
13240
   builtin_any,
13241
   builtin_asin,
13242
   builtin_asinh,
13243
   builtin_atan,
13244
   builtin_atanh,
13245
   builtin_ceil,
13246
   builtin_clamp,
13247
   builtin_cos,
13248
   builtin_cosh,
13249
   builtin_cross,
13250
   builtin_degrees,
13251
   builtin_distance,
13252
   builtin_dot,
13253
   builtin_equal,
13254
   builtin_exp,
13255
   builtin_exp2,
13256
   builtin_faceforward,
13257
   builtin_floor,
13258
   builtin_fract,
13259
   builtin_ftransform,
13260
   builtin_greaterThan,
13261
   builtin_greaterThanEqual,
13262
   builtin_inversesqrt,
13263
   builtin_length,
13264
   builtin_lessThan,
13265
   builtin_lessThanEqual,
13266
   builtin_log,
13267
   builtin_log2,
13268
   builtin_matrixCompMult,
13269
   builtin_max,
13270
   builtin_min,
13271
   builtin_mix,
13272
   builtin_mod,
13273
   builtin_modf,
13274
   builtin_noise1,
13275
   builtin_noise2,
13276
   builtin_noise3,
13277
   builtin_noise4,
13278
   builtin_normalize,
13279
   builtin_not,
13280
   builtin_notEqual,
13281
   builtin_outerProduct,
13282
   builtin_pow,
13283
   builtin_radians,
13284
   builtin_reflect,
13285
   builtin_refract,
13286
   builtin_round,
13287
   builtin_roundEven,
13288
   builtin_shadow1D,
13289
   builtin_shadow1DLod,
13290
   builtin_shadow1DProj,
13291
   builtin_shadow1DProjLod,
13292
   builtin_shadow2D,
13293
   builtin_shadow2DLod,
13294
   builtin_shadow2DProj,
13295
   builtin_shadow2DProjLod,
13296
   builtin_sign,
13297
   builtin_sin,
13298
   builtin_sinh,
13299
   builtin_smoothstep,
13300
   builtin_sqrt,
13301
   builtin_step,
13302
   builtin_tan,
13303
   builtin_tanh,
13304
   builtin_texelFetch,
13305
   builtin_texture,
13306
   builtin_texture1D,
13307
   builtin_texture1DLod,
13308
   builtin_texture1DProj,
13309
   builtin_texture1DProjLod,
13310
   builtin_texture2D,
13311
   builtin_texture2DLod,
13312
   builtin_texture2DProj,
13313
   builtin_texture2DProjLod,
13314
   builtin_texture3D,
13315
   builtin_texture3DLod,
13316
   builtin_texture3DProj,
13317
   builtin_texture3DProjLod,
13318
   builtin_textureCube,
13319
   builtin_textureCubeLod,
13320
   builtin_textureGrad,
13321
   builtin_textureLod,
13322
   builtin_textureProj,
13323
   builtin_textureProjGrad,
13324
   builtin_textureProjLod,
13325
   builtin_transpose,
13326
   builtin_trunc,
13327
};
13328
static const char prototypes_for_ARB_texture_rectangle_frag[] =
13329
   "(\n"
13330
   "(function texture2DRect\n"
13331
   "  (signature vec4\n"
13332
   "    (parameters\n"
13333
   "      (declare (in) sampler2DRect sampler)\n"
13334
   "      (declare (in) vec2 coord))\n"
13335
   "    ()))\n"
13336
   "(function texture2DRectProj\n"
13337
   "  (signature vec4\n"
13338
   "    (parameters\n"
13339
   "      (declare (in) sampler2DRect sampler)\n"
13340
   "      (declare (in) vec3 coord))\n"
13341
   "    ())\n"
13342
   "  (signature vec4\n"
13343
   "    (parameters\n"
13344
   "      (declare (in) sampler2DRect sampler)\n"
13345
   "      (declare (in) vec4 coord))\n"
13346
   "    ()))\n"
13347
   "(function shadow2DRect\n"
13348
   "  (signature vec4\n"
13349
   "    (parameters\n"
13350
   "      (declare (in) sampler2DRectShadow sampler)\n"
13351
   "      (declare (in) vec3 coord))\n"
13352
   "    ()))\n"
13353
   "(function shadow2DRectProj\n"
13354
   "  (signature vec4\n"
13355
   "    (parameters\n"
13356
   "      (declare (in) sampler2DRectShadow sampler)\n"
13357
   "      (declare (in) vec4 coord))\n"
13358
   "    ())))"
13359
;
13360
static const char *functions_for_ARB_texture_rectangle_frag [] = {
13361
   builtin_shadow2DRect,
13362
   builtin_shadow2DRectProj,
13363
   builtin_texture2DRect,
13364
   builtin_texture2DRectProj,
13365
};
13366
static const char prototypes_for_ARB_texture_rectangle_vert[] =
13367
   "(\n"
13368
   "(function texture2DRect\n"
13369
   "  (signature vec4\n"
13370
   "    (parameters\n"
13371
   "      (declare (in) sampler2DRect sampler)\n"
13372
   "      (declare (in) vec2 coord))\n"
13373
   "    ()))\n"
13374
   "(function texture2DRectProj\n"
13375
   "  (signature vec4\n"
13376
   "    (parameters\n"
13377
   "      (declare (in) sampler2DRect sampler)\n"
13378
   "      (declare (in) vec3 coord))\n"
13379
   "    ())\n"
13380
   "  (signature vec4\n"
13381
   "    (parameters\n"
13382
   "      (declare (in) sampler2DRect sampler)\n"
13383
   "      (declare (in) vec4 coord))\n"
13384
   "    ()))\n"
13385
   "(function shadow2DRect\n"
13386
   "  (signature vec4\n"
13387
   "    (parameters\n"
13388
   "      (declare (in) sampler2DRectShadow sampler)\n"
13389
   "      (declare (in) vec3 coord))\n"
13390
   "    ()))\n"
13391
   "(function shadow2DRectProj\n"
13392
   "  (signature vec4\n"
13393
   "    (parameters\n"
13394
   "      (declare (in) sampler2DRectShadow sampler)\n"
13395
   "      (declare (in) vec4 coord))\n"
13396
   "    ())))"
13397
;
13398
static const char *functions_for_ARB_texture_rectangle_vert [] = {
13399
   builtin_shadow2DRect,
13400
   builtin_shadow2DRectProj,
13401
   builtin_texture2DRect,
13402
   builtin_texture2DRectProj,
13403
};
13404
static const char prototypes_for_EXT_texture_array_frag[] =
13405
   "(\n"
13406
   "(function texture1DArray\n"
13407
   "  (signature vec4\n"
13408
   "    (parameters\n"
13409
   "      (declare (in) sampler1DArray sampler)\n"
13410
   "      (declare (in) vec2 coord))\n"
13411
   "    ())\n"
13412
   "  (signature vec4\n"
13413
   "    (parameters\n"
13414
   "      (declare (in) sampler1DArray sampler)\n"
13415
   "      (declare (in) vec2 coord)\n"
13416
   "      (declare (in) float bias))\n"
13417
   "    ()))\n"
13418
   "(function texture2DArray\n"
13419
   "  (signature vec4\n"
13420
   "    (parameters\n"
13421
   "      (declare (in) sampler2DArray sampler)\n"
13422
   "      (declare (in) vec3 coord))\n"
13423
   "    ())\n"
13424
   "  (signature vec4\n"
13425
   "    (parameters\n"
13426
   "      (declare (in) sampler2DArray sampler)\n"
13427
   "      (declare (in) vec3 coord)\n"
13428
   "      (declare (in) float bias))\n"
13429
   "    ()))\n"
13430
   "(function shadow1DArray\n"
13431
   "  (signature vec4\n"
13432
   "    (parameters\n"
13433
   "      (declare (in) sampler1DArrayShadow sampler)\n"
13434
   "      (declare (in) vec3 coord))\n"
13435
   "    ())\n"
13436
   "  (signature vec4\n"
13437
   "    (parameters\n"
13438
   "      (declare (in) sampler1DArrayShadow sampler)\n"
13439
   "      (declare (in) vec3 coord)\n"
13440
   "      (declare (in) float bias))\n"
13441
   "    ()))\n"
13442
   "(function shadow2DArray\n"
13443
   "  (signature vec4\n"
13444
   "    (parameters\n"
13445
   "      (declare (in) sampler2DArrayShadow sampler)\n"
13446
   "      (declare (in) vec4 coord))\n"
13447
   "    ())))"
13448
;
13449
static const char *functions_for_EXT_texture_array_frag [] = {
13450
   builtin_shadow1DArray,
13451
   builtin_shadow2DArray,
13452
   builtin_texture1DArray,
13453
   builtin_texture2DArray,
13454
};
13455
static const char prototypes_for_EXT_texture_array_vert[] =
13456
   "(\n"
13457
   "(function texture1DArray\n"
13458
   "  (signature vec4\n"
13459
   "    (parameters\n"
13460
   "      (declare (in) sampler1DArray sampler)\n"
13461
   "      (declare (in) vec2 coord))\n"
13462
   "    ()))\n"
13463
   "(function texture1DArrayLod\n"
13464
   "  (signature vec4\n"
13465
   "    (parameters\n"
13466
   "      (declare (in) sampler1DArray sampler)\n"
13467
   "      (declare (in) vec2 coord)\n"
13468
   "      (declare (in) float lod))\n"
13469
   "    ()))\n"
13470
   "(function texture2DArray\n"
13471
   "  (signature vec4\n"
13472
   "    (parameters\n"
13473
   "      (declare (in) sampler2DArray sampler)\n"
13474
   "      (declare (in) vec3 coord))\n"
13475
   "    ()))\n"
13476
   "(function texture2DArrayLod\n"
13477
   "  (signature vec4\n"
13478
   "    (parameters\n"
13479
   "      (declare (in) sampler2DArray sampler)\n"
13480
   "      (declare (in) vec3 coord)\n"
13481
   "      (declare (in) float lod))\n"
13482
   "    ()))\n"
13483
   "(function shadow1DArray\n"
13484
   "  (signature vec4\n"
13485
   "    (parameters\n"
13486
   "      (declare (in) sampler1DArrayShadow sampler)\n"
13487
   "      (declare (in) vec3 coord))\n"
13488
   "    ()))\n"
13489
   "(function shadow1DArrayLod\n"
13490
   "  (signature vec4\n"
13491
   "    (parameters\n"
13492
   "      (declare (in) sampler1DArrayShadow sampler)\n"
13493
   "      (declare (in) vec3 coord)\n"
13494
   "      (declare (in) float lod))\n"
13495
   "    ()))\n"
13496
   "(function shadow2DArray\n"
13497
   "  (signature vec4\n"
13498
   "    (parameters\n"
13499
   "      (declare (in) sampler2DArrayShadow sampler)\n"
13500
   "      (declare (in) vec4 coord))\n"
13501
   "    ())))"
13502
;
13503
static const char *functions_for_EXT_texture_array_vert [] = {
13504
   builtin_shadow1DArray,
13505
   builtin_shadow1DArrayLod,
13506
   builtin_shadow2DArray,
13507
   builtin_texture1DArray,
13508
   builtin_texture1DArrayLod,
13509
   builtin_texture2DArray,
13510
   builtin_texture2DArrayLod,
13511
};
13512
static gl_shader *builtin_profiles[12];
13513
 
13514
void *builtin_mem_ctx = NULL;
13515
 
13516
void
13517
_mesa_glsl_release_functions(void)
13518
{
13519
   ralloc_free(builtin_mem_ctx);
13520
   builtin_mem_ctx = NULL;
13521
   memset(builtin_profiles, 0, sizeof(builtin_profiles));
13522
}
13523
 
13524
static void
13525
_mesa_read_profile(struct _mesa_glsl_parse_state *state,
13526
		   exec_list *instructions,
13527
                   int profile_index,
13528
		   const char *prototypes,
13529
		   const char **functions,
13530
                   int count)
13531
{
13532
   gl_shader *sh = builtin_profiles[profile_index];
13533
 
13534
   if (sh == NULL) {
13535
      sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
13536
      ralloc_steal(builtin_mem_ctx, sh);
13537
      builtin_profiles[profile_index] = sh;
13538
   }
13539
 
13540
   state->builtins_to_link[state->num_builtins_to_link] = sh;
13541
   state->num_builtins_to_link++;
13542
}
13543
 
13544
void
13545
_mesa_glsl_initialize_functions(exec_list *instructions,
13546
                                struct _mesa_glsl_parse_state *state)
13547
{
13548
   if (builtin_mem_ctx == NULL) {
13549
      builtin_mem_ctx = ralloc_context(NULL); // "GLSL built-in functions"
13550
      memset(&builtin_profiles, 0, sizeof(builtin_profiles));
13551
   }
13552
 
13553
   state->num_builtins_to_link = 0;
13554
 
13555
   if (state->target == fragment_shader && state->language_version == 100) {
13556
      _mesa_read_profile(state, instructions, 0,
13557
                         prototypes_for_100_frag,
13558
                         functions_for_100_frag,
13559
                         Elements(functions_for_100_frag));
13560
   }
13561
 
13562
   if (state->target == vertex_shader && state->language_version == 100) {
13563
      _mesa_read_profile(state, instructions, 1,
13564
                         prototypes_for_100_vert,
13565
                         functions_for_100_vert,
13566
                         Elements(functions_for_100_vert));
13567
   }
13568
 
13569
   if (state->target == fragment_shader && state->language_version == 110) {
13570
      _mesa_read_profile(state, instructions, 2,
13571
                         prototypes_for_110_frag,
13572
                         functions_for_110_frag,
13573
                         Elements(functions_for_110_frag));
13574
   }
13575
 
13576
   if (state->target == vertex_shader && state->language_version == 110) {
13577
      _mesa_read_profile(state, instructions, 3,
13578
                         prototypes_for_110_vert,
13579
                         functions_for_110_vert,
13580
                         Elements(functions_for_110_vert));
13581
   }
13582
 
13583
   if (state->target == fragment_shader && state->language_version == 120) {
13584
      _mesa_read_profile(state, instructions, 4,
13585
                         prototypes_for_120_frag,
13586
                         functions_for_120_frag,
13587
                         Elements(functions_for_120_frag));
13588
   }
13589
 
13590
   if (state->target == vertex_shader && state->language_version == 120) {
13591
      _mesa_read_profile(state, instructions, 5,
13592
                         prototypes_for_120_vert,
13593
                         functions_for_120_vert,
13594
                         Elements(functions_for_120_vert));
13595
   }
13596
 
13597
   if (state->target == fragment_shader && state->language_version == 130) {
13598
      _mesa_read_profile(state, instructions, 6,
13599
                         prototypes_for_130_frag,
13600
                         functions_for_130_frag,
13601
                         Elements(functions_for_130_frag));
13602
   }
13603
 
13604
   if (state->target == vertex_shader && state->language_version == 130) {
13605
      _mesa_read_profile(state, instructions, 7,
13606
                         prototypes_for_130_vert,
13607
                         functions_for_130_vert,
13608
                         Elements(functions_for_130_vert));
13609
   }
13610
 
13611
   if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
13612
      _mesa_read_profile(state, instructions, 8,
13613
                         prototypes_for_ARB_texture_rectangle_frag,
13614
                         functions_for_ARB_texture_rectangle_frag,
13615
                         Elements(functions_for_ARB_texture_rectangle_frag));
13616
   }
13617
 
13618
   if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
13619
      _mesa_read_profile(state, instructions, 9,
13620
                         prototypes_for_ARB_texture_rectangle_vert,
13621
                         functions_for_ARB_texture_rectangle_vert,
13622
                         Elements(functions_for_ARB_texture_rectangle_vert));
13623
   }
13624
 
13625
   if (state->target == fragment_shader && state->EXT_texture_array_enable) {
13626
      _mesa_read_profile(state, instructions, 10,
13627
                         prototypes_for_EXT_texture_array_frag,
13628
                         functions_for_EXT_texture_array_frag,
13629
                         Elements(functions_for_EXT_texture_array_frag));
13630
   }
13631
 
13632
   if (state->target == vertex_shader && state->EXT_texture_array_enable) {
13633
      _mesa_read_profile(state, instructions, 11,
13634
                         prototypes_for_EXT_texture_array_vert,
13635
                         functions_for_EXT_texture_array_vert,
13636
                         Elements(functions_for_EXT_texture_array_vert));
13637
   }
13638
 
13639
}