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 <stdio.h>
26#include "main/shaderobj.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
32gl_shader *
33read_builtins(void * mem_ctx, GLenum target, const char *protos, const char **functions, unsigned count)
34{
35   struct gl_context fakeCtx;
36   fakeCtx.API = API_OPENGL;
37   gl_shader *sh = _mesa_new_shader(mem_ctx, 0, target);
38   struct _mesa_glsl_parse_state *st =
39      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
40
41   st->language_version = 130;
42   st->symbols->language_version = 130;
43   st->ARB_texture_rectangle_enable = true;
44   st->EXT_texture_array_enable = true;
45   _mesa_glsl_initialize_types(st);
46
47   sh->ir = new(sh) exec_list;
48   sh->symbols = st->symbols;
49
50   /* Read the IR containing the prototypes */
51   _mesa_glsl_read_ir(st, sh->ir, protos, true);
52
53   /* Read ALL the function bodies, telling the IR reader not to scan for
54    * prototypes (we've already created them).  The IR reader will skip any
55    * signature that does not already exist as a prototype.
56    */
57   for (unsigned i = 0; i < count; i++) {
58      _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
59
60      if (st->error) {
61         printf("error reading builtin: %.35s ...\n", functions[i]);
62         printf("Info log:\n%s\n", st->info_log);
63         _mesa_delete_shader(NULL, sh);
64         return NULL;
65      }
66   }
67
68   reparent_ir(sh->ir, sh);
69   delete st;
70
71   return sh;
72}
73
74static const char builtin_abs[] =
75   "((function abs\n"
76   "   (signature float\n"
77   "     (parameters\n"
78   "       (declare (in) float arg0))\n"
79   "     ((return (expression float abs (var_ref arg0)))))\n"
80   "\n"
81   "   (signature vec2\n"
82   "     (parameters\n"
83   "       (declare (in) vec2 arg0))\n"
84   "     ((return (expression vec2 abs (var_ref arg0)))))\n"
85   "\n"
86   "   (signature vec3\n"
87   "     (parameters\n"
88   "       (declare (in) vec3 arg0))\n"
89   "     ((return (expression vec3 abs (var_ref arg0)))))\n"
90   "\n"
91   "   (signature vec4\n"
92   "     (parameters\n"
93   "       (declare (in) vec4 arg0))\n"
94   "     ((return (expression vec4 abs (var_ref arg0)))))\n"
95   "))\n"
96   ""
97;
98static const char builtin_acos[] =
99   "((function acos\n"
100   "   (signature float\n"
101   "     (parameters\n"
102   "       (declare (in) float x))\n"
103   "     ((return (expression float - (constant float (1.5707963))\n"
104   "                                  (call asin ((var_ref x)))))))\n"
105   "   (signature vec2\n"
106   "     (parameters\n"
107   "       (declare (in) vec2 x))\n"
108   "     ((return (expression vec2 - (constant float (1.5707963))\n"
109   "                                 (call asin ((var_ref x)))))))\n"
110   "   (signature vec3\n"
111   "     (parameters\n"
112   "       (declare (in) vec3 x))\n"
113   "     ((return (expression vec3 - (constant float (1.5707963))\n"
114   "                                 (call asin ((var_ref x)))))))\n"
115   "   (signature vec4\n"
116   "     (parameters\n"
117   "       (declare (in) vec4 x))\n"
118   "     ((return (expression vec4 - (constant float (1.5707963))\n"
119   "                                 (call asin ((var_ref x)))))))\n"
120   "))\n"
121   ""
122;
123static const char builtin_acosh[] =
124   "((function acosh\n"
125   "   (signature float\n"
126   "     (parameters\n"
127   "       (declare (in) float x))\n"
128   "     ((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"
129   "\n"
130   "   (signature vec2\n"
131   "     (parameters\n"
132   "       (declare (in) vec2 x))\n"
133   "     ((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"
134   "\n"
135   "   (signature vec3\n"
136   "     (parameters\n"
137   "       (declare (in) vec3 x))\n"
138   "     ((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"
139   "\n"
140   "   (signature vec4\n"
141   "     (parameters\n"
142   "       (declare (in) vec4 x))\n"
143   "     ((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"
144   "))\n"
145   ""
146;
147static const char builtin_all[] =
148   "((function all\n"
149   "   (signature bool\n"
150   "     (parameters\n"
151   "       (declare (in) bvec2 arg0))\n"
152   "     ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
153   "\n"
154   "   (signature bool\n"
155   "     (parameters\n"
156   "       (declare (in) bvec3 arg0))\n"
157   "     ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
158   "\n"
159   "   (signature bool\n"
160   "     (parameters\n"
161   "       (declare (in) bvec4 arg0))\n"
162   "     ((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"
163   "))\n"
164   ""
165;
166static const char builtin_any[] =
167   "((function any\n"
168   "   (signature bool\n"
169   "     (parameters\n"
170   "       (declare (in) bvec2 arg0))\n"
171   "     ((return (expression bool any (var_ref arg0)))))\n"
172   "\n"
173   "   (signature bool\n"
174   "     (parameters\n"
175   "       (declare (in) bvec3 arg0))\n"
176   "     ((return (expression bool any (var_ref arg0)))))\n"
177   "\n"
178   "   (signature bool\n"
179   "     (parameters\n"
180   "       (declare (in) bvec4 arg0))\n"
181   "     ((return (expression bool any (var_ref arg0)))))\n"
182   "))\n"
183   ""
184;
185static const char builtin_asin[] =
186   "((function asin\n"
187   "   (signature float\n"
188   "     (parameters\n"
189   "       (declare (in) float x))\n"
190   "     ((return (expression float *\n"
191   "	       (expression float sign (var_ref x))\n"
192   "	       (expression float -\n"
193   "		(expression float *\n"
194   "		 (constant float (3.1415926))\n"
195   "		 (constant float (0.5)))\n"
196   "		(expression float *\n"
197   "		 (expression float sqrt\n"
198   "		  (expression float -\n"
199   "		   (constant float (1.0))\n"
200   "		   (expression float abs (var_ref x))))\n"
201   "		 (expression float +\n"
202   "		  (constant float (1.5707288))\n"
203   "		  (expression float *\n"
204   "		   (expression float abs (var_ref x))\n"
205   "		   (expression float +\n"
206   "		    (constant float (-0.2121144))\n"
207   "		    (expression float *\n"
208   "		     (constant float (0.0742610))\n"
209   "		     (expression float abs (var_ref x))))))))))))\n"
210   "\n"
211   "   (signature vec2\n"
212   "     (parameters\n"
213   "       (declare (in) vec2 x))\n"
214   "     ((return (expression vec2 *\n"
215   "	       (expression vec2 sign (var_ref x))\n"
216   "	       (expression vec2 -\n"
217   "		(expression float *\n"
218   "		 (constant float (3.1415926))\n"
219   "		 (constant float (0.5)))\n"
220   "		(expression vec2 *\n"
221   "		 (expression vec2 sqrt\n"
222   "		  (expression vec2 -\n"
223   "		   (constant float (1.0))\n"
224   "		   (expression vec2 abs (var_ref x))))\n"
225   "		 (expression vec2 +\n"
226   "		  (constant float (1.5707288))\n"
227   "		  (expression vec2 *\n"
228   "		   (expression vec2 abs (var_ref x))\n"
229   "		   (expression vec2 +\n"
230   "		    (constant float (-0.2121144))\n"
231   "		    (expression vec2 *\n"
232   "		     (constant float (0.0742610))\n"
233   "		     (expression vec2 abs (var_ref x))))))))))))\n"
234   "\n"
235   "   (signature vec3\n"
236   "     (parameters\n"
237   "       (declare (in) vec3 x))\n"
238   "     ((return (expression vec3 *\n"
239   "	       (expression vec3 sign (var_ref x))\n"
240   "	       (expression vec3 -\n"
241   "		(expression float *\n"
242   "		 (constant float (3.1415926))\n"
243   "		 (constant float (0.5)))\n"
244   "		(expression vec3 *\n"
245   "		 (expression vec3 sqrt\n"
246   "		  (expression vec3 -\n"
247   "		   (constant float (1.0))\n"
248   "		   (expression vec3 abs (var_ref x))))\n"
249   "		 (expression vec3 +\n"
250   "		  (constant float (1.5707288))\n"
251   "		  (expression vec3 *\n"
252   "		   (expression vec3 abs (var_ref x))\n"
253   "		   (expression vec3 +\n"
254   "		    (constant float (-0.2121144))\n"
255   "		    (expression vec3 *\n"
256   "		     (constant float (0.0742610))\n"
257   "		     (expression vec3 abs (var_ref x))))))))))))\n"
258   "\n"
259   "   (signature vec4\n"
260   "     (parameters\n"
261   "       (declare (in) vec4 x))\n"
262   "     ((return (expression vec4 *\n"
263   "	       (expression vec4 sign (var_ref x))\n"
264   "	       (expression vec4 -\n"
265   "		(expression float *\n"
266   "		 (constant float (3.1415926))\n"
267   "		 (constant float (0.5)))\n"
268   "		(expression vec4 *\n"
269   "		 (expression vec4 sqrt\n"
270   "		  (expression vec4 -\n"
271   "		   (constant float (1.0))\n"
272   "		   (expression vec4 abs (var_ref x))))\n"
273   "		 (expression vec4 +\n"
274   "		  (constant float (1.5707288))\n"
275   "		  (expression vec4 *\n"
276   "		   (expression vec4 abs (var_ref x))\n"
277   "		   (expression vec4 +\n"
278   "		    (constant float (-0.2121144))\n"
279   "		    (expression vec4 *\n"
280   "		     (constant float (0.0742610))\n"
281   "		     (expression vec4 abs (var_ref x))))))))))))\n"
282   "))\n"
283   ""
284;
285static const char builtin_asinh[] =
286   "((function asinh\n"
287   "   (signature float\n"
288   "     (parameters\n"
289   "       (declare (in) float x))\n"
290   "     ((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"
291   "\n"
292   "   (signature vec2\n"
293   "     (parameters\n"
294   "       (declare (in) vec2 x))\n"
295   "     ((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"
296   "\n"
297   "   (signature vec3\n"
298   "     (parameters\n"
299   "       (declare (in) vec3 x))\n"
300   "     ((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"
301   "\n"
302   "   (signature vec4\n"
303   "     (parameters\n"
304   "       (declare (in) vec4 x))\n"
305   "     ((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"
306   "))\n"
307   ""
308;
309static const char builtin_atan[] =
310   "((function atan\n"
311   "   (signature float\n"
312   "     (parameters\n"
313   "       (declare (in) float y_over_x))\n"
314   "     ((return (call asin ((expression float *\n"
315   "			   (var_ref y_over_x)\n"
316   "			   (expression float rsq\n"
317   "			    (expression float +\n"
318   "			     (expression float *\n"
319   "			      (var_ref y_over_x)\n"
320   "			      (var_ref y_over_x))\n"
321   "			     (constant float (1.0))))))))))\n"
322   "\n"
323   "   (signature vec2\n"
324   "     (parameters\n"
325   "       (declare (in) vec2 y_over_x))\n"
326   "     ((return (call asin ((expression vec2 *\n"
327   "			   (var_ref y_over_x)\n"
328   "			   (expression vec2 rsq\n"
329   "			    (expression vec2 +\n"
330   "			     (expression vec2 *\n"
331   "			      (var_ref y_over_x)\n"
332   "			      (var_ref y_over_x))\n"
333   "			     (constant float (1.0))))))))))\n"
334   "\n"
335   "   (signature vec3\n"
336   "     (parameters\n"
337   "       (declare (in) vec3 y_over_x))\n"
338   "     ((return (call asin ((expression vec3 *\n"
339   "			   (var_ref y_over_x)\n"
340   "			   (expression vec3 rsq\n"
341   "			    (expression vec3 +\n"
342   "			     (expression vec3 *\n"
343   "			      (var_ref y_over_x)\n"
344   "			      (var_ref y_over_x))\n"
345   "			     (constant float (1.0))))))))))\n"
346   "\n"
347   "   (signature vec4\n"
348   "     (parameters\n"
349   "       (declare (in) vec4 y_over_x))\n"
350   "     ((return (call asin ((expression vec4 *\n"
351   "			   (var_ref y_over_x)\n"
352   "			   (expression vec4 rsq\n"
353   "			    (expression vec4 +\n"
354   "			     (expression vec4 *\n"
355   "			      (var_ref y_over_x)\n"
356   "			      (var_ref y_over_x))\n"
357   "			     (constant float (1.0))))))))))\n"
358   "\n"
359   "  (signature float\n"
360   "    (parameters\n"
361   "      (declare (in ) float y)\n"
362   "      (declare (in ) float x)\n"
363   "    )\n"
364   "    (\n"
365   "      (declare () float r)\n"
366   "      (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n"
367   "        (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n"
368   "        (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
369   "          (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
370   "              ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
371   "              ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
372   "        )\n"
373   "        (\n"
374   "        ))\n"
375   "      )\n"
376   "      (\n"
377   "        (declare () float sgn)\n"
378   "        (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
379   "        (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
380   "      ))\n"
381   "\n"
382   "      (return (var_ref r) )\n"
383   "    ))\n"
384   "\n"
385   "\n"
386   "\n"
387   "   (signature vec2\n"
388   "     (parameters\n"
389   "       (declare (in) vec2 y)\n"
390   "       (declare (in) vec2 x))\n"
391   "     ((declare () vec2 r)\n"
392   "      (assign (constant bool (1)) (x) (var_ref r)\n"
393   "	      (call atan ((swiz x (var_ref y))\n"
394   "			  (swiz x (var_ref x)))))\n"
395   "      (assign (constant bool (1)) (y) (var_ref r)\n"
396   "	      (call atan ((swiz y (var_ref y))\n"
397   "			  (swiz y (var_ref x)))))\n"
398   "      (return (var_ref r))))\n"
399   "\n"
400   "   (signature vec3\n"
401   "     (parameters\n"
402   "       (declare (in) vec3 y)\n"
403   "       (declare (in) vec3 x))\n"
404   "     ((declare () vec3 r)\n"
405   "      (assign (constant bool (1)) (x) (var_ref r)\n"
406   "	      (call atan ((swiz x (var_ref y))\n"
407   "			  (swiz x (var_ref x)))))\n"
408   "      (assign (constant bool (1)) (y) (var_ref r)\n"
409   "	      (call atan ((swiz y (var_ref y))\n"
410   "			  (swiz y (var_ref x)))))\n"
411   "      (assign (constant bool (1)) (z) (var_ref r)\n"
412   "	      (call atan ((swiz z (var_ref y))\n"
413   "			  (swiz z (var_ref x)))))\n"
414   "      (return (var_ref r))))\n"
415   "\n"
416   "   (signature vec4\n"
417   "     (parameters\n"
418   "       (declare (in) vec4 y)\n"
419   "       (declare (in) vec4 x))\n"
420   "     ((declare () vec4 r)\n"
421   "      (assign (constant bool (1)) (x) (var_ref r)\n"
422   "	      (call atan ((swiz x (var_ref y))\n"
423   "			  (swiz x (var_ref x)))))\n"
424   "      (assign (constant bool (1)) (y) (var_ref r)\n"
425   "	      (call atan ((swiz y (var_ref y))\n"
426   "			  (swiz y (var_ref x)))))\n"
427   "      (assign (constant bool (1)) (z) (var_ref r)\n"
428   "	      (call atan ((swiz z (var_ref y))\n"
429   "			  (swiz z (var_ref x)))))\n"
430   "      (assign (constant bool (1)) (w) (var_ref r)\n"
431   "	      (call atan ((swiz w (var_ref y))\n"
432   "			  (swiz w (var_ref x)))))\n"
433   "      (return (var_ref r)))))\n"
434   "\n"
435   "))\n"
436   ""
437;
438static const char builtin_atanh[] =
439   "((function atanh\n"
440   "   (signature float\n"
441   "     (parameters\n"
442   "       (declare (in) float x))\n"
443   "     ((return (expression float * (constant float (0.5))\n"
444   "                (expression float log\n"
445   "		  (expression float /\n"
446   "                    (expression float + (constant float (1)) (var_ref x))\n"
447   "                    (expression float - (constant float (1)) (var_ref x))))))))\n"
448   "\n"
449   "   (signature vec2\n"
450   "     (parameters\n"
451   "       (declare (in) vec2 x))\n"
452   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
453   "                (expression vec2 log\n"
454   "		  (expression vec2 /\n"
455   "                    (expression vec2 + (constant vec2 (1)) (var_ref x))\n"
456   "                    (expression vec2 - (constant vec2 (1)) (var_ref x))))))))\n"
457   "\n"
458   "   (signature vec3\n"
459   "     (parameters\n"
460   "       (declare (in) vec3 x))\n"
461   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
462   "                (expression vec3 log\n"
463   "		  (expression vec3 /\n"
464   "                    (expression vec3 + (constant vec3 (1)) (var_ref x))\n"
465   "                    (expression vec3 - (constant vec3 (1)) (var_ref x))))))))\n"
466   "\n"
467   "   (signature vec4\n"
468   "     (parameters\n"
469   "       (declare (in) vec4 x))\n"
470   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
471   "                (expression vec4 log\n"
472   "		  (expression vec4 /\n"
473   "                    (expression vec4 + (constant vec4 (1)) (var_ref x))\n"
474   "                    (expression vec4 - (constant vec4 (1)) (var_ref x))))))))\n"
475   "))\n"
476   ""
477;
478static const char builtin_ceil[] =
479   "((function ceil\n"
480   "   (signature float\n"
481   "     (parameters\n"
482   "       (declare (in) float arg0))\n"
483   "     ((return (expression float ceil (var_ref arg0)))))\n"
484   "\n"
485   "   (signature vec2\n"
486   "     (parameters\n"
487   "       (declare (in) vec2 arg0))\n"
488   "     ((return (expression vec2 ceil (var_ref arg0)))))\n"
489   "\n"
490   "   (signature vec3\n"
491   "     (parameters\n"
492   "       (declare (in) vec3 arg0))\n"
493   "     ((return (expression vec3 ceil (var_ref arg0)))))\n"
494   "\n"
495   "   (signature vec4\n"
496   "     (parameters\n"
497   "       (declare (in) vec4 arg0))\n"
498   "     ((return (expression vec4 ceil (var_ref arg0)))))\n"
499   "))\n"
500   ""
501;
502static const char builtin_clamp[] =
503   "((function clamp\n"
504   "   (signature float\n"
505   "     (parameters\n"
506   "       (declare (in) float arg0)\n"
507   "       (declare (in) float arg1)\n"
508   "       (declare (in) float arg2))\n"
509   "     ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
510   "\n"
511   "   (signature vec2\n"
512   "     (parameters\n"
513   "       (declare (in) vec2 arg0)\n"
514   "       (declare (in) vec2 arg1)\n"
515   "       (declare (in) vec2 arg2))\n"
516   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
517   "\n"
518   "   (signature vec3\n"
519   "     (parameters\n"
520   "       (declare (in) vec3 arg0)\n"
521   "       (declare (in) vec3 arg1)\n"
522   "       (declare (in) vec3 arg2))\n"
523   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
524   "\n"
525   "   (signature vec4\n"
526   "     (parameters\n"
527   "       (declare (in) vec4 arg0)\n"
528   "       (declare (in) vec4 arg1)\n"
529   "       (declare (in) vec4 arg2))\n"
530   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
531   "\n"
532   "   (signature vec2\n"
533   "     (parameters\n"
534   "       (declare (in) vec2  arg0)\n"
535   "       (declare (in) float arg1)\n"
536   "       (declare (in) float arg2))\n"
537   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
538   "\n"
539   "   (signature vec3\n"
540   "     (parameters\n"
541   "       (declare (in) vec3  arg0)\n"
542   "       (declare (in) float arg1)\n"
543   "       (declare (in) float arg2))\n"
544   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
545   "\n"
546   "   (signature vec4\n"
547   "     (parameters\n"
548   "       (declare (in) vec4  arg0)\n"
549   "       (declare (in) float arg1)\n"
550   "       (declare (in) float arg2))\n"
551   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
552   "\n"
553   "   (signature int\n"
554   "     (parameters\n"
555   "       (declare (in) int arg0)\n"
556   "       (declare (in) int arg1)\n"
557   "       (declare (in) int arg2))\n"
558   "     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
559   "\n"
560   "   (signature ivec2\n"
561   "     (parameters\n"
562   "       (declare (in) ivec2 arg0)\n"
563   "       (declare (in) ivec2 arg1)\n"
564   "       (declare (in) ivec2 arg2))\n"
565   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
566   "\n"
567   "   (signature ivec3\n"
568   "     (parameters\n"
569   "       (declare (in) ivec3 arg0)\n"
570   "       (declare (in) ivec3 arg1)\n"
571   "       (declare (in) ivec3 arg2))\n"
572   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
573   "\n"
574   "   (signature ivec4\n"
575   "     (parameters\n"
576   "       (declare (in) ivec4 arg0)\n"
577   "       (declare (in) ivec4 arg1)\n"
578   "       (declare (in) ivec4 arg2))\n"
579   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
580   "\n"
581   "   (signature ivec2\n"
582   "     (parameters\n"
583   "       (declare (in) ivec2 arg0)\n"
584   "       (declare (in) int arg1)\n"
585   "       (declare (in) int arg2))\n"
586   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
587   "\n"
588   "   (signature ivec3\n"
589   "     (parameters\n"
590   "       (declare (in) ivec3 arg0)\n"
591   "       (declare (in) int arg1)\n"
592   "       (declare (in) int arg2))\n"
593   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
594   "\n"
595   "   (signature ivec4\n"
596   "     (parameters\n"
597   "       (declare (in) ivec4 arg0)\n"
598   "       (declare (in) int arg1)\n"
599   "       (declare (in) int arg2))\n"
600   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
601   "\n"
602   "   (signature uint\n"
603   "     (parameters\n"
604   "       (declare (in) uint arg0)\n"
605   "       (declare (in) uint arg1)\n"
606   "       (declare (in) uint arg2))\n"
607   "     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
608   "\n"
609   "   (signature uvec2\n"
610   "     (parameters\n"
611   "       (declare (in) uvec2 arg0)\n"
612   "       (declare (in) uvec2 arg1)\n"
613   "       (declare (in) uvec2 arg2))\n"
614   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
615   "\n"
616   "   (signature uvec3\n"
617   "     (parameters\n"
618   "       (declare (in) uvec3 arg0)\n"
619   "       (declare (in) uvec3 arg1)\n"
620   "       (declare (in) uvec3 arg2))\n"
621   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
622   "\n"
623   "   (signature uvec4\n"
624   "     (parameters\n"
625   "       (declare (in) uvec4 arg0)\n"
626   "       (declare (in) uvec4 arg1)\n"
627   "       (declare (in) uvec4 arg2))\n"
628   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
629   "\n"
630   "   (signature uvec2\n"
631   "     (parameters\n"
632   "       (declare (in) uvec2 arg0)\n"
633   "       (declare (in) uint arg1)\n"
634   "       (declare (in) uint arg2))\n"
635   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
636   "\n"
637   "   (signature uvec3\n"
638   "     (parameters\n"
639   "       (declare (in) uvec3 arg0)\n"
640   "       (declare (in) uint arg1)\n"
641   "       (declare (in) uint arg2))\n"
642   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
643   "\n"
644   "   (signature uvec4\n"
645   "     (parameters\n"
646   "       (declare (in) uvec4 arg0)\n"
647   "       (declare (in) uint arg1)\n"
648   "       (declare (in) uint arg2))\n"
649   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
650   "))\n"
651   ""
652;
653static const char builtin_cos[] =
654   "((function cos\n"
655   "   (signature float\n"
656   "     (parameters\n"
657   "       (declare (in) float angle))\n"
658   "     ((return (expression float cos (var_ref angle)))))\n"
659   "\n"
660   "   (signature vec2\n"
661   "     (parameters\n"
662   "       (declare (in) vec2 angle))\n"
663   "     ((return (expression vec2 cos (var_ref angle)))))\n"
664   "\n"
665   "   (signature vec3\n"
666   "     (parameters\n"
667   "       (declare (in) vec3 angle))\n"
668   "     ((return (expression vec3 cos (var_ref angle)))))\n"
669   "\n"
670   "   (signature vec4\n"
671   "     (parameters\n"
672   "       (declare (in) vec4 angle))\n"
673   "     ((return (expression vec4 cos (var_ref angle)))))\n"
674   "))\n"
675   ""
676;
677static const char builtin_cosh[] =
678   "((function cosh\n"
679   "   (signature float\n"
680   "     (parameters\n"
681   "       (declare (in) float x))\n"
682   "     ((return (expression float * (constant float (0.5))\n"
683   "                (expression float +\n"
684   "		  (expression float exp (var_ref x))\n"
685   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
686   "   (signature vec2\n"
687   "     (parameters\n"
688   "       (declare (in) vec2 x))\n"
689   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
690   "                (expression vec2 +\n"
691   "		  (expression vec2 exp (var_ref x))\n"
692   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
693   "   (signature vec3\n"
694   "     (parameters\n"
695   "       (declare (in) vec3 x))\n"
696   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
697   "                (expression vec3 +\n"
698   "		  (expression vec3 exp (var_ref x))\n"
699   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
700   "   (signature vec4\n"
701   "     (parameters\n"
702   "       (declare (in) vec4 x))\n"
703   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
704   "                (expression vec4 +\n"
705   "		  (expression vec4 exp (var_ref x))\n"
706   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
707   "))\n"
708   ""
709;
710static const char builtin_cross[] =
711   "((function cross\n"
712   "   (signature vec3\n"
713   "     (parameters\n"
714   "       (declare (in) vec3 a)\n"
715   "       (declare (in) vec3 b))\n"
716   "     ((return (expression vec3 -\n"
717   "        (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))\n"
718   "        (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))\n"
719   "))\n"
720   ""
721;
722static const char builtin_dFdx[] =
723   "((function dFdx\n"
724   "   (signature float\n"
725   "     (parameters\n"
726   "       (declare (in) float p))\n"
727   "     ((return (expression float dFdx (var_ref p)))))\n"
728   "\n"
729   "   (signature vec2\n"
730   "     (parameters\n"
731   "       (declare (in) vec2 p))\n"
732   "     ((return (expression vec2 dFdx (var_ref p)))))\n"
733   "\n"
734   "   (signature vec3\n"
735   "     (parameters\n"
736   "       (declare (in) vec3 p))\n"
737   "     ((return (expression vec3 dFdx (var_ref p)))))\n"
738   "\n"
739   "   (signature vec4\n"
740   "     (parameters\n"
741   "       (declare (in) vec4 p))\n"
742   "     ((return (expression vec4 dFdx (var_ref p)))))\n"
743   "))\n"
744   ""
745;
746static const char builtin_dFdy[] =
747   "((function dFdy\n"
748   "   (signature float\n"
749   "     (parameters\n"
750   "       (declare (in) float p))\n"
751   "     ((return (expression float dFdy (var_ref p)))))\n"
752   "\n"
753   "   (signature vec2\n"
754   "     (parameters\n"
755   "       (declare (in) vec2 p))\n"
756   "     ((return (expression vec2 dFdy (var_ref p)))))\n"
757   "\n"
758   "   (signature vec3\n"
759   "     (parameters\n"
760   "       (declare (in) vec3 p))\n"
761   "     ((return (expression vec3 dFdy (var_ref p)))))\n"
762   "\n"
763   "   (signature vec4\n"
764   "     (parameters\n"
765   "       (declare (in) vec4 p))\n"
766   "     ((return (expression vec4 dFdy (var_ref p)))))\n"
767   "))\n"
768   ""
769;
770static const char builtin_degrees[] =
771   "((function degrees\n"
772   "   (signature float\n"
773   "     (parameters\n"
774   "       (declare (in) float arg0))\n"
775   "     ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
776   "\n"
777   "   (signature vec2\n"
778   "     (parameters\n"
779   "       (declare (in) vec2 arg0))\n"
780   "     ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
781   "\n"
782   "   (signature vec3\n"
783   "     (parameters\n"
784   "       (declare (in) vec3 arg0))\n"
785   "     ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
786   "\n"
787   "   (signature vec4\n"
788   "     (parameters\n"
789   "       (declare (in) vec4 arg0))\n"
790   "     ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
791   "))\n"
792   ""
793;
794static const char builtin_distance[] =
795   "((function distance\n"
796   "   (signature float\n"
797   "     (parameters\n"
798   "       (declare (in) float p0)\n"
799   "       (declare (in) float p1))\n"
800   "     ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
801   "\n"
802   "   (signature float\n"
803   "     (parameters\n"
804   "       (declare (in) vec2 p0)\n"
805   "       (declare (in) vec2 p1))\n"
806   "     ((declare () vec2 p)\n"
807   "      (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
808   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
809   "\n"
810   "   (signature float\n"
811   "     (parameters\n"
812   "       (declare (in) vec3 p0)\n"
813   "       (declare (in) vec3 p1))\n"
814   "     ((declare () vec3 p)\n"
815   "      (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
816   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
817   "\n"
818   "   (signature float\n"
819   "     (parameters\n"
820   "       (declare (in) vec4 p0)\n"
821   "       (declare (in) vec4 p1))\n"
822   "     ((declare () vec4 p)\n"
823   "      (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
824   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
825   "))\n"
826   ""
827;
828static const char builtin_dot[] =
829   "((function dot\n"
830   "   (signature float\n"
831   "     (parameters\n"
832   "       (declare (in) float arg0)\n"
833   "       (declare (in) float arg1))\n"
834   "     ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
835   "\n"
836   "   (signature float\n"
837   "     (parameters\n"
838   "       (declare (in) vec2 arg0)\n"
839   "       (declare (in) vec2 arg1))\n"
840   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
841   "\n"
842   "   (signature float\n"
843   "     (parameters\n"
844   "       (declare (in) vec3 arg0)\n"
845   "       (declare (in) vec3 arg1))\n"
846   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
847   "\n"
848   "   (signature float\n"
849   "     (parameters\n"
850   "       (declare (in) vec4 arg0)\n"
851   "       (declare (in) vec4 arg1))\n"
852   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
853   "))\n"
854   ""
855;
856static const char builtin_equal[] =
857   "((function equal\n"
858   "   (signature bvec2\n"
859   "     (parameters\n"
860   "       (declare (in) vec2 arg0)\n"
861   "       (declare (in) vec2 arg1))\n"
862   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
863   "\n"
864   "   (signature bvec3\n"
865   "     (parameters\n"
866   "       (declare (in) vec3 arg0)\n"
867   "       (declare (in) vec3 arg1))\n"
868   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
869   "\n"
870   "   (signature bvec4\n"
871   "     (parameters\n"
872   "       (declare (in) vec4 arg0)\n"
873   "       (declare (in) vec4 arg1))\n"
874   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
875   "\n"
876   "   (signature bvec2\n"
877   "     (parameters\n"
878   "       (declare (in) bvec2 arg0)\n"
879   "       (declare (in) bvec2 arg1))\n"
880   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
881   "\n"
882   "   (signature bvec3\n"
883   "     (parameters\n"
884   "       (declare (in) bvec3 arg0)\n"
885   "       (declare (in) bvec3 arg1))\n"
886   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
887   "\n"
888   "   (signature bvec4\n"
889   "     (parameters\n"
890   "       (declare (in) bvec4 arg0)\n"
891   "       (declare (in) bvec4 arg1))\n"
892   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
893   "\n"
894   "   (signature bvec2\n"
895   "     (parameters\n"
896   "       (declare (in) ivec2 arg0)\n"
897   "       (declare (in) ivec2 arg1))\n"
898   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
899   "\n"
900   "   (signature bvec3\n"
901   "     (parameters\n"
902   "       (declare (in) ivec3 arg0)\n"
903   "       (declare (in) ivec3 arg1))\n"
904   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
905   "\n"
906   "   (signature bvec4\n"
907   "     (parameters\n"
908   "       (declare (in) ivec4 arg0)\n"
909   "       (declare (in) ivec4 arg1))\n"
910   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
911   "\n"
912   "   (signature bvec2\n"
913   "     (parameters\n"
914   "       (declare (in) uvec2 arg0)\n"
915   "       (declare (in) uvec2 arg1))\n"
916   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
917   "\n"
918   "   (signature bvec3\n"
919   "     (parameters\n"
920   "       (declare (in) uvec3 arg0)\n"
921   "       (declare (in) uvec3 arg1))\n"
922   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
923   "\n"
924   "   (signature bvec4\n"
925   "     (parameters\n"
926   "       (declare (in) uvec4 arg0)\n"
927   "       (declare (in) uvec4 arg1))\n"
928   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
929   "))\n"
930   ""
931;
932static const char builtin_exp[] =
933   "((function exp\n"
934   "   (signature float\n"
935   "     (parameters\n"
936   "       (declare (in) float arg0))\n"
937   "     ((return (expression float exp (var_ref arg0)))))\n"
938   "\n"
939   "   (signature vec2\n"
940   "     (parameters\n"
941   "       (declare (in) vec2 arg0))\n"
942   "     ((return (expression vec2 exp (var_ref arg0)))))\n"
943   "\n"
944   "   (signature vec3\n"
945   "     (parameters\n"
946   "       (declare (in) vec3 arg0))\n"
947   "     ((return (expression vec3 exp (var_ref arg0)))))\n"
948   "\n"
949   "   (signature vec4\n"
950   "     (parameters\n"
951   "       (declare (in) vec4 arg0))\n"
952   "     ((return (expression vec4 exp (var_ref arg0)))))\n"
953   "))\n"
954   ""
955;
956static const char builtin_exp2[] =
957   "((function exp2\n"
958   "   (signature float\n"
959   "     (parameters\n"
960   "       (declare (in) float arg0))\n"
961   "     ((return (expression float exp2 (var_ref arg0)))))\n"
962   "\n"
963   "   (signature vec2\n"
964   "     (parameters\n"
965   "       (declare (in) vec2 arg0))\n"
966   "     ((return (expression vec2 exp2 (var_ref arg0)))))\n"
967   "\n"
968   "   (signature vec3\n"
969   "     (parameters\n"
970   "       (declare (in) vec3 arg0))\n"
971   "     ((return (expression vec3 exp2 (var_ref arg0)))))\n"
972   "\n"
973   "   (signature vec4\n"
974   "     (parameters\n"
975   "       (declare (in) vec4 arg0))\n"
976   "     ((return (expression vec4 exp2 (var_ref arg0)))))\n"
977   "))\n"
978   ""
979;
980static const char builtin_faceforward[] =
981   "((function faceforward\n"
982   "   (signature float\n"
983   "     (parameters\n"
984   "       (declare (in) float N)\n"
985   "       (declare (in) float I)\n"
986   "       (declare (in) float Nref))\n"
987   "     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
988   "          ((return (var_ref N)))\n"
989   "	  ((return (expression float neg (var_ref N)))))))\n"
990   "\n"
991   "   (signature vec2\n"
992   "     (parameters\n"
993   "       (declare (in) vec2 N)\n"
994   "       (declare (in) vec2 I)\n"
995   "       (declare (in) vec2 Nref))\n"
996   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
997   "          ((return (var_ref N)))\n"
998   "	  ((return (expression vec2 neg (var_ref N)))))))\n"
999   "\n"
1000   "   (signature vec3\n"
1001   "     (parameters\n"
1002   "       (declare (in) vec3 N)\n"
1003   "       (declare (in) vec3 I)\n"
1004   "       (declare (in) vec3 Nref))\n"
1005   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1006   "          ((return (var_ref N)))\n"
1007   "	  ((return (expression vec3 neg (var_ref N)))))))\n"
1008   "\n"
1009   "   (signature vec4\n"
1010   "     (parameters\n"
1011   "       (declare (in) vec4 N)\n"
1012   "       (declare (in) vec4 I)\n"
1013   "       (declare (in) vec4 Nref))\n"
1014   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1015   "          ((return (var_ref N)))\n"
1016   "	  ((return (expression vec4 neg (var_ref N)))))))\n"
1017   "))\n"
1018   ""
1019;
1020static const char builtin_floor[] =
1021   "((function floor\n"
1022   "   (signature float\n"
1023   "     (parameters\n"
1024   "       (declare (in) float arg0))\n"
1025   "     ((return (expression float floor (var_ref arg0)))))\n"
1026   "\n"
1027   "   (signature vec2\n"
1028   "     (parameters\n"
1029   "       (declare (in) vec2 arg0))\n"
1030   "     ((return (expression vec2 floor (var_ref arg0)))))\n"
1031   "\n"
1032   "   (signature vec3\n"
1033   "     (parameters\n"
1034   "       (declare (in) vec3 arg0))\n"
1035   "     ((return (expression vec3 floor (var_ref arg0)))))\n"
1036   "\n"
1037   "   (signature vec4\n"
1038   "     (parameters\n"
1039   "       (declare (in) vec4 arg0))\n"
1040   "     ((return (expression vec4 floor (var_ref arg0)))))\n"
1041   "))\n"
1042   ""
1043;
1044static const char builtin_fract[] =
1045   "((function fract\n"
1046   "   (signature float\n"
1047   "     (parameters\n"
1048   "       (declare (in) float x))\n"
1049   "     ((return (expression float fract (var_ref x)))))\n"
1050   "\n"
1051   "   (signature vec2\n"
1052   "     (parameters\n"
1053   "       (declare (in) vec2 x))\n"
1054   "     ((return (expression vec2 fract (var_ref x)))))\n"
1055   "\n"
1056   "   (signature vec3\n"
1057   "     (parameters\n"
1058   "       (declare (in) vec3 x))\n"
1059   "     ((return (expression vec3 fract (var_ref x)))))\n"
1060   "\n"
1061   "   (signature vec4\n"
1062   "     (parameters\n"
1063   "       (declare (in) vec4 x))\n"
1064   "     ((return (expression vec4 fract (var_ref x)))))\n"
1065   "))\n"
1066   "\n"
1067   ""
1068;
1069static const char builtin_ftransform[] =
1070   "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1071   " (declare (in) vec4 gl_Vertex)\n"
1072   " (function ftransform\n"
1073   "   (signature vec4\n"
1074   "     (parameters)\n"
1075   "    ((return (expression vec4 *\n"
1076   "	      (var_ref gl_ModelViewProjectionMatrix)\n"
1077   "	      (var_ref gl_Vertex)))))\n"
1078   "))\n"
1079   ""
1080;
1081static const char builtin_fwidth[] =
1082   "((function fwidth\n"
1083   "   (signature float\n"
1084   "     (parameters\n"
1085   "       (declare (in) float p))\n"
1086   "     ((return (expression float +\n"
1087   "                (expression float abs (expression float dFdx (var_ref p)))\n"
1088   "                (expression float abs (expression float dFdy (var_ref p)))))))\n"
1089   "\n"
1090   "   (signature vec2\n"
1091   "     (parameters\n"
1092   "       (declare (in) vec2 p))\n"
1093   "     ((return (expression vec2 +\n"
1094   "                (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1095   "                (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1096   "\n"
1097   "   (signature vec3\n"
1098   "     (parameters\n"
1099   "       (declare (in) vec3 p))\n"
1100   "     ((return (expression vec3 +\n"
1101   "                (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1102   "                (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1103   "\n"
1104   "   (signature vec4\n"
1105   "     (parameters\n"
1106   "       (declare (in) vec4 p))\n"
1107   "     ((return (expression vec4 +\n"
1108   "                (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1109   "                (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1110   "))\n"
1111   ""
1112;
1113static const char builtin_greaterThan[] =
1114   "((function greaterThan\n"
1115   "   (signature bvec2\n"
1116   "     (parameters\n"
1117   "       (declare (in) vec2 arg0)\n"
1118   "       (declare (in) vec2 arg1))\n"
1119   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1120   "\n"
1121   "   (signature bvec3\n"
1122   "     (parameters\n"
1123   "       (declare (in) vec3 arg0)\n"
1124   "       (declare (in) vec3 arg1))\n"
1125   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1126   "\n"
1127   "   (signature bvec4\n"
1128   "     (parameters\n"
1129   "       (declare (in) vec4 arg0)\n"
1130   "       (declare (in) vec4 arg1))\n"
1131   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1132   "\n"
1133   "   (signature bvec2\n"
1134   "     (parameters\n"
1135   "       (declare (in) ivec2 arg0)\n"
1136   "       (declare (in) ivec2 arg1))\n"
1137   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1138   "\n"
1139   "   (signature bvec3\n"
1140   "     (parameters\n"
1141   "       (declare (in) ivec3 arg0)\n"
1142   "       (declare (in) ivec3 arg1))\n"
1143   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1144   "\n"
1145   "   (signature bvec4\n"
1146   "     (parameters\n"
1147   "       (declare (in) ivec4 arg0)\n"
1148   "       (declare (in) ivec4 arg1))\n"
1149   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1150   "\n"
1151   "   (signature bvec2\n"
1152   "     (parameters\n"
1153   "       (declare (in) uvec2 arg0)\n"
1154   "       (declare (in) uvec2 arg1))\n"
1155   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1156   "\n"
1157   "   (signature bvec3\n"
1158   "     (parameters\n"
1159   "       (declare (in) uvec3 arg0)\n"
1160   "       (declare (in) uvec3 arg1))\n"
1161   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1162   "\n"
1163   "   (signature bvec4\n"
1164   "     (parameters\n"
1165   "       (declare (in) uvec4 arg0)\n"
1166   "       (declare (in) uvec4 arg1))\n"
1167   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1168   "))\n"
1169   ""
1170;
1171static const char builtin_greaterThanEqual[] =
1172   "((function greaterThanEqual\n"
1173   "   (signature bvec2\n"
1174   "     (parameters\n"
1175   "       (declare (in) vec2 arg0)\n"
1176   "       (declare (in) vec2 arg1))\n"
1177   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1178   "\n"
1179   "   (signature bvec3\n"
1180   "     (parameters\n"
1181   "       (declare (in) vec3 arg0)\n"
1182   "       (declare (in) vec3 arg1))\n"
1183   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1184   "\n"
1185   "   (signature bvec4\n"
1186   "     (parameters\n"
1187   "       (declare (in) vec4 arg0)\n"
1188   "       (declare (in) vec4 arg1))\n"
1189   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1190   "\n"
1191   "   (signature bvec2\n"
1192   "     (parameters\n"
1193   "       (declare (in) ivec2 arg0)\n"
1194   "       (declare (in) ivec2 arg1))\n"
1195   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1196   "\n"
1197   "   (signature bvec3\n"
1198   "     (parameters\n"
1199   "       (declare (in) ivec3 arg0)\n"
1200   "       (declare (in) ivec3 arg1))\n"
1201   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1202   "\n"
1203   "   (signature bvec4\n"
1204   "     (parameters\n"
1205   "       (declare (in) ivec4 arg0)\n"
1206   "       (declare (in) ivec4 arg1))\n"
1207   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1208   "\n"
1209   "   (signature bvec2\n"
1210   "     (parameters\n"
1211   "       (declare (in) uvec2 arg0)\n"
1212   "       (declare (in) uvec2 arg1))\n"
1213   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1214   "\n"
1215   "   (signature bvec3\n"
1216   "     (parameters\n"
1217   "       (declare (in) uvec3 arg0)\n"
1218   "       (declare (in) uvec3 arg1))\n"
1219   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1220   "\n"
1221   "   (signature bvec4\n"
1222   "     (parameters\n"
1223   "       (declare (in) uvec4 arg0)\n"
1224   "       (declare (in) uvec4 arg1))\n"
1225   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1226   "))\n"
1227   ""
1228;
1229static const char builtin_inversesqrt[] =
1230   "((function inversesqrt\n"
1231   "   (signature float\n"
1232   "     (parameters\n"
1233   "       (declare (in) float arg0))\n"
1234   "     ((return (expression float rsq (var_ref arg0)))))\n"
1235   "\n"
1236   "   (signature vec2\n"
1237   "     (parameters\n"
1238   "       (declare (in) vec2 arg0))\n"
1239   "     ((return (expression vec2 rsq (var_ref arg0)))))\n"
1240   "\n"
1241   "   (signature vec3\n"
1242   "     (parameters\n"
1243   "       (declare (in) vec3 arg0))\n"
1244   "     ((return (expression vec3 rsq (var_ref arg0)))))\n"
1245   "\n"
1246   "   (signature vec4\n"
1247   "     (parameters\n"
1248   "       (declare (in) vec4 arg0))\n"
1249   "     ((return (expression vec4 rsq (var_ref arg0)))))\n"
1250   "))\n"
1251   ""
1252;
1253static const char builtin_length[] =
1254   "((function length\n"
1255   "   (signature float\n"
1256   "     (parameters\n"
1257   "       (declare (in) float arg0))\n"
1258   "     ((return (expression float abs (var_ref arg0)))))\n"
1259   "\n"
1260   "   (signature float\n"
1261   "     (parameters\n"
1262   "       (declare (in) vec2 arg0))\n"
1263   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1264   "\n"
1265   "   (signature float\n"
1266   "     (parameters\n"
1267   "       (declare (in) vec3 arg0))\n"
1268   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1269   "\n"
1270   "   (signature float\n"
1271   "     (parameters\n"
1272   "       (declare (in) vec4 arg0))\n"
1273   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1274   "))\n"
1275   ""
1276;
1277static const char builtin_lessThan[] =
1278   "((function lessThan\n"
1279   "   (signature bvec2\n"
1280   "     (parameters\n"
1281   "       (declare (in) vec2 arg0)\n"
1282   "       (declare (in) vec2 arg1))\n"
1283   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1284   "\n"
1285   "   (signature bvec3\n"
1286   "     (parameters\n"
1287   "       (declare (in) vec3 arg0)\n"
1288   "       (declare (in) vec3 arg1))\n"
1289   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1290   "\n"
1291   "   (signature bvec4\n"
1292   "     (parameters\n"
1293   "       (declare (in) vec4 arg0)\n"
1294   "       (declare (in) vec4 arg1))\n"
1295   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1296   "\n"
1297   "   (signature bvec2\n"
1298   "     (parameters\n"
1299   "       (declare (in) ivec2 arg0)\n"
1300   "       (declare (in) ivec2 arg1))\n"
1301   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1302   "\n"
1303   "   (signature bvec3\n"
1304   "     (parameters\n"
1305   "       (declare (in) ivec3 arg0)\n"
1306   "       (declare (in) ivec3 arg1))\n"
1307   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1308   "\n"
1309   "   (signature bvec4\n"
1310   "     (parameters\n"
1311   "       (declare (in) ivec4 arg0)\n"
1312   "       (declare (in) ivec4 arg1))\n"
1313   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1314   "\n"
1315   "   (signature bvec2\n"
1316   "     (parameters\n"
1317   "       (declare (in) uvec2 arg0)\n"
1318   "       (declare (in) uvec2 arg1))\n"
1319   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1320   "\n"
1321   "   (signature bvec3\n"
1322   "     (parameters\n"
1323   "       (declare (in) uvec3 arg0)\n"
1324   "       (declare (in) uvec3 arg1))\n"
1325   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1326   "\n"
1327   "   (signature bvec4\n"
1328   "     (parameters\n"
1329   "       (declare (in) uvec4 arg0)\n"
1330   "       (declare (in) uvec4 arg1))\n"
1331   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1332   "))\n"
1333   ""
1334;
1335static const char builtin_lessThanEqual[] =
1336   "((function lessThanEqual\n"
1337   "   (signature bvec2\n"
1338   "     (parameters\n"
1339   "       (declare (in) vec2 arg0)\n"
1340   "       (declare (in) vec2 arg1))\n"
1341   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1342   "\n"
1343   "   (signature bvec3\n"
1344   "     (parameters\n"
1345   "       (declare (in) vec3 arg0)\n"
1346   "       (declare (in) vec3 arg1))\n"
1347   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1348   "\n"
1349   "   (signature bvec4\n"
1350   "     (parameters\n"
1351   "       (declare (in) vec4 arg0)\n"
1352   "       (declare (in) vec4 arg1))\n"
1353   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1354   "\n"
1355   "   (signature bvec2\n"
1356   "     (parameters\n"
1357   "       (declare (in) ivec2 arg0)\n"
1358   "       (declare (in) ivec2 arg1))\n"
1359   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1360   "\n"
1361   "   (signature bvec3\n"
1362   "     (parameters\n"
1363   "       (declare (in) ivec3 arg0)\n"
1364   "       (declare (in) ivec3 arg1))\n"
1365   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1366   "\n"
1367   "   (signature bvec4\n"
1368   "     (parameters\n"
1369   "       (declare (in) ivec4 arg0)\n"
1370   "       (declare (in) ivec4 arg1))\n"
1371   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1372   "\n"
1373   "   (signature bvec2\n"
1374   "     (parameters\n"
1375   "       (declare (in) uvec2 arg0)\n"
1376   "       (declare (in) uvec2 arg1))\n"
1377   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1378   "\n"
1379   "   (signature bvec3\n"
1380   "     (parameters\n"
1381   "       (declare (in) uvec3 arg0)\n"
1382   "       (declare (in) uvec3 arg1))\n"
1383   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1384   "\n"
1385   "   (signature bvec4\n"
1386   "     (parameters\n"
1387   "       (declare (in) uvec4 arg0)\n"
1388   "       (declare (in) uvec4 arg1))\n"
1389   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1390   "))\n"
1391   ""
1392;
1393static const char builtin_log[] =
1394   "((function log\n"
1395   "   (signature float\n"
1396   "     (parameters\n"
1397   "       (declare (in) float arg0))\n"
1398   "     ((return (expression float log (var_ref arg0)))))\n"
1399   "\n"
1400   "   (signature vec2\n"
1401   "     (parameters\n"
1402   "       (declare (in) vec2 arg0))\n"
1403   "     ((return (expression vec2 log (var_ref arg0)))))\n"
1404   "\n"
1405   "   (signature vec3\n"
1406   "     (parameters\n"
1407   "       (declare (in) vec3 arg0))\n"
1408   "     ((return (expression vec3 log (var_ref arg0)))))\n"
1409   "\n"
1410   "   (signature vec4\n"
1411   "     (parameters\n"
1412   "       (declare (in) vec4 arg0))\n"
1413   "     ((return (expression vec4 log (var_ref arg0)))))\n"
1414   "))\n"
1415   ""
1416;
1417static const char builtin_log2[] =
1418   "((function log2\n"
1419   "   (signature float\n"
1420   "     (parameters\n"
1421   "       (declare (in) float arg0))\n"
1422   "     ((return (expression float log2 (var_ref arg0)))))\n"
1423   "\n"
1424   "   (signature vec2\n"
1425   "     (parameters\n"
1426   "       (declare (in) vec2 arg0))\n"
1427   "     ((return (expression vec2 log2 (var_ref arg0)))))\n"
1428   "\n"
1429   "   (signature vec3\n"
1430   "     (parameters\n"
1431   "       (declare (in) vec3 arg0))\n"
1432   "     ((return (expression vec3 log2 (var_ref arg0)))))\n"
1433   "\n"
1434   "   (signature vec4\n"
1435   "     (parameters\n"
1436   "       (declare (in) vec4 arg0))\n"
1437   "     ((return (expression vec4 log2 (var_ref arg0)))))\n"
1438   "))\n"
1439   ""
1440;
1441static const char builtin_matrixCompMult[] =
1442   "((function matrixCompMult\n"
1443   "   (signature mat2\n"
1444   "     (parameters\n"
1445   "       (declare (in) mat2 x)\n"
1446   "       (declare (in) mat2 y))\n"
1447   "     ((declare () mat2 z)\n"
1448   "      (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"
1449   "      (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"
1450   "(return (var_ref z))))\n"
1451   "\n"
1452   "   (signature mat3\n"
1453   "     (parameters\n"
1454   "       (declare (in) mat3 x)\n"
1455   "       (declare (in) mat3 y))\n"
1456   "     ((declare () mat3 z)\n"
1457   "      (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"
1458   "      (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"
1459   "      (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"
1460   "(return (var_ref z))))\n"
1461   "\n"
1462   "   (signature mat4\n"
1463   "     (parameters\n"
1464   "       (declare (in) mat4 x)\n"
1465   "       (declare (in) mat4 y))\n"
1466   "     ((declare () mat4 z)\n"
1467   "      (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"
1468   "      (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"
1469   "      (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"
1470   "      (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"
1471   "(return (var_ref z))))\n"
1472   "\n"
1473   "   (signature mat2x3\n"
1474   "     (parameters\n"
1475   "       (declare (in) mat2x3 x)\n"
1476   "       (declare (in) mat2x3 y))\n"
1477   "     ((declare () mat2x3 z)\n"
1478   "      (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"
1479   "      (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"
1480   "(return (var_ref z))))\n"
1481   "\n"
1482   "   (signature mat3x2\n"
1483   "     (parameters\n"
1484   "       (declare (in) mat3x2 x)\n"
1485   "       (declare (in) mat3x2 y))\n"
1486   "     ((declare () mat3x2 z)\n"
1487   "      (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"
1488   "      (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"
1489   "      (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"
1490   "(return (var_ref z))))\n"
1491   "\n"
1492   "   (signature mat2x4\n"
1493   "     (parameters\n"
1494   "       (declare (in) mat2x4 x)\n"
1495   "       (declare (in) mat2x4 y))\n"
1496   "     ((declare () mat2x4 z)\n"
1497   "      (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"
1498   "      (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"
1499   "(return (var_ref z))))\n"
1500   "\n"
1501   "   (signature mat4x2\n"
1502   "     (parameters\n"
1503   "       (declare (in) mat4x2 x)\n"
1504   "       (declare (in) mat4x2 y))\n"
1505   "     ((declare () mat4x2 z)\n"
1506   "      (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"
1507   "      (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"
1508   "      (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"
1509   "      (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"
1510   "(return (var_ref z))))\n"
1511   "\n"
1512   "   (signature mat3x4\n"
1513   "     (parameters\n"
1514   "       (declare (in) mat3x4 x)\n"
1515   "       (declare (in) mat3x4 y))\n"
1516   "     ((declare () mat3x4 z)\n"
1517   "      (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"
1518   "      (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"
1519   "      (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"
1520   "(return (var_ref z))))\n"
1521   "\n"
1522   "   (signature mat4x3\n"
1523   "     (parameters\n"
1524   "       (declare (in) mat4x3 x)\n"
1525   "       (declare (in) mat4x3 y))\n"
1526   "     ((declare () mat4x3 z)\n"
1527   "      (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"
1528   "      (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"
1529   "      (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"
1530   "      (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"
1531   "(return (var_ref z))))\n"
1532   "))\n"
1533   ""
1534;
1535static const char builtin_max[] =
1536   "((function max\n"
1537   "   (signature float\n"
1538   "     (parameters\n"
1539   "       (declare (in) float arg0)\n"
1540   "       (declare (in) float arg1))\n"
1541   "     ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1542   "\n"
1543   "   (signature vec2\n"
1544   "     (parameters\n"
1545   "       (declare (in) vec2 arg0)\n"
1546   "       (declare (in) vec2 arg1))\n"
1547   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1548   "\n"
1549   "   (signature vec3\n"
1550   "     (parameters\n"
1551   "       (declare (in) vec3 arg0)\n"
1552   "       (declare (in) vec3 arg1))\n"
1553   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1554   "\n"
1555   "   (signature vec4\n"
1556   "     (parameters\n"
1557   "       (declare (in) vec4 arg0)\n"
1558   "       (declare (in) vec4 arg1))\n"
1559   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1560   "\n"
1561   "   (signature vec2\n"
1562   "     (parameters\n"
1563   "       (declare (in) vec2  arg0)\n"
1564   "       (declare (in) float arg1))\n"
1565   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1566   "\n"
1567   "   (signature vec3\n"
1568   "     (parameters\n"
1569   "       (declare (in) vec3  arg0)\n"
1570   "       (declare (in) float arg1))\n"
1571   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1572   "\n"
1573   "   (signature vec4\n"
1574   "     (parameters\n"
1575   "       (declare (in) vec4  arg0)\n"
1576   "       (declare (in) float arg1))\n"
1577   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1578   "\n"
1579   "   (signature int\n"
1580   "     (parameters\n"
1581   "       (declare (in) int arg0)\n"
1582   "       (declare (in) int arg1))\n"
1583   "     ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1584   "\n"
1585   "   (signature ivec2\n"
1586   "     (parameters\n"
1587   "       (declare (in) ivec2 arg0)\n"
1588   "       (declare (in) ivec2 arg1))\n"
1589   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1590   "\n"
1591   "   (signature ivec3\n"
1592   "     (parameters\n"
1593   "       (declare (in) ivec3 arg0)\n"
1594   "       (declare (in) ivec3 arg1))\n"
1595   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1596   "\n"
1597   "   (signature ivec4\n"
1598   "     (parameters\n"
1599   "       (declare (in) ivec4 arg0)\n"
1600   "       (declare (in) ivec4 arg1))\n"
1601   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1602   "\n"
1603   "   (signature ivec2\n"
1604   "     (parameters\n"
1605   "       (declare (in) ivec2  arg0)\n"
1606   "       (declare (in) int arg1))\n"
1607   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1608   "\n"
1609   "   (signature ivec3\n"
1610   "     (parameters\n"
1611   "       (declare (in) ivec3  arg0)\n"
1612   "       (declare (in) int arg1))\n"
1613   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1614   "\n"
1615   "   (signature ivec4\n"
1616   "     (parameters\n"
1617   "       (declare (in) ivec4  arg0)\n"
1618   "       (declare (in) int arg1))\n"
1619   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1620   "\n"
1621   "   (signature uint\n"
1622   "     (parameters\n"
1623   "       (declare (in) uint arg0)\n"
1624   "       (declare (in) uint arg1))\n"
1625   "     ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1626   "\n"
1627   "   (signature uvec2\n"
1628   "     (parameters\n"
1629   "       (declare (in) uvec2 arg0)\n"
1630   "       (declare (in) uvec2 arg1))\n"
1631   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1632   "\n"
1633   "   (signature uvec3\n"
1634   "     (parameters\n"
1635   "       (declare (in) uvec3 arg0)\n"
1636   "       (declare (in) uvec3 arg1))\n"
1637   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1638   "\n"
1639   "   (signature uvec4\n"
1640   "     (parameters\n"
1641   "       (declare (in) uvec4 arg0)\n"
1642   "       (declare (in) uvec4 arg1))\n"
1643   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1644   "\n"
1645   "   (signature uvec2\n"
1646   "     (parameters\n"
1647   "       (declare (in) uvec2  arg0)\n"
1648   "       (declare (in) uint arg1))\n"
1649   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1650   "\n"
1651   "   (signature uvec3\n"
1652   "     (parameters\n"
1653   "       (declare (in) uvec3  arg0)\n"
1654   "       (declare (in) uint arg1))\n"
1655   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1656   "\n"
1657   "   (signature uvec4\n"
1658   "     (parameters\n"
1659   "       (declare (in) uvec4  arg0)\n"
1660   "       (declare (in) uint arg1))\n"
1661   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1662   "))\n"
1663   ""
1664;
1665static const char builtin_min[] =
1666   "((function min\n"
1667   "   (signature float\n"
1668   "     (parameters\n"
1669   "       (declare (in) float arg0)\n"
1670   "       (declare (in) float arg1))\n"
1671   "     ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1672   "\n"
1673   "   (signature vec2\n"
1674   "     (parameters\n"
1675   "       (declare (in) vec2 arg0)\n"
1676   "       (declare (in) vec2 arg1))\n"
1677   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1678   "\n"
1679   "   (signature vec3\n"
1680   "     (parameters\n"
1681   "       (declare (in) vec3 arg0)\n"
1682   "       (declare (in) vec3 arg1))\n"
1683   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1684   "\n"
1685   "   (signature vec4\n"
1686   "     (parameters\n"
1687   "       (declare (in) vec4 arg0)\n"
1688   "       (declare (in) vec4 arg1))\n"
1689   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1690   "\n"
1691   "   (signature vec2\n"
1692   "     (parameters\n"
1693   "       (declare (in) vec2  arg0)\n"
1694   "       (declare (in) float arg1))\n"
1695   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1696   "\n"
1697   "   (signature vec3\n"
1698   "     (parameters\n"
1699   "       (declare (in) vec3  arg0)\n"
1700   "       (declare (in) float arg1))\n"
1701   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1702   "\n"
1703   "   (signature vec4\n"
1704   "     (parameters\n"
1705   "       (declare (in) vec4  arg0)\n"
1706   "       (declare (in) float arg1))\n"
1707   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1708   "\n"
1709   "   (signature int\n"
1710   "     (parameters\n"
1711   "       (declare (in) int arg0)\n"
1712   "       (declare (in) int arg1))\n"
1713   "     ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1714   "\n"
1715   "   (signature ivec2\n"
1716   "     (parameters\n"
1717   "       (declare (in) ivec2 arg0)\n"
1718   "       (declare (in) ivec2 arg1))\n"
1719   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1720   "\n"
1721   "   (signature ivec3\n"
1722   "     (parameters\n"
1723   "       (declare (in) ivec3 arg0)\n"
1724   "       (declare (in) ivec3 arg1))\n"
1725   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1726   "\n"
1727   "   (signature ivec4\n"
1728   "     (parameters\n"
1729   "       (declare (in) ivec4 arg0)\n"
1730   "       (declare (in) ivec4 arg1))\n"
1731   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1732   "\n"
1733   "   (signature ivec2\n"
1734   "     (parameters\n"
1735   "       (declare (in) ivec2  arg0)\n"
1736   "       (declare (in) int arg1))\n"
1737   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1738   "\n"
1739   "   (signature ivec3\n"
1740   "     (parameters\n"
1741   "       (declare (in) ivec3  arg0)\n"
1742   "       (declare (in) int arg1))\n"
1743   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1744   "\n"
1745   "   (signature ivec4\n"
1746   "     (parameters\n"
1747   "       (declare (in) ivec4  arg0)\n"
1748   "       (declare (in) int arg1))\n"
1749   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1750   "\n"
1751   "   (signature uint\n"
1752   "     (parameters\n"
1753   "       (declare (in) uint arg0)\n"
1754   "       (declare (in) uint arg1))\n"
1755   "     ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1756   "\n"
1757   "   (signature uvec2\n"
1758   "     (parameters\n"
1759   "       (declare (in) uvec2 arg0)\n"
1760   "       (declare (in) uvec2 arg1))\n"
1761   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1762   "\n"
1763   "   (signature uvec3\n"
1764   "     (parameters\n"
1765   "       (declare (in) uvec3 arg0)\n"
1766   "       (declare (in) uvec3 arg1))\n"
1767   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1768   "\n"
1769   "   (signature uvec4\n"
1770   "     (parameters\n"
1771   "       (declare (in) uvec4 arg0)\n"
1772   "       (declare (in) uvec4 arg1))\n"
1773   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1774   "\n"
1775   "   (signature uvec2\n"
1776   "     (parameters\n"
1777   "       (declare (in) uvec2  arg0)\n"
1778   "       (declare (in) uint arg1))\n"
1779   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1780   "\n"
1781   "   (signature uvec3\n"
1782   "     (parameters\n"
1783   "       (declare (in) uvec3  arg0)\n"
1784   "       (declare (in) uint arg1))\n"
1785   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1786   "\n"
1787   "   (signature uvec4\n"
1788   "     (parameters\n"
1789   "       (declare (in) uvec4  arg0)\n"
1790   "       (declare (in) uint arg1))\n"
1791   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1792   "))\n"
1793   ""
1794;
1795static const char builtin_mix[] =
1796   "((function mix\n"
1797   "   (signature float\n"
1798   "     (parameters\n"
1799   "       (declare (in) float arg0)\n"
1800   "       (declare (in) float arg1)\n"
1801   "       (declare (in) float arg2))\n"
1802   "     ((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"
1803   "\n"
1804   "   (signature vec2\n"
1805   "     (parameters\n"
1806   "       (declare (in) vec2 arg0)\n"
1807   "       (declare (in) vec2 arg1)\n"
1808   "       (declare (in) vec2 arg2))\n"
1809   "     ((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"
1810   "\n"
1811   "   (signature vec3\n"
1812   "     (parameters\n"
1813   "       (declare (in) vec3 arg0)\n"
1814   "       (declare (in) vec3 arg1)\n"
1815   "       (declare (in) vec3 arg2))\n"
1816   "     ((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"
1817   "\n"
1818   "   (signature vec4\n"
1819   "     (parameters\n"
1820   "       (declare (in) vec4 arg0)\n"
1821   "       (declare (in) vec4 arg1)\n"
1822   "       (declare (in) vec4 arg2))\n"
1823   "     ((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"
1824   "\n"
1825   "   (signature vec2\n"
1826   "     (parameters\n"
1827   "       (declare (in) vec2 arg0)\n"
1828   "       (declare (in) vec2 arg1)\n"
1829   "       (declare (in) float arg2))\n"
1830   "     ((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"
1831   "\n"
1832   "   (signature vec3\n"
1833   "     (parameters\n"
1834   "       (declare (in) vec3 arg0)\n"
1835   "       (declare (in) vec3 arg1)\n"
1836   "       (declare (in) float arg2))\n"
1837   "     ((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"
1838   "\n"
1839   "   (signature vec4\n"
1840   "     (parameters\n"
1841   "       (declare (in) vec4 arg0)\n"
1842   "       (declare (in) vec4 arg1)\n"
1843   "       (declare (in) float arg2))\n"
1844   "     ((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"
1845   "\n"
1846   "   (signature float\n"
1847   "     (parameters\n"
1848   "       (declare (in) float v1)\n"
1849   "       (declare (in) float v2)\n"
1850   "       (declare (in) bool  a))\n"
1851   "     ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1852   "      (return (var_ref v1))))\n"
1853   "\n"
1854   "   (signature vec2\n"
1855   "     (parameters\n"
1856   "       (declare (in) vec2 v1)\n"
1857   "       (declare (in) vec2 v2)\n"
1858   "       (declare (in) bvec2 a))\n"
1859   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1860   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1861   "      (return (var_ref v1))))\n"
1862   "\n"
1863   "   (signature vec3\n"
1864   "     (parameters\n"
1865   "       (declare (in) vec3 v1)\n"
1866   "       (declare (in) vec3 v2)\n"
1867   "       (declare (in) bvec3 a))\n"
1868   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1869   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1870   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1871   "      (return (var_ref v1))))\n"
1872   "\n"
1873   "   (signature vec4\n"
1874   "     (parameters\n"
1875   "       (declare (in) vec4 v1)\n"
1876   "       (declare (in) vec4 v2)\n"
1877   "       (declare (in) bvec4 a))\n"
1878   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1879   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1880   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1881   "      (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
1882   "      (return (var_ref v1))))\n"
1883   "))\n"
1884   ""
1885;
1886static const char builtin_mod[] =
1887   "((function mod\n"
1888   "   (signature float\n"
1889   "     (parameters\n"
1890   "       (declare (in) float arg0)\n"
1891   "       (declare (in) float arg1))\n"
1892   "     ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1893   "\n"
1894   "   (signature vec2\n"
1895   "     (parameters\n"
1896   "       (declare (in) vec2 arg0)\n"
1897   "       (declare (in) vec2 arg1))\n"
1898   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1899   "\n"
1900   "   (signature vec3\n"
1901   "     (parameters\n"
1902   "       (declare (in) vec3 arg0)\n"
1903   "       (declare (in) vec3 arg1))\n"
1904   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1905   "\n"
1906   "   (signature vec4\n"
1907   "     (parameters\n"
1908   "       (declare (in) vec4 arg0)\n"
1909   "       (declare (in) vec4 arg1))\n"
1910   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1911   "\n"
1912   "   (signature vec2\n"
1913   "     (parameters\n"
1914   "       (declare (in) vec2  arg0)\n"
1915   "       (declare (in) float arg1))\n"
1916   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1917   "\n"
1918   "   (signature vec3\n"
1919   "     (parameters\n"
1920   "       (declare (in) vec3  arg0)\n"
1921   "       (declare (in) float arg1))\n"
1922   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1923   "\n"
1924   "   (signature vec4\n"
1925   "     (parameters\n"
1926   "       (declare (in) vec4  arg0)\n"
1927   "       (declare (in) float arg1))\n"
1928   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1929   "))\n"
1930   ""
1931;
1932static const char builtin_modf[] =
1933   "((function modf\n"
1934   "   (signature float\n"
1935   "     (parameters\n"
1936   "       (declare (in)  float x)\n"
1937   "       (declare (out) float i))\n"
1938   "     ((declare () float t)\n"
1939   "      (assign (constant bool (1)) (x) (var_ref t)\n"
1940   "                                      (expression float trunc (var_ref x)))\n"
1941   "      (assign (constant bool (1)) (x) (var_ref i) (var_ref t))\n"
1942   "      (return (expression float - (var_ref x) (var_ref t)))))\n"
1943   "\n"
1944   "   (signature vec2\n"
1945   "     (parameters\n"
1946   "       (declare (in)  vec2 x)\n"
1947   "       (declare (out) vec2 i))\n"
1948   "     ((declare () vec2 t)\n"
1949   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
1950   "                                       (expression vec2 trunc (var_ref x)))\n"
1951   "      (assign (constant bool (1)) (xy) (var_ref i) (var_ref t))\n"
1952   "      (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
1953   "\n"
1954   "   (signature vec3\n"
1955   "     (parameters\n"
1956   "       (declare (in)  vec3 x)\n"
1957   "       (declare (out) vec3 i))\n"
1958   "     ((declare () vec3 t)\n"
1959   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
1960   "                                        (expression vec3 trunc (var_ref x)))\n"
1961   "      (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t))\n"
1962   "      (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
1963   "\n"
1964   "   (signature vec4\n"
1965   "     (parameters\n"
1966   "       (declare (in)  vec4 x)\n"
1967   "       (declare (out) vec4 i))\n"
1968   "     ((declare () vec4 t)\n"
1969   "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
1970   "                                         (expression vec4 trunc (var_ref x)))\n"
1971   "      (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t))\n"
1972   "      (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
1973   "))\n"
1974   ""
1975;
1976static const char builtin_noise1[] =
1977   "((function noise1\n"
1978   "   (signature float\n"
1979   "     (parameters\n"
1980   "       (declare (in) float x))\n"
1981   "     ((return (expression float noise (var_ref x)))))\n"
1982   "   (signature float\n"
1983   "     (parameters\n"
1984   "       (declare (in) vec2 x))\n"
1985   "     ((return (expression float noise (var_ref x)))))\n"
1986   "   (signature float\n"
1987   "     (parameters\n"
1988   "       (declare (in) vec3 x))\n"
1989   "     ((return (expression float noise (var_ref x)))))\n"
1990   "   (signature float\n"
1991   "     (parameters\n"
1992   "       (declare (in) vec4 x))\n"
1993   "     ((return (expression float noise (var_ref x)))))\n"
1994   "))\n"
1995   ""
1996;
1997static const char builtin_noise2[] =
1998   "((function noise2\n"
1999   "  (signature vec2\n"
2000   "    (parameters (declare (in) vec4 p))\n"
2001   "    (\n"
2002   "      (declare () float a)\n"
2003   "      (declare () float b)\n"
2004   "      (declare () vec2 t)\n"
2005   "\n"
2006   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2007   "      (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"
2008   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2009   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2010   "      (return (var_ref t))\n"
2011   "    ))\n"
2012   "\n"
2013   "  (signature vec2\n"
2014   "    (parameters (declare (in) vec3 p))\n"
2015   "    (\n"
2016   "      (declare () float a)\n"
2017   "      (declare () float b)\n"
2018   "      (declare () vec2 t)\n"
2019   "\n"
2020   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2021   "      (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"
2022   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2023   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2024   "      (return (var_ref t))\n"
2025   "    ))\n"
2026   "\n"
2027   "  (signature vec2\n"
2028   "    (parameters\n"
2029   "      (declare (in ) vec2 p)\n"
2030   "    )\n"
2031   "    (\n"
2032   "      (declare () float a)\n"
2033   "      (declare () float b)\n"
2034   "      (declare () vec2 t)\n"
2035   "\n"
2036   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2037   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2038   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2039   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2040   "      (return (var_ref t))\n"
2041   "    ))\n"
2042   "\n"
2043   "  (signature vec2\n"
2044   "    (parameters\n"
2045   "      (declare (in ) float p)\n"
2046   "    )\n"
2047   "    (\n"
2048   "      (declare () float a)\n"
2049   "      (declare () float b)\n"
2050   "      (declare () vec2 t)\n"
2051   "\n"
2052   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2053   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2054   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2055   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2056   "      (return (var_ref t))\n"
2057   "    ))\n"
2058   "))\n"
2059   ""
2060;
2061static const char builtin_noise3[] =
2062   "((function noise3\n"
2063   "  (signature vec3\n"
2064   "    (parameters (declare (in) vec4 p))\n"
2065   "    (\n"
2066   "      (declare () float a)\n"
2067   "      (declare () float b)\n"
2068   "      (declare () float c)\n"
2069   "      (declare () vec3 t)\n"
2070   "\n"
2071   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2072   "      (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"
2073   "      (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"
2074   "\n"
2075   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2076   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2077   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2078   "      (return (var_ref t))\n"
2079   "    ))\n"
2080   "\n"
2081   "  (signature vec3\n"
2082   "    (parameters (declare (in) vec3 p))\n"
2083   "    (\n"
2084   "      (declare () float a)\n"
2085   "      (declare () float b)\n"
2086   "      (declare () float c)\n"
2087   "      (declare () vec3 t)\n"
2088   "\n"
2089   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2090   "      (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"
2091   "      (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"
2092   "\n"
2093   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2094   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2095   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2096   "      (return (var_ref t))\n"
2097   "    ))\n"
2098   "\n"
2099   "  (signature vec3\n"
2100   "    (parameters (declare (in) vec2 p))\n"
2101   "    (\n"
2102   "      (declare () float a)\n"
2103   "      (declare () float b)\n"
2104   "      (declare () float c)\n"
2105   "      (declare () vec3 t)\n"
2106   "\n"
2107   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2108   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2109   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2110   "\n"
2111   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2112   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2113   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2114   "      (return (var_ref t))\n"
2115   "    ))\n"
2116   "\n"
2117   "  (signature vec3\n"
2118   "    (parameters (declare (in) float p))\n"
2119   "    (\n"
2120   "      (declare () float a)\n"
2121   "      (declare () float b)\n"
2122   "      (declare () float c)\n"
2123   "      (declare () vec3 t)\n"
2124   "\n"
2125   "      (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2126   "      (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2127   "      (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2128   "\n"
2129   "      (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2130   "      (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2131   "      (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2132   "      (return (var_ref t))\n"
2133   "    ))\n"
2134   "))\n"
2135   ""
2136;
2137static const char builtin_noise4[] =
2138   "((function noise4\n"
2139   "  (signature vec4\n"
2140   "    (parameters (declare (in) vec4 p))\n"
2141   "    (\n"
2142   "      (declare () float _x)\n"
2143   "      (declare () float _y)\n"
2144   "      (declare () float _z)\n"
2145   "      (declare () float _w)\n"
2146   "      (declare () vec4 _r)\n"
2147   "\n"
2148   "      (declare () vec4 _p)\n"
2149   "      (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2150   "\n"
2151   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2152   "      (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"
2153   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2154   "      (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"
2155   "\n"
2156   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2157   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2158   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2159   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2160   "      (return (var_ref _r))\n"
2161   "    ))\n"
2162   "\n"
2163   "  (signature vec4\n"
2164   "    (parameters (declare (in) vec3 p))\n"
2165   "    (\n"
2166   "      (declare () float _x)\n"
2167   "      (declare () float _y)\n"
2168   "      (declare () float _z)\n"
2169   "      (declare () float _w)\n"
2170   "      (declare () vec4 _r)\n"
2171   "\n"
2172   "      (declare () vec3 _p)\n"
2173   "      (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2174   "\n"
2175   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2176   "      (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"
2177   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2178   "      (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"
2179   "\n"
2180   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2181   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2182   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2183   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2184   "      (return (var_ref _r))\n"
2185   "    ))\n"
2186   "\n"
2187   "  (signature vec4\n"
2188   "    (parameters (declare (in) vec2 p))\n"
2189   "    (\n"
2190   "      (declare () float _x)\n"
2191   "      (declare () float _y)\n"
2192   "      (declare () float _z)\n"
2193   "      (declare () float _w)\n"
2194   "      (declare () vec4 _r)\n"
2195   "\n"
2196   "      (declare () vec2 _p)\n"
2197   "      (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2198   "\n"
2199   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2200   "      (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2201   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2202   "      (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2203   "\n"
2204   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2205   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2206   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2207   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2208   "      (return (var_ref _r))\n"
2209   "    ))\n"
2210   "\n"
2211   "  (signature vec4\n"
2212   "    (parameters (declare (in) float p))\n"
2213   "    (\n"
2214   "      (declare () float _x)\n"
2215   "      (declare () float _y)\n"
2216   "      (declare () float _z)\n"
2217   "      (declare () float _w)\n"
2218   "      (declare () vec4 _r)\n"
2219   "\n"
2220   "      (declare () float _p)\n"
2221   "      (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
2222   "\n"
2223   "      (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2224   "      (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"
2225   "      (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2226   "      (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"
2227   "\n"
2228   "      (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2229   "      (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2230   "      (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2231   "      (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2232   "      (return (var_ref _r))\n"
2233   "    ))\n"
2234   "))\n"
2235   ""
2236;
2237static const char builtin_normalize[] =
2238   "((function normalize\n"
2239   "   (signature float\n"
2240   "     (parameters\n"
2241   "       (declare (in) float arg0))\n"
2242   "     ((return (expression float sign (var_ref arg0)))))\n"
2243   "\n"
2244   "   (signature vec2\n"
2245   "     (parameters\n"
2246   "       (declare (in) vec2 arg0))\n"
2247   "     ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2248   "\n"
2249   "   (signature vec3\n"
2250   "     (parameters\n"
2251   "       (declare (in) vec3 arg0))\n"
2252   "     ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2253   "\n"
2254   "   (signature vec4\n"
2255   "     (parameters\n"
2256   "       (declare (in) vec4 arg0))\n"
2257   "     ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2258   "))\n"
2259   ""
2260;
2261static const char builtin_not[] =
2262   "((function not\n"
2263   "   (signature bvec2\n"
2264   "     (parameters\n"
2265   "       (declare (in) bvec2 arg0))\n"
2266   "     ((return (expression bvec2 ! (var_ref arg0)))))\n"
2267   "\n"
2268   "   (signature bvec3\n"
2269   "     (parameters\n"
2270   "       (declare (in) bvec3 arg0))\n"
2271   "     ((return (expression bvec3 ! (var_ref arg0)))))\n"
2272   "\n"
2273   "   (signature bvec4\n"
2274   "     (parameters\n"
2275   "       (declare (in) bvec4 arg0))\n"
2276   "     ((return (expression bvec4 ! (var_ref arg0)))))\n"
2277   "))\n"
2278   ""
2279;
2280static const char builtin_notEqual[] =
2281   "((function notEqual\n"
2282   "   (signature bvec2\n"
2283   "     (parameters\n"
2284   "       (declare (in) vec2 arg0)\n"
2285   "       (declare (in) vec2 arg1))\n"
2286   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2287   "\n"
2288   "   (signature bvec3\n"
2289   "     (parameters\n"
2290   "       (declare (in) vec3 arg0)\n"
2291   "       (declare (in) vec3 arg1))\n"
2292   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2293   "\n"
2294   "   (signature bvec4\n"
2295   "     (parameters\n"
2296   "       (declare (in) vec4 arg0)\n"
2297   "       (declare (in) vec4 arg1))\n"
2298   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2299   "\n"
2300   "   (signature bvec2\n"
2301   "     (parameters\n"
2302   "       (declare (in) bvec2 arg0)\n"
2303   "       (declare (in) bvec2 arg1))\n"
2304   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2305   "\n"
2306   "   (signature bvec3\n"
2307   "     (parameters\n"
2308   "       (declare (in) bvec3 arg0)\n"
2309   "       (declare (in) bvec3 arg1))\n"
2310   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2311   "\n"
2312   "   (signature bvec4\n"
2313   "     (parameters\n"
2314   "       (declare (in) bvec4 arg0)\n"
2315   "       (declare (in) bvec4 arg1))\n"
2316   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2317   "\n"
2318   "   (signature bvec2\n"
2319   "     (parameters\n"
2320   "       (declare (in) ivec2 arg0)\n"
2321   "       (declare (in) ivec2 arg1))\n"
2322   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2323   "\n"
2324   "   (signature bvec3\n"
2325   "     (parameters\n"
2326   "       (declare (in) ivec3 arg0)\n"
2327   "       (declare (in) ivec3 arg1))\n"
2328   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2329   "\n"
2330   "   (signature bvec4\n"
2331   "     (parameters\n"
2332   "       (declare (in) ivec4 arg0)\n"
2333   "       (declare (in) ivec4 arg1))\n"
2334   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2335   "\n"
2336   "   (signature bvec2\n"
2337   "     (parameters\n"
2338   "       (declare (in) uvec2 arg0)\n"
2339   "       (declare (in) uvec2 arg1))\n"
2340   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2341   "\n"
2342   "   (signature bvec3\n"
2343   "     (parameters\n"
2344   "       (declare (in) uvec3 arg0)\n"
2345   "       (declare (in) uvec3 arg1))\n"
2346   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2347   "\n"
2348   "   (signature bvec4\n"
2349   "     (parameters\n"
2350   "       (declare (in) uvec4 arg0)\n"
2351   "       (declare (in) uvec4 arg1))\n"
2352   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2353   "))\n"
2354   ""
2355;
2356static const char builtin_outerProduct[] =
2357   "((function outerProduct\n"
2358   "   (signature mat2\n"
2359   "     (parameters\n"
2360   "       (declare (in) vec2 u)\n"
2361   "       (declare (in) vec2 v))\n"
2362   "     ((declare () mat2 m)\n"
2363   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2364   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2365   "      (return (var_ref m))))\n"
2366   "\n"
2367   "   (signature mat2x3\n"
2368   "     (parameters\n"
2369   "       (declare (in) vec3 u)\n"
2370   "       (declare (in) vec2 v))\n"
2371   "     ((declare () mat2x3 m)\n"
2372   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2373   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2374   "      (return (var_ref m))))\n"
2375   "\n"
2376   "   (signature mat2x4\n"
2377   "     (parameters\n"
2378   "       (declare (in) vec4 u)\n"
2379   "       (declare (in) vec2 v))\n"
2380   "     ((declare () mat2x4 m)\n"
2381   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2382   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2383   "      (return (var_ref m))))\n"
2384   "\n"
2385   "   (signature mat3x2\n"
2386   "     (parameters\n"
2387   "       (declare (in) vec2 u)\n"
2388   "       (declare (in) vec3 v))\n"
2389   "     ((declare () mat3x2 m)\n"
2390   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2391   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2392   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2393   "      (return (var_ref m))\n"
2394   " ))\n"
2395   "\n"
2396   "   (signature mat3\n"
2397   "     (parameters\n"
2398   "       (declare (in) vec3 u)\n"
2399   "       (declare (in) vec3 v))\n"
2400   "     ((declare () mat3 m)\n"
2401   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2402   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2403   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2404   "      (return (var_ref m))))\n"
2405   "\n"
2406   "   (signature mat3x4\n"
2407   "     (parameters\n"
2408   "       (declare (in) vec4 u)\n"
2409   "       (declare (in) vec3 v))\n"
2410   "     ((declare () mat3x4 m)\n"
2411   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2412   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2413   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2414   "      (return (var_ref m))))\n"
2415   "\n"
2416   "   (signature mat4x2\n"
2417   "     (parameters\n"
2418   "       (declare (in) vec2 u)\n"
2419   "       (declare (in) vec4 v))\n"
2420   "     ((declare () mat4x2 m)\n"
2421   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2422   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2423   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2424   "      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2425   "      (return (var_ref m))))\n"
2426   "\n"
2427   "   (signature mat4x3\n"
2428   "     (parameters\n"
2429   "       (declare (in) vec3 u)\n"
2430   "       (declare (in) vec4 v))\n"
2431   "     ((declare () mat4x3 m)\n"
2432   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2433   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2434   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2435   "      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2436   "      (return (var_ref m))))\n"
2437   "\n"
2438   "   (signature mat4\n"
2439   "     (parameters\n"
2440   "       (declare (in) vec4 u)\n"
2441   "       (declare (in) vec4 v))\n"
2442   "     ((declare () mat4 m)\n"
2443   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2444   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2445   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2446   "      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2447   "      (return (var_ref m))))\n"
2448   "))\n"
2449   ""
2450;
2451static const char builtin_pow[] =
2452   "((function pow\n"
2453   "   (signature float\n"
2454   "     (parameters\n"
2455   "       (declare (in) float arg0)\n"
2456   "       (declare (in) float arg1))\n"
2457   "     ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2458   "\n"
2459   "   (signature vec2\n"
2460   "     (parameters\n"
2461   "       (declare (in) vec2 b)\n"
2462   "       (declare (in) vec2 e))\n"
2463   "      	(\n"
2464   "			(declare () vec2 ret)\n"
2465   "			(assign (constant bool (1)) (x) (var_ref ret) (call pow ((swiz x (var_ref b)) (swiz x (var_ref e)) )))\n"
2466   "			(assign (constant bool (1)) (y) (var_ref ret) (call pow ((swiz y (var_ref b)) (swiz y (var_ref e)) )))\n"
2467   "			(return (var_ref ret))\n"
2468   "		)\n"
2469   "	)\n"
2470   "\n"
2471   "   (signature vec3\n"
2472   "     (parameters\n"
2473   "       (declare (in) vec3 b)\n"
2474   "       (declare (in) vec3 e))\n"
2475   "      	(\n"
2476   "			(declare () vec3 ret)\n"
2477   "			(assign (constant bool (1)) (x) (var_ref ret) (call pow ((swiz x (var_ref b)) (swiz x (var_ref e)) )))\n"
2478   "			(assign (constant bool (1)) (y) (var_ref ret) (call pow ((swiz y (var_ref b)) (swiz y (var_ref e)) )))\n"
2479   "			(assign (constant bool (1)) (z) (var_ref ret) (call pow ((swiz z (var_ref b)) (swiz z (var_ref e)) )))\n"
2480   "			(return (var_ref ret))\n"
2481   "		)\n"
2482   "	)\n"
2483   "\n"
2484   "	(signature vec4\n"
2485   "     (parameters\n"
2486   "       (declare (in) vec4 b)\n"
2487   "       (declare (in) vec4 e))\n"
2488   "      	(\n"
2489   "			(declare () vec4 ret)\n"
2490   "			(assign (constant bool (1)) (x) (var_ref ret) (call pow ((swiz x (var_ref b)) (swiz x (var_ref e)) )))\n"
2491   "			(assign (constant bool (1)) (y) (var_ref ret) (call pow ((swiz y (var_ref b)) (swiz y (var_ref e)) )))\n"
2492   "			(assign (constant bool (1)) (z) (var_ref ret) (call pow ((swiz z (var_ref b)) (swiz z (var_ref e)) )))\n"
2493   "			(assign (constant bool (1)) (w) (var_ref ret) (call pow ((swiz w (var_ref b)) (swiz w (var_ref e)) )))\n"
2494   "			(return (var_ref ret))\n"
2495   "		)\n"
2496   "	)\n"
2497   "))\n"
2498   ""
2499;
2500static const char builtin_radians[] =
2501   "((function radians\n"
2502   "   (signature float\n"
2503   "     (parameters\n"
2504   "       (declare (in) float arg0))\n"
2505   "     ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2506   "\n"
2507   "   (signature vec2\n"
2508   "     (parameters\n"
2509   "       (declare (in) vec2 arg0))\n"
2510   "     ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2511   "\n"
2512   "   (signature vec3\n"
2513   "     (parameters\n"
2514   "       (declare (in) vec3 arg0))\n"
2515   "     ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2516   "\n"
2517   "   (signature vec4\n"
2518   "     (parameters\n"
2519   "       (declare (in) vec4 arg0))\n"
2520   "     ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2521   "))\n"
2522   ""
2523;
2524static const char builtin_reflect[] =
2525   "((function reflect\n"
2526   "   (signature float\n"
2527   "     (parameters\n"
2528   "       (declare (in) float i)\n"
2529   "       (declare (in) float n))\n"
2530   "     ((return (expression float -\n"
2531   "	       (var_ref i)\n"
2532   "	       (expression float *\n"
2533   "		(constant float (2.0))\n"
2534   "		(expression float *\n"
2535   "		 (expression float *\n"
2536   "		  (var_ref n)\n"
2537   "		  (var_ref i))\n"
2538   "		 (var_ref n)))))))\n"
2539   "\n"
2540   "   (signature vec2\n"
2541   "     (parameters\n"
2542   "       (declare (in) vec2 i)\n"
2543   "       (declare (in) vec2 n))\n"
2544   "     ((return (expression vec2 -\n"
2545   "	       (var_ref i)\n"
2546   "	       (expression vec2 *\n"
2547   "		(constant float (2.0))\n"
2548   "		(expression vec2 *\n"
2549   "		 (expression float dot\n"
2550   "		  (var_ref n)\n"
2551   "		  (var_ref i))\n"
2552   "		 (var_ref n)))))))\n"
2553   "\n"
2554   "   (signature vec3\n"
2555   "     (parameters\n"
2556   "       (declare (in) vec3 i)\n"
2557   "       (declare (in) vec3 n))\n"
2558   "     ((return (expression vec3 -\n"
2559   "	       (var_ref i)\n"
2560   "	       (expression vec3 *\n"
2561   "		(constant float (2.0))\n"
2562   "		(expression vec3 *\n"
2563   "		 (expression float dot\n"
2564   "		  (var_ref n)\n"
2565   "		  (var_ref i))\n"
2566   "		 (var_ref n)))))))\n"
2567   "\n"
2568   "   (signature vec4\n"
2569   "     (parameters\n"
2570   "       (declare (in) vec4 i)\n"
2571   "       (declare (in) vec4 n))\n"
2572   "     ((return (expression vec4 -\n"
2573   "	       (var_ref i)\n"
2574   "	       (expression vec4 *\n"
2575   "		(constant float (2.0))\n"
2576   "		(expression vec4 *\n"
2577   "		 (expression float dot\n"
2578   "		  (var_ref n)\n"
2579   "		  (var_ref i))\n"
2580   "		 (var_ref n)))))))\n"
2581   "\n"
2582   "))\n"
2583   ""
2584;
2585static const char builtin_refract[] =
2586   "((function refract\n"
2587   "   (signature float\n"
2588   "     (parameters\n"
2589   "       (declare (in) float i)\n"
2590   "       (declare (in) float n)\n"
2591   "       (declare (in) float eta))\n"
2592   "     ((declare () float k)\n"
2593   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2594   "              (expression float - (constant float (1.0))\n"
2595   "	        (expression float * (var_ref eta)\n"
2596   "	          (expression float * (var_ref eta)\n"
2597   "		    (expression float - (constant float (1.0))\n"
2598   "		      (expression float * \n"
2599   "		        (expression float * (var_ref n) (var_ref i))\n"
2600   "		        (expression float * (var_ref n) (var_ref i))))))))\n"
2601   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2602   "          ((return (constant float (0.0))))\n"
2603   "	  ((return (expression float -\n"
2604   "	             (expression float * (var_ref eta) (var_ref i))\n"
2605   "		     (expression float *\n"
2606   "		       (expression float +\n"
2607   "		         (expression float * (var_ref eta)\n"
2608   "			   (expression float * (var_ref n) (var_ref i)))\n"
2609   "		         (expression float sqrt (var_ref k)))\n"
2610   "		       (var_ref n))))))))\n"
2611   "\n"
2612   "   (signature vec2\n"
2613   "     (parameters\n"
2614   "       (declare (in) vec2 i)\n"
2615   "       (declare (in) vec2 n)\n"
2616   "       (declare (in) float eta))\n"
2617   "     ((declare () float k)\n"
2618   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2619   "              (expression float - (constant float (1.0))\n"
2620   "	        (expression float * (var_ref eta)\n"
2621   "	          (expression float * (var_ref eta)\n"
2622   "		    (expression float - (constant float (1.0))\n"
2623   "		      (expression float * \n"
2624   "		        (expression float dot (var_ref n) (var_ref i))\n"
2625   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2626   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2627   "          ((return (constant vec2 (0.0 0.0))))\n"
2628   "	  ((return (expression vec2 -\n"
2629   "	             (expression vec2 * (var_ref eta) (var_ref i))\n"
2630   "		     (expression vec2 *\n"
2631   "		       (expression float +\n"
2632   "		         (expression float * (var_ref eta)\n"
2633   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2634   "		         (expression float sqrt (var_ref k)))\n"
2635   "		       (var_ref n))))))))\n"
2636   "\n"
2637   "   (signature vec3\n"
2638   "     (parameters\n"
2639   "       (declare (in) vec3 i)\n"
2640   "       (declare (in) vec3 n)\n"
2641   "       (declare (in) float eta))\n"
2642   "     ((declare () float k)\n"
2643   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2644   "              (expression float - (constant float (1.0))\n"
2645   "	        (expression float * (var_ref eta)\n"
2646   "	          (expression float * (var_ref eta)\n"
2647   "		    (expression float - (constant float (1.0))\n"
2648   "		      (expression float * \n"
2649   "		        (expression float dot (var_ref n) (var_ref i))\n"
2650   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2651   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2652   "          ((return (constant vec3 (0.0 0.0 0.0))))\n"
2653   "	  ((return (expression vec3 -\n"
2654   "	             (expression vec3 * (var_ref eta) (var_ref i))\n"
2655   "		     (expression vec3 *\n"
2656   "		       (expression float +\n"
2657   "		         (expression float * (var_ref eta)\n"
2658   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2659   "		         (expression float sqrt (var_ref k)))\n"
2660   "		       (var_ref n))))))))\n"
2661   "\n"
2662   "   (signature vec4\n"
2663   "     (parameters\n"
2664   "       (declare (in) vec4 i)\n"
2665   "       (declare (in) vec4 n)\n"
2666   "       (declare (in) float eta))\n"
2667   "     ((declare () float k)\n"
2668   "      (assign (constant bool (1)) (x) (var_ref k)\n"
2669   "              (expression float - (constant float (1.0))\n"
2670   "	        (expression float * (var_ref eta)\n"
2671   "	          (expression float * (var_ref eta)\n"
2672   "		    (expression float - (constant float (1.0))\n"
2673   "		      (expression float * \n"
2674   "		        (expression float dot (var_ref n) (var_ref i))\n"
2675   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2676   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2677   "          ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2678   "	  ((return (expression vec4 -\n"
2679   "	             (expression vec4 * (var_ref eta) (var_ref i))\n"
2680   "		     (expression vec4 *\n"
2681   "		       (expression float +\n"
2682   "		         (expression float * (var_ref eta)\n"
2683   "			   (expression float dot (var_ref n) (var_ref i)))\n"
2684   "		         (expression float sqrt (var_ref k)))\n"
2685   "		       (var_ref n))))))))\n"
2686   "\n"
2687   "))\n"
2688   ""
2689;
2690static const char builtin_round[] =
2691   "((function round\n"
2692   "   (signature float\n"
2693   "     (parameters\n"
2694   "       (declare (in) float arg0))\n"
2695   "     ((return (expression float round_even (var_ref arg0)))))\n"
2696   "\n"
2697   "   (signature vec2\n"
2698   "     (parameters\n"
2699   "       (declare (in) vec2 arg0))\n"
2700   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
2701   "\n"
2702   "   (signature vec3\n"
2703   "     (parameters\n"
2704   "       (declare (in) vec3 arg0))\n"
2705   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
2706   "\n"
2707   "   (signature vec4\n"
2708   "     (parameters\n"
2709   "       (declare (in) vec4 arg0))\n"
2710   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
2711   "))\n"
2712   ""
2713;
2714static const char builtin_roundEven[] =
2715   "((function roundEven\n"
2716   "   (signature float\n"
2717   "     (parameters\n"
2718   "       (declare (in) float arg0))\n"
2719   "     ((return (expression float round_even (var_ref arg0)))))\n"
2720   "\n"
2721   "   (signature vec2\n"
2722   "     (parameters\n"
2723   "       (declare (in) vec2 arg0))\n"
2724   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
2725   "\n"
2726   "   (signature vec3\n"
2727   "     (parameters\n"
2728   "       (declare (in) vec3 arg0))\n"
2729   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
2730   "\n"
2731   "   (signature vec4\n"
2732   "     (parameters\n"
2733   "       (declare (in) vec4 arg0))\n"
2734   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
2735   "))\n"
2736   ""
2737;
2738static const char builtin_shadow1D[] =
2739   "((function shadow1D\n"
2740   "   (signature vec4\n"
2741   "     (parameters\n"
2742   "       (declare (in) sampler1DShadow sampler)\n"
2743   "       (declare (in) vec3 P) )\n"
2744   "     ((return (tex (var_ref sampler) (swiz x (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) sampler1DShadow sampler)\n"
2749   "       (declare (in) vec3 P) \n"
2750   "       (declare (in) float bias) )\n"
2751   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2752   "\n"
2753   "))\n"
2754   ""
2755;
2756static const char builtin_shadow1DArray[] =
2757   "((function shadow1DArray\n"
2758   "   (signature vec4\n"
2759   "     (parameters\n"
2760   "       (declare (in) sampler1DArrayShadow sampler)\n"
2761   "       (declare (in) vec3 P) )\n"
2762   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2763   "\n"
2764   "   (signature vec4\n"
2765   "     (parameters\n"
2766   "       (declare (in) sampler1DArrayShadow sampler)\n"
2767   "       (declare (in) vec3 P) \n"
2768   "       (declare (in) float bias) )\n"
2769   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2770   "\n"
2771   "))\n"
2772   ""
2773;
2774static const char builtin_shadow1DArrayLod[] =
2775   "((function shadow1DArrayLod\n"
2776   "   (signature vec4\n"
2777   "     (parameters\n"
2778   "       (declare (in) sampler1DArrayShadow sampler)\n"
2779   "       (declare (in) vec3 P) \n"
2780   "       (declare (in) float lod) )\n"
2781   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2782   "\n"
2783   "))\n"
2784   ""
2785;
2786static const char builtin_shadow1DLod[] =
2787   "((function shadow1DLod\n"
2788   "   (signature vec4\n"
2789   "     (parameters\n"
2790   "       (declare (in) sampler1DShadow sampler)\n"
2791   "       (declare (in) vec3 P) \n"
2792   "       (declare (in) float lod) )\n"
2793   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2794   "\n"
2795   "))\n"
2796   ""
2797;
2798static const char builtin_shadow1DProj[] =
2799   "((function shadow1DProj\n"
2800   "   (signature vec4\n"
2801   "     (parameters\n"
2802   "       (declare (in) sampler1DShadow sampler)\n"
2803   "       (declare (in) vec4 P) )\n"
2804   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2805   "\n"
2806   "   (signature vec4\n"
2807   "     (parameters\n"
2808   "       (declare (in) sampler1DShadow sampler)\n"
2809   "       (declare (in) vec4 P) \n"
2810   "       (declare (in) float bias) )\n"
2811   "     ((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"
2812   "\n"
2813   "))\n"
2814   ""
2815;
2816static const char builtin_shadow1DProjLod[] =
2817   "((function shadow1DProjLod\n"
2818   "   (signature vec4\n"
2819   "     (parameters\n"
2820   "       (declare (in) sampler1DShadow sampler)\n"
2821   "       (declare (in) vec4 P) \n"
2822   "       (declare (in) float lod) )\n"
2823   "     ((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"
2824   "\n"
2825   "))\n"
2826   ""
2827;
2828static const char builtin_shadow2D[] =
2829   "((function shadow2D\n"
2830   "   (signature vec4\n"
2831   "     (parameters\n"
2832   "       (declare (in) sampler2DShadow sampler)\n"
2833   "       (declare (in) vec3 P) )\n"
2834   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2835   "\n"
2836   "   (signature vec4\n"
2837   "     (parameters\n"
2838   "       (declare (in) sampler2DShadow sampler)\n"
2839   "       (declare (in) vec3 P) \n"
2840   "       (declare (in) float bias) )\n"
2841   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2842   "\n"
2843   "))\n"
2844   ""
2845;
2846static const char builtin_shadow2DArray[] =
2847   "((function shadow2DArray\n"
2848   "   (signature vec4\n"
2849   "     (parameters\n"
2850   "       (declare (in) sampler2DArrayShadow sampler)\n"
2851   "       (declare (in) vec4 P) )\n"
2852   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2853   "\n"
2854   "))\n"
2855   ""
2856;
2857static const char builtin_shadow2DLod[] =
2858   "((function shadow2DLod\n"
2859   "   (signature vec4\n"
2860   "     (parameters\n"
2861   "       (declare (in) sampler2DShadow sampler)\n"
2862   "       (declare (in) vec3 P) \n"
2863   "       (declare (in) float lod) )\n"
2864   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2865   "\n"
2866   "))\n"
2867   ""
2868;
2869static const char builtin_shadow2DProj[] =
2870   "((function shadow2DProj\n"
2871   "   (signature vec4\n"
2872   "     (parameters\n"
2873   "       (declare (in) sampler2DShadow sampler)\n"
2874   "       (declare (in) vec4 P) )\n"
2875   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2876   "\n"
2877   "   (signature vec4\n"
2878   "     (parameters\n"
2879   "       (declare (in) sampler2DShadow sampler)\n"
2880   "       (declare (in) vec4 P) \n"
2881   "       (declare (in) float bias) )\n"
2882   "     ((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"
2883   "\n"
2884   "))\n"
2885   ""
2886;
2887static const char builtin_shadow2DProjLod[] =
2888   "((function shadow2DProjLod\n"
2889   "   (signature vec4\n"
2890   "     (parameters\n"
2891   "       (declare (in) sampler2DShadow sampler)\n"
2892   "       (declare (in) vec4 P) \n"
2893   "       (declare (in) float lod) )\n"
2894   "     ((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"
2895   "\n"
2896   "))\n"
2897   ""
2898;
2899static const char builtin_shadow2DRect[] =
2900   "((function shadow2DRect\n"
2901   "   (signature vec4\n"
2902   "     (parameters\n"
2903   "       (declare (in) sampler2DRectShadow sampler)\n"
2904   "       (declare (in) vec3 P) )\n"
2905   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2906   "\n"
2907   "))\n"
2908   ""
2909;
2910static const char builtin_shadow2DRectProj[] =
2911   "((function shadow2DRectProj\n"
2912   "   (signature vec4\n"
2913   "     (parameters\n"
2914   "       (declare (in) sampler2DRectShadow sampler)\n"
2915   "       (declare (in) vec4 P) )\n"
2916   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2917   "\n"
2918   "))\n"
2919   ""
2920;
2921static const char builtin_sign[] =
2922   "((function sign\n"
2923   "   (signature float\n"
2924   "     (parameters\n"
2925   "       (declare (in) float x))\n"
2926   "     ((return (expression float sign (var_ref x)))))\n"
2927   "\n"
2928   "   (signature vec2\n"
2929   "     (parameters\n"
2930   "       (declare (in) vec2 x))\n"
2931   "     ((return (expression vec2 sign (var_ref x)))))\n"
2932   "\n"
2933   "   (signature vec3\n"
2934   "     (parameters\n"
2935   "       (declare (in) vec3 x))\n"
2936   "     ((return (expression vec3 sign (var_ref x)))))\n"
2937   "\n"
2938   "   (signature vec4\n"
2939   "     (parameters\n"
2940   "       (declare (in) vec4 x))\n"
2941   "     ((return (expression vec4 sign (var_ref x)))))\n"
2942   "\n"
2943   "   (signature int\n"
2944   "     (parameters\n"
2945   "       (declare (in) int x))\n"
2946   "     ((return (expression int sign (var_ref x)))))\n"
2947   "\n"
2948   "   (signature ivec2\n"
2949   "     (parameters\n"
2950   "       (declare (in) ivec2 x))\n"
2951   "     ((return (expression ivec2 sign (var_ref x)))))\n"
2952   "\n"
2953   "   (signature ivec3\n"
2954   "     (parameters\n"
2955   "       (declare (in) ivec3 x))\n"
2956   "     ((return (expression ivec3 sign (var_ref x)))))\n"
2957   "\n"
2958   "   (signature ivec4\n"
2959   "     (parameters\n"
2960   "       (declare (in) ivec4 x))\n"
2961   "     ((return (expression ivec4 sign (var_ref x)))))\n"
2962   "))\n"
2963   "\n"
2964   ""
2965;
2966static const char builtin_sin[] =
2967   "((function sin\n"
2968   "   (signature float\n"
2969   "     (parameters\n"
2970   "       (declare (in) float angle))\n"
2971   "		(\n"
2972   "			(return (expression float sin (var_ref angle)))\n"
2973   "		)\n"
2974   "	)\n"
2975   "\n"
2976   "   (signature vec2\n"
2977   "     (parameters\n"
2978   "       (declare (in) vec2 angle))\n"
2979   "      	(\n"
2980   "			(declare () vec2 ret)\n"
2981   "			(assign (constant bool (1)) (x) (var_ref ret) (call sin ((swiz x (var_ref angle)))))\n"
2982   "			(assign (constant bool (1)) (y) (var_ref ret) (call sin ((swiz y (var_ref angle)))))\n"
2983   "			(return (var_ref ret))\n"
2984   "		)\n"
2985   "	)\n"
2986   "\n"
2987   "   (signature vec3\n"
2988   "     (parameters\n"
2989   "       (declare (in) vec3 angle))\n"
2990   "		(\n"
2991   "			(declare () vec3 ret)\n"
2992   "			(assign (constant bool (1)) (x) (var_ref ret) (call sin ((swiz x (var_ref angle)))))\n"
2993   "			(assign (constant bool (1)) (y) (var_ref ret) (call sin ((swiz y (var_ref angle)))))\n"
2994   "			(assign (constant bool (1)) (z) (var_ref ret) (call sin ((swiz z (var_ref angle)))))\n"
2995   "			(return (var_ref ret))\n"
2996   "		)\n"
2997   "	)\n"
2998   "\n"
2999   "	(signature vec4\n"
3000   "		(parameters \n"
3001   "			(declare (in) vec4 angle))\n"
3002   "		(\n"
3003   "			(declare () vec4 ret)\n"
3004   "			(assign (constant bool (1)) (x) (var_ref ret) (call sin ((swiz x (var_ref angle)))))\n"
3005   "			(assign (constant bool (1)) (y) (var_ref ret) (call sin ((swiz y (var_ref angle)))))\n"
3006   "			(assign (constant bool (1)) (z) (var_ref ret) (call sin ((swiz z (var_ref angle)))))\n"
3007   "			(assign (constant bool (1)) (w) (var_ref ret) (call sin ((swiz w (var_ref angle)))))\n"
3008   "			(return (var_ref ret))\n"
3009   "		)\n"
3010   "	)\n"
3011   "))\n"
3012   ""
3013;
3014static const char builtin_sinh[] =
3015   "((function sinh\n"
3016   "   (signature float\n"
3017   "     (parameters\n"
3018   "       (declare (in) float x))\n"
3019   "     ((return (expression float * (constant float (0.5))\n"
3020   "                (expression float -\n"
3021   "		  (expression float exp (var_ref x))\n"
3022   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
3023   "   (signature vec2\n"
3024   "     (parameters\n"
3025   "       (declare (in) vec2 x))\n"
3026   "     ((return (expression vec2 * (constant vec2 (0.5))\n"
3027   "                (expression vec2 -\n"
3028   "		  (expression vec2 exp (var_ref x))\n"
3029   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3030   "   (signature vec3\n"
3031   "     (parameters\n"
3032   "       (declare (in) vec3 x))\n"
3033   "     ((return (expression vec3 * (constant vec3 (0.5))\n"
3034   "                (expression vec3 -\n"
3035   "		  (expression vec3 exp (var_ref x))\n"
3036   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3037   "   (signature vec4\n"
3038   "     (parameters\n"
3039   "       (declare (in) vec4 x))\n"
3040   "     ((return (expression vec4 * (constant vec4 (0.5))\n"
3041   "                (expression vec4 -\n"
3042   "		  (expression vec4 exp (var_ref x))\n"
3043   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3044   "))\n"
3045   ""
3046;
3047static const char builtin_smoothstep[] =
3048   "((function smoothstep\n"
3049   "   (signature float\n"
3050   "     (parameters\n"
3051   "       (declare (in) float edge0)\n"
3052   "       (declare (in) float edge1)\n"
3053   "       (declare (in) float x))\n"
3054   "     ((declare () float t)\n"
3055   "      (assign (constant bool (1)) (x) (var_ref t)\n"
3056   "              (expression float max\n"
3057   "	                  (expression float min\n"
3058   "	                              (expression float / (expression float - (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 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"
3062   "   (signature vec2\n"
3063   "     (parameters\n"
3064   "       (declare (in) float edge0)\n"
3065   "       (declare (in) float edge1)\n"
3066   "       (declare (in) vec2 x))\n"
3067   "     ((declare () vec2 t)\n"
3068   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
3069   "              (expression vec2 max\n"
3070   "	                  (expression vec2 min\n"
3071   "	                              (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3072   "	                              (constant float (1.0)))\n"
3073   "	                  (constant float (0.0))))\n"
3074   "      (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"
3075   "\n"
3076   "   (signature vec3\n"
3077   "     (parameters\n"
3078   "       (declare (in) float edge0)\n"
3079   "       (declare (in) float edge1)\n"
3080   "       (declare (in) vec3 x))\n"
3081   "     ((declare () vec3 t)\n"
3082   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
3083   "              (expression vec3 max\n"
3084   "	                  (expression vec3 min\n"
3085   "	                              (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3086   "	                              (constant float (1.0)))\n"
3087   "	                  (constant float (0.0))))\n"
3088   "      (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"
3089   "\n"
3090   "\n"
3091   "   (signature vec4\n"
3092   "     (parameters\n"
3093   "       (declare (in) float edge0)\n"
3094   "       (declare (in) float 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 float - (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   "   (signature vec2\n"
3106   "     (parameters\n"
3107   "       (declare (in) vec2 edge0)\n"
3108   "       (declare (in) vec2 edge1)\n"
3109   "       (declare (in) vec2 x))\n"
3110   "     ((declare () vec2 t)\n"
3111   "      (assign (constant bool (1)) (xy) (var_ref t)\n"
3112   "              (expression vec2 max\n"
3113   "                          (expression vec2 min\n"
3114   "                                      (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3115   "                                      (constant float (1.0)))\n"
3116   "                          (constant float (0.0))))\n"
3117   "      (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"
3118   "\n"
3119   "   (signature vec3\n"
3120   "     (parameters\n"
3121   "       (declare (in) vec3 edge0)\n"
3122   "       (declare (in) vec3 edge1)\n"
3123   "       (declare (in) vec3 x))\n"
3124   "     ((declare () vec3 t)\n"
3125   "      (assign (constant bool (1)) (xyz) (var_ref t)\n"
3126   "              (expression vec3 max\n"
3127   "                          (expression vec3 min\n"
3128   "                                      (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3129   "                                      (constant float (1.0)))\n"
3130   "                          (constant float (0.0))))\n"
3131   "      (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"
3132   "\n"
3133   "   (signature vec4\n"
3134   "     (parameters\n"
3135   "       (declare (in) vec4 edge0)\n"
3136   "       (declare (in) vec4 edge1)\n"
3137   "       (declare (in) vec4 x))\n"
3138   "     ((declare () vec4 t)\n"
3139   "      (assign (constant bool (1)) (xyzw) (var_ref t)\n"
3140   "              (expression vec4 max\n"
3141   "                          (expression vec4 min\n"
3142   "                                      (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3143   "                                      (constant float (1.0)))\n"
3144   "                          (constant float (0.0))))\n"
3145   "      (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"
3146   "))\n"
3147   "\n"
3148   ""
3149;
3150static const char builtin_sqrt[] =
3151   "((function sqrt\n"
3152   "   (signature float\n"
3153   "     (parameters\n"
3154   "       (declare (in) float arg0))\n"
3155   "     ((return (expression float sqrt (var_ref arg0)))))\n"
3156   "\n"
3157   "   (signature vec2\n"
3158   "     (parameters\n"
3159   "       (declare (in) vec2 arg0))\n"
3160   "     ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3161   "\n"
3162   "   (signature vec3\n"
3163   "     (parameters\n"
3164   "       (declare (in) vec3 arg0))\n"
3165   "     ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3166   "\n"
3167   "   (signature vec4\n"
3168   "     (parameters\n"
3169   "       (declare (in) vec4 arg0))\n"
3170   "     ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3171   "))\n"
3172   ""
3173;
3174static const char builtin_step[] =
3175   "((function step\n"
3176   "   (signature float\n"
3177   "     (parameters\n"
3178   "       (declare (in) float edge)\n"
3179   "       (declare (in) float x))\n"
3180   "     ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3181   "\n"
3182   "   (signature vec2\n"
3183   "     (parameters\n"
3184   "       (declare (in) float edge)\n"
3185   "       (declare (in) vec2 x))\n"
3186   "     ((declare () vec2 t)\n"
3187   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3188   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3189   "      (return (var_ref t))))\n"
3190   "\n"
3191   "   (signature vec3\n"
3192   "     (parameters\n"
3193   "       (declare (in) float edge)\n"
3194   "       (declare (in) vec3 x))\n"
3195   "     ((declare () vec3 t)\n"
3196   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3197   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3198   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3199   "      (return (var_ref t))))\n"
3200   "\n"
3201   "   (signature vec4\n"
3202   "     (parameters\n"
3203   "       (declare (in) float edge)\n"
3204   "       (declare (in) vec4 x))\n"
3205   "     ((declare () vec4 t)\n"
3206   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3207   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3208   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3209   "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3210   "      (return (var_ref t))))\n"
3211   "\n"
3212   "   (signature vec2\n"
3213   "     (parameters\n"
3214   "       (declare (in) vec2 edge)\n"
3215   "       (declare (in) vec2 x))\n"
3216   "     ((declare () vec2 t)\n"
3217   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3218   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3219   "      (return (var_ref t))))\n"
3220   "\n"
3221   "   (signature vec3\n"
3222   "     (parameters\n"
3223   "       (declare (in) vec3 edge)\n"
3224   "       (declare (in) vec3 x))\n"
3225   "     ((declare () vec3 t)\n"
3226   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3227   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3228   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3229   "      (return (var_ref t))))\n"
3230   "\n"
3231   "   (signature vec4\n"
3232   "     (parameters\n"
3233   "       (declare (in) vec4 edge)\n"
3234   "       (declare (in) vec4 x))\n"
3235   "     ((declare () vec4 t)\n"
3236   "      (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3237   "      (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3238   "      (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3239   "      (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
3240   "      (return (var_ref t))))\n"
3241   "))\n"
3242   "\n"
3243   ""
3244;
3245static const char builtin_tan[] =
3246   "((function tan\n"
3247   "   (signature float\n"
3248   "     (parameters\n"
3249   "       (declare (in) float angle))\n"
3250   "     ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3251   "\n"
3252   "   (signature vec2\n"
3253   "     (parameters\n"
3254   "       (declare (in) vec2 angle))\n"
3255   "     ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3256   "\n"
3257   "   (signature vec3\n"
3258   "     (parameters\n"
3259   "       (declare (in) vec3 angle))\n"
3260   "     ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3261   "\n"
3262   "   (signature vec4\n"
3263   "     (parameters\n"
3264   "       (declare (in) vec4 angle))\n"
3265   "     ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3266   "))\n"
3267   ""
3268;
3269static const char builtin_tanh[] =
3270   "((function tanh\n"
3271   "   (signature float\n"
3272   "     (parameters\n"
3273   "       (declare (in) float x))\n"
3274   "     ((return (expression float /\n"
3275   "                (expression float -\n"
3276   "		  (expression float exp (var_ref x))\n"
3277   "		  (expression float exp (expression float neg (var_ref x))))\n"
3278   "                (expression float +\n"
3279   "		  (expression float exp (var_ref x))\n"
3280   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
3281   "   (signature vec2\n"
3282   "     (parameters\n"
3283   "       (declare (in) vec2 x))\n"
3284   "     ((return (expression vec2 /\n"
3285   "                (expression vec2 -\n"
3286   "		  (expression vec2 exp (var_ref x))\n"
3287   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3288   "                (expression vec2 +\n"
3289   "		  (expression vec2 exp (var_ref x))\n"
3290   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3291   "   (signature vec3\n"
3292   "     (parameters\n"
3293   "       (declare (in) vec3 x))\n"
3294   "     ((return (expression vec3 /\n"
3295   "                (expression vec3 -\n"
3296   "		  (expression vec3 exp (var_ref x))\n"
3297   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3298   "                (expression vec3 +\n"
3299   "		  (expression vec3 exp (var_ref x))\n"
3300   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3301   "   (signature vec4\n"
3302   "     (parameters\n"
3303   "       (declare (in) vec4 x))\n"
3304   "     ((return (expression vec4 /\n"
3305   "                (expression vec4 -\n"
3306   "		  (expression vec4 exp (var_ref x))\n"
3307   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3308   "                (expression vec4 +\n"
3309   "		  (expression vec4 exp (var_ref x))\n"
3310   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3311   "))\n"
3312   ""
3313;
3314static const char builtin_texelFetch[] =
3315   "((function texelFetch\n"
3316   "   (signature vec4\n"
3317   "     (parameters\n"
3318   "       (declare (in) sampler1D sampler)\n"
3319   "       (declare (in) int 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) isampler1D sampler)\n"
3326   "       (declare (in) int 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) usampler1D sampler)\n"
3333   "       (declare (in) int 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) sampler2D 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) isampler2D 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) usampler2D 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) sampler3D 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) isampler3D 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) usampler3D 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   "   (signature vec4\n"
3380   "     (parameters\n"
3381   "       (declare (in) sampler1DArray sampler)\n"
3382   "       (declare (in) ivec2 P) \n"
3383   "       (declare (in) int lod) )\n"
3384   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3385   "\n"
3386   "   (signature ivec4\n"
3387   "     (parameters\n"
3388   "       (declare (in) isampler1DArray sampler)\n"
3389   "       (declare (in) ivec2 P) \n"
3390   "       (declare (in) int lod) )\n"
3391   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3392   "\n"
3393   "   (signature uvec4\n"
3394   "     (parameters\n"
3395   "       (declare (in) usampler1DArray sampler)\n"
3396   "       (declare (in) ivec2 P) \n"
3397   "       (declare (in) int lod) )\n"
3398   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3399   "\n"
3400   "   (signature vec4\n"
3401   "     (parameters\n"
3402   "       (declare (in) sampler2DArray sampler)\n"
3403   "       (declare (in) ivec3 P) \n"
3404   "       (declare (in) int lod) )\n"
3405   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3406   "\n"
3407   "   (signature ivec4\n"
3408   "     (parameters\n"
3409   "       (declare (in) isampler2DArray sampler)\n"
3410   "       (declare (in) ivec3 P) \n"
3411   "       (declare (in) int lod) )\n"
3412   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3413   "\n"
3414   "   (signature uvec4\n"
3415   "     (parameters\n"
3416   "       (declare (in) usampler2DArray sampler)\n"
3417   "       (declare (in) ivec3 P) \n"
3418   "       (declare (in) int lod) )\n"
3419   "     ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3420   "\n"
3421   "))\n"
3422   ""
3423;
3424static const char builtin_texture[] =
3425   "((function texture\n"
3426   "   (signature vec4\n"
3427   "     (parameters\n"
3428   "       (declare (in) sampler1D sampler)\n"
3429   "       (declare (in) float P) )\n"
3430   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3431   "\n"
3432   "   (signature ivec4\n"
3433   "     (parameters\n"
3434   "       (declare (in) isampler1D sampler)\n"
3435   "       (declare (in) float P) )\n"
3436   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3437   "\n"
3438   "   (signature uvec4\n"
3439   "     (parameters\n"
3440   "       (declare (in) usampler1D sampler)\n"
3441   "       (declare (in) float P) )\n"
3442   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3443   "\n"
3444   "   (signature vec4\n"
3445   "     (parameters\n"
3446   "       (declare (in) sampler2D sampler)\n"
3447   "       (declare (in) vec2 P) )\n"
3448   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3449   "\n"
3450   "   (signature ivec4\n"
3451   "     (parameters\n"
3452   "       (declare (in) isampler2D sampler)\n"
3453   "       (declare (in) vec2 P) )\n"
3454   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3455   "\n"
3456   "   (signature uvec4\n"
3457   "     (parameters\n"
3458   "       (declare (in) usampler2D 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 vec4\n"
3463   "     (parameters\n"
3464   "       (declare (in) sampler3D sampler)\n"
3465   "       (declare (in) vec3 P) )\n"
3466   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3467   "\n"
3468   "   (signature ivec4\n"
3469   "     (parameters\n"
3470   "       (declare (in) isampler3D sampler)\n"
3471   "       (declare (in) vec3 P) )\n"
3472   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3473   "\n"
3474   "   (signature uvec4\n"
3475   "     (parameters\n"
3476   "       (declare (in) usampler3D 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 vec4\n"
3481   "     (parameters\n"
3482   "       (declare (in) samplerCube 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 ivec4\n"
3487   "     (parameters\n"
3488   "       (declare (in) isamplerCube 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 uvec4\n"
3493   "     (parameters\n"
3494   "       (declare (in) usamplerCube sampler)\n"
3495   "       (declare (in) vec3 P) )\n"
3496   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3497   "\n"
3498   "   (signature vec4\n"
3499   "     (parameters\n"
3500   "       (declare (in) sampler1DArray sampler)\n"
3501   "       (declare (in) vec2 P) )\n"
3502   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3503   "\n"
3504   "   (signature ivec4\n"
3505   "     (parameters\n"
3506   "       (declare (in) isampler1DArray sampler)\n"
3507   "       (declare (in) vec2 P) )\n"
3508   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3509   "\n"
3510   "   (signature uvec4\n"
3511   "     (parameters\n"
3512   "       (declare (in) usampler1DArray sampler)\n"
3513   "       (declare (in) vec2 P) )\n"
3514   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3515   "\n"
3516   "   (signature vec4\n"
3517   "     (parameters\n"
3518   "       (declare (in) sampler2DArray sampler)\n"
3519   "       (declare (in) vec3 P) )\n"
3520   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3521   "\n"
3522   "   (signature ivec4\n"
3523   "     (parameters\n"
3524   "       (declare (in) isampler2DArray sampler)\n"
3525   "       (declare (in) vec3 P) )\n"
3526   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3527   "\n"
3528   "   (signature uvec4\n"
3529   "     (parameters\n"
3530   "       (declare (in) usampler2DArray sampler)\n"
3531   "       (declare (in) vec3 P) )\n"
3532   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3533   "\n"
3534   "   (signature vec4\n"
3535   "     (parameters\n"
3536   "       (declare (in) sampler1D sampler)\n"
3537   "       (declare (in) float 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) isampler1D sampler)\n"
3544   "       (declare (in) float 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) usampler1D sampler)\n"
3551   "       (declare (in) float 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) sampler2D sampler)\n"
3558   "       (declare (in) vec2 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) isampler2D sampler)\n"
3565   "       (declare (in) vec2 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) usampler2D sampler)\n"
3572   "       (declare (in) vec2 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) sampler3D sampler)\n"
3579   "       (declare (in) vec3 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) isampler3D sampler)\n"
3586   "       (declare (in) vec3 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) usampler3D sampler)\n"
3593   "       (declare (in) vec3 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) samplerCube 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) isamplerCube 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) usamplerCube 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   "   (signature vec4\n"
3619   "     (parameters\n"
3620   "       (declare (in) sampler1DArray sampler)\n"
3621   "       (declare (in) vec2 P) \n"
3622   "       (declare (in) float bias) )\n"
3623   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3624   "\n"
3625   "   (signature ivec4\n"
3626   "     (parameters\n"
3627   "       (declare (in) isampler1DArray sampler)\n"
3628   "       (declare (in) vec2 P) \n"
3629   "       (declare (in) float bias) )\n"
3630   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3631   "\n"
3632   "   (signature uvec4\n"
3633   "     (parameters\n"
3634   "       (declare (in) usampler1DArray sampler)\n"
3635   "       (declare (in) vec2 P) \n"
3636   "       (declare (in) float bias) )\n"
3637   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3638   "\n"
3639   "   (signature vec4\n"
3640   "     (parameters\n"
3641   "       (declare (in) sampler2DArray sampler)\n"
3642   "       (declare (in) vec3 P) \n"
3643   "       (declare (in) float bias) )\n"
3644   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3645   "\n"
3646   "   (signature ivec4\n"
3647   "     (parameters\n"
3648   "       (declare (in) isampler2DArray sampler)\n"
3649   "       (declare (in) vec3 P) \n"
3650   "       (declare (in) float bias) )\n"
3651   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3652   "\n"
3653   "   (signature uvec4\n"
3654   "     (parameters\n"
3655   "       (declare (in) usampler2DArray sampler)\n"
3656   "       (declare (in) vec3 P) \n"
3657   "       (declare (in) float bias) )\n"
3658   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3659   "\n"
3660   "))\n"
3661   ""
3662;
3663static const char builtin_texture1D[] =
3664   "((function texture1D\n"
3665   "   (signature vec4\n"
3666   "     (parameters\n"
3667   "       (declare (in) sampler1D sampler)\n"
3668   "       (declare (in) float P) )\n"
3669   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3670   "\n"
3671   "   (signature vec4\n"
3672   "     (parameters\n"
3673   "       (declare (in) sampler1D sampler)\n"
3674   "       (declare (in) float P) \n"
3675   "       (declare (in) float bias) )\n"
3676   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3677   "\n"
3678   "))\n"
3679   ""
3680;
3681static const char builtin_texture1DArray[] =
3682   "((function texture1DArray\n"
3683   "   (signature vec4\n"
3684   "     (parameters\n"
3685   "       (declare (in) sampler1DArray sampler)\n"
3686   "       (declare (in) vec2 P) )\n"
3687   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3688   "\n"
3689   "   (signature vec4\n"
3690   "     (parameters\n"
3691   "       (declare (in) sampler1DArray sampler)\n"
3692   "       (declare (in) vec2 P) \n"
3693   "       (declare (in) float bias) )\n"
3694   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3695   "\n"
3696   "))\n"
3697   ""
3698;
3699static const char builtin_texture1DArrayLod[] =
3700   "((function texture1DArrayLod\n"
3701   "   (signature vec4\n"
3702   "     (parameters\n"
3703   "       (declare (in) sampler1DArray sampler)\n"
3704   "       (declare (in) vec2 P) \n"
3705   "       (declare (in) float lod) )\n"
3706   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3707   "\n"
3708   "))\n"
3709   ""
3710;
3711static const char builtin_texture1DLod[] =
3712   "((function texture1DLod\n"
3713   "   (signature vec4\n"
3714   "     (parameters\n"
3715   "       (declare (in) sampler1D sampler)\n"
3716   "       (declare (in) float P) \n"
3717   "       (declare (in) float lod) )\n"
3718   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3719   "\n"
3720   "))\n"
3721   ""
3722;
3723static const char builtin_texture1DProj[] =
3724   "((function texture1DProj\n"
3725   "   (signature vec4\n"
3726   "     (parameters\n"
3727   "       (declare (in) sampler1D sampler)\n"
3728   "       (declare (in) vec2 P) )\n"
3729   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3730   "\n"
3731   "   (signature vec4\n"
3732   "     (parameters\n"
3733   "       (declare (in) sampler1D sampler)\n"
3734   "       (declare (in) vec4 P) )\n"
3735   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3736   "\n"
3737   "   (signature vec4\n"
3738   "     (parameters\n"
3739   "       (declare (in) sampler1D sampler)\n"
3740   "       (declare (in) vec2 P) \n"
3741   "       (declare (in) float bias) )\n"
3742   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3743   "\n"
3744   "   (signature vec4\n"
3745   "     (parameters\n"
3746   "       (declare (in) sampler1D sampler)\n"
3747   "       (declare (in) vec4 P) \n"
3748   "       (declare (in) float bias) )\n"
3749   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3750   "\n"
3751   "))\n"
3752   ""
3753;
3754static const char builtin_texture1DProjLod[] =
3755   "((function texture1DProjLod\n"
3756   "   (signature vec4\n"
3757   "     (parameters\n"
3758   "       (declare (in) sampler1D sampler)\n"
3759   "       (declare (in) vec2 P) \n"
3760   "       (declare (in) float lod) )\n"
3761   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3762   "\n"
3763   "   (signature vec4\n"
3764   "     (parameters\n"
3765   "       (declare (in) sampler1D sampler)\n"
3766   "       (declare (in) vec4 P) \n"
3767   "       (declare (in) float lod) )\n"
3768   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3769   "\n"
3770   "))\n"
3771   ""
3772;
3773static const char builtin_texture2D[] =
3774   "((function texture2D\n"
3775   "   (signature vec4\n"
3776   "     (parameters\n"
3777   "       (declare (in) sampler2D sampler)\n"
3778   "       (declare (in) vec2 P) )\n"
3779   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3780   "\n"
3781   "   (signature vec4\n"
3782   "     (parameters\n"
3783   "       (declare (in) sampler2D sampler)\n"
3784   "       (declare (in) vec2 P) \n"
3785   "       (declare (in) float bias) )\n"
3786   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3787   "\n"
3788   "))\n"
3789   ""
3790;
3791static const char builtin_texture2DArray[] =
3792   "((function texture2DArray\n"
3793   "   (signature vec4\n"
3794   "     (parameters\n"
3795   "       (declare (in) sampler2DArray sampler)\n"
3796   "       (declare (in) vec3 P) )\n"
3797   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3798   "\n"
3799   "   (signature vec4\n"
3800   "     (parameters\n"
3801   "       (declare (in) sampler2DArray sampler)\n"
3802   "       (declare (in) vec3 P) \n"
3803   "       (declare (in) float bias) )\n"
3804   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3805   "\n"
3806   "))\n"
3807   ""
3808;
3809static const char builtin_texture2DArrayLod[] =
3810   "((function texture2DArrayLod\n"
3811   "   (signature vec4\n"
3812   "     (parameters\n"
3813   "       (declare (in) sampler2DArray sampler)\n"
3814   "       (declare (in) vec3 P) \n"
3815   "       (declare (in) float lod) )\n"
3816   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3817   "\n"
3818   "))\n"
3819   ""
3820;
3821static const char builtin_texture2DLod[] =
3822   "((function texture2DLod\n"
3823   "   (signature vec4\n"
3824   "     (parameters\n"
3825   "       (declare (in) sampler2D sampler)\n"
3826   "       (declare (in) vec2 P) \n"
3827   "       (declare (in) float lod) )\n"
3828   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3829   "\n"
3830   "))\n"
3831   ""
3832;
3833static const char builtin_texture2DProj[] =
3834   "((function texture2DProj\n"
3835   "   (signature vec4\n"
3836   "     (parameters\n"
3837   "       (declare (in) sampler2D sampler)\n"
3838   "       (declare (in) vec3 P) )\n"
3839   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3840   "\n"
3841   "   (signature vec4\n"
3842   "     (parameters\n"
3843   "       (declare (in) sampler2D sampler)\n"
3844   "       (declare (in) vec4 P) )\n"
3845   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3846   "\n"
3847   "   (signature vec4\n"
3848   "     (parameters\n"
3849   "       (declare (in) sampler2D sampler)\n"
3850   "       (declare (in) vec3 P) \n"
3851   "       (declare (in) float bias) )\n"
3852   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3853   "\n"
3854   "   (signature vec4\n"
3855   "     (parameters\n"
3856   "       (declare (in) sampler2D sampler)\n"
3857   "       (declare (in) vec4 P) \n"
3858   "       (declare (in) float bias) )\n"
3859   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3860   "\n"
3861   "))\n"
3862   ""
3863;
3864static const char builtin_texture2DProjLod[] =
3865   "((function texture2DProjLod\n"
3866   "   (signature vec4\n"
3867   "     (parameters\n"
3868   "       (declare (in) sampler2D sampler)\n"
3869   "       (declare (in) vec3 P) \n"
3870   "       (declare (in) float lod) )\n"
3871   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3872   "\n"
3873   "   (signature vec4\n"
3874   "     (parameters\n"
3875   "       (declare (in) sampler2D sampler)\n"
3876   "       (declare (in) vec4 P) \n"
3877   "       (declare (in) float lod) )\n"
3878   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3879   "\n"
3880   "))\n"
3881   ""
3882;
3883static const char builtin_texture2DRect[] =
3884   "((function texture2DRect\n"
3885   "   (signature vec4\n"
3886   "     (parameters\n"
3887   "       (declare (in) sampler2DRect sampler)\n"
3888   "       (declare (in) vec2 P) )\n"
3889   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3890   "\n"
3891   "))\n"
3892   ""
3893;
3894static const char builtin_texture2DRectProj[] =
3895   "((function texture2DRectProj\n"
3896   "   (signature vec4\n"
3897   "     (parameters\n"
3898   "       (declare (in) sampler2DRect sampler)\n"
3899   "       (declare (in) vec3 P) )\n"
3900   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3901   "\n"
3902   "   (signature vec4\n"
3903   "     (parameters\n"
3904   "       (declare (in) sampler2DRect sampler)\n"
3905   "       (declare (in) vec4 P) )\n"
3906   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3907   "\n"
3908   "))\n"
3909   ""
3910;
3911static const char builtin_texture3D[] =
3912   "((function texture3D\n"
3913   "   (signature vec4\n"
3914   "     (parameters\n"
3915   "       (declare (in) sampler3D sampler)\n"
3916   "       (declare (in) vec3 P) )\n"
3917   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3918   "\n"
3919   "   (signature vec4\n"
3920   "     (parameters\n"
3921   "       (declare (in) sampler3D sampler)\n"
3922   "       (declare (in) vec3 P) \n"
3923   "       (declare (in) float bias) )\n"
3924   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3925   "\n"
3926   "))\n"
3927   ""
3928;
3929static const char builtin_texture3DLod[] =
3930   "((function texture3DLod\n"
3931   "   (signature vec4\n"
3932   "     (parameters\n"
3933   "       (declare (in) sampler3D sampler)\n"
3934   "       (declare (in) vec3 P) \n"
3935   "       (declare (in) float lod) )\n"
3936   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3937   "\n"
3938   "))\n"
3939   ""
3940;
3941static const char builtin_texture3DProj[] =
3942   "((function texture3DProj\n"
3943   "   (signature vec4\n"
3944   "     (parameters\n"
3945   "       (declare (in) sampler3D sampler)\n"
3946   "       (declare (in) vec4 P) )\n"
3947   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3948   "\n"
3949   "   (signature vec4\n"
3950   "     (parameters\n"
3951   "       (declare (in) sampler3D sampler)\n"
3952   "       (declare (in) vec4 P) \n"
3953   "       (declare (in) float bias) )\n"
3954   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3955   "\n"
3956   "))\n"
3957   ""
3958;
3959static const char builtin_texture3DProjLod[] =
3960   "((function texture3DProjLod\n"
3961   "   (signature vec4\n"
3962   "     (parameters\n"
3963   "       (declare (in) sampler3D sampler)\n"
3964   "       (declare (in) vec4 P) \n"
3965   "       (declare (in) float lod) )\n"
3966   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3967   "\n"
3968   "))\n"
3969   ""
3970;
3971static const char builtin_textureCube[] =
3972   "((function textureCube\n"
3973   "   (signature vec4\n"
3974   "     (parameters\n"
3975   "       (declare (in) samplerCube sampler)\n"
3976   "       (declare (in) vec3 P) )\n"
3977   "     ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3978   "\n"
3979   "   (signature vec4\n"
3980   "     (parameters\n"
3981   "       (declare (in) samplerCube sampler)\n"
3982   "       (declare (in) vec3 P) \n"
3983   "       (declare (in) float bias) )\n"
3984   "     ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3985   "\n"
3986   "))\n"
3987   ""
3988;
3989static const char builtin_textureCubeLod[] =
3990   "((function textureCubeLod\n"
3991   "   (signature vec4\n"
3992   "     (parameters\n"
3993   "       (declare (in) samplerCube sampler)\n"
3994   "       (declare (in) vec3 P) \n"
3995   "       (declare (in) float lod) )\n"
3996   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3997   "\n"
3998   "))\n"
3999   ""
4000;
4001static const char builtin_textureGrad[] =
4002   "((function textureGrad\n"
4003   "   (signature vec4\n"
4004   "     (parameters\n"
4005   "       (declare (in) sampler1D sampler)\n"
4006   "       (declare (in) float P) \n"
4007   "       (declare (in) float dPdx) \n"
4008   "       (declare (in) float dPdy) )\n"
4009   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4010   "\n"
4011   "   (signature ivec4\n"
4012   "     (parameters\n"
4013   "       (declare (in) isampler1D sampler)\n"
4014   "       (declare (in) float P) \n"
4015   "       (declare (in) float dPdx) \n"
4016   "       (declare (in) float dPdy) )\n"
4017   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4018   "\n"
4019   "   (signature uvec4\n"
4020   "     (parameters\n"
4021   "       (declare (in) usampler1D sampler)\n"
4022   "       (declare (in) float P) \n"
4023   "       (declare (in) float dPdx) \n"
4024   "       (declare (in) float dPdy) )\n"
4025   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4026   "\n"
4027   "   (signature vec4\n"
4028   "     (parameters\n"
4029   "       (declare (in) sampler2D sampler)\n"
4030   "       (declare (in) vec2 P) \n"
4031   "       (declare (in) vec2 dPdx) \n"
4032   "       (declare (in) vec2 dPdy) )\n"
4033   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4034   "\n"
4035   "   (signature ivec4\n"
4036   "     (parameters\n"
4037   "       (declare (in) isampler2D sampler)\n"
4038   "       (declare (in) vec2 P) \n"
4039   "       (declare (in) vec2 dPdx) \n"
4040   "       (declare (in) vec2 dPdy) )\n"
4041   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4042   "\n"
4043   "   (signature uvec4\n"
4044   "     (parameters\n"
4045   "       (declare (in) usampler2D sampler)\n"
4046   "       (declare (in) vec2 P) \n"
4047   "       (declare (in) vec2 dPdx) \n"
4048   "       (declare (in) vec2 dPdy) )\n"
4049   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4050   "\n"
4051   "   (signature vec4\n"
4052   "     (parameters\n"
4053   "       (declare (in) sampler3D sampler)\n"
4054   "       (declare (in) vec3 P) \n"
4055   "       (declare (in) vec3 dPdx) \n"
4056   "       (declare (in) vec3 dPdy) )\n"
4057   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4058   "\n"
4059   "   (signature ivec4\n"
4060   "     (parameters\n"
4061   "       (declare (in) isampler3D sampler)\n"
4062   "       (declare (in) vec3 P) \n"
4063   "       (declare (in) vec3 dPdx) \n"
4064   "       (declare (in) vec3 dPdy) )\n"
4065   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4066   "\n"
4067   "   (signature uvec4\n"
4068   "     (parameters\n"
4069   "       (declare (in) usampler3D sampler)\n"
4070   "       (declare (in) vec3 P) \n"
4071   "       (declare (in) vec3 dPdx) \n"
4072   "       (declare (in) vec3 dPdy) )\n"
4073   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4074   "\n"
4075   "   (signature vec4\n"
4076   "     (parameters\n"
4077   "       (declare (in) samplerCube sampler)\n"
4078   "       (declare (in) vec3 P) \n"
4079   "       (declare (in) vec3 dPdx) \n"
4080   "       (declare (in) vec3 dPdy) )\n"
4081   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4082   "\n"
4083   "   (signature ivec4\n"
4084   "     (parameters\n"
4085   "       (declare (in) isamplerCube sampler)\n"
4086   "       (declare (in) vec3 P) \n"
4087   "       (declare (in) vec3 dPdx) \n"
4088   "       (declare (in) vec3 dPdy) )\n"
4089   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4090   "\n"
4091   "   (signature uvec4\n"
4092   "     (parameters\n"
4093   "       (declare (in) usamplerCube sampler)\n"
4094   "       (declare (in) vec3 P) \n"
4095   "       (declare (in) vec3 dPdx) \n"
4096   "       (declare (in) vec3 dPdy) )\n"
4097   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4098   "\n"
4099   "   (signature vec4\n"
4100   "     (parameters\n"
4101   "       (declare (in) sampler1DArray sampler)\n"
4102   "       (declare (in) vec2 P) \n"
4103   "       (declare (in) vec2 dPdx) \n"
4104   "       (declare (in) vec2 dPdy) )\n"
4105   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4106   "\n"
4107   "   (signature ivec4\n"
4108   "     (parameters\n"
4109   "       (declare (in) isampler1DArray sampler)\n"
4110   "       (declare (in) vec2 P) \n"
4111   "       (declare (in) vec2 dPdx) \n"
4112   "       (declare (in) vec2 dPdy) )\n"
4113   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4114   "\n"
4115   "   (signature uvec4\n"
4116   "     (parameters\n"
4117   "       (declare (in) usampler1DArray sampler)\n"
4118   "       (declare (in) vec2 P) \n"
4119   "       (declare (in) vec2 dPdx) \n"
4120   "       (declare (in) vec2 dPdy) )\n"
4121   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4122   "\n"
4123   "   (signature vec4\n"
4124   "     (parameters\n"
4125   "       (declare (in) sampler2DArray sampler)\n"
4126   "       (declare (in) vec3 P) \n"
4127   "       (declare (in) vec3 dPdx) \n"
4128   "       (declare (in) vec3 dPdy) )\n"
4129   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4130   "\n"
4131   "   (signature ivec4\n"
4132   "     (parameters\n"
4133   "       (declare (in) isampler2DArray sampler)\n"
4134   "       (declare (in) vec3 P) \n"
4135   "       (declare (in) vec3 dPdx) \n"
4136   "       (declare (in) vec3 dPdy) )\n"
4137   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4138   "\n"
4139   "   (signature uvec4\n"
4140   "     (parameters\n"
4141   "       (declare (in) usampler2DArray sampler)\n"
4142   "       (declare (in) vec3 P) \n"
4143   "       (declare (in) vec3 dPdx) \n"
4144   "       (declare (in) vec3 dPdy) )\n"
4145   "     ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4146   "\n"
4147   "))\n"
4148   ""
4149;
4150static const char builtin_textureLod[] =
4151   "((function textureLod\n"
4152   "   (signature vec4\n"
4153   "     (parameters\n"
4154   "       (declare (in) sampler1D sampler)\n"
4155   "       (declare (in) float 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) isampler1D sampler)\n"
4162   "       (declare (in) float 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) usampler1D sampler)\n"
4169   "       (declare (in) float 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) sampler2D sampler)\n"
4176   "       (declare (in) vec2 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) isampler2D sampler)\n"
4183   "       (declare (in) vec2 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) usampler2D sampler)\n"
4190   "       (declare (in) vec2 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) sampler3D sampler)\n"
4197   "       (declare (in) vec3 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) isampler3D sampler)\n"
4204   "       (declare (in) vec3 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) usampler3D sampler)\n"
4211   "       (declare (in) vec3 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) samplerCube 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) isamplerCube 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) usamplerCube 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   "   (signature vec4\n"
4237   "     (parameters\n"
4238   "       (declare (in) sampler1DArray sampler)\n"
4239   "       (declare (in) vec2 P) \n"
4240   "       (declare (in) float lod) )\n"
4241   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4242   "\n"
4243   "   (signature ivec4\n"
4244   "     (parameters\n"
4245   "       (declare (in) isampler1DArray sampler)\n"
4246   "       (declare (in) vec2 P) \n"
4247   "       (declare (in) float lod) )\n"
4248   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4249   "\n"
4250   "   (signature uvec4\n"
4251   "     (parameters\n"
4252   "       (declare (in) usampler1DArray sampler)\n"
4253   "       (declare (in) vec2 P) \n"
4254   "       (declare (in) float lod) )\n"
4255   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4256   "\n"
4257   "   (signature vec4\n"
4258   "     (parameters\n"
4259   "       (declare (in) sampler2DArray sampler)\n"
4260   "       (declare (in) vec3 P) \n"
4261   "       (declare (in) float lod) )\n"
4262   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4263   "\n"
4264   "   (signature ivec4\n"
4265   "     (parameters\n"
4266   "       (declare (in) isampler2DArray sampler)\n"
4267   "       (declare (in) vec3 P) \n"
4268   "       (declare (in) float lod) )\n"
4269   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4270   "\n"
4271   "   (signature uvec4\n"
4272   "     (parameters\n"
4273   "       (declare (in) usampler2DArray sampler)\n"
4274   "       (declare (in) vec3 P) \n"
4275   "       (declare (in) float lod) )\n"
4276   "     ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4277   "\n"
4278   "))\n"
4279   ""
4280;
4281static const char builtin_textureProj[] =
4282   "((function textureProj\n"
4283   "   (signature vec4\n"
4284   "     (parameters\n"
4285   "       (declare (in) sampler1D sampler)\n"
4286   "       (declare (in) vec2 P) )\n"
4287   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4288   "\n"
4289   "   (signature ivec4\n"
4290   "     (parameters\n"
4291   "       (declare (in) isampler1D sampler)\n"
4292   "       (declare (in) vec2 P) )\n"
4293   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4294   "\n"
4295   "   (signature uvec4\n"
4296   "     (parameters\n"
4297   "       (declare (in) usampler1D sampler)\n"
4298   "       (declare (in) vec2 P) )\n"
4299   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4300   "\n"
4301   "   (signature vec4\n"
4302   "     (parameters\n"
4303   "       (declare (in) sampler1D sampler)\n"
4304   "       (declare (in) vec4 P) )\n"
4305   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4306   "\n"
4307   "   (signature ivec4\n"
4308   "     (parameters\n"
4309   "       (declare (in) isampler1D sampler)\n"
4310   "       (declare (in) vec4 P) )\n"
4311   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4312   "\n"
4313   "   (signature uvec4\n"
4314   "     (parameters\n"
4315   "       (declare (in) usampler1D sampler)\n"
4316   "       (declare (in) vec4 P) )\n"
4317   "     ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4318   "\n"
4319   "   (signature vec4\n"
4320   "     (parameters\n"
4321   "       (declare (in) sampler2D sampler)\n"
4322   "       (declare (in) vec3 P) )\n"
4323   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4324   "\n"
4325   "   (signature ivec4\n"
4326   "     (parameters\n"
4327   "       (declare (in) isampler2D sampler)\n"
4328   "       (declare (in) vec3 P) )\n"
4329   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4330   "\n"
4331   "   (signature uvec4\n"
4332   "     (parameters\n"
4333   "       (declare (in) usampler2D sampler)\n"
4334   "       (declare (in) vec3 P) )\n"
4335   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4336   "\n"
4337   "   (signature vec4\n"
4338   "     (parameters\n"
4339   "       (declare (in) sampler2D sampler)\n"
4340   "       (declare (in) vec4 P) )\n"
4341   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4342   "\n"
4343   "   (signature ivec4\n"
4344   "     (parameters\n"
4345   "       (declare (in) isampler2D sampler)\n"
4346   "       (declare (in) vec4 P) )\n"
4347   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4348   "\n"
4349   "   (signature uvec4\n"
4350   "     (parameters\n"
4351   "       (declare (in) usampler2D sampler)\n"
4352   "       (declare (in) vec4 P) )\n"
4353   "     ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4354   "\n"
4355   "   (signature vec4\n"
4356   "     (parameters\n"
4357   "       (declare (in) sampler3D sampler)\n"
4358   "       (declare (in) vec4 P) )\n"
4359   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4360   "\n"
4361   "   (signature ivec4\n"
4362   "     (parameters\n"
4363   "       (declare (in) isampler3D sampler)\n"
4364   "       (declare (in) vec4 P) )\n"
4365   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4366   "\n"
4367   "   (signature uvec4\n"
4368   "     (parameters\n"
4369   "       (declare (in) usampler3D sampler)\n"
4370   "       (declare (in) vec4 P) )\n"
4371   "     ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4372   "\n"
4373   "   (signature vec4\n"
4374   "     (parameters\n"
4375   "       (declare (in) sampler1D sampler)\n"
4376   "       (declare (in) vec2 P) \n"
4377   "       (declare (in) float bias) )\n"
4378   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4379   "\n"
4380   "   (signature ivec4\n"
4381   "     (parameters\n"
4382   "       (declare (in) isampler1D sampler)\n"
4383   "       (declare (in) vec2 P) \n"
4384   "       (declare (in) float bias) )\n"
4385   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4386   "\n"
4387   "   (signature uvec4\n"
4388   "     (parameters\n"
4389   "       (declare (in) usampler1D sampler)\n"
4390   "       (declare (in) vec2 P) \n"
4391   "       (declare (in) float bias) )\n"
4392   "     ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4393   "\n"
4394   "   (signature vec4\n"
4395   "     (parameters\n"
4396   "       (declare (in) sampler1D sampler)\n"
4397   "       (declare (in) vec4 P) \n"
4398   "       (declare (in) float bias) )\n"
4399   "     ((return (txb (var_ref sampler) (swiz x (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) isampler1D sampler)\n"
4404   "       (declare (in) vec4 P) \n"
4405   "       (declare (in) float bias) )\n"
4406   "     ((return (txb (var_ref sampler) (swiz x (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) usampler1D sampler)\n"
4411   "       (declare (in) vec4 P) \n"
4412   "       (declare (in) float bias) )\n"
4413   "     ((return (txb (var_ref sampler) (swiz x (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) sampler2D sampler)\n"
4418   "       (declare (in) vec3 P) \n"
4419   "       (declare (in) float bias) )\n"
4420   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4421   "\n"
4422   "   (signature ivec4\n"
4423   "     (parameters\n"
4424   "       (declare (in) isampler2D sampler)\n"
4425   "       (declare (in) vec3 P) \n"
4426   "       (declare (in) float bias) )\n"
4427   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4428   "\n"
4429   "   (signature uvec4\n"
4430   "     (parameters\n"
4431   "       (declare (in) usampler2D sampler)\n"
4432   "       (declare (in) vec3 P) \n"
4433   "       (declare (in) float bias) )\n"
4434   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4435   "\n"
4436   "   (signature vec4\n"
4437   "     (parameters\n"
4438   "       (declare (in) sampler2D sampler)\n"
4439   "       (declare (in) vec4 P) \n"
4440   "       (declare (in) float bias) )\n"
4441   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4442   "\n"
4443   "   (signature ivec4\n"
4444   "     (parameters\n"
4445   "       (declare (in) isampler2D sampler)\n"
4446   "       (declare (in) vec4 P) \n"
4447   "       (declare (in) float bias) )\n"
4448   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4449   "\n"
4450   "   (signature uvec4\n"
4451   "     (parameters\n"
4452   "       (declare (in) usampler2D sampler)\n"
4453   "       (declare (in) vec4 P) \n"
4454   "       (declare (in) float bias) )\n"
4455   "     ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4456   "\n"
4457   "   (signature vec4\n"
4458   "     (parameters\n"
4459   "       (declare (in) sampler3D sampler)\n"
4460   "       (declare (in) vec4 P) \n"
4461   "       (declare (in) float bias) )\n"
4462   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4463   "\n"
4464   "   (signature ivec4\n"
4465   "     (parameters\n"
4466   "       (declare (in) isampler3D sampler)\n"
4467   "       (declare (in) vec4 P) \n"
4468   "       (declare (in) float bias) )\n"
4469   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4470   "\n"
4471   "   (signature uvec4\n"
4472   "     (parameters\n"
4473   "       (declare (in) usampler3D sampler)\n"
4474   "       (declare (in) vec4 P) \n"
4475   "       (declare (in) float bias) )\n"
4476   "     ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4477   "\n"
4478   "))\n"
4479   ""
4480;
4481static const char builtin_textureProjGrad[] =
4482   "((function textureProjGrad\n"
4483   "   (signature vec4\n"
4484   "     (parameters\n"
4485   "       (declare (in) sampler1D sampler)\n"
4486   "       (declare (in) vec2 P) \n"
4487   "       (declare (in) float dPdx) \n"
4488   "       (declare (in) float dPdy) )\n"
4489   "     ((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"
4490   "\n"
4491   "   (signature ivec4\n"
4492   "     (parameters\n"
4493   "       (declare (in) isampler1D sampler)\n"
4494   "       (declare (in) vec2 P) \n"
4495   "       (declare (in) float dPdx) \n"
4496   "       (declare (in) float dPdy) )\n"
4497   "     ((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"
4498   "\n"
4499   "   (signature uvec4\n"
4500   "     (parameters\n"
4501   "       (declare (in) usampler1D sampler)\n"
4502   "       (declare (in) vec2 P) \n"
4503   "       (declare (in) float dPdx) \n"
4504   "       (declare (in) float dPdy) )\n"
4505   "     ((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"
4506   "\n"
4507   "   (signature vec4\n"
4508   "     (parameters\n"
4509   "       (declare (in) sampler1D sampler)\n"
4510   "       (declare (in) vec4 P) \n"
4511   "       (declare (in) float dPdx) \n"
4512   "       (declare (in) float dPdy) )\n"
4513   "     ((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"
4514   "\n"
4515   "   (signature ivec4\n"
4516   "     (parameters\n"
4517   "       (declare (in) isampler1D sampler)\n"
4518   "       (declare (in) vec4 P) \n"
4519   "       (declare (in) float dPdx) \n"
4520   "       (declare (in) float dPdy) )\n"
4521   "     ((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"
4522   "\n"
4523   "   (signature uvec4\n"
4524   "     (parameters\n"
4525   "       (declare (in) usampler1D sampler)\n"
4526   "       (declare (in) vec4 P) \n"
4527   "       (declare (in) float dPdx) \n"
4528   "       (declare (in) float dPdy) )\n"
4529   "     ((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"
4530   "\n"
4531   "   (signature vec4\n"
4532   "     (parameters\n"
4533   "       (declare (in) sampler2D sampler)\n"
4534   "       (declare (in) vec3 P) \n"
4535   "       (declare (in) vec2 dPdx) \n"
4536   "       (declare (in) vec2 dPdy) )\n"
4537   "     ((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"
4538   "\n"
4539   "   (signature ivec4\n"
4540   "     (parameters\n"
4541   "       (declare (in) isampler2D sampler)\n"
4542   "       (declare (in) vec3 P) \n"
4543   "       (declare (in) vec2 dPdx) \n"
4544   "       (declare (in) vec2 dPdy) )\n"
4545   "     ((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"
4546   "\n"
4547   "   (signature uvec4\n"
4548   "     (parameters\n"
4549   "       (declare (in) usampler2D sampler)\n"
4550   "       (declare (in) vec3 P) \n"
4551   "       (declare (in) vec2 dPdx) \n"
4552   "       (declare (in) vec2 dPdy) )\n"
4553   "     ((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"
4554   "\n"
4555   "   (signature vec4\n"
4556   "     (parameters\n"
4557   "       (declare (in) sampler2D sampler)\n"
4558   "       (declare (in) vec4 P) \n"
4559   "       (declare (in) vec2 dPdx) \n"
4560   "       (declare (in) vec2 dPdy) )\n"
4561   "     ((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"
4562   "\n"
4563   "   (signature ivec4\n"
4564   "     (parameters\n"
4565   "       (declare (in) isampler2D sampler)\n"
4566   "       (declare (in) vec4 P) \n"
4567   "       (declare (in) vec2 dPdx) \n"
4568   "       (declare (in) vec2 dPdy) )\n"
4569   "     ((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"
4570   "\n"
4571   "   (signature uvec4\n"
4572   "     (parameters\n"
4573   "       (declare (in) usampler2D sampler)\n"
4574   "       (declare (in) vec4 P) \n"
4575   "       (declare (in) vec2 dPdx) \n"
4576   "       (declare (in) vec2 dPdy) )\n"
4577   "     ((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"
4578   "\n"
4579   "   (signature vec4\n"
4580   "     (parameters\n"
4581   "       (declare (in) sampler3D sampler)\n"
4582   "       (declare (in) vec4 P) \n"
4583   "       (declare (in) vec3 dPdx) \n"
4584   "       (declare (in) vec3 dPdy) )\n"
4585   "     ((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"
4586   "\n"
4587   "   (signature ivec4\n"
4588   "     (parameters\n"
4589   "       (declare (in) isampler3D sampler)\n"
4590   "       (declare (in) vec4 P) \n"
4591   "       (declare (in) vec3 dPdx) \n"
4592   "       (declare (in) vec3 dPdy) )\n"
4593   "     ((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"
4594   "\n"
4595   "   (signature uvec4\n"
4596   "     (parameters\n"
4597   "       (declare (in) usampler3D sampler)\n"
4598   "       (declare (in) vec4 P) \n"
4599   "       (declare (in) vec3 dPdx) \n"
4600   "       (declare (in) vec3 dPdy) )\n"
4601   "     ((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"
4602   "\n"
4603   "))\n"
4604   ""
4605;
4606static const char builtin_textureProjLod[] =
4607   "((function textureProjLod\n"
4608   "   (signature vec4\n"
4609   "     (parameters\n"
4610   "       (declare (in) sampler1D sampler)\n"
4611   "       (declare (in) vec2 P) \n"
4612   "       (declare (in) float lod) )\n"
4613   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4614   "\n"
4615   "   (signature ivec4\n"
4616   "     (parameters\n"
4617   "       (declare (in) isampler1D sampler)\n"
4618   "       (declare (in) vec2 P) \n"
4619   "       (declare (in) float lod) )\n"
4620   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4621   "\n"
4622   "   (signature uvec4\n"
4623   "     (parameters\n"
4624   "       (declare (in) usampler1D sampler)\n"
4625   "       (declare (in) vec2 P) \n"
4626   "       (declare (in) float lod) )\n"
4627   "     ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4628   "\n"
4629   "   (signature vec4\n"
4630   "     (parameters\n"
4631   "       (declare (in) sampler1D sampler)\n"
4632   "       (declare (in) vec4 P) \n"
4633   "       (declare (in) float lod) )\n"
4634   "     ((return (txl (var_ref sampler) (swiz x (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) isampler1D sampler)\n"
4639   "       (declare (in) vec4 P) \n"
4640   "       (declare (in) float lod) )\n"
4641   "     ((return (txl (var_ref sampler) (swiz x (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) usampler1D sampler)\n"
4646   "       (declare (in) vec4 P) \n"
4647   "       (declare (in) float lod) )\n"
4648   "     ((return (txl (var_ref sampler) (swiz x (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) sampler2D sampler)\n"
4653   "       (declare (in) vec3 P) \n"
4654   "       (declare (in) float lod) )\n"
4655   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4656   "\n"
4657   "   (signature ivec4\n"
4658   "     (parameters\n"
4659   "       (declare (in) isampler2D sampler)\n"
4660   "       (declare (in) vec3 P) \n"
4661   "       (declare (in) float lod) )\n"
4662   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4663   "\n"
4664   "   (signature uvec4\n"
4665   "     (parameters\n"
4666   "       (declare (in) usampler2D sampler)\n"
4667   "       (declare (in) vec3 P) \n"
4668   "       (declare (in) float lod) )\n"
4669   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4670   "\n"
4671   "   (signature vec4\n"
4672   "     (parameters\n"
4673   "       (declare (in) sampler2D sampler)\n"
4674   "       (declare (in) vec4 P) \n"
4675   "       (declare (in) float lod) )\n"
4676   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4677   "\n"
4678   "   (signature ivec4\n"
4679   "     (parameters\n"
4680   "       (declare (in) isampler2D sampler)\n"
4681   "       (declare (in) vec4 P) \n"
4682   "       (declare (in) float lod) )\n"
4683   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4684   "\n"
4685   "   (signature uvec4\n"
4686   "     (parameters\n"
4687   "       (declare (in) usampler2D sampler)\n"
4688   "       (declare (in) vec4 P) \n"
4689   "       (declare (in) float lod) )\n"
4690   "     ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4691   "\n"
4692   "   (signature vec4\n"
4693   "     (parameters\n"
4694   "       (declare (in) sampler3D sampler)\n"
4695   "       (declare (in) vec4 P) \n"
4696   "       (declare (in) float lod) )\n"
4697   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4698   "\n"
4699   "   (signature ivec4\n"
4700   "     (parameters\n"
4701   "       (declare (in) isampler3D sampler)\n"
4702   "       (declare (in) vec4 P) \n"
4703   "       (declare (in) float lod) )\n"
4704   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4705   "\n"
4706   "   (signature uvec4\n"
4707   "     (parameters\n"
4708   "       (declare (in) usampler3D sampler)\n"
4709   "       (declare (in) vec4 P) \n"
4710   "       (declare (in) float lod) )\n"
4711   "     ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4712   "\n"
4713   "))\n"
4714   ""
4715;
4716static const char builtin_transpose[] =
4717   "((function transpose\n"
4718   "   (signature mat2\n"
4719   "     (parameters\n"
4720   "       (declare (in) mat2 m))\n"
4721   "     ((declare () mat2 t)\n"
4722   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4723   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4724   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4725   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4726   "(return (var_ref t))))\n"
4727   "\n"
4728   "   (signature mat3x2\n"
4729   "     (parameters\n"
4730   "       (declare (in) mat2x3 m))\n"
4731   "     ((declare () mat3x2 t)\n"
4732   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4733   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4734   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4735   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4736   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4737   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4738   "(return (var_ref t))))\n"
4739   "\n"
4740   "   (signature mat4x2\n"
4741   "     (parameters\n"
4742   "       (declare (in) mat2x4 m))\n"
4743   "     ((declare () mat4x2 t)\n"
4744   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4745   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4746   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4747   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4748   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4749   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4750   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4751   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4752   "(return (var_ref t))))\n"
4753   "\n"
4754   "   (signature mat2x3\n"
4755   "     (parameters\n"
4756   "       (declare (in) mat3x2 m))\n"
4757   "     ((declare () mat2x3 t)\n"
4758   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4759   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4760   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4761   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4762   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4763   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4764   "(return (var_ref t))))\n"
4765   "\n"
4766   "   (signature mat3\n"
4767   "     (parameters\n"
4768   "       (declare (in) mat3 m))\n"
4769   "     ((declare () mat3 t)\n"
4770   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4771   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4772   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4773   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4774   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4775   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4776   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4777   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4778   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4779   "(return (var_ref t))))\n"
4780   "\n"
4781   "   (signature mat4x3\n"
4782   "     (parameters\n"
4783   "       (declare (in) mat3x4 m))\n"
4784   "     ((declare () mat4x3 t)\n"
4785   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4786   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4787   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4788   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4789   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4790   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4791   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4792   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4793   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4794   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4795   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4796   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4797   "(return (var_ref t))))\n"
4798   "\n"
4799   "   (signature mat2x4\n"
4800   "     (parameters\n"
4801   "       (declare (in) mat4x2 m))\n"
4802   "     ((declare () mat2x4 t)\n"
4803   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4804   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4805   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4806   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4807   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4808   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4809   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4810   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4811   "(return (var_ref t))))\n"
4812   "\n"
4813   "   (signature mat3x4\n"
4814   "     (parameters\n"
4815   "       (declare (in) mat4x3 m))\n"
4816   "     ((declare () mat3x4 t)\n"
4817   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4818   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4819   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4820   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4821   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4822   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4823   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4824   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4825   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4826   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4827   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4828   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4829   "(return (var_ref t))))\n"
4830   "\n"
4831   "   (signature mat4\n"
4832   "     (parameters\n"
4833   "       (declare (in) mat4 m))\n"
4834   "     ((declare () mat4 t)\n"
4835   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4836   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4837   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4838   "      (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4839   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4840   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4841   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4842   "      (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4843   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4844   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4845   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4846   "      (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4847   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4848   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4849   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4850   "      (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
4851   "(return (var_ref t))))\n"
4852   ")\n"
4853   "\n"
4854   ")\n"
4855   "\n"
4856   ""
4857;
4858static const char builtin_trunc[] =
4859   "((function trunc\n"
4860   "   (signature float\n"
4861   "     (parameters\n"
4862   "       (declare (in) float arg0))\n"
4863   "     ((return (expression float trunc (var_ref arg0)))))\n"
4864   "\n"
4865   "   (signature vec2\n"
4866   "     (parameters\n"
4867   "       (declare (in) vec2 arg0))\n"
4868   "     ((return (expression vec2 trunc (var_ref arg0)))))\n"
4869   "\n"
4870   "   (signature vec3\n"
4871   "     (parameters\n"
4872   "       (declare (in) vec3 arg0))\n"
4873   "     ((return (expression vec3 trunc (var_ref arg0)))))\n"
4874   "\n"
4875   "   (signature vec4\n"
4876   "     (parameters\n"
4877   "       (declare (in) vec4 arg0))\n"
4878   "     ((return (expression vec4 trunc (var_ref arg0)))))\n"
4879   "))\n"
4880   ""
4881;
4882static const char prototypes_for_100_frag[] =
4883   "(\n"
4884   "(function radians\n"
4885   "  (signature float\n"
4886   "    (parameters\n"
4887   "      (declare (in) float degrees))\n"
4888   "    ())\n"
4889   "  (signature vec2\n"
4890   "    (parameters\n"
4891   "      (declare (in) vec2 degrees))\n"
4892   "    ())\n"
4893   "  (signature vec3\n"
4894   "    (parameters\n"
4895   "      (declare (in) vec3 degrees))\n"
4896   "    ())\n"
4897   "  (signature vec4\n"
4898   "    (parameters\n"
4899   "      (declare (in) vec4 degrees))\n"
4900   "    ()))\n"
4901   "(function degrees\n"
4902   "  (signature float\n"
4903   "    (parameters\n"
4904   "      (declare (in) float radians))\n"
4905   "    ())\n"
4906   "  (signature vec2\n"
4907   "    (parameters\n"
4908   "      (declare (in) vec2 radians))\n"
4909   "    ())\n"
4910   "  (signature vec3\n"
4911   "    (parameters\n"
4912   "      (declare (in) vec3 radians))\n"
4913   "    ())\n"
4914   "  (signature vec4\n"
4915   "    (parameters\n"
4916   "      (declare (in) vec4 radians))\n"
4917   "    ()))\n"
4918   "(function sin\n"
4919   "  (signature float\n"
4920   "    (parameters\n"
4921   "      (declare (in) float angle))\n"
4922   "    ())\n"
4923   "  (signature vec2\n"
4924   "    (parameters\n"
4925   "      (declare (in) vec2 angle))\n"
4926   "    ())\n"
4927   "  (signature vec3\n"
4928   "    (parameters\n"
4929   "      (declare (in) vec3 angle))\n"
4930   "    ())\n"
4931   "  (signature vec4\n"
4932   "    (parameters\n"
4933   "      (declare (in) vec4 angle))\n"
4934   "    ()))\n"
4935   "(function cos\n"
4936   "  (signature float\n"
4937   "    (parameters\n"
4938   "      (declare (in) float angle))\n"
4939   "    ())\n"
4940   "  (signature vec2\n"
4941   "    (parameters\n"
4942   "      (declare (in) vec2 angle))\n"
4943   "    ())\n"
4944   "  (signature vec3\n"
4945   "    (parameters\n"
4946   "      (declare (in) vec3 angle))\n"
4947   "    ())\n"
4948   "  (signature vec4\n"
4949   "    (parameters\n"
4950   "      (declare (in) vec4 angle))\n"
4951   "    ()))\n"
4952   "(function tan\n"
4953   "  (signature float\n"
4954   "    (parameters\n"
4955   "      (declare (in) float angle))\n"
4956   "    ())\n"
4957   "  (signature vec2\n"
4958   "    (parameters\n"
4959   "      (declare (in) vec2 angle))\n"
4960   "    ())\n"
4961   "  (signature vec3\n"
4962   "    (parameters\n"
4963   "      (declare (in) vec3 angle))\n"
4964   "    ())\n"
4965   "  (signature vec4\n"
4966   "    (parameters\n"
4967   "      (declare (in) vec4 angle))\n"
4968   "    ()))\n"
4969   "(function asin\n"
4970   "  (signature float\n"
4971   "    (parameters\n"
4972   "      (declare (in) float angle))\n"
4973   "    ())\n"
4974   "  (signature vec2\n"
4975   "    (parameters\n"
4976   "      (declare (in) vec2 angle))\n"
4977   "    ())\n"
4978   "  (signature vec3\n"
4979   "    (parameters\n"
4980   "      (declare (in) vec3 angle))\n"
4981   "    ())\n"
4982   "  (signature vec4\n"
4983   "    (parameters\n"
4984   "      (declare (in) vec4 angle))\n"
4985   "    ()))\n"
4986   "(function acos\n"
4987   "  (signature float\n"
4988   "    (parameters\n"
4989   "      (declare (in) float angle))\n"
4990   "    ())\n"
4991   "  (signature vec2\n"
4992   "    (parameters\n"
4993   "      (declare (in) vec2 angle))\n"
4994   "    ())\n"
4995   "  (signature vec3\n"
4996   "    (parameters\n"
4997   "      (declare (in) vec3 angle))\n"
4998   "    ())\n"
4999   "  (signature vec4\n"
5000   "    (parameters\n"
5001   "      (declare (in) vec4 angle))\n"
5002   "    ()))\n"
5003   "(function atan\n"
5004   "  (signature float\n"
5005   "    (parameters\n"
5006   "      (declare (in) float y)\n"
5007   "      (declare (in) float x))\n"
5008   "    ())\n"
5009   "  (signature vec2\n"
5010   "    (parameters\n"
5011   "      (declare (in) vec2 y)\n"
5012   "      (declare (in) vec2 x))\n"
5013   "    ())\n"
5014   "  (signature vec3\n"
5015   "    (parameters\n"
5016   "      (declare (in) vec3 y)\n"
5017   "      (declare (in) vec3 x))\n"
5018   "    ())\n"
5019   "  (signature vec4\n"
5020   "    (parameters\n"
5021   "      (declare (in) vec4 y)\n"
5022   "      (declare (in) vec4 x))\n"
5023   "    ())\n"
5024   "  (signature float\n"
5025   "    (parameters\n"
5026   "      (declare (in) float y_over_x))\n"
5027   "    ())\n"
5028   "  (signature vec2\n"
5029   "    (parameters\n"
5030   "      (declare (in) vec2 y_over_x))\n"
5031   "    ())\n"
5032   "  (signature vec3\n"
5033   "    (parameters\n"
5034   "      (declare (in) vec3 y_over_x))\n"
5035   "    ())\n"
5036   "  (signature vec4\n"
5037   "    (parameters\n"
5038   "      (declare (in) vec4 y_over_x))\n"
5039   "    ()))\n"
5040   "(function pow\n"
5041   "  (signature float\n"
5042   "    (parameters\n"
5043   "      (declare (in) float x)\n"
5044   "      (declare (in) float y))\n"
5045   "    ())\n"
5046   "  (signature vec2\n"
5047   "    (parameters\n"
5048   "      (declare (in) vec2 x)\n"
5049   "      (declare (in) vec2 y))\n"
5050   "    ())\n"
5051   "  (signature vec3\n"
5052   "    (parameters\n"
5053   "      (declare (in) vec3 x)\n"
5054   "      (declare (in) vec3 y))\n"
5055   "    ())\n"
5056   "  (signature vec4\n"
5057   "    (parameters\n"
5058   "      (declare (in) vec4 x)\n"
5059   "      (declare (in) vec4 y))\n"
5060   "    ()))\n"
5061   "(function exp\n"
5062   "  (signature float\n"
5063   "    (parameters\n"
5064   "      (declare (in) float x))\n"
5065   "    ())\n"
5066   "  (signature vec2\n"
5067   "    (parameters\n"
5068   "      (declare (in) vec2 x))\n"
5069   "    ())\n"
5070   "  (signature vec3\n"
5071   "    (parameters\n"
5072   "      (declare (in) vec3 x))\n"
5073   "    ())\n"
5074   "  (signature vec4\n"
5075   "    (parameters\n"
5076   "      (declare (in) vec4 x))\n"
5077   "    ()))\n"
5078   "(function log\n"
5079   "  (signature float\n"
5080   "    (parameters\n"
5081   "      (declare (in) float x))\n"
5082   "    ())\n"
5083   "  (signature vec2\n"
5084   "    (parameters\n"
5085   "      (declare (in) vec2 x))\n"
5086   "    ())\n"
5087   "  (signature vec3\n"
5088   "    (parameters\n"
5089   "      (declare (in) vec3 x))\n"
5090   "    ())\n"
5091   "  (signature vec4\n"
5092   "    (parameters\n"
5093   "      (declare (in) vec4 x))\n"
5094   "    ()))\n"
5095   "(function exp2\n"
5096   "  (signature float\n"
5097   "    (parameters\n"
5098   "      (declare (in) float x))\n"
5099   "    ())\n"
5100   "  (signature vec2\n"
5101   "    (parameters\n"
5102   "      (declare (in) vec2 x))\n"
5103   "    ())\n"
5104   "  (signature vec3\n"
5105   "    (parameters\n"
5106   "      (declare (in) vec3 x))\n"
5107   "    ())\n"
5108   "  (signature vec4\n"
5109   "    (parameters\n"
5110   "      (declare (in) vec4 x))\n"
5111   "    ()))\n"
5112   "(function log2\n"
5113   "  (signature float\n"
5114   "    (parameters\n"
5115   "      (declare (in) float x))\n"
5116   "    ())\n"
5117   "  (signature vec2\n"
5118   "    (parameters\n"
5119   "      (declare (in) vec2 x))\n"
5120   "    ())\n"
5121   "  (signature vec3\n"
5122   "    (parameters\n"
5123   "      (declare (in) vec3 x))\n"
5124   "    ())\n"
5125   "  (signature vec4\n"
5126   "    (parameters\n"
5127   "      (declare (in) vec4 x))\n"
5128   "    ()))\n"
5129   "(function sqrt\n"
5130   "  (signature float\n"
5131   "    (parameters\n"
5132   "      (declare (in) float x))\n"
5133   "    ())\n"
5134   "  (signature vec2\n"
5135   "    (parameters\n"
5136   "      (declare (in) vec2 x))\n"
5137   "    ())\n"
5138   "  (signature vec3\n"
5139   "    (parameters\n"
5140   "      (declare (in) vec3 x))\n"
5141   "    ())\n"
5142   "  (signature vec4\n"
5143   "    (parameters\n"
5144   "      (declare (in) vec4 x))\n"
5145   "    ()))\n"
5146   "(function inversesqrt\n"
5147   "  (signature float\n"
5148   "    (parameters\n"
5149   "      (declare (in) float x))\n"
5150   "    ())\n"
5151   "  (signature vec2\n"
5152   "    (parameters\n"
5153   "      (declare (in) vec2 x))\n"
5154   "    ())\n"
5155   "  (signature vec3\n"
5156   "    (parameters\n"
5157   "      (declare (in) vec3 x))\n"
5158   "    ())\n"
5159   "  (signature vec4\n"
5160   "    (parameters\n"
5161   "      (declare (in) vec4 x))\n"
5162   "    ()))\n"
5163   "(function abs\n"
5164   "  (signature float\n"
5165   "    (parameters\n"
5166   "      (declare (in) float x))\n"
5167   "    ())\n"
5168   "  (signature vec2\n"
5169   "    (parameters\n"
5170   "      (declare (in) vec2 x))\n"
5171   "    ())\n"
5172   "  (signature vec3\n"
5173   "    (parameters\n"
5174   "      (declare (in) vec3 x))\n"
5175   "    ())\n"
5176   "  (signature vec4\n"
5177   "    (parameters\n"
5178   "      (declare (in) vec4 x))\n"
5179   "    ()))\n"
5180   "(function sign\n"
5181   "  (signature float\n"
5182   "    (parameters\n"
5183   "      (declare (in) float x))\n"
5184   "    ())\n"
5185   "  (signature vec2\n"
5186   "    (parameters\n"
5187   "      (declare (in) vec2 x))\n"
5188   "    ())\n"
5189   "  (signature vec3\n"
5190   "    (parameters\n"
5191   "      (declare (in) vec3 x))\n"
5192   "    ())\n"
5193   "  (signature vec4\n"
5194   "    (parameters\n"
5195   "      (declare (in) vec4 x))\n"
5196   "    ()))\n"
5197   "(function floor\n"
5198   "  (signature float\n"
5199   "    (parameters\n"
5200   "      (declare (in) float x))\n"
5201   "    ())\n"
5202   "  (signature vec2\n"
5203   "    (parameters\n"
5204   "      (declare (in) vec2 x))\n"
5205   "    ())\n"
5206   "  (signature vec3\n"
5207   "    (parameters\n"
5208   "      (declare (in) vec3 x))\n"
5209   "    ())\n"
5210   "  (signature vec4\n"
5211   "    (parameters\n"
5212   "      (declare (in) vec4 x))\n"
5213   "    ()))\n"
5214   "(function ceil\n"
5215   "  (signature float\n"
5216   "    (parameters\n"
5217   "      (declare (in) float x))\n"
5218   "    ())\n"
5219   "  (signature vec2\n"
5220   "    (parameters\n"
5221   "      (declare (in) vec2 x))\n"
5222   "    ())\n"
5223   "  (signature vec3\n"
5224   "    (parameters\n"
5225   "      (declare (in) vec3 x))\n"
5226   "    ())\n"
5227   "  (signature vec4\n"
5228   "    (parameters\n"
5229   "      (declare (in) vec4 x))\n"
5230   "    ()))\n"
5231   "(function fract\n"
5232   "  (signature float\n"
5233   "    (parameters\n"
5234   "      (declare (in) float x))\n"
5235   "    ())\n"
5236   "  (signature vec2\n"
5237   "    (parameters\n"
5238   "      (declare (in) vec2 x))\n"
5239   "    ())\n"
5240   "  (signature vec3\n"
5241   "    (parameters\n"
5242   "      (declare (in) vec3 x))\n"
5243   "    ())\n"
5244   "  (signature vec4\n"
5245   "    (parameters\n"
5246   "      (declare (in) vec4 x))\n"
5247   "    ()))\n"
5248   "(function mod\n"
5249   "  (signature float\n"
5250   "    (parameters\n"
5251   "      (declare (in) float x)\n"
5252   "      (declare (in) float y))\n"
5253   "    ())\n"
5254   "  (signature vec2\n"
5255   "    (parameters\n"
5256   "      (declare (in) vec2 x)\n"
5257   "      (declare (in) float y))\n"
5258   "    ())\n"
5259   "  (signature vec3\n"
5260   "    (parameters\n"
5261   "      (declare (in) vec3 x)\n"
5262   "      (declare (in) float y))\n"
5263   "    ())\n"
5264   "  (signature vec4\n"
5265   "    (parameters\n"
5266   "      (declare (in) vec4 x)\n"
5267   "      (declare (in) float y))\n"
5268   "    ())\n"
5269   "  (signature vec2\n"
5270   "    (parameters\n"
5271   "      (declare (in) vec2 x)\n"
5272   "      (declare (in) vec2 y))\n"
5273   "    ())\n"
5274   "  (signature vec3\n"
5275   "    (parameters\n"
5276   "      (declare (in) vec3 x)\n"
5277   "      (declare (in) vec3 y))\n"
5278   "    ())\n"
5279   "  (signature vec4\n"
5280   "    (parameters\n"
5281   "      (declare (in) vec4 x)\n"
5282   "      (declare (in) vec4 y))\n"
5283   "    ()))\n"
5284   "(function min\n"
5285   "  (signature float\n"
5286   "    (parameters\n"
5287   "      (declare (in) float x)\n"
5288   "      (declare (in) float y))\n"
5289   "    ())\n"
5290   "  (signature vec2\n"
5291   "    (parameters\n"
5292   "      (declare (in) vec2 x)\n"
5293   "      (declare (in) vec2 y))\n"
5294   "    ())\n"
5295   "  (signature vec3\n"
5296   "    (parameters\n"
5297   "      (declare (in) vec3 x)\n"
5298   "      (declare (in) vec3 y))\n"
5299   "    ())\n"
5300   "  (signature vec4\n"
5301   "    (parameters\n"
5302   "      (declare (in) vec4 x)\n"
5303   "      (declare (in) vec4 y))\n"
5304   "    ())\n"
5305   "  (signature vec2\n"
5306   "    (parameters\n"
5307   "      (declare (in) vec2 x)\n"
5308   "      (declare (in) float y))\n"
5309   "    ())\n"
5310   "  (signature vec3\n"
5311   "    (parameters\n"
5312   "      (declare (in) vec3 x)\n"
5313   "      (declare (in) float y))\n"
5314   "    ())\n"
5315   "  (signature vec4\n"
5316   "    (parameters\n"
5317   "      (declare (in) vec4 x)\n"
5318   "      (declare (in) float y))\n"
5319   "    ()))\n"
5320   "(function max\n"
5321   "  (signature float\n"
5322   "    (parameters\n"
5323   "      (declare (in) float x)\n"
5324   "      (declare (in) float y))\n"
5325   "    ())\n"
5326   "  (signature vec2\n"
5327   "    (parameters\n"
5328   "      (declare (in) vec2 x)\n"
5329   "      (declare (in) vec2 y))\n"
5330   "    ())\n"
5331   "  (signature vec3\n"
5332   "    (parameters\n"
5333   "      (declare (in) vec3 x)\n"
5334   "      (declare (in) vec3 y))\n"
5335   "    ())\n"
5336   "  (signature vec4\n"
5337   "    (parameters\n"
5338   "      (declare (in) vec4 x)\n"
5339   "      (declare (in) vec4 y))\n"
5340   "    ())\n"
5341   "  (signature vec2\n"
5342   "    (parameters\n"
5343   "      (declare (in) vec2 x)\n"
5344   "      (declare (in) float y))\n"
5345   "    ())\n"
5346   "  (signature vec3\n"
5347   "    (parameters\n"
5348   "      (declare (in) vec3 x)\n"
5349   "      (declare (in) float y))\n"
5350   "    ())\n"
5351   "  (signature vec4\n"
5352   "    (parameters\n"
5353   "      (declare (in) vec4 x)\n"
5354   "      (declare (in) float y))\n"
5355   "    ()))\n"
5356   "(function clamp\n"
5357   "  (signature float\n"
5358   "    (parameters\n"
5359   "      (declare (in) float x)\n"
5360   "      (declare (in) float minVal)\n"
5361   "      (declare (in) float maxVal))\n"
5362   "    ())\n"
5363   "  (signature vec2\n"
5364   "    (parameters\n"
5365   "      (declare (in) vec2 x)\n"
5366   "      (declare (in) vec2 minVal)\n"
5367   "      (declare (in) vec2 maxVal))\n"
5368   "    ())\n"
5369   "  (signature vec3\n"
5370   "    (parameters\n"
5371   "      (declare (in) vec3 x)\n"
5372   "      (declare (in) vec3 minVal)\n"
5373   "      (declare (in) vec3 maxVal))\n"
5374   "    ())\n"
5375   "  (signature vec4\n"
5376   "    (parameters\n"
5377   "      (declare (in) vec4 x)\n"
5378   "      (declare (in) vec4 minVal)\n"
5379   "      (declare (in) vec4 maxVal))\n"
5380   "    ())\n"
5381   "  (signature vec2\n"
5382   "    (parameters\n"
5383   "      (declare (in) vec2 x)\n"
5384   "      (declare (in) float minVal)\n"
5385   "      (declare (in) float maxVal))\n"
5386   "    ())\n"
5387   "  (signature vec3\n"
5388   "    (parameters\n"
5389   "      (declare (in) vec3 x)\n"
5390   "      (declare (in) float minVal)\n"
5391   "      (declare (in) float maxVal))\n"
5392   "    ())\n"
5393   "  (signature vec4\n"
5394   "    (parameters\n"
5395   "      (declare (in) vec4 x)\n"
5396   "      (declare (in) float minVal)\n"
5397   "      (declare (in) float maxVal))\n"
5398   "    ()))\n"
5399   "(function mix\n"
5400   "  (signature float\n"
5401   "    (parameters\n"
5402   "      (declare (in) float x)\n"
5403   "      (declare (in) float y)\n"
5404   "      (declare (in) float a))\n"
5405   "    ())\n"
5406   "  (signature vec2\n"
5407   "    (parameters\n"
5408   "      (declare (in) vec2 x)\n"
5409   "      (declare (in) vec2 y)\n"
5410   "      (declare (in) vec2 a))\n"
5411   "    ())\n"
5412   "  (signature vec3\n"
5413   "    (parameters\n"
5414   "      (declare (in) vec3 x)\n"
5415   "      (declare (in) vec3 y)\n"
5416   "      (declare (in) vec3 a))\n"
5417   "    ())\n"
5418   "  (signature vec4\n"
5419   "    (parameters\n"
5420   "      (declare (in) vec4 x)\n"
5421   "      (declare (in) vec4 y)\n"
5422   "      (declare (in) vec4 a))\n"
5423   "    ())\n"
5424   "  (signature vec2\n"
5425   "    (parameters\n"
5426   "      (declare (in) vec2 x)\n"
5427   "      (declare (in) vec2 y)\n"
5428   "      (declare (in) float a))\n"
5429   "    ())\n"
5430   "  (signature vec3\n"
5431   "    (parameters\n"
5432   "      (declare (in) vec3 x)\n"
5433   "      (declare (in) vec3 y)\n"
5434   "      (declare (in) float a))\n"
5435   "    ())\n"
5436   "  (signature vec4\n"
5437   "    (parameters\n"
5438   "      (declare (in) vec4 x)\n"
5439   "      (declare (in) vec4 y)\n"
5440   "      (declare (in) float a))\n"
5441   "    ()))\n"
5442   "(function step\n"
5443   "  (signature float\n"
5444   "    (parameters\n"
5445   "      (declare (in) float edge)\n"
5446   "      (declare (in) float x))\n"
5447   "    ())\n"
5448   "  (signature vec2\n"
5449   "    (parameters\n"
5450   "      (declare (in) vec2 edge)\n"
5451   "      (declare (in) vec2 x))\n"
5452   "    ())\n"
5453   "  (signature vec3\n"
5454   "    (parameters\n"
5455   "      (declare (in) vec3 edge)\n"
5456   "      (declare (in) vec3 x))\n"
5457   "    ())\n"
5458   "  (signature vec4\n"
5459   "    (parameters\n"
5460   "      (declare (in) vec4 edge)\n"
5461   "      (declare (in) vec4 x))\n"
5462   "    ())\n"
5463   "  (signature vec2\n"
5464   "    (parameters\n"
5465   "      (declare (in) float edge)\n"
5466   "      (declare (in) vec2 x))\n"
5467   "    ())\n"
5468   "  (signature vec3\n"
5469   "    (parameters\n"
5470   "      (declare (in) float edge)\n"
5471   "      (declare (in) vec3 x))\n"
5472   "    ())\n"
5473   "  (signature vec4\n"
5474   "    (parameters\n"
5475   "      (declare (in) float edge)\n"
5476   "      (declare (in) vec4 x))\n"
5477   "    ()))\n"
5478   "(function smoothstep\n"
5479   "  (signature float\n"
5480   "    (parameters\n"
5481   "      (declare (in) float edge0)\n"
5482   "      (declare (in) float edge1)\n"
5483   "      (declare (in) float x))\n"
5484   "    ())\n"
5485   "  (signature vec2\n"
5486   "    (parameters\n"
5487   "      (declare (in) vec2 edge0)\n"
5488   "      (declare (in) vec2 edge1)\n"
5489   "      (declare (in) vec2 x))\n"
5490   "    ())\n"
5491   "  (signature vec3\n"
5492   "    (parameters\n"
5493   "      (declare (in) vec3 edge0)\n"
5494   "      (declare (in) vec3 edge1)\n"
5495   "      (declare (in) vec3 x))\n"
5496   "    ())\n"
5497   "  (signature vec4\n"
5498   "    (parameters\n"
5499   "      (declare (in) vec4 edge0)\n"
5500   "      (declare (in) vec4 edge1)\n"
5501   "      (declare (in) vec4 x))\n"
5502   "    ())\n"
5503   "  (signature vec2\n"
5504   "    (parameters\n"
5505   "      (declare (in) float edge0)\n"
5506   "      (declare (in) float edge1)\n"
5507   "      (declare (in) vec2 x))\n"
5508   "    ())\n"
5509   "  (signature vec3\n"
5510   "    (parameters\n"
5511   "      (declare (in) float edge0)\n"
5512   "      (declare (in) float edge1)\n"
5513   "      (declare (in) vec3 x))\n"
5514   "    ())\n"
5515   "  (signature vec4\n"
5516   "    (parameters\n"
5517   "      (declare (in) float edge0)\n"
5518   "      (declare (in) float edge1)\n"
5519   "      (declare (in) vec4 x))\n"
5520   "    ()))\n"
5521   "(function length\n"
5522   "  (signature float\n"
5523   "    (parameters\n"
5524   "      (declare (in) float x))\n"
5525   "    ())\n"
5526   "  (signature float\n"
5527   "    (parameters\n"
5528   "      (declare (in) vec2 x))\n"
5529   "    ())\n"
5530   "  (signature float\n"
5531   "    (parameters\n"
5532   "      (declare (in) vec3 x))\n"
5533   "    ())\n"
5534   "  (signature float\n"
5535   "    (parameters\n"
5536   "      (declare (in) vec4 x))\n"
5537   "    ()))\n"
5538   "(function distance\n"
5539   "  (signature float\n"
5540   "    (parameters\n"
5541   "      (declare (in) float p0)\n"
5542   "      (declare (in) float p1))\n"
5543   "    ())\n"
5544   "  (signature float\n"
5545   "    (parameters\n"
5546   "      (declare (in) vec2 p0)\n"
5547   "      (declare (in) vec2 p1))\n"
5548   "    ())\n"
5549   "  (signature float\n"
5550   "    (parameters\n"
5551   "      (declare (in) vec3 p0)\n"
5552   "      (declare (in) vec3 p1))\n"
5553   "    ())\n"
5554   "  (signature float\n"
5555   "    (parameters\n"
5556   "      (declare (in) vec4 p0)\n"
5557   "      (declare (in) vec4 p1))\n"
5558   "    ()))\n"
5559   "(function dot\n"
5560   "  (signature float\n"
5561   "    (parameters\n"
5562   "      (declare (in) float x)\n"
5563   "      (declare (in) float y))\n"
5564   "    ())\n"
5565   "  (signature float\n"
5566   "    (parameters\n"
5567   "      (declare (in) vec2 x)\n"
5568   "      (declare (in) vec2 y))\n"
5569   "    ())\n"
5570   "  (signature float\n"
5571   "    (parameters\n"
5572   "      (declare (in) vec3 x)\n"
5573   "      (declare (in) vec3 y))\n"
5574   "    ())\n"
5575   "  (signature float\n"
5576   "    (parameters\n"
5577   "      (declare (in) vec4 x)\n"
5578   "      (declare (in) vec4 y))\n"
5579   "    ()))\n"
5580   "(function cross\n"
5581   "  (signature vec3\n"
5582   "    (parameters\n"
5583   "      (declare (in) vec3 x)\n"
5584   "      (declare (in) vec3 y))\n"
5585   "    ()))\n"
5586   "(function normalize\n"
5587   "  (signature float\n"
5588   "    (parameters\n"
5589   "      (declare (in) float x))\n"
5590   "    ())\n"
5591   "  (signature vec2\n"
5592   "    (parameters\n"
5593   "      (declare (in) vec2 x))\n"
5594   "    ())\n"
5595   "  (signature vec3\n"
5596   "    (parameters\n"
5597   "      (declare (in) vec3 x))\n"
5598   "    ())\n"
5599   "  (signature vec4\n"
5600   "    (parameters\n"
5601   "      (declare (in) vec4 x))\n"
5602   "    ()))\n"
5603   "(function faceforward\n"
5604   "  (signature float\n"
5605   "    (parameters\n"
5606   "      (declare (in) float N)\n"
5607   "      (declare (in) float I)\n"
5608   "      (declare (in) float Nref))\n"
5609   "    ())\n"
5610   "  (signature vec2\n"
5611   "    (parameters\n"
5612   "      (declare (in) vec2 N)\n"
5613   "      (declare (in) vec2 I)\n"
5614   "      (declare (in) vec2 Nref))\n"
5615   "    ())\n"
5616   "  (signature vec3\n"
5617   "    (parameters\n"
5618   "      (declare (in) vec3 N)\n"
5619   "      (declare (in) vec3 I)\n"
5620   "      (declare (in) vec3 Nref))\n"
5621   "    ())\n"
5622   "  (signature vec4\n"
5623   "    (parameters\n"
5624   "      (declare (in) vec4 N)\n"
5625   "      (declare (in) vec4 I)\n"
5626   "      (declare (in) vec4 Nref))\n"
5627   "    ()))\n"
5628   "(function reflect\n"
5629   "  (signature float\n"
5630   "    (parameters\n"
5631   "      (declare (in) float I)\n"
5632   "      (declare (in) float N))\n"
5633   "    ())\n"
5634   "  (signature vec2\n"
5635   "    (parameters\n"
5636   "      (declare (in) vec2 I)\n"
5637   "      (declare (in) vec2 N))\n"
5638   "    ())\n"
5639   "  (signature vec3\n"
5640   "    (parameters\n"
5641   "      (declare (in) vec3 I)\n"
5642   "      (declare (in) vec3 N))\n"
5643   "    ())\n"
5644   "  (signature vec4\n"
5645   "    (parameters\n"
5646   "      (declare (in) vec4 I)\n"
5647   "      (declare (in) vec4 N))\n"
5648   "    ()))\n"
5649   "(function refract\n"
5650   "  (signature float\n"
5651   "    (parameters\n"
5652   "      (declare (in) float I)\n"
5653   "      (declare (in) float N)\n"
5654   "      (declare (in) float eta))\n"
5655   "    ())\n"
5656   "  (signature vec2\n"
5657   "    (parameters\n"
5658   "      (declare (in) vec2 I)\n"
5659   "      (declare (in) vec2 N)\n"
5660   "      (declare (in) float eta))\n"
5661   "    ())\n"
5662   "  (signature vec3\n"
5663   "    (parameters\n"
5664   "      (declare (in) vec3 I)\n"
5665   "      (declare (in) vec3 N)\n"
5666   "      (declare (in) float eta))\n"
5667   "    ())\n"
5668   "  (signature vec4\n"
5669   "    (parameters\n"
5670   "      (declare (in) vec4 I)\n"
5671   "      (declare (in) vec4 N)\n"
5672   "      (declare (in) float eta))\n"
5673   "    ()))\n"
5674   "(function matrixCompMult\n"
5675   "  (signature mat2\n"
5676   "    (parameters\n"
5677   "      (declare (in) mat2 x)\n"
5678   "      (declare (in) mat2 y))\n"
5679   "    ())\n"
5680   "  (signature mat3\n"
5681   "    (parameters\n"
5682   "      (declare (in) mat3 x)\n"
5683   "      (declare (in) mat3 y))\n"
5684   "    ())\n"
5685   "  (signature mat4\n"
5686   "    (parameters\n"
5687   "      (declare (in) mat4 x)\n"
5688   "      (declare (in) mat4 y))\n"
5689   "    ()))\n"
5690   "(function lessThan\n"
5691   "  (signature bvec2\n"
5692   "    (parameters\n"
5693   "      (declare (in) vec2 x)\n"
5694   "      (declare (in) vec2 y))\n"
5695   "    ())\n"
5696   "  (signature bvec3\n"
5697   "    (parameters\n"
5698   "      (declare (in) vec3 x)\n"
5699   "      (declare (in) vec3 y))\n"
5700   "    ())\n"
5701   "  (signature bvec4\n"
5702   "    (parameters\n"
5703   "      (declare (in) vec4 x)\n"
5704   "      (declare (in) vec4 y))\n"
5705   "    ())\n"
5706   "  (signature bvec2\n"
5707   "    (parameters\n"
5708   "      (declare (in) ivec2 x)\n"
5709   "      (declare (in) ivec2 y))\n"
5710   "    ())\n"
5711   "  (signature bvec3\n"
5712   "    (parameters\n"
5713   "      (declare (in) ivec3 x)\n"
5714   "      (declare (in) ivec3 y))\n"
5715   "    ())\n"
5716   "  (signature bvec4\n"
5717   "    (parameters\n"
5718   "      (declare (in) ivec4 x)\n"
5719   "      (declare (in) ivec4 y))\n"
5720   "    ()))\n"
5721   "(function lessThanEqual\n"
5722   "  (signature bvec2\n"
5723   "    (parameters\n"
5724   "      (declare (in) vec2 x)\n"
5725   "      (declare (in) vec2 y))\n"
5726   "    ())\n"
5727   "  (signature bvec3\n"
5728   "    (parameters\n"
5729   "      (declare (in) vec3 x)\n"
5730   "      (declare (in) vec3 y))\n"
5731   "    ())\n"
5732   "  (signature bvec4\n"
5733   "    (parameters\n"
5734   "      (declare (in) vec4 x)\n"
5735   "      (declare (in) vec4 y))\n"
5736   "    ())\n"
5737   "  (signature bvec2\n"
5738   "    (parameters\n"
5739   "      (declare (in) ivec2 x)\n"
5740   "      (declare (in) ivec2 y))\n"
5741   "    ())\n"
5742   "  (signature bvec3\n"
5743   "    (parameters\n"
5744   "      (declare (in) ivec3 x)\n"
5745   "      (declare (in) ivec3 y))\n"
5746   "    ())\n"
5747   "  (signature bvec4\n"
5748   "    (parameters\n"
5749   "      (declare (in) ivec4 x)\n"
5750   "      (declare (in) ivec4 y))\n"
5751   "    ()))\n"
5752   "(function greaterThan\n"
5753   "  (signature bvec2\n"
5754   "    (parameters\n"
5755   "      (declare (in) vec2 x)\n"
5756   "      (declare (in) vec2 y))\n"
5757   "    ())\n"
5758   "  (signature bvec3\n"
5759   "    (parameters\n"
5760   "      (declare (in) vec3 x)\n"
5761   "      (declare (in) vec3 y))\n"
5762   "    ())\n"
5763   "  (signature bvec4\n"
5764   "    (parameters\n"
5765   "      (declare (in) vec4 x)\n"
5766   "      (declare (in) vec4 y))\n"
5767   "    ())\n"
5768   "  (signature bvec2\n"
5769   "    (parameters\n"
5770   "      (declare (in) ivec2 x)\n"
5771   "      (declare (in) ivec2 y))\n"
5772   "    ())\n"
5773   "  (signature bvec3\n"
5774   "    (parameters\n"
5775   "      (declare (in) ivec3 x)\n"
5776   "      (declare (in) ivec3 y))\n"
5777   "    ())\n"
5778   "  (signature bvec4\n"
5779   "    (parameters\n"
5780   "      (declare (in) ivec4 x)\n"
5781   "      (declare (in) ivec4 y))\n"
5782   "    ()))\n"
5783   "(function greaterThanEqual\n"
5784   "  (signature bvec2\n"
5785   "    (parameters\n"
5786   "      (declare (in) vec2 x)\n"
5787   "      (declare (in) vec2 y))\n"
5788   "    ())\n"
5789   "  (signature bvec3\n"
5790   "    (parameters\n"
5791   "      (declare (in) vec3 x)\n"
5792   "      (declare (in) vec3 y))\n"
5793   "    ())\n"
5794   "  (signature bvec4\n"
5795   "    (parameters\n"
5796   "      (declare (in) vec4 x)\n"
5797   "      (declare (in) vec4 y))\n"
5798   "    ())\n"
5799   "  (signature bvec2\n"
5800   "    (parameters\n"
5801   "      (declare (in) ivec2 x)\n"
5802   "      (declare (in) ivec2 y))\n"
5803   "    ())\n"
5804   "  (signature bvec3\n"
5805   "    (parameters\n"
5806   "      (declare (in) ivec3 x)\n"
5807   "      (declare (in) ivec3 y))\n"
5808   "    ())\n"
5809   "  (signature bvec4\n"
5810   "    (parameters\n"
5811   "      (declare (in) ivec4 x)\n"
5812   "      (declare (in) ivec4 y))\n"
5813   "    ()))\n"
5814   "(function equal\n"
5815   "  (signature bvec2\n"
5816   "    (parameters\n"
5817   "      (declare (in) vec2 x)\n"
5818   "      (declare (in) vec2 y))\n"
5819   "    ())\n"
5820   "  (signature bvec3\n"
5821   "    (parameters\n"
5822   "      (declare (in) vec3 x)\n"
5823   "      (declare (in) vec3 y))\n"
5824   "    ())\n"
5825   "  (signature bvec4\n"
5826   "    (parameters\n"
5827   "      (declare (in) vec4 x)\n"
5828   "      (declare (in) vec4 y))\n"
5829   "    ())\n"
5830   "  (signature bvec2\n"
5831   "    (parameters\n"
5832   "      (declare (in) ivec2 x)\n"
5833   "      (declare (in) ivec2 y))\n"
5834   "    ())\n"
5835   "  (signature bvec3\n"
5836   "    (parameters\n"
5837   "      (declare (in) ivec3 x)\n"
5838   "      (declare (in) ivec3 y))\n"
5839   "    ())\n"
5840   "  (signature bvec4\n"
5841   "    (parameters\n"
5842   "      (declare (in) ivec4 x)\n"
5843   "      (declare (in) ivec4 y))\n"
5844   "    ())\n"
5845   "  (signature bvec2\n"
5846   "    (parameters\n"
5847   "      (declare (in) bvec2 x)\n"
5848   "      (declare (in) bvec2 y))\n"
5849   "    ())\n"
5850   "  (signature bvec3\n"
5851   "    (parameters\n"
5852   "      (declare (in) bvec3 x)\n"
5853   "      (declare (in) bvec3 y))\n"
5854   "    ())\n"
5855   "  (signature bvec4\n"
5856   "    (parameters\n"
5857   "      (declare (in) bvec4 x)\n"
5858   "      (declare (in) bvec4 y))\n"
5859   "    ()))\n"
5860   "(function notEqual\n"
5861   "  (signature bvec2\n"
5862   "    (parameters\n"
5863   "      (declare (in) vec2 x)\n"
5864   "      (declare (in) vec2 y))\n"
5865   "    ())\n"
5866   "  (signature bvec3\n"
5867   "    (parameters\n"
5868   "      (declare (in) vec3 x)\n"
5869   "      (declare (in) vec3 y))\n"
5870   "    ())\n"
5871   "  (signature bvec4\n"
5872   "    (parameters\n"
5873   "      (declare (in) vec4 x)\n"
5874   "      (declare (in) vec4 y))\n"
5875   "    ())\n"
5876   "  (signature bvec2\n"
5877   "    (parameters\n"
5878   "      (declare (in) ivec2 x)\n"
5879   "      (declare (in) ivec2 y))\n"
5880   "    ())\n"
5881   "  (signature bvec3\n"
5882   "    (parameters\n"
5883   "      (declare (in) ivec3 x)\n"
5884   "      (declare (in) ivec3 y))\n"
5885   "    ())\n"
5886   "  (signature bvec4\n"
5887   "    (parameters\n"
5888   "      (declare (in) ivec4 x)\n"
5889   "      (declare (in) ivec4 y))\n"
5890   "    ())\n"
5891   "  (signature bvec2\n"
5892   "    (parameters\n"
5893   "      (declare (in) bvec2 x)\n"
5894   "      (declare (in) bvec2 y))\n"
5895   "    ())\n"
5896   "  (signature bvec3\n"
5897   "    (parameters\n"
5898   "      (declare (in) bvec3 x)\n"
5899   "      (declare (in) bvec3 y))\n"
5900   "    ())\n"
5901   "  (signature bvec4\n"
5902   "    (parameters\n"
5903   "      (declare (in) bvec4 x)\n"
5904   "      (declare (in) bvec4 y))\n"
5905   "    ()))\n"
5906   "(function any\n"
5907   "  (signature bool\n"
5908   "    (parameters\n"
5909   "      (declare (in) bvec2 x))\n"
5910   "    ())\n"
5911   "  (signature bool\n"
5912   "    (parameters\n"
5913   "      (declare (in) bvec3 x))\n"
5914   "    ())\n"
5915   "  (signature bool\n"
5916   "    (parameters\n"
5917   "      (declare (in) bvec4 x))\n"
5918   "    ()))\n"
5919   "(function all\n"
5920   "  (signature bool\n"
5921   "    (parameters\n"
5922   "      (declare (in) bvec2 x))\n"
5923   "    ())\n"
5924   "  (signature bool\n"
5925   "    (parameters\n"
5926   "      (declare (in) bvec3 x))\n"
5927   "    ())\n"
5928   "  (signature bool\n"
5929   "    (parameters\n"
5930   "      (declare (in) bvec4 x))\n"
5931   "    ()))\n"
5932   "(function not\n"
5933   "  (signature bvec2\n"
5934   "    (parameters\n"
5935   "      (declare (in) bvec2 x))\n"
5936   "    ())\n"
5937   "  (signature bvec3\n"
5938   "    (parameters\n"
5939   "      (declare (in) bvec3 x))\n"
5940   "    ())\n"
5941   "  (signature bvec4\n"
5942   "    (parameters\n"
5943   "      (declare (in) bvec4 x))\n"
5944   "    ()))\n"
5945   "(function texture2D\n"
5946   "  (signature vec4\n"
5947   "    (parameters\n"
5948   "      (declare (in) sampler2D sampler)\n"
5949   "      (declare (in) vec2 coord))\n"
5950   "    ())\n"
5951   "  (signature vec4\n"
5952   "    (parameters\n"
5953   "      (declare (in) sampler2D sampler)\n"
5954   "      (declare (in) vec2 coord)\n"
5955   "      (declare (in) float bias))\n"
5956   "    ()))\n"
5957   "(function texture2DProj\n"
5958   "  (signature vec4\n"
5959   "    (parameters\n"
5960   "      (declare (in) sampler2D sampler)\n"
5961   "      (declare (in) vec3 coord))\n"
5962   "    ())\n"
5963   "  (signature vec4\n"
5964   "    (parameters\n"
5965   "      (declare (in) sampler2D sampler)\n"
5966   "      (declare (in) vec4 coord))\n"
5967   "    ())\n"
5968   "  (signature vec4\n"
5969   "    (parameters\n"
5970   "      (declare (in) sampler2D sampler)\n"
5971   "      (declare (in) vec3 coord)\n"
5972   "      (declare (in) float bias))\n"
5973   "    ())\n"
5974   "  (signature vec4\n"
5975   "    (parameters\n"
5976   "      (declare (in) sampler2D sampler)\n"
5977   "      (declare (in) vec4 coord)\n"
5978   "      (declare (in) float bias))\n"
5979   "    ()))\n"
5980   "(function textureCube\n"
5981   "  (signature vec4\n"
5982   "    (parameters\n"
5983   "      (declare (in) samplerCube sampler)\n"
5984   "      (declare (in) vec3 coord))\n"
5985   "    ())\n"
5986   "  (signature vec4\n"
5987   "    (parameters\n"
5988   "      (declare (in) samplerCube sampler)\n"
5989   "      (declare (in) vec3 coord)\n"
5990   "      (declare (in) float bias))\n"
5991   "    ())))"
5992;
5993static const char *functions_for_100_frag [] = {
5994   builtin_abs,
5995   builtin_acos,
5996   builtin_all,
5997   builtin_any,
5998   builtin_asin,
5999   builtin_atan,
6000   builtin_ceil,
6001   builtin_clamp,
6002   builtin_cos,
6003   builtin_cross,
6004   builtin_degrees,
6005   builtin_distance,
6006   builtin_dot,
6007   builtin_equal,
6008   builtin_exp,
6009   builtin_exp2,
6010   builtin_faceforward,
6011   builtin_floor,
6012   builtin_fract,
6013   builtin_greaterThan,
6014   builtin_greaterThanEqual,
6015   builtin_inversesqrt,
6016   builtin_length,
6017   builtin_lessThan,
6018   builtin_lessThanEqual,
6019   builtin_log,
6020   builtin_log2,
6021   builtin_matrixCompMult,
6022   builtin_max,
6023   builtin_min,
6024   builtin_mix,
6025   builtin_mod,
6026   builtin_normalize,
6027   builtin_not,
6028   builtin_notEqual,
6029   builtin_pow,
6030   builtin_radians,
6031   builtin_reflect,
6032   builtin_refract,
6033   builtin_sign,
6034   builtin_sin,
6035   builtin_smoothstep,
6036   builtin_sqrt,
6037   builtin_step,
6038   builtin_tan,
6039   builtin_texture2D,
6040   builtin_texture2DProj,
6041   builtin_textureCube,
6042};
6043static const char prototypes_for_100_vert[] =
6044   "(\n"
6045   "(function radians\n"
6046   "  (signature float\n"
6047   "    (parameters\n"
6048   "      (declare (in) float degrees))\n"
6049   "    ())\n"
6050   "  (signature vec2\n"
6051   "    (parameters\n"
6052   "      (declare (in) vec2 degrees))\n"
6053   "    ())\n"
6054   "  (signature vec3\n"
6055   "    (parameters\n"
6056   "      (declare (in) vec3 degrees))\n"
6057   "    ())\n"
6058   "  (signature vec4\n"
6059   "    (parameters\n"
6060   "      (declare (in) vec4 degrees))\n"
6061   "    ()))\n"
6062   "(function degrees\n"
6063   "  (signature float\n"
6064   "    (parameters\n"
6065   "      (declare (in) float radians))\n"
6066   "    ())\n"
6067   "  (signature vec2\n"
6068   "    (parameters\n"
6069   "      (declare (in) vec2 radians))\n"
6070   "    ())\n"
6071   "  (signature vec3\n"
6072   "    (parameters\n"
6073   "      (declare (in) vec3 radians))\n"
6074   "    ())\n"
6075   "  (signature vec4\n"
6076   "    (parameters\n"
6077   "      (declare (in) vec4 radians))\n"
6078   "    ()))\n"
6079   "(function sin\n"
6080   "  (signature float\n"
6081   "    (parameters\n"
6082   "      (declare (in) float angle))\n"
6083   "    ())\n"
6084   "  (signature vec2\n"
6085   "    (parameters\n"
6086   "      (declare (in) vec2 angle))\n"
6087   "    ())\n"
6088   "  (signature vec3\n"
6089   "    (parameters\n"
6090   "      (declare (in) vec3 angle))\n"
6091   "    ())\n"
6092   "  (signature vec4\n"
6093   "    (parameters\n"
6094   "      (declare (in) vec4 angle))\n"
6095   "    ()))\n"
6096   "(function cos\n"
6097   "  (signature float\n"
6098   "    (parameters\n"
6099   "      (declare (in) float angle))\n"
6100   "    ())\n"
6101   "  (signature vec2\n"
6102   "    (parameters\n"
6103   "      (declare (in) vec2 angle))\n"
6104   "    ())\n"
6105   "  (signature vec3\n"
6106   "    (parameters\n"
6107   "      (declare (in) vec3 angle))\n"
6108   "    ())\n"
6109   "  (signature vec4\n"
6110   "    (parameters\n"
6111   "      (declare (in) vec4 angle))\n"
6112   "    ()))\n"
6113   "(function tan\n"
6114   "  (signature float\n"
6115   "    (parameters\n"
6116   "      (declare (in) float angle))\n"
6117   "    ())\n"
6118   "  (signature vec2\n"
6119   "    (parameters\n"
6120   "      (declare (in) vec2 angle))\n"
6121   "    ())\n"
6122   "  (signature vec3\n"
6123   "    (parameters\n"
6124   "      (declare (in) vec3 angle))\n"
6125   "    ())\n"
6126   "  (signature vec4\n"
6127   "    (parameters\n"
6128   "      (declare (in) vec4 angle))\n"
6129   "    ()))\n"
6130   "(function asin\n"
6131   "  (signature float\n"
6132   "    (parameters\n"
6133   "      (declare (in) float angle))\n"
6134   "    ())\n"
6135   "  (signature vec2\n"
6136   "    (parameters\n"
6137   "      (declare (in) vec2 angle))\n"
6138   "    ())\n"
6139   "  (signature vec3\n"
6140   "    (parameters\n"
6141   "      (declare (in) vec3 angle))\n"
6142   "    ())\n"
6143   "  (signature vec4\n"
6144   "    (parameters\n"
6145   "      (declare (in) vec4 angle))\n"
6146   "    ()))\n"
6147   "(function acos\n"
6148   "  (signature float\n"
6149   "    (parameters\n"
6150   "      (declare (in) float angle))\n"
6151   "    ())\n"
6152   "  (signature vec2\n"
6153   "    (parameters\n"
6154   "      (declare (in) vec2 angle))\n"
6155   "    ())\n"
6156   "  (signature vec3\n"
6157   "    (parameters\n"
6158   "      (declare (in) vec3 angle))\n"
6159   "    ())\n"
6160   "  (signature vec4\n"
6161   "    (parameters\n"
6162   "      (declare (in) vec4 angle))\n"
6163   "    ()))\n"
6164   "(function atan\n"
6165   "  (signature float\n"
6166   "    (parameters\n"
6167   "      (declare (in) float y)\n"
6168   "      (declare (in) float x))\n"
6169   "    ())\n"
6170   "  (signature vec2\n"
6171   "    (parameters\n"
6172   "      (declare (in) vec2 y)\n"
6173   "      (declare (in) vec2 x))\n"
6174   "    ())\n"
6175   "  (signature vec3\n"
6176   "    (parameters\n"
6177   "      (declare (in) vec3 y)\n"
6178   "      (declare (in) vec3 x))\n"
6179   "    ())\n"
6180   "  (signature vec4\n"
6181   "    (parameters\n"
6182   "      (declare (in) vec4 y)\n"
6183   "      (declare (in) vec4 x))\n"
6184   "    ())\n"
6185   "  (signature float\n"
6186   "    (parameters\n"
6187   "      (declare (in) float y_over_x))\n"
6188   "    ())\n"
6189   "  (signature vec2\n"
6190   "    (parameters\n"
6191   "      (declare (in) vec2 y_over_x))\n"
6192   "    ())\n"
6193   "  (signature vec3\n"
6194   "    (parameters\n"
6195   "      (declare (in) vec3 y_over_x))\n"
6196   "    ())\n"
6197   "  (signature vec4\n"
6198   "    (parameters\n"
6199   "      (declare (in) vec4 y_over_x))\n"
6200   "    ()))\n"
6201   "(function pow\n"
6202   "  (signature float\n"
6203   "    (parameters\n"
6204   "      (declare (in) float x)\n"
6205   "      (declare (in) float y))\n"
6206   "    ())\n"
6207   "  (signature vec2\n"
6208   "    (parameters\n"
6209   "      (declare (in) vec2 x)\n"
6210   "      (declare (in) vec2 y))\n"
6211   "    ())\n"
6212   "  (signature vec3\n"
6213   "    (parameters\n"
6214   "      (declare (in) vec3 x)\n"
6215   "      (declare (in) vec3 y))\n"
6216   "    ())\n"
6217   "  (signature vec4\n"
6218   "    (parameters\n"
6219   "      (declare (in) vec4 x)\n"
6220   "      (declare (in) vec4 y))\n"
6221   "    ()))\n"
6222   "(function exp\n"
6223   "  (signature float\n"
6224   "    (parameters\n"
6225   "      (declare (in) float x))\n"
6226   "    ())\n"
6227   "  (signature vec2\n"
6228   "    (parameters\n"
6229   "      (declare (in) vec2 x))\n"
6230   "    ())\n"
6231   "  (signature vec3\n"
6232   "    (parameters\n"
6233   "      (declare (in) vec3 x))\n"
6234   "    ())\n"
6235   "  (signature vec4\n"
6236   "    (parameters\n"
6237   "      (declare (in) vec4 x))\n"
6238   "    ()))\n"
6239   "(function log\n"
6240   "  (signature float\n"
6241   "    (parameters\n"
6242   "      (declare (in) float x))\n"
6243   "    ())\n"
6244   "  (signature vec2\n"
6245   "    (parameters\n"
6246   "      (declare (in) vec2 x))\n"
6247   "    ())\n"
6248   "  (signature vec3\n"
6249   "    (parameters\n"
6250   "      (declare (in) vec3 x))\n"
6251   "    ())\n"
6252   "  (signature vec4\n"
6253   "    (parameters\n"
6254   "      (declare (in) vec4 x))\n"
6255   "    ()))\n"
6256   "(function exp2\n"
6257   "  (signature float\n"
6258   "    (parameters\n"
6259   "      (declare (in) float x))\n"
6260   "    ())\n"
6261   "  (signature vec2\n"
6262   "    (parameters\n"
6263   "      (declare (in) vec2 x))\n"
6264   "    ())\n"
6265   "  (signature vec3\n"
6266   "    (parameters\n"
6267   "      (declare (in) vec3 x))\n"
6268   "    ())\n"
6269   "  (signature vec4\n"
6270   "    (parameters\n"
6271   "      (declare (in) vec4 x))\n"
6272   "    ()))\n"
6273   "(function log2\n"
6274   "  (signature float\n"
6275   "    (parameters\n"
6276   "      (declare (in) float x))\n"
6277   "    ())\n"
6278   "  (signature vec2\n"
6279   "    (parameters\n"
6280   "      (declare (in) vec2 x))\n"
6281   "    ())\n"
6282   "  (signature vec3\n"
6283   "    (parameters\n"
6284   "      (declare (in) vec3 x))\n"
6285   "    ())\n"
6286   "  (signature vec4\n"
6287   "    (parameters\n"
6288   "      (declare (in) vec4 x))\n"
6289   "    ()))\n"
6290   "(function sqrt\n"
6291   "  (signature float\n"
6292   "    (parameters\n"
6293   "      (declare (in) float x))\n"
6294   "    ())\n"
6295   "  (signature vec2\n"
6296   "    (parameters\n"
6297   "      (declare (in) vec2 x))\n"
6298   "    ())\n"
6299   "  (signature vec3\n"
6300   "    (parameters\n"
6301   "      (declare (in) vec3 x))\n"
6302   "    ())\n"
6303   "  (signature vec4\n"
6304   "    (parameters\n"
6305   "      (declare (in) vec4 x))\n"
6306   "    ()))\n"
6307   "(function inversesqrt\n"
6308   "  (signature float\n"
6309   "    (parameters\n"
6310   "      (declare (in) float x))\n"
6311   "    ())\n"
6312   "  (signature vec2\n"
6313   "    (parameters\n"
6314   "      (declare (in) vec2 x))\n"
6315   "    ())\n"
6316   "  (signature vec3\n"
6317   "    (parameters\n"
6318   "      (declare (in) vec3 x))\n"
6319   "    ())\n"
6320   "  (signature vec4\n"
6321   "    (parameters\n"
6322   "      (declare (in) vec4 x))\n"
6323   "    ()))\n"
6324   "(function abs\n"
6325   "  (signature float\n"
6326   "    (parameters\n"
6327   "      (declare (in) float x))\n"
6328   "    ())\n"
6329   "  (signature vec2\n"
6330   "    (parameters\n"
6331   "      (declare (in) vec2 x))\n"
6332   "    ())\n"
6333   "  (signature vec3\n"
6334   "    (parameters\n"
6335   "      (declare (in) vec3 x))\n"
6336   "    ())\n"
6337   "  (signature vec4\n"
6338   "    (parameters\n"
6339   "      (declare (in) vec4 x))\n"
6340   "    ()))\n"
6341   "(function sign\n"
6342   "  (signature float\n"
6343   "    (parameters\n"
6344   "      (declare (in) float x))\n"
6345   "    ())\n"
6346   "  (signature vec2\n"
6347   "    (parameters\n"
6348   "      (declare (in) vec2 x))\n"
6349   "    ())\n"
6350   "  (signature vec3\n"
6351   "    (parameters\n"
6352   "      (declare (in) vec3 x))\n"
6353   "    ())\n"
6354   "  (signature vec4\n"
6355   "    (parameters\n"
6356   "      (declare (in) vec4 x))\n"
6357   "    ()))\n"
6358   "(function floor\n"
6359   "  (signature float\n"
6360   "    (parameters\n"
6361   "      (declare (in) float x))\n"
6362   "    ())\n"
6363   "  (signature vec2\n"
6364   "    (parameters\n"
6365   "      (declare (in) vec2 x))\n"
6366   "    ())\n"
6367   "  (signature vec3\n"
6368   "    (parameters\n"
6369   "      (declare (in) vec3 x))\n"
6370   "    ())\n"
6371   "  (signature vec4\n"
6372   "    (parameters\n"
6373   "      (declare (in) vec4 x))\n"
6374   "    ()))\n"
6375   "(function ceil\n"
6376   "  (signature float\n"
6377   "    (parameters\n"
6378   "      (declare (in) float x))\n"
6379   "    ())\n"
6380   "  (signature vec2\n"
6381   "    (parameters\n"
6382   "      (declare (in) vec2 x))\n"
6383   "    ())\n"
6384   "  (signature vec3\n"
6385   "    (parameters\n"
6386   "      (declare (in) vec3 x))\n"
6387   "    ())\n"
6388   "  (signature vec4\n"
6389   "    (parameters\n"
6390   "      (declare (in) vec4 x))\n"
6391   "    ()))\n"
6392   "(function fract\n"
6393   "  (signature float\n"
6394   "    (parameters\n"
6395   "      (declare (in) float x))\n"
6396   "    ())\n"
6397   "  (signature vec2\n"
6398   "    (parameters\n"
6399   "      (declare (in) vec2 x))\n"
6400   "    ())\n"
6401   "  (signature vec3\n"
6402   "    (parameters\n"
6403   "      (declare (in) vec3 x))\n"
6404   "    ())\n"
6405   "  (signature vec4\n"
6406   "    (parameters\n"
6407   "      (declare (in) vec4 x))\n"
6408   "    ()))\n"
6409   "(function mod\n"
6410   "  (signature float\n"
6411   "    (parameters\n"
6412   "      (declare (in) float x)\n"
6413   "      (declare (in) float y))\n"
6414   "    ())\n"
6415   "  (signature vec2\n"
6416   "    (parameters\n"
6417   "      (declare (in) vec2 x)\n"
6418   "      (declare (in) float y))\n"
6419   "    ())\n"
6420   "  (signature vec3\n"
6421   "    (parameters\n"
6422   "      (declare (in) vec3 x)\n"
6423   "      (declare (in) float y))\n"
6424   "    ())\n"
6425   "  (signature vec4\n"
6426   "    (parameters\n"
6427   "      (declare (in) vec4 x)\n"
6428   "      (declare (in) float y))\n"
6429   "    ())\n"
6430   "  (signature vec2\n"
6431   "    (parameters\n"
6432   "      (declare (in) vec2 x)\n"
6433   "      (declare (in) vec2 y))\n"
6434   "    ())\n"
6435   "  (signature vec3\n"
6436   "    (parameters\n"
6437   "      (declare (in) vec3 x)\n"
6438   "      (declare (in) vec3 y))\n"
6439   "    ())\n"
6440   "  (signature vec4\n"
6441   "    (parameters\n"
6442   "      (declare (in) vec4 x)\n"
6443   "      (declare (in) vec4 y))\n"
6444   "    ()))\n"
6445   "(function min\n"
6446   "  (signature float\n"
6447   "    (parameters\n"
6448   "      (declare (in) float x)\n"
6449   "      (declare (in) float y))\n"
6450   "    ())\n"
6451   "  (signature vec2\n"
6452   "    (parameters\n"
6453   "      (declare (in) vec2 x)\n"
6454   "      (declare (in) vec2 y))\n"
6455   "    ())\n"
6456   "  (signature vec3\n"
6457   "    (parameters\n"
6458   "      (declare (in) vec3 x)\n"
6459   "      (declare (in) vec3 y))\n"
6460   "    ())\n"
6461   "  (signature vec4\n"
6462   "    (parameters\n"
6463   "      (declare (in) vec4 x)\n"
6464   "      (declare (in) vec4 y))\n"
6465   "    ())\n"
6466   "  (signature vec2\n"
6467   "    (parameters\n"
6468   "      (declare (in) vec2 x)\n"
6469   "      (declare (in) float y))\n"
6470   "    ())\n"
6471   "  (signature vec3\n"
6472   "    (parameters\n"
6473   "      (declare (in) vec3 x)\n"
6474   "      (declare (in) float y))\n"
6475   "    ())\n"
6476   "  (signature vec4\n"
6477   "    (parameters\n"
6478   "      (declare (in) vec4 x)\n"
6479   "      (declare (in) float y))\n"
6480   "    ()))\n"
6481   "(function max\n"
6482   "  (signature float\n"
6483   "    (parameters\n"
6484   "      (declare (in) float x)\n"
6485   "      (declare (in) float y))\n"
6486   "    ())\n"
6487   "  (signature vec2\n"
6488   "    (parameters\n"
6489   "      (declare (in) vec2 x)\n"
6490   "      (declare (in) vec2 y))\n"
6491   "    ())\n"
6492   "  (signature vec3\n"
6493   "    (parameters\n"
6494   "      (declare (in) vec3 x)\n"
6495   "      (declare (in) vec3 y))\n"
6496   "    ())\n"
6497   "  (signature vec4\n"
6498   "    (parameters\n"
6499   "      (declare (in) vec4 x)\n"
6500   "      (declare (in) vec4 y))\n"
6501   "    ())\n"
6502   "  (signature vec2\n"
6503   "    (parameters\n"
6504   "      (declare (in) vec2 x)\n"
6505   "      (declare (in) float y))\n"
6506   "    ())\n"
6507   "  (signature vec3\n"
6508   "    (parameters\n"
6509   "      (declare (in) vec3 x)\n"
6510   "      (declare (in) float y))\n"
6511   "    ())\n"
6512   "  (signature vec4\n"
6513   "    (parameters\n"
6514   "      (declare (in) vec4 x)\n"
6515   "      (declare (in) float y))\n"
6516   "    ()))\n"
6517   "(function clamp\n"
6518   "  (signature float\n"
6519   "    (parameters\n"
6520   "      (declare (in) float x)\n"
6521   "      (declare (in) float minVal)\n"
6522   "      (declare (in) float maxVal))\n"
6523   "    ())\n"
6524   "  (signature vec2\n"
6525   "    (parameters\n"
6526   "      (declare (in) vec2 x)\n"
6527   "      (declare (in) vec2 minVal)\n"
6528   "      (declare (in) vec2 maxVal))\n"
6529   "    ())\n"
6530   "  (signature vec3\n"
6531   "    (parameters\n"
6532   "      (declare (in) vec3 x)\n"
6533   "      (declare (in) vec3 minVal)\n"
6534   "      (declare (in) vec3 maxVal))\n"
6535   "    ())\n"
6536   "  (signature vec4\n"
6537   "    (parameters\n"
6538   "      (declare (in) vec4 x)\n"
6539   "      (declare (in) vec4 minVal)\n"
6540   "      (declare (in) vec4 maxVal))\n"
6541   "    ())\n"
6542   "  (signature vec2\n"
6543   "    (parameters\n"
6544   "      (declare (in) vec2 x)\n"
6545   "      (declare (in) float minVal)\n"
6546   "      (declare (in) float maxVal))\n"
6547   "    ())\n"
6548   "  (signature vec3\n"
6549   "    (parameters\n"
6550   "      (declare (in) vec3 x)\n"
6551   "      (declare (in) float minVal)\n"
6552   "      (declare (in) float maxVal))\n"
6553   "    ())\n"
6554   "  (signature vec4\n"
6555   "    (parameters\n"
6556   "      (declare (in) vec4 x)\n"
6557   "      (declare (in) float minVal)\n"
6558   "      (declare (in) float maxVal))\n"
6559   "    ()))\n"
6560   "(function mix\n"
6561   "  (signature float\n"
6562   "    (parameters\n"
6563   "      (declare (in) float x)\n"
6564   "      (declare (in) float y)\n"
6565   "      (declare (in) float a))\n"
6566   "    ())\n"
6567   "  (signature vec2\n"
6568   "    (parameters\n"
6569   "      (declare (in) vec2 x)\n"
6570   "      (declare (in) vec2 y)\n"
6571   "      (declare (in) vec2 a))\n"
6572   "    ())\n"
6573   "  (signature vec3\n"
6574   "    (parameters\n"
6575   "      (declare (in) vec3 x)\n"
6576   "      (declare (in) vec3 y)\n"
6577   "      (declare (in) vec3 a))\n"
6578   "    ())\n"
6579   "  (signature vec4\n"
6580   "    (parameters\n"
6581   "      (declare (in) vec4 x)\n"
6582   "      (declare (in) vec4 y)\n"
6583   "      (declare (in) vec4 a))\n"
6584   "    ())\n"
6585   "  (signature vec2\n"
6586   "    (parameters\n"
6587   "      (declare (in) vec2 x)\n"
6588   "      (declare (in) vec2 y)\n"
6589   "      (declare (in) float a))\n"
6590   "    ())\n"
6591   "  (signature vec3\n"
6592   "    (parameters\n"
6593   "      (declare (in) vec3 x)\n"
6594   "      (declare (in) vec3 y)\n"
6595   "      (declare (in) float a))\n"
6596   "    ())\n"
6597   "  (signature vec4\n"
6598   "    (parameters\n"
6599   "      (declare (in) vec4 x)\n"
6600   "      (declare (in) vec4 y)\n"
6601   "      (declare (in) float a))\n"
6602   "    ()))\n"
6603   "(function step\n"
6604   "  (signature float\n"
6605   "    (parameters\n"
6606   "      (declare (in) float edge)\n"
6607   "      (declare (in) float x))\n"
6608   "    ())\n"
6609   "  (signature vec2\n"
6610   "    (parameters\n"
6611   "      (declare (in) vec2 edge)\n"
6612   "      (declare (in) vec2 x))\n"
6613   "    ())\n"
6614   "  (signature vec3\n"
6615   "    (parameters\n"
6616   "      (declare (in) vec3 edge)\n"
6617   "      (declare (in) vec3 x))\n"
6618   "    ())\n"
6619   "  (signature vec4\n"
6620   "    (parameters\n"
6621   "      (declare (in) vec4 edge)\n"
6622   "      (declare (in) vec4 x))\n"
6623   "    ())\n"
6624   "  (signature vec2\n"
6625   "    (parameters\n"
6626   "      (declare (in) float edge)\n"
6627   "      (declare (in) vec2 x))\n"
6628   "    ())\n"
6629   "  (signature vec3\n"
6630   "    (parameters\n"
6631   "      (declare (in) float edge)\n"
6632   "      (declare (in) vec3 x))\n"
6633   "    ())\n"
6634   "  (signature vec4\n"
6635   "    (parameters\n"
6636   "      (declare (in) float edge)\n"
6637   "      (declare (in) vec4 x))\n"
6638   "    ()))\n"
6639   "(function smoothstep\n"
6640   "  (signature float\n"
6641   "    (parameters\n"
6642   "      (declare (in) float edge0)\n"
6643   "      (declare (in) float edge1)\n"
6644   "      (declare (in) float x))\n"
6645   "    ())\n"
6646   "  (signature vec2\n"
6647   "    (parameters\n"
6648   "      (declare (in) vec2 edge0)\n"
6649   "      (declare (in) vec2 edge1)\n"
6650   "      (declare (in) vec2 x))\n"
6651   "    ())\n"
6652   "  (signature vec3\n"
6653   "    (parameters\n"
6654   "      (declare (in) vec3 edge0)\n"
6655   "      (declare (in) vec3 edge1)\n"
6656   "      (declare (in) vec3 x))\n"
6657   "    ())\n"
6658   "  (signature vec4\n"
6659   "    (parameters\n"
6660   "      (declare (in) vec4 edge0)\n"
6661   "      (declare (in) vec4 edge1)\n"
6662   "      (declare (in) vec4 x))\n"
6663   "    ())\n"
6664   "  (signature vec2\n"
6665   "    (parameters\n"
6666   "      (declare (in) float edge0)\n"
6667   "      (declare (in) float edge1)\n"
6668   "      (declare (in) vec2 x))\n"
6669   "    ())\n"
6670   "  (signature vec3\n"
6671   "    (parameters\n"
6672   "      (declare (in) float edge0)\n"
6673   "      (declare (in) float edge1)\n"
6674   "      (declare (in) vec3 x))\n"
6675   "    ())\n"
6676   "  (signature vec4\n"
6677   "    (parameters\n"
6678   "      (declare (in) float edge0)\n"
6679   "      (declare (in) float edge1)\n"
6680   "      (declare (in) vec4 x))\n"
6681   "    ()))\n"
6682   "(function length\n"
6683   "  (signature float\n"
6684   "    (parameters\n"
6685   "      (declare (in) float x))\n"
6686   "    ())\n"
6687   "  (signature float\n"
6688   "    (parameters\n"
6689   "      (declare (in) vec2 x))\n"
6690   "    ())\n"
6691   "  (signature float\n"
6692   "    (parameters\n"
6693   "      (declare (in) vec3 x))\n"
6694   "    ())\n"
6695   "  (signature float\n"
6696   "    (parameters\n"
6697   "      (declare (in) vec4 x))\n"
6698   "    ()))\n"
6699   "(function distance\n"
6700   "  (signature float\n"
6701   "    (parameters\n"
6702   "      (declare (in) float p0)\n"
6703   "      (declare (in) float p1))\n"
6704   "    ())\n"
6705   "  (signature float\n"
6706   "    (parameters\n"
6707   "      (declare (in) vec2 p0)\n"
6708   "      (declare (in) vec2 p1))\n"
6709   "    ())\n"
6710   "  (signature float\n"
6711   "    (parameters\n"
6712   "      (declare (in) vec3 p0)\n"
6713   "      (declare (in) vec3 p1))\n"
6714   "    ())\n"
6715   "  (signature float\n"
6716   "    (parameters\n"
6717   "      (declare (in) vec4 p0)\n"
6718   "      (declare (in) vec4 p1))\n"
6719   "    ()))\n"
6720   "(function dot\n"
6721   "  (signature float\n"
6722   "    (parameters\n"
6723   "      (declare (in) float x)\n"
6724   "      (declare (in) float y))\n"
6725   "    ())\n"
6726   "  (signature float\n"
6727   "    (parameters\n"
6728   "      (declare (in) vec2 x)\n"
6729   "      (declare (in) vec2 y))\n"
6730   "    ())\n"
6731   "  (signature float\n"
6732   "    (parameters\n"
6733   "      (declare (in) vec3 x)\n"
6734   "      (declare (in) vec3 y))\n"
6735   "    ())\n"
6736   "  (signature float\n"
6737   "    (parameters\n"
6738   "      (declare (in) vec4 x)\n"
6739   "      (declare (in) vec4 y))\n"
6740   "    ()))\n"
6741   "(function cross\n"
6742   "  (signature vec3\n"
6743   "    (parameters\n"
6744   "      (declare (in) vec3 x)\n"
6745   "      (declare (in) vec3 y))\n"
6746   "    ()))\n"
6747   "(function normalize\n"
6748   "  (signature float\n"
6749   "    (parameters\n"
6750   "      (declare (in) float x))\n"
6751   "    ())\n"
6752   "  (signature vec2\n"
6753   "    (parameters\n"
6754   "      (declare (in) vec2 x))\n"
6755   "    ())\n"
6756   "  (signature vec3\n"
6757   "    (parameters\n"
6758   "      (declare (in) vec3 x))\n"
6759   "    ())\n"
6760   "  (signature vec4\n"
6761   "    (parameters\n"
6762   "      (declare (in) vec4 x))\n"
6763   "    ()))\n"
6764   "(function faceforward\n"
6765   "  (signature float\n"
6766   "    (parameters\n"
6767   "      (declare (in) float N)\n"
6768   "      (declare (in) float I)\n"
6769   "      (declare (in) float Nref))\n"
6770   "    ())\n"
6771   "  (signature vec2\n"
6772   "    (parameters\n"
6773   "      (declare (in) vec2 N)\n"
6774   "      (declare (in) vec2 I)\n"
6775   "      (declare (in) vec2 Nref))\n"
6776   "    ())\n"
6777   "  (signature vec3\n"
6778   "    (parameters\n"
6779   "      (declare (in) vec3 N)\n"
6780   "      (declare (in) vec3 I)\n"
6781   "      (declare (in) vec3 Nref))\n"
6782   "    ())\n"
6783   "  (signature vec4\n"
6784   "    (parameters\n"
6785   "      (declare (in) vec4 N)\n"
6786   "      (declare (in) vec4 I)\n"
6787   "      (declare (in) vec4 Nref))\n"
6788   "    ()))\n"
6789   "(function reflect\n"
6790   "  (signature float\n"
6791   "    (parameters\n"
6792   "      (declare (in) float I)\n"
6793   "      (declare (in) float N))\n"
6794   "    ())\n"
6795   "  (signature vec2\n"
6796   "    (parameters\n"
6797   "      (declare (in) vec2 I)\n"
6798   "      (declare (in) vec2 N))\n"
6799   "    ())\n"
6800   "  (signature vec3\n"
6801   "    (parameters\n"
6802   "      (declare (in) vec3 I)\n"
6803   "      (declare (in) vec3 N))\n"
6804   "    ())\n"
6805   "  (signature vec4\n"
6806   "    (parameters\n"
6807   "      (declare (in) vec4 I)\n"
6808   "      (declare (in) vec4 N))\n"
6809   "    ()))\n"
6810   "(function refract\n"
6811   "  (signature float\n"
6812   "    (parameters\n"
6813   "      (declare (in) float I)\n"
6814   "      (declare (in) float N)\n"
6815   "      (declare (in) float eta))\n"
6816   "    ())\n"
6817   "  (signature vec2\n"
6818   "    (parameters\n"
6819   "      (declare (in) vec2 I)\n"
6820   "      (declare (in) vec2 N)\n"
6821   "      (declare (in) float eta))\n"
6822   "    ())\n"
6823   "  (signature vec3\n"
6824   "    (parameters\n"
6825   "      (declare (in) vec3 I)\n"
6826   "      (declare (in) vec3 N)\n"
6827   "      (declare (in) float eta))\n"
6828   "    ())\n"
6829   "  (signature vec4\n"
6830   "    (parameters\n"
6831   "      (declare (in) vec4 I)\n"
6832   "      (declare (in) vec4 N)\n"
6833   "      (declare (in) float eta))\n"
6834   "    ()))\n"
6835   "(function matrixCompMult\n"
6836   "  (signature mat2\n"
6837   "    (parameters\n"
6838   "      (declare (in) mat2 x)\n"
6839   "      (declare (in) mat2 y))\n"
6840   "    ())\n"
6841   "  (signature mat3\n"
6842   "    (parameters\n"
6843   "      (declare (in) mat3 x)\n"
6844   "      (declare (in) mat3 y))\n"
6845   "    ())\n"
6846   "  (signature mat4\n"
6847   "    (parameters\n"
6848   "      (declare (in) mat4 x)\n"
6849   "      (declare (in) mat4 y))\n"
6850   "    ()))\n"
6851   "(function lessThan\n"
6852   "  (signature bvec2\n"
6853   "    (parameters\n"
6854   "      (declare (in) vec2 x)\n"
6855   "      (declare (in) vec2 y))\n"
6856   "    ())\n"
6857   "  (signature bvec3\n"
6858   "    (parameters\n"
6859   "      (declare (in) vec3 x)\n"
6860   "      (declare (in) vec3 y))\n"
6861   "    ())\n"
6862   "  (signature bvec4\n"
6863   "    (parameters\n"
6864   "      (declare (in) vec4 x)\n"
6865   "      (declare (in) vec4 y))\n"
6866   "    ())\n"
6867   "  (signature bvec2\n"
6868   "    (parameters\n"
6869   "      (declare (in) ivec2 x)\n"
6870   "      (declare (in) ivec2 y))\n"
6871   "    ())\n"
6872   "  (signature bvec3\n"
6873   "    (parameters\n"
6874   "      (declare (in) ivec3 x)\n"
6875   "      (declare (in) ivec3 y))\n"
6876   "    ())\n"
6877   "  (signature bvec4\n"
6878   "    (parameters\n"
6879   "      (declare (in) ivec4 x)\n"
6880   "      (declare (in) ivec4 y))\n"
6881   "    ()))\n"
6882   "(function lessThanEqual\n"
6883   "  (signature bvec2\n"
6884   "    (parameters\n"
6885   "      (declare (in) vec2 x)\n"
6886   "      (declare (in) vec2 y))\n"
6887   "    ())\n"
6888   "  (signature bvec3\n"
6889   "    (parameters\n"
6890   "      (declare (in) vec3 x)\n"
6891   "      (declare (in) vec3 y))\n"
6892   "    ())\n"
6893   "  (signature bvec4\n"
6894   "    (parameters\n"
6895   "      (declare (in) vec4 x)\n"
6896   "      (declare (in) vec4 y))\n"
6897   "    ())\n"
6898   "  (signature bvec2\n"
6899   "    (parameters\n"
6900   "      (declare (in) ivec2 x)\n"
6901   "      (declare (in) ivec2 y))\n"
6902   "    ())\n"
6903   "  (signature bvec3\n"
6904   "    (parameters\n"
6905   "      (declare (in) ivec3 x)\n"
6906   "      (declare (in) ivec3 y))\n"
6907   "    ())\n"
6908   "  (signature bvec4\n"
6909   "    (parameters\n"
6910   "      (declare (in) ivec4 x)\n"
6911   "      (declare (in) ivec4 y))\n"
6912   "    ()))\n"
6913   "(function greaterThan\n"
6914   "  (signature bvec2\n"
6915   "    (parameters\n"
6916   "      (declare (in) vec2 x)\n"
6917   "      (declare (in) vec2 y))\n"
6918   "    ())\n"
6919   "  (signature bvec3\n"
6920   "    (parameters\n"
6921   "      (declare (in) vec3 x)\n"
6922   "      (declare (in) vec3 y))\n"
6923   "    ())\n"
6924   "  (signature bvec4\n"
6925   "    (parameters\n"
6926   "      (declare (in) vec4 x)\n"
6927   "      (declare (in) vec4 y))\n"
6928   "    ())\n"
6929   "  (signature bvec2\n"
6930   "    (parameters\n"
6931   "      (declare (in) ivec2 x)\n"
6932   "      (declare (in) ivec2 y))\n"
6933   "    ())\n"
6934   "  (signature bvec3\n"
6935   "    (parameters\n"
6936   "      (declare (in) ivec3 x)\n"
6937   "      (declare (in) ivec3 y))\n"
6938   "    ())\n"
6939   "  (signature bvec4\n"
6940   "    (parameters\n"
6941   "      (declare (in) ivec4 x)\n"
6942   "      (declare (in) ivec4 y))\n"
6943   "    ()))\n"
6944   "(function greaterThanEqual\n"
6945   "  (signature bvec2\n"
6946   "    (parameters\n"
6947   "      (declare (in) vec2 x)\n"
6948   "      (declare (in) vec2 y))\n"
6949   "    ())\n"
6950   "  (signature bvec3\n"
6951   "    (parameters\n"
6952   "      (declare (in) vec3 x)\n"
6953   "      (declare (in) vec3 y))\n"
6954   "    ())\n"
6955   "  (signature bvec4\n"
6956   "    (parameters\n"
6957   "      (declare (in) vec4 x)\n"
6958   "      (declare (in) vec4 y))\n"
6959   "    ())\n"
6960   "  (signature bvec2\n"
6961   "    (parameters\n"
6962   "      (declare (in) ivec2 x)\n"
6963   "      (declare (in) ivec2 y))\n"
6964   "    ())\n"
6965   "  (signature bvec3\n"
6966   "    (parameters\n"
6967   "      (declare (in) ivec3 x)\n"
6968   "      (declare (in) ivec3 y))\n"
6969   "    ())\n"
6970   "  (signature bvec4\n"
6971   "    (parameters\n"
6972   "      (declare (in) ivec4 x)\n"
6973   "      (declare (in) ivec4 y))\n"
6974   "    ()))\n"
6975   "(function equal\n"
6976   "  (signature bvec2\n"
6977   "    (parameters\n"
6978   "      (declare (in) vec2 x)\n"
6979   "      (declare (in) vec2 y))\n"
6980   "    ())\n"
6981   "  (signature bvec3\n"
6982   "    (parameters\n"
6983   "      (declare (in) vec3 x)\n"
6984   "      (declare (in) vec3 y))\n"
6985   "    ())\n"
6986   "  (signature bvec4\n"
6987   "    (parameters\n"
6988   "      (declare (in) vec4 x)\n"
6989   "      (declare (in) vec4 y))\n"
6990   "    ())\n"
6991   "  (signature bvec2\n"
6992   "    (parameters\n"
6993   "      (declare (in) ivec2 x)\n"
6994   "      (declare (in) ivec2 y))\n"
6995   "    ())\n"
6996   "  (signature bvec3\n"
6997   "    (parameters\n"
6998   "      (declare (in) ivec3 x)\n"
6999   "      (declare (in) ivec3 y))\n"
7000   "    ())\n"
7001   "  (signature bvec4\n"
7002   "    (parameters\n"
7003   "      (declare (in) ivec4 x)\n"
7004   "      (declare (in) ivec4 y))\n"
7005   "    ())\n"
7006   "  (signature bvec2\n"
7007   "    (parameters\n"
7008   "      (declare (in) bvec2 x)\n"
7009   "      (declare (in) bvec2 y))\n"
7010   "    ())\n"
7011   "  (signature bvec3\n"
7012   "    (parameters\n"
7013   "      (declare (in) bvec3 x)\n"
7014   "      (declare (in) bvec3 y))\n"
7015   "    ())\n"
7016   "  (signature bvec4\n"
7017   "    (parameters\n"
7018   "      (declare (in) bvec4 x)\n"
7019   "      (declare (in) bvec4 y))\n"
7020   "    ()))\n"
7021   "(function notEqual\n"
7022   "  (signature bvec2\n"
7023   "    (parameters\n"
7024   "      (declare (in) vec2 x)\n"
7025   "      (declare (in) vec2 y))\n"
7026   "    ())\n"
7027   "  (signature bvec3\n"
7028   "    (parameters\n"
7029   "      (declare (in) vec3 x)\n"
7030   "      (declare (in) vec3 y))\n"
7031   "    ())\n"
7032   "  (signature bvec4\n"
7033   "    (parameters\n"
7034   "      (declare (in) vec4 x)\n"
7035   "      (declare (in) vec4 y))\n"
7036   "    ())\n"
7037   "  (signature bvec2\n"
7038   "    (parameters\n"
7039   "      (declare (in) ivec2 x)\n"
7040   "      (declare (in) ivec2 y))\n"
7041   "    ())\n"
7042   "  (signature bvec3\n"
7043   "    (parameters\n"
7044   "      (declare (in) ivec3 x)\n"
7045   "      (declare (in) ivec3 y))\n"
7046   "    ())\n"
7047   "  (signature bvec4\n"
7048   "    (parameters\n"
7049   "      (declare (in) ivec4 x)\n"
7050   "      (declare (in) ivec4 y))\n"
7051   "    ())\n"
7052   "  (signature bvec2\n"
7053   "    (parameters\n"
7054   "      (declare (in) bvec2 x)\n"
7055   "      (declare (in) bvec2 y))\n"
7056   "    ())\n"
7057   "  (signature bvec3\n"
7058   "    (parameters\n"
7059   "      (declare (in) bvec3 x)\n"
7060   "      (declare (in) bvec3 y))\n"
7061   "    ())\n"
7062   "  (signature bvec4\n"
7063   "    (parameters\n"
7064   "      (declare (in) bvec4 x)\n"
7065   "      (declare (in) bvec4 y))\n"
7066   "    ()))\n"
7067   "(function any\n"
7068   "  (signature bool\n"
7069   "    (parameters\n"
7070   "      (declare (in) bvec2 x))\n"
7071   "    ())\n"
7072   "  (signature bool\n"
7073   "    (parameters\n"
7074   "      (declare (in) bvec3 x))\n"
7075   "    ())\n"
7076   "  (signature bool\n"
7077   "    (parameters\n"
7078   "      (declare (in) bvec4 x))\n"
7079   "    ()))\n"
7080   "(function all\n"
7081   "  (signature bool\n"
7082   "    (parameters\n"
7083   "      (declare (in) bvec2 x))\n"
7084   "    ())\n"
7085   "  (signature bool\n"
7086   "    (parameters\n"
7087   "      (declare (in) bvec3 x))\n"
7088   "    ())\n"
7089   "  (signature bool\n"
7090   "    (parameters\n"
7091   "      (declare (in) bvec4 x))\n"
7092   "    ()))\n"
7093   "(function not\n"
7094   "  (signature bvec2\n"
7095   "    (parameters\n"
7096   "      (declare (in) bvec2 x))\n"
7097   "    ())\n"
7098   "  (signature bvec3\n"
7099   "    (parameters\n"
7100   "      (declare (in) bvec3 x))\n"
7101   "    ())\n"
7102   "  (signature bvec4\n"
7103   "    (parameters\n"
7104   "      (declare (in) bvec4 x))\n"
7105   "    ()))\n"
7106   "(function texture2D\n"
7107   "  (signature vec4\n"
7108   "    (parameters\n"
7109   "      (declare (in) sampler2D sampler)\n"
7110   "      (declare (in) vec2 coord))\n"
7111   "    ()))\n"
7112   "(function texture2DProj\n"
7113   "  (signature vec4\n"
7114   "    (parameters\n"
7115   "      (declare (in) sampler2D sampler)\n"
7116   "      (declare (in) vec3 coord))\n"
7117   "    ())\n"
7118   "  (signature vec4\n"
7119   "    (parameters\n"
7120   "      (declare (in) sampler2D sampler)\n"
7121   "      (declare (in) vec4 coord))\n"
7122   "    ()))\n"
7123   "(function texture2DLod\n"
7124   "  (signature vec4\n"
7125   "    (parameters\n"
7126   "      (declare (in) sampler2D sampler)\n"
7127   "      (declare (in) vec2 coord)\n"
7128   "      (declare (in) float lod))\n"
7129   "    ()))\n"
7130   "(function texture2DProjLod\n"
7131   "  (signature vec4\n"
7132   "    (parameters\n"
7133   "      (declare (in) sampler2D sampler)\n"
7134   "      (declare (in) vec3 coord)\n"
7135   "      (declare (in) float lod))\n"
7136   "    ())\n"
7137   "  (signature vec4\n"
7138   "    (parameters\n"
7139   "      (declare (in) sampler2D sampler)\n"
7140   "      (declare (in) vec4 coord)\n"
7141   "      (declare (in) float lod))\n"
7142   "    ()))\n"
7143   "(function textureCube\n"
7144   "  (signature vec4\n"
7145   "    (parameters\n"
7146   "      (declare (in) samplerCube sampler)\n"
7147   "      (declare (in) vec3 coord))\n"
7148   "    ()))\n"
7149   "(function textureCubeLod\n"
7150   "  (signature vec4\n"
7151   "    (parameters\n"
7152   "      (declare (in) samplerCube sampler)\n"
7153   "      (declare (in) vec3 coord)\n"
7154   "      (declare (in) float lod))\n"
7155   "    ())))"
7156;
7157static const char *functions_for_100_vert [] = {
7158   builtin_abs,
7159   builtin_acos,
7160   builtin_all,
7161   builtin_any,
7162   builtin_asin,
7163   builtin_atan,
7164   builtin_ceil,
7165   builtin_clamp,
7166   builtin_cos,
7167   builtin_cross,
7168   builtin_degrees,
7169   builtin_distance,
7170   builtin_dot,
7171   builtin_equal,
7172   builtin_exp,
7173   builtin_exp2,
7174   builtin_faceforward,
7175   builtin_floor,
7176   builtin_fract,
7177   builtin_greaterThan,
7178   builtin_greaterThanEqual,
7179   builtin_inversesqrt,
7180   builtin_length,
7181   builtin_lessThan,
7182   builtin_lessThanEqual,
7183   builtin_log,
7184   builtin_log2,
7185   builtin_matrixCompMult,
7186   builtin_max,
7187   builtin_min,
7188   builtin_mix,
7189   builtin_mod,
7190   builtin_normalize,
7191   builtin_not,
7192   builtin_notEqual,
7193   builtin_pow,
7194   builtin_radians,
7195   builtin_reflect,
7196   builtin_refract,
7197   builtin_sign,
7198   builtin_sin,
7199   builtin_smoothstep,
7200   builtin_sqrt,
7201   builtin_step,
7202   builtin_tan,
7203   builtin_texture2D,
7204   builtin_texture2DLod,
7205   builtin_texture2DProj,
7206   builtin_texture2DProjLod,
7207   builtin_textureCube,
7208   builtin_textureCubeLod,
7209};
7210static const char prototypes_for_110_frag[] =
7211   "(\n"
7212   "(function radians\n"
7213   "  (signature float\n"
7214   "    (parameters\n"
7215   "      (declare (in) float degrees))\n"
7216   "    ())\n"
7217   "  (signature vec2\n"
7218   "    (parameters\n"
7219   "      (declare (in) vec2 degrees))\n"
7220   "    ())\n"
7221   "  (signature vec3\n"
7222   "    (parameters\n"
7223   "      (declare (in) vec3 degrees))\n"
7224   "    ())\n"
7225   "  (signature vec4\n"
7226   "    (parameters\n"
7227   "      (declare (in) vec4 degrees))\n"
7228   "    ()))\n"
7229   "(function degrees\n"
7230   "  (signature float\n"
7231   "    (parameters\n"
7232   "      (declare (in) float radians))\n"
7233   "    ())\n"
7234   "  (signature vec2\n"
7235   "    (parameters\n"
7236   "      (declare (in) vec2 radians))\n"
7237   "    ())\n"
7238   "  (signature vec3\n"
7239   "    (parameters\n"
7240   "      (declare (in) vec3 radians))\n"
7241   "    ())\n"
7242   "  (signature vec4\n"
7243   "    (parameters\n"
7244   "      (declare (in) vec4 radians))\n"
7245   "    ()))\n"
7246   "(function sin\n"
7247   "  (signature float\n"
7248   "    (parameters\n"
7249   "      (declare (in) float angle))\n"
7250   "    ())\n"
7251   "  (signature vec2\n"
7252   "    (parameters\n"
7253   "      (declare (in) vec2 angle))\n"
7254   "    ())\n"
7255   "  (signature vec3\n"
7256   "    (parameters\n"
7257   "      (declare (in) vec3 angle))\n"
7258   "    ())\n"
7259   "  (signature vec4\n"
7260   "    (parameters\n"
7261   "      (declare (in) vec4 angle))\n"
7262   "    ()))\n"
7263   "(function cos\n"
7264   "  (signature float\n"
7265   "    (parameters\n"
7266   "      (declare (in) float angle))\n"
7267   "    ())\n"
7268   "  (signature vec2\n"
7269   "    (parameters\n"
7270   "      (declare (in) vec2 angle))\n"
7271   "    ())\n"
7272   "  (signature vec3\n"
7273   "    (parameters\n"
7274   "      (declare (in) vec3 angle))\n"
7275   "    ())\n"
7276   "  (signature vec4\n"
7277   "    (parameters\n"
7278   "      (declare (in) vec4 angle))\n"
7279   "    ()))\n"
7280   "(function tan\n"
7281   "  (signature float\n"
7282   "    (parameters\n"
7283   "      (declare (in) float angle))\n"
7284   "    ())\n"
7285   "  (signature vec2\n"
7286   "    (parameters\n"
7287   "      (declare (in) vec2 angle))\n"
7288   "    ())\n"
7289   "  (signature vec3\n"
7290   "    (parameters\n"
7291   "      (declare (in) vec3 angle))\n"
7292   "    ())\n"
7293   "  (signature vec4\n"
7294   "    (parameters\n"
7295   "      (declare (in) vec4 angle))\n"
7296   "    ()))\n"
7297   "(function asin\n"
7298   "  (signature float\n"
7299   "    (parameters\n"
7300   "      (declare (in) float angle))\n"
7301   "    ())\n"
7302   "  (signature vec2\n"
7303   "    (parameters\n"
7304   "      (declare (in) vec2 angle))\n"
7305   "    ())\n"
7306   "  (signature vec3\n"
7307   "    (parameters\n"
7308   "      (declare (in) vec3 angle))\n"
7309   "    ())\n"
7310   "  (signature vec4\n"
7311   "    (parameters\n"
7312   "      (declare (in) vec4 angle))\n"
7313   "    ()))\n"
7314   "(function acos\n"
7315   "  (signature float\n"
7316   "    (parameters\n"
7317   "      (declare (in) float angle))\n"
7318   "    ())\n"
7319   "  (signature vec2\n"
7320   "    (parameters\n"
7321   "      (declare (in) vec2 angle))\n"
7322   "    ())\n"
7323   "  (signature vec3\n"
7324   "    (parameters\n"
7325   "      (declare (in) vec3 angle))\n"
7326   "    ())\n"
7327   "  (signature vec4\n"
7328   "    (parameters\n"
7329   "      (declare (in) vec4 angle))\n"
7330   "    ()))\n"
7331   "(function atan\n"
7332   "  (signature float\n"
7333   "    (parameters\n"
7334   "      (declare (in) float y)\n"
7335   "      (declare (in) float x))\n"
7336   "    ())\n"
7337   "  (signature vec2\n"
7338   "    (parameters\n"
7339   "      (declare (in) vec2 y)\n"
7340   "      (declare (in) vec2 x))\n"
7341   "    ())\n"
7342   "  (signature vec3\n"
7343   "    (parameters\n"
7344   "      (declare (in) vec3 y)\n"
7345   "      (declare (in) vec3 x))\n"
7346   "    ())\n"
7347   "  (signature vec4\n"
7348   "    (parameters\n"
7349   "      (declare (in) vec4 y)\n"
7350   "      (declare (in) vec4 x))\n"
7351   "    ())\n"
7352   "  (signature float\n"
7353   "    (parameters\n"
7354   "      (declare (in) float y_over_x))\n"
7355   "    ())\n"
7356   "  (signature vec2\n"
7357   "    (parameters\n"
7358   "      (declare (in) vec2 y_over_x))\n"
7359   "    ())\n"
7360   "  (signature vec3\n"
7361   "    (parameters\n"
7362   "      (declare (in) vec3 y_over_x))\n"
7363   "    ())\n"
7364   "  (signature vec4\n"
7365   "    (parameters\n"
7366   "      (declare (in) vec4 y_over_x))\n"
7367   "    ()))\n"
7368   "(function pow\n"
7369   "  (signature float\n"
7370   "    (parameters\n"
7371   "      (declare (in) float x)\n"
7372   "      (declare (in) float y))\n"
7373   "    ())\n"
7374   "  (signature vec2\n"
7375   "    (parameters\n"
7376   "      (declare (in) vec2 x)\n"
7377   "      (declare (in) vec2 y))\n"
7378   "    ())\n"
7379   "  (signature vec3\n"
7380   "    (parameters\n"
7381   "      (declare (in) vec3 x)\n"
7382   "      (declare (in) vec3 y))\n"
7383   "    ())\n"
7384   "  (signature vec4\n"
7385   "    (parameters\n"
7386   "      (declare (in) vec4 x)\n"
7387   "      (declare (in) vec4 y))\n"
7388   "    ()))\n"
7389   "(function exp\n"
7390   "  (signature float\n"
7391   "    (parameters\n"
7392   "      (declare (in) float x))\n"
7393   "    ())\n"
7394   "  (signature vec2\n"
7395   "    (parameters\n"
7396   "      (declare (in) vec2 x))\n"
7397   "    ())\n"
7398   "  (signature vec3\n"
7399   "    (parameters\n"
7400   "      (declare (in) vec3 x))\n"
7401   "    ())\n"
7402   "  (signature vec4\n"
7403   "    (parameters\n"
7404   "      (declare (in) vec4 x))\n"
7405   "    ()))\n"
7406   "(function log\n"
7407   "  (signature float\n"
7408   "    (parameters\n"
7409   "      (declare (in) float x))\n"
7410   "    ())\n"
7411   "  (signature vec2\n"
7412   "    (parameters\n"
7413   "      (declare (in) vec2 x))\n"
7414   "    ())\n"
7415   "  (signature vec3\n"
7416   "    (parameters\n"
7417   "      (declare (in) vec3 x))\n"
7418   "    ())\n"
7419   "  (signature vec4\n"
7420   "    (parameters\n"
7421   "      (declare (in) vec4 x))\n"
7422   "    ()))\n"
7423   "(function exp2\n"
7424   "  (signature float\n"
7425   "    (parameters\n"
7426   "      (declare (in) float x))\n"
7427   "    ())\n"
7428   "  (signature vec2\n"
7429   "    (parameters\n"
7430   "      (declare (in) vec2 x))\n"
7431   "    ())\n"
7432   "  (signature vec3\n"
7433   "    (parameters\n"
7434   "      (declare (in) vec3 x))\n"
7435   "    ())\n"
7436   "  (signature vec4\n"
7437   "    (parameters\n"
7438   "      (declare (in) vec4 x))\n"
7439   "    ()))\n"
7440   "(function log2\n"
7441   "  (signature float\n"
7442   "    (parameters\n"
7443   "      (declare (in) float x))\n"
7444   "    ())\n"
7445   "  (signature vec2\n"
7446   "    (parameters\n"
7447   "      (declare (in) vec2 x))\n"
7448   "    ())\n"
7449   "  (signature vec3\n"
7450   "    (parameters\n"
7451   "      (declare (in) vec3 x))\n"
7452   "    ())\n"
7453   "  (signature vec4\n"
7454   "    (parameters\n"
7455   "      (declare (in) vec4 x))\n"
7456   "    ()))\n"
7457   "(function sqrt\n"
7458   "  (signature float\n"
7459   "    (parameters\n"
7460   "      (declare (in) float x))\n"
7461   "    ())\n"
7462   "  (signature vec2\n"
7463   "    (parameters\n"
7464   "      (declare (in) vec2 x))\n"
7465   "    ())\n"
7466   "  (signature vec3\n"
7467   "    (parameters\n"
7468   "      (declare (in) vec3 x))\n"
7469   "    ())\n"
7470   "  (signature vec4\n"
7471   "    (parameters\n"
7472   "      (declare (in) vec4 x))\n"
7473   "    ()))\n"
7474   "(function inversesqrt\n"
7475   "  (signature float\n"
7476   "    (parameters\n"
7477   "      (declare (in) float x))\n"
7478   "    ())\n"
7479   "  (signature vec2\n"
7480   "    (parameters\n"
7481   "      (declare (in) vec2 x))\n"
7482   "    ())\n"
7483   "  (signature vec3\n"
7484   "    (parameters\n"
7485   "      (declare (in) vec3 x))\n"
7486   "    ())\n"
7487   "  (signature vec4\n"
7488   "    (parameters\n"
7489   "      (declare (in) vec4 x))\n"
7490   "    ()))\n"
7491   "(function abs\n"
7492   "  (signature float\n"
7493   "    (parameters\n"
7494   "      (declare (in) float x))\n"
7495   "    ())\n"
7496   "  (signature vec2\n"
7497   "    (parameters\n"
7498   "      (declare (in) vec2 x))\n"
7499   "    ())\n"
7500   "  (signature vec3\n"
7501   "    (parameters\n"
7502   "      (declare (in) vec3 x))\n"
7503   "    ())\n"
7504   "  (signature vec4\n"
7505   "    (parameters\n"
7506   "      (declare (in) vec4 x))\n"
7507   "    ()))\n"
7508   "(function sign\n"
7509   "  (signature float\n"
7510   "    (parameters\n"
7511   "      (declare (in) float x))\n"
7512   "    ())\n"
7513   "  (signature vec2\n"
7514   "    (parameters\n"
7515   "      (declare (in) vec2 x))\n"
7516   "    ())\n"
7517   "  (signature vec3\n"
7518   "    (parameters\n"
7519   "      (declare (in) vec3 x))\n"
7520   "    ())\n"
7521   "  (signature vec4\n"
7522   "    (parameters\n"
7523   "      (declare (in) vec4 x))\n"
7524   "    ()))\n"
7525   "(function floor\n"
7526   "  (signature float\n"
7527   "    (parameters\n"
7528   "      (declare (in) float x))\n"
7529   "    ())\n"
7530   "  (signature vec2\n"
7531   "    (parameters\n"
7532   "      (declare (in) vec2 x))\n"
7533   "    ())\n"
7534   "  (signature vec3\n"
7535   "    (parameters\n"
7536   "      (declare (in) vec3 x))\n"
7537   "    ())\n"
7538   "  (signature vec4\n"
7539   "    (parameters\n"
7540   "      (declare (in) vec4 x))\n"
7541   "    ()))\n"
7542   "(function ceil\n"
7543   "  (signature float\n"
7544   "    (parameters\n"
7545   "      (declare (in) float x))\n"
7546   "    ())\n"
7547   "  (signature vec2\n"
7548   "    (parameters\n"
7549   "      (declare (in) vec2 x))\n"
7550   "    ())\n"
7551   "  (signature vec3\n"
7552   "    (parameters\n"
7553   "      (declare (in) vec3 x))\n"
7554   "    ())\n"
7555   "  (signature vec4\n"
7556   "    (parameters\n"
7557   "      (declare (in) vec4 x))\n"
7558   "    ()))\n"
7559   "(function fract\n"
7560   "  (signature float\n"
7561   "    (parameters\n"
7562   "      (declare (in) float x))\n"
7563   "    ())\n"
7564   "  (signature vec2\n"
7565   "    (parameters\n"
7566   "      (declare (in) vec2 x))\n"
7567   "    ())\n"
7568   "  (signature vec3\n"
7569   "    (parameters\n"
7570   "      (declare (in) vec3 x))\n"
7571   "    ())\n"
7572   "  (signature vec4\n"
7573   "    (parameters\n"
7574   "      (declare (in) vec4 x))\n"
7575   "    ()))\n"
7576   "(function mod\n"
7577   "  (signature float\n"
7578   "    (parameters\n"
7579   "      (declare (in) float x)\n"
7580   "      (declare (in) float y))\n"
7581   "    ())\n"
7582   "  (signature vec2\n"
7583   "    (parameters\n"
7584   "      (declare (in) vec2 x)\n"
7585   "      (declare (in) float y))\n"
7586   "    ())\n"
7587   "  (signature vec3\n"
7588   "    (parameters\n"
7589   "      (declare (in) vec3 x)\n"
7590   "      (declare (in) float y))\n"
7591   "    ())\n"
7592   "  (signature vec4\n"
7593   "    (parameters\n"
7594   "      (declare (in) vec4 x)\n"
7595   "      (declare (in) float y))\n"
7596   "    ())\n"
7597   "  (signature vec2\n"
7598   "    (parameters\n"
7599   "      (declare (in) vec2 x)\n"
7600   "      (declare (in) vec2 y))\n"
7601   "    ())\n"
7602   "  (signature vec3\n"
7603   "    (parameters\n"
7604   "      (declare (in) vec3 x)\n"
7605   "      (declare (in) vec3 y))\n"
7606   "    ())\n"
7607   "  (signature vec4\n"
7608   "    (parameters\n"
7609   "      (declare (in) vec4 x)\n"
7610   "      (declare (in) vec4 y))\n"
7611   "    ()))\n"
7612   "(function min\n"
7613   "  (signature float\n"
7614   "    (parameters\n"
7615   "      (declare (in) float x)\n"
7616   "      (declare (in) float y))\n"
7617   "    ())\n"
7618   "  (signature vec2\n"
7619   "    (parameters\n"
7620   "      (declare (in) vec2 x)\n"
7621   "      (declare (in) vec2 y))\n"
7622   "    ())\n"
7623   "  (signature vec3\n"
7624   "    (parameters\n"
7625   "      (declare (in) vec3 x)\n"
7626   "      (declare (in) vec3 y))\n"
7627   "    ())\n"
7628   "  (signature vec4\n"
7629   "    (parameters\n"
7630   "      (declare (in) vec4 x)\n"
7631   "      (declare (in) vec4 y))\n"
7632   "    ())\n"
7633   "  (signature vec2\n"
7634   "    (parameters\n"
7635   "      (declare (in) vec2 x)\n"
7636   "      (declare (in) float y))\n"
7637   "    ())\n"
7638   "  (signature vec3\n"
7639   "    (parameters\n"
7640   "      (declare (in) vec3 x)\n"
7641   "      (declare (in) float y))\n"
7642   "    ())\n"
7643   "  (signature vec4\n"
7644   "    (parameters\n"
7645   "      (declare (in) vec4 x)\n"
7646   "      (declare (in) float y))\n"
7647   "    ()))\n"
7648   "(function max\n"
7649   "  (signature float\n"
7650   "    (parameters\n"
7651   "      (declare (in) float x)\n"
7652   "      (declare (in) float y))\n"
7653   "    ())\n"
7654   "  (signature vec2\n"
7655   "    (parameters\n"
7656   "      (declare (in) vec2 x)\n"
7657   "      (declare (in) vec2 y))\n"
7658   "    ())\n"
7659   "  (signature vec3\n"
7660   "    (parameters\n"
7661   "      (declare (in) vec3 x)\n"
7662   "      (declare (in) vec3 y))\n"
7663   "    ())\n"
7664   "  (signature vec4\n"
7665   "    (parameters\n"
7666   "      (declare (in) vec4 x)\n"
7667   "      (declare (in) vec4 y))\n"
7668   "    ())\n"
7669   "  (signature vec2\n"
7670   "    (parameters\n"
7671   "      (declare (in) vec2 x)\n"
7672   "      (declare (in) float y))\n"
7673   "    ())\n"
7674   "  (signature vec3\n"
7675   "    (parameters\n"
7676   "      (declare (in) vec3 x)\n"
7677   "      (declare (in) float y))\n"
7678   "    ())\n"
7679   "  (signature vec4\n"
7680   "    (parameters\n"
7681   "      (declare (in) vec4 x)\n"
7682   "      (declare (in) float y))\n"
7683   "    ()))\n"
7684   "(function clamp\n"
7685   "  (signature float\n"
7686   "    (parameters\n"
7687   "      (declare (in) float x)\n"
7688   "      (declare (in) float minVal)\n"
7689   "      (declare (in) float maxVal))\n"
7690   "    ())\n"
7691   "  (signature vec2\n"
7692   "    (parameters\n"
7693   "      (declare (in) vec2 x)\n"
7694   "      (declare (in) vec2 minVal)\n"
7695   "      (declare (in) vec2 maxVal))\n"
7696   "    ())\n"
7697   "  (signature vec3\n"
7698   "    (parameters\n"
7699   "      (declare (in) vec3 x)\n"
7700   "      (declare (in) vec3 minVal)\n"
7701   "      (declare (in) vec3 maxVal))\n"
7702   "    ())\n"
7703   "  (signature vec4\n"
7704   "    (parameters\n"
7705   "      (declare (in) vec4 x)\n"
7706   "      (declare (in) vec4 minVal)\n"
7707   "      (declare (in) vec4 maxVal))\n"
7708   "    ())\n"
7709   "  (signature vec2\n"
7710   "    (parameters\n"
7711   "      (declare (in) vec2 x)\n"
7712   "      (declare (in) float minVal)\n"
7713   "      (declare (in) float maxVal))\n"
7714   "    ())\n"
7715   "  (signature vec3\n"
7716   "    (parameters\n"
7717   "      (declare (in) vec3 x)\n"
7718   "      (declare (in) float minVal)\n"
7719   "      (declare (in) float maxVal))\n"
7720   "    ())\n"
7721   "  (signature vec4\n"
7722   "    (parameters\n"
7723   "      (declare (in) vec4 x)\n"
7724   "      (declare (in) float minVal)\n"
7725   "      (declare (in) float maxVal))\n"
7726   "    ()))\n"
7727   "(function mix\n"
7728   "  (signature float\n"
7729   "    (parameters\n"
7730   "      (declare (in) float x)\n"
7731   "      (declare (in) float y)\n"
7732   "      (declare (in) float a))\n"
7733   "    ())\n"
7734   "  (signature vec2\n"
7735   "    (parameters\n"
7736   "      (declare (in) vec2 x)\n"
7737   "      (declare (in) vec2 y)\n"
7738   "      (declare (in) vec2 a))\n"
7739   "    ())\n"
7740   "  (signature vec3\n"
7741   "    (parameters\n"
7742   "      (declare (in) vec3 x)\n"
7743   "      (declare (in) vec3 y)\n"
7744   "      (declare (in) vec3 a))\n"
7745   "    ())\n"
7746   "  (signature vec4\n"
7747   "    (parameters\n"
7748   "      (declare (in) vec4 x)\n"
7749   "      (declare (in) vec4 y)\n"
7750   "      (declare (in) vec4 a))\n"
7751   "    ())\n"
7752   "  (signature vec2\n"
7753   "    (parameters\n"
7754   "      (declare (in) vec2 x)\n"
7755   "      (declare (in) vec2 y)\n"
7756   "      (declare (in) float a))\n"
7757   "    ())\n"
7758   "  (signature vec3\n"
7759   "    (parameters\n"
7760   "      (declare (in) vec3 x)\n"
7761   "      (declare (in) vec3 y)\n"
7762   "      (declare (in) float a))\n"
7763   "    ())\n"
7764   "  (signature vec4\n"
7765   "    (parameters\n"
7766   "      (declare (in) vec4 x)\n"
7767   "      (declare (in) vec4 y)\n"
7768   "      (declare (in) float a))\n"
7769   "    ()))\n"
7770   "(function step\n"
7771   "  (signature float\n"
7772   "    (parameters\n"
7773   "      (declare (in) float edge)\n"
7774   "      (declare (in) float x))\n"
7775   "    ())\n"
7776   "  (signature vec2\n"
7777   "    (parameters\n"
7778   "      (declare (in) vec2 edge)\n"
7779   "      (declare (in) vec2 x))\n"
7780   "    ())\n"
7781   "  (signature vec3\n"
7782   "    (parameters\n"
7783   "      (declare (in) vec3 edge)\n"
7784   "      (declare (in) vec3 x))\n"
7785   "    ())\n"
7786   "  (signature vec4\n"
7787   "    (parameters\n"
7788   "      (declare (in) vec4 edge)\n"
7789   "      (declare (in) vec4 x))\n"
7790   "    ())\n"
7791   "  (signature vec2\n"
7792   "    (parameters\n"
7793   "      (declare (in) float edge)\n"
7794   "      (declare (in) vec2 x))\n"
7795   "    ())\n"
7796   "  (signature vec3\n"
7797   "    (parameters\n"
7798   "      (declare (in) float edge)\n"
7799   "      (declare (in) vec3 x))\n"
7800   "    ())\n"
7801   "  (signature vec4\n"
7802   "    (parameters\n"
7803   "      (declare (in) float edge)\n"
7804   "      (declare (in) vec4 x))\n"
7805   "    ()))\n"
7806   "(function smoothstep\n"
7807   "  (signature float\n"
7808   "    (parameters\n"
7809   "      (declare (in) float edge0)\n"
7810   "      (declare (in) float edge1)\n"
7811   "      (declare (in) float x))\n"
7812   "    ())\n"
7813   "  (signature vec2\n"
7814   "    (parameters\n"
7815   "      (declare (in) vec2 edge0)\n"
7816   "      (declare (in) vec2 edge1)\n"
7817   "      (declare (in) vec2 x))\n"
7818   "    ())\n"
7819   "  (signature vec3\n"
7820   "    (parameters\n"
7821   "      (declare (in) vec3 edge0)\n"
7822   "      (declare (in) vec3 edge1)\n"
7823   "      (declare (in) vec3 x))\n"
7824   "    ())\n"
7825   "  (signature vec4\n"
7826   "    (parameters\n"
7827   "      (declare (in) vec4 edge0)\n"
7828   "      (declare (in) vec4 edge1)\n"
7829   "      (declare (in) vec4 x))\n"
7830   "    ())\n"
7831   "  (signature vec2\n"
7832   "    (parameters\n"
7833   "      (declare (in) float edge0)\n"
7834   "      (declare (in) float edge1)\n"
7835   "      (declare (in) vec2 x))\n"
7836   "    ())\n"
7837   "  (signature vec3\n"
7838   "    (parameters\n"
7839   "      (declare (in) float edge0)\n"
7840   "      (declare (in) float edge1)\n"
7841   "      (declare (in) vec3 x))\n"
7842   "    ())\n"
7843   "  (signature vec4\n"
7844   "    (parameters\n"
7845   "      (declare (in) float edge0)\n"
7846   "      (declare (in) float edge1)\n"
7847   "      (declare (in) vec4 x))\n"
7848   "    ()))\n"
7849   "(function length\n"
7850   "  (signature float\n"
7851   "    (parameters\n"
7852   "      (declare (in) float x))\n"
7853   "    ())\n"
7854   "  (signature float\n"
7855   "    (parameters\n"
7856   "      (declare (in) vec2 x))\n"
7857   "    ())\n"
7858   "  (signature float\n"
7859   "    (parameters\n"
7860   "      (declare (in) vec3 x))\n"
7861   "    ())\n"
7862   "  (signature float\n"
7863   "    (parameters\n"
7864   "      (declare (in) vec4 x))\n"
7865   "    ()))\n"
7866   "(function distance\n"
7867   "  (signature float\n"
7868   "    (parameters\n"
7869   "      (declare (in) float p0)\n"
7870   "      (declare (in) float p1))\n"
7871   "    ())\n"
7872   "  (signature float\n"
7873   "    (parameters\n"
7874   "      (declare (in) vec2 p0)\n"
7875   "      (declare (in) vec2 p1))\n"
7876   "    ())\n"
7877   "  (signature float\n"
7878   "    (parameters\n"
7879   "      (declare (in) vec3 p0)\n"
7880   "      (declare (in) vec3 p1))\n"
7881   "    ())\n"
7882   "  (signature float\n"
7883   "    (parameters\n"
7884   "      (declare (in) vec4 p0)\n"
7885   "      (declare (in) vec4 p1))\n"
7886   "    ()))\n"
7887   "(function dot\n"
7888   "  (signature float\n"
7889   "    (parameters\n"
7890   "      (declare (in) float x)\n"
7891   "      (declare (in) float y))\n"
7892   "    ())\n"
7893   "  (signature float\n"
7894   "    (parameters\n"
7895   "      (declare (in) vec2 x)\n"
7896   "      (declare (in) vec2 y))\n"
7897   "    ())\n"
7898   "  (signature float\n"
7899   "    (parameters\n"
7900   "      (declare (in) vec3 x)\n"
7901   "      (declare (in) vec3 y))\n"
7902   "    ())\n"
7903   "  (signature float\n"
7904   "    (parameters\n"
7905   "      (declare (in) vec4 x)\n"
7906   "      (declare (in) vec4 y))\n"
7907   "    ()))\n"
7908   "(function cross\n"
7909   "  (signature vec3\n"
7910   "    (parameters\n"
7911   "      (declare (in) vec3 x)\n"
7912   "      (declare (in) vec3 y))\n"
7913   "    ()))\n"
7914   "(function normalize\n"
7915   "  (signature float\n"
7916   "    (parameters\n"
7917   "      (declare (in) float x))\n"
7918   "    ())\n"
7919   "  (signature vec2\n"
7920   "    (parameters\n"
7921   "      (declare (in) vec2 x))\n"
7922   "    ())\n"
7923   "  (signature vec3\n"
7924   "    (parameters\n"
7925   "      (declare (in) vec3 x))\n"
7926   "    ())\n"
7927   "  (signature vec4\n"
7928   "    (parameters\n"
7929   "      (declare (in) vec4 x))\n"
7930   "    ()))\n"
7931   "(function faceforward\n"
7932   "  (signature float\n"
7933   "    (parameters\n"
7934   "      (declare (in) float N)\n"
7935   "      (declare (in) float I)\n"
7936   "      (declare (in) float Nref))\n"
7937   "    ())\n"
7938   "  (signature vec2\n"
7939   "    (parameters\n"
7940   "      (declare (in) vec2 N)\n"
7941   "      (declare (in) vec2 I)\n"
7942   "      (declare (in) vec2 Nref))\n"
7943   "    ())\n"
7944   "  (signature vec3\n"
7945   "    (parameters\n"
7946   "      (declare (in) vec3 N)\n"
7947   "      (declare (in) vec3 I)\n"
7948   "      (declare (in) vec3 Nref))\n"
7949   "    ())\n"
7950   "  (signature vec4\n"
7951   "    (parameters\n"
7952   "      (declare (in) vec4 N)\n"
7953   "      (declare (in) vec4 I)\n"
7954   "      (declare (in) vec4 Nref))\n"
7955   "    ()))\n"
7956   "(function reflect\n"
7957   "  (signature float\n"
7958   "    (parameters\n"
7959   "      (declare (in) float I)\n"
7960   "      (declare (in) float N))\n"
7961   "    ())\n"
7962   "  (signature vec2\n"
7963   "    (parameters\n"
7964   "      (declare (in) vec2 I)\n"
7965   "      (declare (in) vec2 N))\n"
7966   "    ())\n"
7967   "  (signature vec3\n"
7968   "    (parameters\n"
7969   "      (declare (in) vec3 I)\n"
7970   "      (declare (in) vec3 N))\n"
7971   "    ())\n"
7972   "  (signature vec4\n"
7973   "    (parameters\n"
7974   "      (declare (in) vec4 I)\n"
7975   "      (declare (in) vec4 N))\n"
7976   "    ()))\n"
7977   "(function refract\n"
7978   "  (signature float\n"
7979   "    (parameters\n"
7980   "      (declare (in) float I)\n"
7981   "      (declare (in) float N)\n"
7982   "      (declare (in) float eta))\n"
7983   "    ())\n"
7984   "  (signature vec2\n"
7985   "    (parameters\n"
7986   "      (declare (in) vec2 I)\n"
7987   "      (declare (in) vec2 N)\n"
7988   "      (declare (in) float eta))\n"
7989   "    ())\n"
7990   "  (signature vec3\n"
7991   "    (parameters\n"
7992   "      (declare (in) vec3 I)\n"
7993   "      (declare (in) vec3 N)\n"
7994   "      (declare (in) float eta))\n"
7995   "    ())\n"
7996   "  (signature vec4\n"
7997   "    (parameters\n"
7998   "      (declare (in) vec4 I)\n"
7999   "      (declare (in) vec4 N)\n"
8000   "      (declare (in) float eta))\n"
8001   "    ()))\n"
8002   "(function matrixCompMult\n"
8003   "  (signature mat2\n"
8004   "    (parameters\n"
8005   "      (declare (in) mat2 x)\n"
8006   "      (declare (in) mat2 y))\n"
8007   "    ())\n"
8008   "  (signature mat3\n"
8009   "    (parameters\n"
8010   "      (declare (in) mat3 x)\n"
8011   "      (declare (in) mat3 y))\n"
8012   "    ())\n"
8013   "  (signature mat4\n"
8014   "    (parameters\n"
8015   "      (declare (in) mat4 x)\n"
8016   "      (declare (in) mat4 y))\n"
8017   "    ()))\n"
8018   "(function lessThan\n"
8019   "  (signature bvec2\n"
8020   "    (parameters\n"
8021   "      (declare (in) vec2 x)\n"
8022   "      (declare (in) vec2 y))\n"
8023   "    ())\n"
8024   "  (signature bvec3\n"
8025   "    (parameters\n"
8026   "      (declare (in) vec3 x)\n"
8027   "      (declare (in) vec3 y))\n"
8028   "    ())\n"
8029   "  (signature bvec4\n"
8030   "    (parameters\n"
8031   "      (declare (in) vec4 x)\n"
8032   "      (declare (in) vec4 y))\n"
8033   "    ())\n"
8034   "  (signature bvec2\n"
8035   "    (parameters\n"
8036   "      (declare (in) ivec2 x)\n"
8037   "      (declare (in) ivec2 y))\n"
8038   "    ())\n"
8039   "  (signature bvec3\n"
8040   "    (parameters\n"
8041   "      (declare (in) ivec3 x)\n"
8042   "      (declare (in) ivec3 y))\n"
8043   "    ())\n"
8044   "  (signature bvec4\n"
8045   "    (parameters\n"
8046   "      (declare (in) ivec4 x)\n"
8047   "      (declare (in) ivec4 y))\n"
8048   "    ()))\n"
8049   "(function lessThanEqual\n"
8050   "  (signature bvec2\n"
8051   "    (parameters\n"
8052   "      (declare (in) vec2 x)\n"
8053   "      (declare (in) vec2 y))\n"
8054   "    ())\n"
8055   "  (signature bvec3\n"
8056   "    (parameters\n"
8057   "      (declare (in) vec3 x)\n"
8058   "      (declare (in) vec3 y))\n"
8059   "    ())\n"
8060   "  (signature bvec4\n"
8061   "    (parameters\n"
8062   "      (declare (in) vec4 x)\n"
8063   "      (declare (in) vec4 y))\n"
8064   "    ())\n"
8065   "  (signature bvec2\n"
8066   "    (parameters\n"
8067   "      (declare (in) ivec2 x)\n"
8068   "      (declare (in) ivec2 y))\n"
8069   "    ())\n"
8070   "  (signature bvec3\n"
8071   "    (parameters\n"
8072   "      (declare (in) ivec3 x)\n"
8073   "      (declare (in) ivec3 y))\n"
8074   "    ())\n"
8075   "  (signature bvec4\n"
8076   "    (parameters\n"
8077   "      (declare (in) ivec4 x)\n"
8078   "      (declare (in) ivec4 y))\n"
8079   "    ()))\n"
8080   "(function greaterThan\n"
8081   "  (signature bvec2\n"
8082   "    (parameters\n"
8083   "      (declare (in) vec2 x)\n"
8084   "      (declare (in) vec2 y))\n"
8085   "    ())\n"
8086   "  (signature bvec3\n"
8087   "    (parameters\n"
8088   "      (declare (in) vec3 x)\n"
8089   "      (declare (in) vec3 y))\n"
8090   "    ())\n"
8091   "  (signature bvec4\n"
8092   "    (parameters\n"
8093   "      (declare (in) vec4 x)\n"
8094   "      (declare (in) vec4 y))\n"
8095   "    ())\n"
8096   "  (signature bvec2\n"
8097   "    (parameters\n"
8098   "      (declare (in) ivec2 x)\n"
8099   "      (declare (in) ivec2 y))\n"
8100   "    ())\n"
8101   "  (signature bvec3\n"
8102   "    (parameters\n"
8103   "      (declare (in) ivec3 x)\n"
8104   "      (declare (in) ivec3 y))\n"
8105   "    ())\n"
8106   "  (signature bvec4\n"
8107   "    (parameters\n"
8108   "      (declare (in) ivec4 x)\n"
8109   "      (declare (in) ivec4 y))\n"
8110   "    ()))\n"
8111   "(function greaterThanEqual\n"
8112   "  (signature bvec2\n"
8113   "    (parameters\n"
8114   "      (declare (in) vec2 x)\n"
8115   "      (declare (in) vec2 y))\n"
8116   "    ())\n"
8117   "  (signature bvec3\n"
8118   "    (parameters\n"
8119   "      (declare (in) vec3 x)\n"
8120   "      (declare (in) vec3 y))\n"
8121   "    ())\n"
8122   "  (signature bvec4\n"
8123   "    (parameters\n"
8124   "      (declare (in) vec4 x)\n"
8125   "      (declare (in) vec4 y))\n"
8126   "    ())\n"
8127   "  (signature bvec2\n"
8128   "    (parameters\n"
8129   "      (declare (in) ivec2 x)\n"
8130   "      (declare (in) ivec2 y))\n"
8131   "    ())\n"
8132   "  (signature bvec3\n"
8133   "    (parameters\n"
8134   "      (declare (in) ivec3 x)\n"
8135   "      (declare (in) ivec3 y))\n"
8136   "    ())\n"
8137   "  (signature bvec4\n"
8138   "    (parameters\n"
8139   "      (declare (in) ivec4 x)\n"
8140   "      (declare (in) ivec4 y))\n"
8141   "    ()))\n"
8142   "(function equal\n"
8143   "  (signature bvec2\n"
8144   "    (parameters\n"
8145   "      (declare (in) vec2 x)\n"
8146   "      (declare (in) vec2 y))\n"
8147   "    ())\n"
8148   "  (signature bvec3\n"
8149   "    (parameters\n"
8150   "      (declare (in) vec3 x)\n"
8151   "      (declare (in) vec3 y))\n"
8152   "    ())\n"
8153   "  (signature bvec4\n"
8154   "    (parameters\n"
8155   "      (declare (in) vec4 x)\n"
8156   "      (declare (in) vec4 y))\n"
8157   "    ())\n"
8158   "  (signature bvec2\n"
8159   "    (parameters\n"
8160   "      (declare (in) ivec2 x)\n"
8161   "      (declare (in) ivec2 y))\n"
8162   "    ())\n"
8163   "  (signature bvec3\n"
8164   "    (parameters\n"
8165   "      (declare (in) ivec3 x)\n"
8166   "      (declare (in) ivec3 y))\n"
8167   "    ())\n"
8168   "  (signature bvec4\n"
8169   "    (parameters\n"
8170   "      (declare (in) ivec4 x)\n"
8171   "      (declare (in) ivec4 y))\n"
8172   "    ())\n"
8173   "  (signature bvec2\n"
8174   "    (parameters\n"
8175   "      (declare (in) bvec2 x)\n"
8176   "      (declare (in) bvec2 y))\n"
8177   "    ())\n"
8178   "  (signature bvec3\n"
8179   "    (parameters\n"
8180   "      (declare (in) bvec3 x)\n"
8181   "      (declare (in) bvec3 y))\n"
8182   "    ())\n"
8183   "  (signature bvec4\n"
8184   "    (parameters\n"
8185   "      (declare (in) bvec4 x)\n"
8186   "      (declare (in) bvec4 y))\n"
8187   "    ()))\n"
8188   "(function notEqual\n"
8189   "  (signature bvec2\n"
8190   "    (parameters\n"
8191   "      (declare (in) vec2 x)\n"
8192   "      (declare (in) vec2 y))\n"
8193   "    ())\n"
8194   "  (signature bvec3\n"
8195   "    (parameters\n"
8196   "      (declare (in) vec3 x)\n"
8197   "      (declare (in) vec3 y))\n"
8198   "    ())\n"
8199   "  (signature bvec4\n"
8200   "    (parameters\n"
8201   "      (declare (in) vec4 x)\n"
8202   "      (declare (in) vec4 y))\n"
8203   "    ())\n"
8204   "  (signature bvec2\n"
8205   "    (parameters\n"
8206   "      (declare (in) ivec2 x)\n"
8207   "      (declare (in) ivec2 y))\n"
8208   "    ())\n"
8209   "  (signature bvec3\n"
8210   "    (parameters\n"
8211   "      (declare (in) ivec3 x)\n"
8212   "      (declare (in) ivec3 y))\n"
8213   "    ())\n"
8214   "  (signature bvec4\n"
8215   "    (parameters\n"
8216   "      (declare (in) ivec4 x)\n"
8217   "      (declare (in) ivec4 y))\n"
8218   "    ())\n"
8219   "  (signature bvec2\n"
8220   "    (parameters\n"
8221   "      (declare (in) bvec2 x)\n"
8222   "      (declare (in) bvec2 y))\n"
8223   "    ())\n"
8224   "  (signature bvec3\n"
8225   "    (parameters\n"
8226   "      (declare (in) bvec3 x)\n"
8227   "      (declare (in) bvec3 y))\n"
8228   "    ())\n"
8229   "  (signature bvec4\n"
8230   "    (parameters\n"
8231   "      (declare (in) bvec4 x)\n"
8232   "      (declare (in) bvec4 y))\n"
8233   "    ()))\n"
8234   "(function any\n"
8235   "  (signature bool\n"
8236   "    (parameters\n"
8237   "      (declare (in) bvec2 x))\n"
8238   "    ())\n"
8239   "  (signature bool\n"
8240   "    (parameters\n"
8241   "      (declare (in) bvec3 x))\n"
8242   "    ())\n"
8243   "  (signature bool\n"
8244   "    (parameters\n"
8245   "      (declare (in) bvec4 x))\n"
8246   "    ()))\n"
8247   "(function all\n"
8248   "  (signature bool\n"
8249   "    (parameters\n"
8250   "      (declare (in) bvec2 x))\n"
8251   "    ())\n"
8252   "  (signature bool\n"
8253   "    (parameters\n"
8254   "      (declare (in) bvec3 x))\n"
8255   "    ())\n"
8256   "  (signature bool\n"
8257   "    (parameters\n"
8258   "      (declare (in) bvec4 x))\n"
8259   "    ()))\n"
8260   "(function not\n"
8261   "  (signature bvec2\n"
8262   "    (parameters\n"
8263   "      (declare (in) bvec2 x))\n"
8264   "    ())\n"
8265   "  (signature bvec3\n"
8266   "    (parameters\n"
8267   "      (declare (in) bvec3 x))\n"
8268   "    ())\n"
8269   "  (signature bvec4\n"
8270   "    (parameters\n"
8271   "      (declare (in) bvec4 x))\n"
8272   "    ()))\n"
8273   "(function texture1D\n"
8274   "  (signature vec4\n"
8275   "    (parameters\n"
8276   "      (declare (in) sampler1D sampler)\n"
8277   "      (declare (in) float coord))\n"
8278   "    ())\n"
8279   "  (signature vec4\n"
8280   "    (parameters\n"
8281   "      (declare (in) sampler1D sampler)\n"
8282   "      (declare (in) float coord)\n"
8283   "      (declare (in) float bias))\n"
8284   "    ()))\n"
8285   "(function texture1DProj\n"
8286   "  (signature vec4\n"
8287   "    (parameters\n"
8288   "      (declare (in) sampler1D sampler)\n"
8289   "      (declare (in) vec2 coord))\n"
8290   "    ())\n"
8291   "  (signature vec4\n"
8292   "    (parameters\n"
8293   "      (declare (in) sampler1D sampler)\n"
8294   "      (declare (in) vec4 coord))\n"
8295   "    ())\n"
8296   "  (signature vec4\n"
8297   "    (parameters\n"
8298   "      (declare (in) sampler1D sampler)\n"
8299   "      (declare (in) vec2 coord)\n"
8300   "      (declare (in) float bias))\n"
8301   "    ())\n"
8302   "  (signature vec4\n"
8303   "    (parameters\n"
8304   "      (declare (in) sampler1D sampler)\n"
8305   "      (declare (in) vec4 coord)\n"
8306   "      (declare (in) float bias))\n"
8307   "    ()))\n"
8308   "(function texture2D\n"
8309   "  (signature vec4\n"
8310   "    (parameters\n"
8311   "      (declare (in) sampler2D sampler)\n"
8312   "      (declare (in) vec2 coord))\n"
8313   "    ())\n"
8314   "  (signature vec4\n"
8315   "    (parameters\n"
8316   "      (declare (in) sampler2D sampler)\n"
8317   "      (declare (in) vec2 coord)\n"
8318   "      (declare (in) float bias))\n"
8319   "    ()))\n"
8320   "(function texture2DProj\n"
8321   "  (signature vec4\n"
8322   "    (parameters\n"
8323   "      (declare (in) sampler2D sampler)\n"
8324   "      (declare (in) vec3 coord))\n"
8325   "    ())\n"
8326   "  (signature vec4\n"
8327   "    (parameters\n"
8328   "      (declare (in) sampler2D sampler)\n"
8329   "      (declare (in) vec4 coord))\n"
8330   "    ())\n"
8331   "  (signature vec4\n"
8332   "    (parameters\n"
8333   "      (declare (in) sampler2D sampler)\n"
8334   "      (declare (in) vec3 coord)\n"
8335   "      (declare (in) float bias))\n"
8336   "    ())\n"
8337   "  (signature vec4\n"
8338   "    (parameters\n"
8339   "      (declare (in) sampler2D sampler)\n"
8340   "      (declare (in) vec4 coord)\n"
8341   "      (declare (in) float bias))\n"
8342   "    ()))\n"
8343   "(function texture3D\n"
8344   "  (signature vec4\n"
8345   "    (parameters\n"
8346   "      (declare (in) sampler3D sampler)\n"
8347   "      (declare (in) vec3 coord))\n"
8348   "    ())\n"
8349   "  (signature vec4\n"
8350   "    (parameters\n"
8351   "      (declare (in) sampler3D sampler)\n"
8352   "      (declare (in) vec3 coord)\n"
8353   "      (declare (in) float bias))\n"
8354   "    ()))\n"
8355   "(function texture3DProj\n"
8356   "  (signature vec4\n"
8357   "    (parameters\n"
8358   "      (declare (in) sampler3D sampler)\n"
8359   "      (declare (in) vec4 coord))\n"
8360   "    ())\n"
8361   "  (signature vec4\n"
8362   "    (parameters\n"
8363   "      (declare (in) sampler3D sampler)\n"
8364   "      (declare (in) vec4 coord)\n"
8365   "      (declare (in) float bias))\n"
8366   "    ()))\n"
8367   "(function textureCube\n"
8368   "  (signature vec4\n"
8369   "    (parameters\n"
8370   "      (declare (in) samplerCube sampler)\n"
8371   "      (declare (in) vec3 coord))\n"
8372   "    ())\n"
8373   "  (signature vec4\n"
8374   "    (parameters\n"
8375   "      (declare (in) samplerCube sampler)\n"
8376   "      (declare (in) vec3 coord)\n"
8377   "      (declare (in) float bias))\n"
8378   "    ()))\n"
8379   "(function shadow1D\n"
8380   "  (signature vec4\n"
8381   "    (parameters\n"
8382   "      (declare (in) sampler1DShadow sampler)\n"
8383   "      (declare (in) vec3 coord))\n"
8384   "    ())\n"
8385   "  (signature vec4\n"
8386   "    (parameters\n"
8387   "      (declare (in) sampler1DShadow sampler)\n"
8388   "      (declare (in) vec3 coord)\n"
8389   "      (declare (in) float bias))\n"
8390   "    ()))\n"
8391   "(function shadow2D\n"
8392   "  (signature vec4\n"
8393   "    (parameters\n"
8394   "      (declare (in) sampler2DShadow sampler)\n"
8395   "      (declare (in) vec3 coord))\n"
8396   "    ())\n"
8397   "  (signature vec4\n"
8398   "    (parameters\n"
8399   "      (declare (in) sampler2DShadow sampler)\n"
8400   "      (declare (in) vec3 coord)\n"
8401   "      (declare (in) float bias))\n"
8402   "    ()))\n"
8403   "(function shadow1DProj\n"
8404   "  (signature vec4\n"
8405   "    (parameters\n"
8406   "      (declare (in) sampler1DShadow sampler)\n"
8407   "      (declare (in) vec4 coord))\n"
8408   "    ())\n"
8409   "  (signature vec4\n"
8410   "    (parameters\n"
8411   "      (declare (in) sampler1DShadow sampler)\n"
8412   "      (declare (in) vec4 coord)\n"
8413   "      (declare (in) float bias))\n"
8414   "    ()))\n"
8415   "(function shadow2DProj\n"
8416   "  (signature vec4\n"
8417   "    (parameters\n"
8418   "      (declare (in) sampler2DShadow sampler)\n"
8419   "      (declare (in) vec4 coord))\n"
8420   "    ())\n"
8421   "  (signature vec4\n"
8422   "    (parameters\n"
8423   "      (declare (in) sampler2DShadow sampler)\n"
8424   "      (declare (in) vec4 coord)\n"
8425   "      (declare (in) float bias))\n"
8426   "    ()))\n"
8427   "(function dFdx\n"
8428   "  (signature float\n"
8429   "    (parameters\n"
8430   "      (declare (in) float p))\n"
8431   "    ())\n"
8432   "  (signature vec2\n"
8433   "    (parameters\n"
8434   "      (declare (in) vec2 p))\n"
8435   "    ())\n"
8436   "  (signature vec3\n"
8437   "    (parameters\n"
8438   "      (declare (in) vec3 p))\n"
8439   "    ())\n"
8440   "  (signature vec4\n"
8441   "    (parameters\n"
8442   "      (declare (in) vec4 p))\n"
8443   "    ()))\n"
8444   "(function dFdy\n"
8445   "  (signature float\n"
8446   "    (parameters\n"
8447   "      (declare (in) float p))\n"
8448   "    ())\n"
8449   "  (signature vec2\n"
8450   "    (parameters\n"
8451   "      (declare (in) vec2 p))\n"
8452   "    ())\n"
8453   "  (signature vec3\n"
8454   "    (parameters\n"
8455   "      (declare (in) vec3 p))\n"
8456   "    ())\n"
8457   "  (signature vec4\n"
8458   "    (parameters\n"
8459   "      (declare (in) vec4 p))\n"
8460   "    ()))\n"
8461   "(function fwidth\n"
8462   "  (signature float\n"
8463   "    (parameters\n"
8464   "      (declare (in) float p))\n"
8465   "    ())\n"
8466   "  (signature vec2\n"
8467   "    (parameters\n"
8468   "      (declare (in) vec2 p))\n"
8469   "    ())\n"
8470   "  (signature vec3\n"
8471   "    (parameters\n"
8472   "      (declare (in) vec3 p))\n"
8473   "    ())\n"
8474   "  (signature vec4\n"
8475   "    (parameters\n"
8476   "      (declare (in) vec4 p))\n"
8477   "    ()))\n"
8478   "(function noise1\n"
8479   "  (signature float\n"
8480   "    (parameters\n"
8481   "      (declare (in) float x))\n"
8482   "    ())\n"
8483   "  (signature float\n"
8484   "    (parameters\n"
8485   "      (declare (in) vec2 x))\n"
8486   "    ())\n"
8487   "  (signature float\n"
8488   "    (parameters\n"
8489   "      (declare (in) vec3 x))\n"
8490   "    ())\n"
8491   "  (signature float\n"
8492   "    (parameters\n"
8493   "      (declare (in) vec4 x))\n"
8494   "    ()))\n"
8495   "(function noise2\n"
8496   "  (signature vec2\n"
8497   "    (parameters\n"
8498   "      (declare (in) float x))\n"
8499   "    ())\n"
8500   "  (signature vec2\n"
8501   "    (parameters\n"
8502   "      (declare (in) vec2 x))\n"
8503   "    ())\n"
8504   "  (signature vec2\n"
8505   "    (parameters\n"
8506   "      (declare (in) vec3 x))\n"
8507   "    ())\n"
8508   "  (signature vec2\n"
8509   "    (parameters\n"
8510   "      (declare (in) vec4 x))\n"
8511   "    ()))\n"
8512   "(function noise3\n"
8513   "  (signature vec3\n"
8514   "    (parameters\n"
8515   "      (declare (in) float x))\n"
8516   "    ())\n"
8517   "  (signature vec3\n"
8518   "    (parameters\n"
8519   "      (declare (in) vec2 x))\n"
8520   "    ())\n"
8521   "  (signature vec3\n"
8522   "    (parameters\n"
8523   "      (declare (in) vec3 x))\n"
8524   "    ())\n"
8525   "  (signature vec3\n"
8526   "    (parameters\n"
8527   "      (declare (in) vec4 x))\n"
8528   "    ()))\n"
8529   "(function noise4\n"
8530   "  (signature vec4\n"
8531   "    (parameters\n"
8532   "      (declare (in) float x))\n"
8533   "    ())\n"
8534   "  (signature vec4\n"
8535   "    (parameters\n"
8536   "      (declare (in) vec2 x))\n"
8537   "    ())\n"
8538   "  (signature vec4\n"
8539   "    (parameters\n"
8540   "      (declare (in) vec3 x))\n"
8541   "    ())\n"
8542   "  (signature vec4\n"
8543   "    (parameters\n"
8544   "      (declare (in) vec4 x))\n"
8545   "    ())))"
8546;
8547static const char *functions_for_110_frag [] = {
8548   builtin_abs,
8549   builtin_acos,
8550   builtin_all,
8551   builtin_any,
8552   builtin_asin,
8553   builtin_atan,
8554   builtin_ceil,
8555   builtin_clamp,
8556   builtin_cos,
8557   builtin_cross,
8558   builtin_dFdx,
8559   builtin_dFdy,
8560   builtin_degrees,
8561   builtin_distance,
8562   builtin_dot,
8563   builtin_equal,
8564   builtin_exp,
8565   builtin_exp2,
8566   builtin_faceforward,
8567   builtin_floor,
8568   builtin_fract,
8569   builtin_fwidth,
8570   builtin_greaterThan,
8571   builtin_greaterThanEqual,
8572   builtin_inversesqrt,
8573   builtin_length,
8574   builtin_lessThan,
8575   builtin_lessThanEqual,
8576   builtin_log,
8577   builtin_log2,
8578   builtin_matrixCompMult,
8579   builtin_max,
8580   builtin_min,
8581   builtin_mix,
8582   builtin_mod,
8583   builtin_noise1,
8584   builtin_noise2,
8585   builtin_noise3,
8586   builtin_noise4,
8587   builtin_normalize,
8588   builtin_not,
8589   builtin_notEqual,
8590   builtin_pow,
8591   builtin_radians,
8592   builtin_reflect,
8593   builtin_refract,
8594   builtin_shadow1D,
8595   builtin_shadow1DProj,
8596   builtin_shadow2D,
8597   builtin_shadow2DProj,
8598   builtin_sign,
8599   builtin_sin,
8600   builtin_smoothstep,
8601   builtin_sqrt,
8602   builtin_step,
8603   builtin_tan,
8604   builtin_texture1D,
8605   builtin_texture1DProj,
8606   builtin_texture2D,
8607   builtin_texture2DProj,
8608   builtin_texture3D,
8609   builtin_texture3DProj,
8610   builtin_textureCube,
8611};
8612static const char prototypes_for_110_vert[] =
8613   "(\n"
8614   "(function radians\n"
8615   "  (signature float\n"
8616   "    (parameters\n"
8617   "      (declare (in) float degrees))\n"
8618   "    ())\n"
8619   "  (signature vec2\n"
8620   "    (parameters\n"
8621   "      (declare (in) vec2 degrees))\n"
8622   "    ())\n"
8623   "  (signature vec3\n"
8624   "    (parameters\n"
8625   "      (declare (in) vec3 degrees))\n"
8626   "    ())\n"
8627   "  (signature vec4\n"
8628   "    (parameters\n"
8629   "      (declare (in) vec4 degrees))\n"
8630   "    ()))\n"
8631   "(function degrees\n"
8632   "  (signature float\n"
8633   "    (parameters\n"
8634   "      (declare (in) float radians))\n"
8635   "    ())\n"
8636   "  (signature vec2\n"
8637   "    (parameters\n"
8638   "      (declare (in) vec2 radians))\n"
8639   "    ())\n"
8640   "  (signature vec3\n"
8641   "    (parameters\n"
8642   "      (declare (in) vec3 radians))\n"
8643   "    ())\n"
8644   "  (signature vec4\n"
8645   "    (parameters\n"
8646   "      (declare (in) vec4 radians))\n"
8647   "    ()))\n"
8648   "(function sin\n"
8649   "  (signature float\n"
8650   "    (parameters\n"
8651   "      (declare (in) float angle))\n"
8652   "    ())\n"
8653   "  (signature vec2\n"
8654   "    (parameters\n"
8655   "      (declare (in) vec2 angle))\n"
8656   "    ())\n"
8657   "  (signature vec3\n"
8658   "    (parameters\n"
8659   "      (declare (in) vec3 angle))\n"
8660   "    ())\n"
8661   "  (signature vec4\n"
8662   "    (parameters\n"
8663   "      (declare (in) vec4 angle))\n"
8664   "    ()))\n"
8665   "(function cos\n"
8666   "  (signature float\n"
8667   "    (parameters\n"
8668   "      (declare (in) float angle))\n"
8669   "    ())\n"
8670   "  (signature vec2\n"
8671   "    (parameters\n"
8672   "      (declare (in) vec2 angle))\n"
8673   "    ())\n"
8674   "  (signature vec3\n"
8675   "    (parameters\n"
8676   "      (declare (in) vec3 angle))\n"
8677   "    ())\n"
8678   "  (signature vec4\n"
8679   "    (parameters\n"
8680   "      (declare (in) vec4 angle))\n"
8681   "    ()))\n"
8682   "(function tan\n"
8683   "  (signature float\n"
8684   "    (parameters\n"
8685   "      (declare (in) float angle))\n"
8686   "    ())\n"
8687   "  (signature vec2\n"
8688   "    (parameters\n"
8689   "      (declare (in) vec2 angle))\n"
8690   "    ())\n"
8691   "  (signature vec3\n"
8692   "    (parameters\n"
8693   "      (declare (in) vec3 angle))\n"
8694   "    ())\n"
8695   "  (signature vec4\n"
8696   "    (parameters\n"
8697   "      (declare (in) vec4 angle))\n"
8698   "    ()))\n"
8699   "(function asin\n"
8700   "  (signature float\n"
8701   "    (parameters\n"
8702   "      (declare (in) float angle))\n"
8703   "    ())\n"
8704   "  (signature vec2\n"
8705   "    (parameters\n"
8706   "      (declare (in) vec2 angle))\n"
8707   "    ())\n"
8708   "  (signature vec3\n"
8709   "    (parameters\n"
8710   "      (declare (in) vec3 angle))\n"
8711   "    ())\n"
8712   "  (signature vec4\n"
8713   "    (parameters\n"
8714   "      (declare (in) vec4 angle))\n"
8715   "    ()))\n"
8716   "(function acos\n"
8717   "  (signature float\n"
8718   "    (parameters\n"
8719   "      (declare (in) float angle))\n"
8720   "    ())\n"
8721   "  (signature vec2\n"
8722   "    (parameters\n"
8723   "      (declare (in) vec2 angle))\n"
8724   "    ())\n"
8725   "  (signature vec3\n"
8726   "    (parameters\n"
8727   "      (declare (in) vec3 angle))\n"
8728   "    ())\n"
8729   "  (signature vec4\n"
8730   "    (parameters\n"
8731   "      (declare (in) vec4 angle))\n"
8732   "    ()))\n"
8733   "(function atan\n"
8734   "  (signature float\n"
8735   "    (parameters\n"
8736   "      (declare (in) float y)\n"
8737   "      (declare (in) float x))\n"
8738   "    ())\n"
8739   "  (signature vec2\n"
8740   "    (parameters\n"
8741   "      (declare (in) vec2 y)\n"
8742   "      (declare (in) vec2 x))\n"
8743   "    ())\n"
8744   "  (signature vec3\n"
8745   "    (parameters\n"
8746   "      (declare (in) vec3 y)\n"
8747   "      (declare (in) vec3 x))\n"
8748   "    ())\n"
8749   "  (signature vec4\n"
8750   "    (parameters\n"
8751   "      (declare (in) vec4 y)\n"
8752   "      (declare (in) vec4 x))\n"
8753   "    ())\n"
8754   "  (signature float\n"
8755   "    (parameters\n"
8756   "      (declare (in) float y_over_x))\n"
8757   "    ())\n"
8758   "  (signature vec2\n"
8759   "    (parameters\n"
8760   "      (declare (in) vec2 y_over_x))\n"
8761   "    ())\n"
8762   "  (signature vec3\n"
8763   "    (parameters\n"
8764   "      (declare (in) vec3 y_over_x))\n"
8765   "    ())\n"
8766   "  (signature vec4\n"
8767   "    (parameters\n"
8768   "      (declare (in) vec4 y_over_x))\n"
8769   "    ()))\n"
8770   "(function pow\n"
8771   "  (signature float\n"
8772   "    (parameters\n"
8773   "      (declare (in) float x)\n"
8774   "      (declare (in) float y))\n"
8775   "    ())\n"
8776   "  (signature vec2\n"
8777   "    (parameters\n"
8778   "      (declare (in) vec2 x)\n"
8779   "      (declare (in) vec2 y))\n"
8780   "    ())\n"
8781   "  (signature vec3\n"
8782   "    (parameters\n"
8783   "      (declare (in) vec3 x)\n"
8784   "      (declare (in) vec3 y))\n"
8785   "    ())\n"
8786   "  (signature vec4\n"
8787   "    (parameters\n"
8788   "      (declare (in) vec4 x)\n"
8789   "      (declare (in) vec4 y))\n"
8790   "    ()))\n"
8791   "(function exp\n"
8792   "  (signature float\n"
8793   "    (parameters\n"
8794   "      (declare (in) float x))\n"
8795   "    ())\n"
8796   "  (signature vec2\n"
8797   "    (parameters\n"
8798   "      (declare (in) vec2 x))\n"
8799   "    ())\n"
8800   "  (signature vec3\n"
8801   "    (parameters\n"
8802   "      (declare (in) vec3 x))\n"
8803   "    ())\n"
8804   "  (signature vec4\n"
8805   "    (parameters\n"
8806   "      (declare (in) vec4 x))\n"
8807   "    ()))\n"
8808   "(function log\n"
8809   "  (signature float\n"
8810   "    (parameters\n"
8811   "      (declare (in) float x))\n"
8812   "    ())\n"
8813   "  (signature vec2\n"
8814   "    (parameters\n"
8815   "      (declare (in) vec2 x))\n"
8816   "    ())\n"
8817   "  (signature vec3\n"
8818   "    (parameters\n"
8819   "      (declare (in) vec3 x))\n"
8820   "    ())\n"
8821   "  (signature vec4\n"
8822   "    (parameters\n"
8823   "      (declare (in) vec4 x))\n"
8824   "    ()))\n"
8825   "(function exp2\n"
8826   "  (signature float\n"
8827   "    (parameters\n"
8828   "      (declare (in) float x))\n"
8829   "    ())\n"
8830   "  (signature vec2\n"
8831   "    (parameters\n"
8832   "      (declare (in) vec2 x))\n"
8833   "    ())\n"
8834   "  (signature vec3\n"
8835   "    (parameters\n"
8836   "      (declare (in) vec3 x))\n"
8837   "    ())\n"
8838   "  (signature vec4\n"
8839   "    (parameters\n"
8840   "      (declare (in) vec4 x))\n"
8841   "    ()))\n"
8842   "(function log2\n"
8843   "  (signature float\n"
8844   "    (parameters\n"
8845   "      (declare (in) float x))\n"
8846   "    ())\n"
8847   "  (signature vec2\n"
8848   "    (parameters\n"
8849   "      (declare (in) vec2 x))\n"
8850   "    ())\n"
8851   "  (signature vec3\n"
8852   "    (parameters\n"
8853   "      (declare (in) vec3 x))\n"
8854   "    ())\n"
8855   "  (signature vec4\n"
8856   "    (parameters\n"
8857   "      (declare (in) vec4 x))\n"
8858   "    ()))\n"
8859   "(function sqrt\n"
8860   "  (signature float\n"
8861   "    (parameters\n"
8862   "      (declare (in) float x))\n"
8863   "    ())\n"
8864   "  (signature vec2\n"
8865   "    (parameters\n"
8866   "      (declare (in) vec2 x))\n"
8867   "    ())\n"
8868   "  (signature vec3\n"
8869   "    (parameters\n"
8870   "      (declare (in) vec3 x))\n"
8871   "    ())\n"
8872   "  (signature vec4\n"
8873   "    (parameters\n"
8874   "      (declare (in) vec4 x))\n"
8875   "    ()))\n"
8876   "(function inversesqrt\n"
8877   "  (signature float\n"
8878   "    (parameters\n"
8879   "      (declare (in) float x))\n"
8880   "    ())\n"
8881   "  (signature vec2\n"
8882   "    (parameters\n"
8883   "      (declare (in) vec2 x))\n"
8884   "    ())\n"
8885   "  (signature vec3\n"
8886   "    (parameters\n"
8887   "      (declare (in) vec3 x))\n"
8888   "    ())\n"
8889   "  (signature vec4\n"
8890   "    (parameters\n"
8891   "      (declare (in) vec4 x))\n"
8892   "    ()))\n"
8893   "(function abs\n"
8894   "  (signature float\n"
8895   "    (parameters\n"
8896   "      (declare (in) float x))\n"
8897   "    ())\n"
8898   "  (signature vec2\n"
8899   "    (parameters\n"
8900   "      (declare (in) vec2 x))\n"
8901   "    ())\n"
8902   "  (signature vec3\n"
8903   "    (parameters\n"
8904   "      (declare (in) vec3 x))\n"
8905   "    ())\n"
8906   "  (signature vec4\n"
8907   "    (parameters\n"
8908   "      (declare (in) vec4 x))\n"
8909   "    ()))\n"
8910   "(function sign\n"
8911   "  (signature float\n"
8912   "    (parameters\n"
8913   "      (declare (in) float x))\n"
8914   "    ())\n"
8915   "  (signature vec2\n"
8916   "    (parameters\n"
8917   "      (declare (in) vec2 x))\n"
8918   "    ())\n"
8919   "  (signature vec3\n"
8920   "    (parameters\n"
8921   "      (declare (in) vec3 x))\n"
8922   "    ())\n"
8923   "  (signature vec4\n"
8924   "    (parameters\n"
8925   "      (declare (in) vec4 x))\n"
8926   "    ()))\n"
8927   "(function floor\n"
8928   "  (signature float\n"
8929   "    (parameters\n"
8930   "      (declare (in) float x))\n"
8931   "    ())\n"
8932   "  (signature vec2\n"
8933   "    (parameters\n"
8934   "      (declare (in) vec2 x))\n"
8935   "    ())\n"
8936   "  (signature vec3\n"
8937   "    (parameters\n"
8938   "      (declare (in) vec3 x))\n"
8939   "    ())\n"
8940   "  (signature vec4\n"
8941   "    (parameters\n"
8942   "      (declare (in) vec4 x))\n"
8943   "    ()))\n"
8944   "(function ceil\n"
8945   "  (signature float\n"
8946   "    (parameters\n"
8947   "      (declare (in) float x))\n"
8948   "    ())\n"
8949   "  (signature vec2\n"
8950   "    (parameters\n"
8951   "      (declare (in) vec2 x))\n"
8952   "    ())\n"
8953   "  (signature vec3\n"
8954   "    (parameters\n"
8955   "      (declare (in) vec3 x))\n"
8956   "    ())\n"
8957   "  (signature vec4\n"
8958   "    (parameters\n"
8959   "      (declare (in) vec4 x))\n"
8960   "    ()))\n"
8961   "(function fract\n"
8962   "  (signature float\n"
8963   "    (parameters\n"
8964   "      (declare (in) float x))\n"
8965   "    ())\n"
8966   "  (signature vec2\n"
8967   "    (parameters\n"
8968   "      (declare (in) vec2 x))\n"
8969   "    ())\n"
8970   "  (signature vec3\n"
8971   "    (parameters\n"
8972   "      (declare (in) vec3 x))\n"
8973   "    ())\n"
8974   "  (signature vec4\n"
8975   "    (parameters\n"
8976   "      (declare (in) vec4 x))\n"
8977   "    ()))\n"
8978   "(function mod\n"
8979   "  (signature float\n"
8980   "    (parameters\n"
8981   "      (declare (in) float x)\n"
8982   "      (declare (in) float y))\n"
8983   "    ())\n"
8984   "  (signature vec2\n"
8985   "    (parameters\n"
8986   "      (declare (in) vec2 x)\n"
8987   "      (declare (in) float y))\n"
8988   "    ())\n"
8989   "  (signature vec3\n"
8990   "    (parameters\n"
8991   "      (declare (in) vec3 x)\n"
8992   "      (declare (in) float y))\n"
8993   "    ())\n"
8994   "  (signature vec4\n"
8995   "    (parameters\n"
8996   "      (declare (in) vec4 x)\n"
8997   "      (declare (in) float y))\n"
8998   "    ())\n"
8999   "  (signature vec2\n"
9000   "    (parameters\n"
9001   "      (declare (in) vec2 x)\n"
9002   "      (declare (in) vec2 y))\n"
9003   "    ())\n"
9004   "  (signature vec3\n"
9005   "    (parameters\n"
9006   "      (declare (in) vec3 x)\n"
9007   "      (declare (in) vec3 y))\n"
9008   "    ())\n"
9009   "  (signature vec4\n"
9010   "    (parameters\n"
9011   "      (declare (in) vec4 x)\n"
9012   "      (declare (in) vec4 y))\n"
9013   "    ()))\n"
9014   "(function min\n"
9015   "  (signature float\n"
9016   "    (parameters\n"
9017   "      (declare (in) float x)\n"
9018   "      (declare (in) float y))\n"
9019   "    ())\n"
9020   "  (signature vec2\n"
9021   "    (parameters\n"
9022   "      (declare (in) vec2 x)\n"
9023   "      (declare (in) vec2 y))\n"
9024   "    ())\n"
9025   "  (signature vec3\n"
9026   "    (parameters\n"
9027   "      (declare (in) vec3 x)\n"
9028   "      (declare (in) vec3 y))\n"
9029   "    ())\n"
9030   "  (signature vec4\n"
9031   "    (parameters\n"
9032   "      (declare (in) vec4 x)\n"
9033   "      (declare (in) vec4 y))\n"
9034   "    ())\n"
9035   "  (signature vec2\n"
9036   "    (parameters\n"
9037   "      (declare (in) vec2 x)\n"
9038   "      (declare (in) float y))\n"
9039   "    ())\n"
9040   "  (signature vec3\n"
9041   "    (parameters\n"
9042   "      (declare (in) vec3 x)\n"
9043   "      (declare (in) float y))\n"
9044   "    ())\n"
9045   "  (signature vec4\n"
9046   "    (parameters\n"
9047   "      (declare (in) vec4 x)\n"
9048   "      (declare (in) float y))\n"
9049   "    ()))\n"
9050   "(function max\n"
9051   "  (signature float\n"
9052   "    (parameters\n"
9053   "      (declare (in) float x)\n"
9054   "      (declare (in) float y))\n"
9055   "    ())\n"
9056   "  (signature vec2\n"
9057   "    (parameters\n"
9058   "      (declare (in) vec2 x)\n"
9059   "      (declare (in) vec2 y))\n"
9060   "    ())\n"
9061   "  (signature vec3\n"
9062   "    (parameters\n"
9063   "      (declare (in) vec3 x)\n"
9064   "      (declare (in) vec3 y))\n"
9065   "    ())\n"
9066   "  (signature vec4\n"
9067   "    (parameters\n"
9068   "      (declare (in) vec4 x)\n"
9069   "      (declare (in) vec4 y))\n"
9070   "    ())\n"
9071   "  (signature vec2\n"
9072   "    (parameters\n"
9073   "      (declare (in) vec2 x)\n"
9074   "      (declare (in) float y))\n"
9075   "    ())\n"
9076   "  (signature vec3\n"
9077   "    (parameters\n"
9078   "      (declare (in) vec3 x)\n"
9079   "      (declare (in) float y))\n"
9080   "    ())\n"
9081   "  (signature vec4\n"
9082   "    (parameters\n"
9083   "      (declare (in) vec4 x)\n"
9084   "      (declare (in) float y))\n"
9085   "    ()))\n"
9086   "(function clamp\n"
9087   "  (signature float\n"
9088   "    (parameters\n"
9089   "      (declare (in) float x)\n"
9090   "      (declare (in) float minVal)\n"
9091   "      (declare (in) float maxVal))\n"
9092   "    ())\n"
9093   "  (signature vec2\n"
9094   "    (parameters\n"
9095   "      (declare (in) vec2 x)\n"
9096   "      (declare (in) vec2 minVal)\n"
9097   "      (declare (in) vec2 maxVal))\n"
9098   "    ())\n"
9099   "  (signature vec3\n"
9100   "    (parameters\n"
9101   "      (declare (in) vec3 x)\n"
9102   "      (declare (in) vec3 minVal)\n"
9103   "      (declare (in) vec3 maxVal))\n"
9104   "    ())\n"
9105   "  (signature vec4\n"
9106   "    (parameters\n"
9107   "      (declare (in) vec4 x)\n"
9108   "      (declare (in) vec4 minVal)\n"
9109   "      (declare (in) vec4 maxVal))\n"
9110   "    ())\n"
9111   "  (signature vec2\n"
9112   "    (parameters\n"
9113   "      (declare (in) vec2 x)\n"
9114   "      (declare (in) float minVal)\n"
9115   "      (declare (in) float maxVal))\n"
9116   "    ())\n"
9117   "  (signature vec3\n"
9118   "    (parameters\n"
9119   "      (declare (in) vec3 x)\n"
9120   "      (declare (in) float minVal)\n"
9121   "      (declare (in) float maxVal))\n"
9122   "    ())\n"
9123   "  (signature vec4\n"
9124   "    (parameters\n"
9125   "      (declare (in) vec4 x)\n"
9126   "      (declare (in) float minVal)\n"
9127   "      (declare (in) float maxVal))\n"
9128   "    ()))\n"
9129   "(function mix\n"
9130   "  (signature float\n"
9131   "    (parameters\n"
9132   "      (declare (in) float x)\n"
9133   "      (declare (in) float y)\n"
9134   "      (declare (in) float a))\n"
9135   "    ())\n"
9136   "  (signature vec2\n"
9137   "    (parameters\n"
9138   "      (declare (in) vec2 x)\n"
9139   "      (declare (in) vec2 y)\n"
9140   "      (declare (in) vec2 a))\n"
9141   "    ())\n"
9142   "  (signature vec3\n"
9143   "    (parameters\n"
9144   "      (declare (in) vec3 x)\n"
9145   "      (declare (in) vec3 y)\n"
9146   "      (declare (in) vec3 a))\n"
9147   "    ())\n"
9148   "  (signature vec4\n"
9149   "    (parameters\n"
9150   "      (declare (in) vec4 x)\n"
9151   "      (declare (in) vec4 y)\n"
9152   "      (declare (in) vec4 a))\n"
9153   "    ())\n"
9154   "  (signature vec2\n"
9155   "    (parameters\n"
9156   "      (declare (in) vec2 x)\n"
9157   "      (declare (in) vec2 y)\n"
9158   "      (declare (in) float a))\n"
9159   "    ())\n"
9160   "  (signature vec3\n"
9161   "    (parameters\n"
9162   "      (declare (in) vec3 x)\n"
9163   "      (declare (in) vec3 y)\n"
9164   "      (declare (in) float a))\n"
9165   "    ())\n"
9166   "  (signature vec4\n"
9167   "    (parameters\n"
9168   "      (declare (in) vec4 x)\n"
9169   "      (declare (in) vec4 y)\n"
9170   "      (declare (in) float a))\n"
9171   "    ()))\n"
9172   "(function step\n"
9173   "  (signature float\n"
9174   "    (parameters\n"
9175   "      (declare (in) float edge)\n"
9176   "      (declare (in) float x))\n"
9177   "    ())\n"
9178   "  (signature vec2\n"
9179   "    (parameters\n"
9180   "      (declare (in) vec2 edge)\n"
9181   "      (declare (in) vec2 x))\n"
9182   "    ())\n"
9183   "  (signature vec3\n"
9184   "    (parameters\n"
9185   "      (declare (in) vec3 edge)\n"
9186   "      (declare (in) vec3 x))\n"
9187   "    ())\n"
9188   "  (signature vec4\n"
9189   "    (parameters\n"
9190   "      (declare (in) vec4 edge)\n"
9191   "      (declare (in) vec4 x))\n"
9192   "    ())\n"
9193   "  (signature vec2\n"
9194   "    (parameters\n"
9195   "      (declare (in) float edge)\n"
9196   "      (declare (in) vec2 x))\n"
9197   "    ())\n"
9198   "  (signature vec3\n"
9199   "    (parameters\n"
9200   "      (declare (in) float edge)\n"
9201   "      (declare (in) vec3 x))\n"
9202   "    ())\n"
9203   "  (signature vec4\n"
9204   "    (parameters\n"
9205   "      (declare (in) float edge)\n"
9206   "      (declare (in) vec4 x))\n"
9207   "    ()))\n"
9208   "(function smoothstep\n"
9209   "  (signature float\n"
9210   "    (parameters\n"
9211   "      (declare (in) float edge0)\n"
9212   "      (declare (in) float edge1)\n"
9213   "      (declare (in) float x))\n"
9214   "    ())\n"
9215   "  (signature vec2\n"
9216   "    (parameters\n"
9217   "      (declare (in) vec2 edge0)\n"
9218   "      (declare (in) vec2 edge1)\n"
9219   "      (declare (in) vec2 x))\n"
9220   "    ())\n"
9221   "  (signature vec3\n"
9222   "    (parameters\n"
9223   "      (declare (in) vec3 edge0)\n"
9224   "      (declare (in) vec3 edge1)\n"
9225   "      (declare (in) vec3 x))\n"
9226   "    ())\n"
9227   "  (signature vec4\n"
9228   "    (parameters\n"
9229   "      (declare (in) vec4 edge0)\n"
9230   "      (declare (in) vec4 edge1)\n"
9231   "      (declare (in) vec4 x))\n"
9232   "    ())\n"
9233   "  (signature vec2\n"
9234   "    (parameters\n"
9235   "      (declare (in) float edge0)\n"
9236   "      (declare (in) float edge1)\n"
9237   "      (declare (in) vec2 x))\n"
9238   "    ())\n"
9239   "  (signature vec3\n"
9240   "    (parameters\n"
9241   "      (declare (in) float edge0)\n"
9242   "      (declare (in) float edge1)\n"
9243   "      (declare (in) vec3 x))\n"
9244   "    ())\n"
9245   "  (signature vec4\n"
9246   "    (parameters\n"
9247   "      (declare (in) float edge0)\n"
9248   "      (declare (in) float edge1)\n"
9249   "      (declare (in) vec4 x))\n"
9250   "    ()))\n"
9251   "(function length\n"
9252   "  (signature float\n"
9253   "    (parameters\n"
9254   "      (declare (in) float x))\n"
9255   "    ())\n"
9256   "  (signature float\n"
9257   "    (parameters\n"
9258   "      (declare (in) vec2 x))\n"
9259   "    ())\n"
9260   "  (signature float\n"
9261   "    (parameters\n"
9262   "      (declare (in) vec3 x))\n"
9263   "    ())\n"
9264   "  (signature float\n"
9265   "    (parameters\n"
9266   "      (declare (in) vec4 x))\n"
9267   "    ()))\n"
9268   "(function distance\n"
9269   "  (signature float\n"
9270   "    (parameters\n"
9271   "      (declare (in) float p0)\n"
9272   "      (declare (in) float p1))\n"
9273   "    ())\n"
9274   "  (signature float\n"
9275   "    (parameters\n"
9276   "      (declare (in) vec2 p0)\n"
9277   "      (declare (in) vec2 p1))\n"
9278   "    ())\n"
9279   "  (signature float\n"
9280   "    (parameters\n"
9281   "      (declare (in) vec3 p0)\n"
9282   "      (declare (in) vec3 p1))\n"
9283   "    ())\n"
9284   "  (signature float\n"
9285   "    (parameters\n"
9286   "      (declare (in) vec4 p0)\n"
9287   "      (declare (in) vec4 p1))\n"
9288   "    ()))\n"
9289   "(function dot\n"
9290   "  (signature float\n"
9291   "    (parameters\n"
9292   "      (declare (in) float x)\n"
9293   "      (declare (in) float y))\n"
9294   "    ())\n"
9295   "  (signature float\n"
9296   "    (parameters\n"
9297   "      (declare (in) vec2 x)\n"
9298   "      (declare (in) vec2 y))\n"
9299   "    ())\n"
9300   "  (signature float\n"
9301   "    (parameters\n"
9302   "      (declare (in) vec3 x)\n"
9303   "      (declare (in) vec3 y))\n"
9304   "    ())\n"
9305   "  (signature float\n"
9306   "    (parameters\n"
9307   "      (declare (in) vec4 x)\n"
9308   "      (declare (in) vec4 y))\n"
9309   "    ()))\n"
9310   "(function cross\n"
9311   "  (signature vec3\n"
9312   "    (parameters\n"
9313   "      (declare (in) vec3 x)\n"
9314   "      (declare (in) vec3 y))\n"
9315   "    ()))\n"
9316   "(function normalize\n"
9317   "  (signature float\n"
9318   "    (parameters\n"
9319   "      (declare (in) float x))\n"
9320   "    ())\n"
9321   "  (signature vec2\n"
9322   "    (parameters\n"
9323   "      (declare (in) vec2 x))\n"
9324   "    ())\n"
9325   "  (signature vec3\n"
9326   "    (parameters\n"
9327   "      (declare (in) vec3 x))\n"
9328   "    ())\n"
9329   "  (signature vec4\n"
9330   "    (parameters\n"
9331   "      (declare (in) vec4 x))\n"
9332   "    ()))\n"
9333   "(function ftransform\n"
9334   "  (signature vec4\n"
9335   "    (parameters)\n"
9336   "    ()))\n"
9337   "(function faceforward\n"
9338   "  (signature float\n"
9339   "    (parameters\n"
9340   "      (declare (in) float N)\n"
9341   "      (declare (in) float I)\n"
9342   "      (declare (in) float Nref))\n"
9343   "    ())\n"
9344   "  (signature vec2\n"
9345   "    (parameters\n"
9346   "      (declare (in) vec2 N)\n"
9347   "      (declare (in) vec2 I)\n"
9348   "      (declare (in) vec2 Nref))\n"
9349   "    ())\n"
9350   "  (signature vec3\n"
9351   "    (parameters\n"
9352   "      (declare (in) vec3 N)\n"
9353   "      (declare (in) vec3 I)\n"
9354   "      (declare (in) vec3 Nref))\n"
9355   "    ())\n"
9356   "  (signature vec4\n"
9357   "    (parameters\n"
9358   "      (declare (in) vec4 N)\n"
9359   "      (declare (in) vec4 I)\n"
9360   "      (declare (in) vec4 Nref))\n"
9361   "    ()))\n"
9362   "(function reflect\n"
9363   "  (signature float\n"
9364   "    (parameters\n"
9365   "      (declare (in) float I)\n"
9366   "      (declare (in) float N))\n"
9367   "    ())\n"
9368   "  (signature vec2\n"
9369   "    (parameters\n"
9370   "      (declare (in) vec2 I)\n"
9371   "      (declare (in) vec2 N))\n"
9372   "    ())\n"
9373   "  (signature vec3\n"
9374   "    (parameters\n"
9375   "      (declare (in) vec3 I)\n"
9376   "      (declare (in) vec3 N))\n"
9377   "    ())\n"
9378   "  (signature vec4\n"
9379   "    (parameters\n"
9380   "      (declare (in) vec4 I)\n"
9381   "      (declare (in) vec4 N))\n"
9382   "    ()))\n"
9383   "(function refract\n"
9384   "  (signature float\n"
9385   "    (parameters\n"
9386   "      (declare (in) float I)\n"
9387   "      (declare (in) float N)\n"
9388   "      (declare (in) float eta))\n"
9389   "    ())\n"
9390   "  (signature vec2\n"
9391   "    (parameters\n"
9392   "      (declare (in) vec2 I)\n"
9393   "      (declare (in) vec2 N)\n"
9394   "      (declare (in) float eta))\n"
9395   "    ())\n"
9396   "  (signature vec3\n"
9397   "    (parameters\n"
9398   "      (declare (in) vec3 I)\n"
9399   "      (declare (in) vec3 N)\n"
9400   "      (declare (in) float eta))\n"
9401   "    ())\n"
9402   "  (signature vec4\n"
9403   "    (parameters\n"
9404   "      (declare (in) vec4 I)\n"
9405   "      (declare (in) vec4 N)\n"
9406   "      (declare (in) float eta))\n"
9407   "    ()))\n"
9408   "(function matrixCompMult\n"
9409   "  (signature mat2\n"
9410   "    (parameters\n"
9411   "      (declare (in) mat2 x)\n"
9412   "      (declare (in) mat2 y))\n"
9413   "    ())\n"
9414   "  (signature mat3\n"
9415   "    (parameters\n"
9416   "      (declare (in) mat3 x)\n"
9417   "      (declare (in) mat3 y))\n"
9418   "    ())\n"
9419   "  (signature mat4\n"
9420   "    (parameters\n"
9421   "      (declare (in) mat4 x)\n"
9422   "      (declare (in) mat4 y))\n"
9423   "    ()))\n"
9424   "(function lessThan\n"
9425   "  (signature bvec2\n"
9426   "    (parameters\n"
9427   "      (declare (in) vec2 x)\n"
9428   "      (declare (in) vec2 y))\n"
9429   "    ())\n"
9430   "  (signature bvec3\n"
9431   "    (parameters\n"
9432   "      (declare (in) vec3 x)\n"
9433   "      (declare (in) vec3 y))\n"
9434   "    ())\n"
9435   "  (signature bvec4\n"
9436   "    (parameters\n"
9437   "      (declare (in) vec4 x)\n"
9438   "      (declare (in) vec4 y))\n"
9439   "    ())\n"
9440   "  (signature bvec2\n"
9441   "    (parameters\n"
9442   "      (declare (in) ivec2 x)\n"
9443   "      (declare (in) ivec2 y))\n"
9444   "    ())\n"
9445   "  (signature bvec3\n"
9446   "    (parameters\n"
9447   "      (declare (in) ivec3 x)\n"
9448   "      (declare (in) ivec3 y))\n"
9449   "    ())\n"
9450   "  (signature bvec4\n"
9451   "    (parameters\n"
9452   "      (declare (in) ivec4 x)\n"
9453   "      (declare (in) ivec4 y))\n"
9454   "    ()))\n"
9455   "(function lessThanEqual\n"
9456   "  (signature bvec2\n"
9457   "    (parameters\n"
9458   "      (declare (in) vec2 x)\n"
9459   "      (declare (in) vec2 y))\n"
9460   "    ())\n"
9461   "  (signature bvec3\n"
9462   "    (parameters\n"
9463   "      (declare (in) vec3 x)\n"
9464   "      (declare (in) vec3 y))\n"
9465   "    ())\n"
9466   "  (signature bvec4\n"
9467   "    (parameters\n"
9468   "      (declare (in) vec4 x)\n"
9469   "      (declare (in) vec4 y))\n"
9470   "    ())\n"
9471   "  (signature bvec2\n"
9472   "    (parameters\n"
9473   "      (declare (in) ivec2 x)\n"
9474   "      (declare (in) ivec2 y))\n"
9475   "    ())\n"
9476   "  (signature bvec3\n"
9477   "    (parameters\n"
9478   "      (declare (in) ivec3 x)\n"
9479   "      (declare (in) ivec3 y))\n"
9480   "    ())\n"
9481   "  (signature bvec4\n"
9482   "    (parameters\n"
9483   "      (declare (in) ivec4 x)\n"
9484   "      (declare (in) ivec4 y))\n"
9485   "    ()))\n"
9486   "(function greaterThan\n"
9487   "  (signature bvec2\n"
9488   "    (parameters\n"
9489   "      (declare (in) vec2 x)\n"
9490   "      (declare (in) vec2 y))\n"
9491   "    ())\n"
9492   "  (signature bvec3\n"
9493   "    (parameters\n"
9494   "      (declare (in) vec3 x)\n"
9495   "      (declare (in) vec3 y))\n"
9496   "    ())\n"
9497   "  (signature bvec4\n"
9498   "    (parameters\n"
9499   "      (declare (in) vec4 x)\n"
9500   "      (declare (in) vec4 y))\n"
9501   "    ())\n"
9502   "  (signature bvec2\n"
9503   "    (parameters\n"
9504   "      (declare (in) ivec2 x)\n"
9505   "      (declare (in) ivec2 y))\n"
9506   "    ())\n"
9507   "  (signature bvec3\n"
9508   "    (parameters\n"
9509   "      (declare (in) ivec3 x)\n"
9510   "      (declare (in) ivec3 y))\n"
9511   "    ())\n"
9512   "  (signature bvec4\n"
9513   "    (parameters\n"
9514   "      (declare (in) ivec4 x)\n"
9515   "      (declare (in) ivec4 y))\n"
9516   "    ()))\n"
9517   "(function greaterThanEqual\n"
9518   "  (signature bvec2\n"
9519   "    (parameters\n"
9520   "      (declare (in) vec2 x)\n"
9521   "      (declare (in) vec2 y))\n"
9522   "    ())\n"
9523   "  (signature bvec3\n"
9524   "    (parameters\n"
9525   "      (declare (in) vec3 x)\n"
9526   "      (declare (in) vec3 y))\n"
9527   "    ())\n"
9528   "  (signature bvec4\n"
9529   "    (parameters\n"
9530   "      (declare (in) vec4 x)\n"
9531   "      (declare (in) vec4 y))\n"
9532   "    ())\n"
9533   "  (signature bvec2\n"
9534   "    (parameters\n"
9535   "      (declare (in) ivec2 x)\n"
9536   "      (declare (in) ivec2 y))\n"
9537   "    ())\n"
9538   "  (signature bvec3\n"
9539   "    (parameters\n"
9540   "      (declare (in) ivec3 x)\n"
9541   "      (declare (in) ivec3 y))\n"
9542   "    ())\n"
9543   "  (signature bvec4\n"
9544   "    (parameters\n"
9545   "      (declare (in) ivec4 x)\n"
9546   "      (declare (in) ivec4 y))\n"
9547   "    ()))\n"
9548   "(function equal\n"
9549   "  (signature bvec2\n"
9550   "    (parameters\n"
9551   "      (declare (in) vec2 x)\n"
9552   "      (declare (in) vec2 y))\n"
9553   "    ())\n"
9554   "  (signature bvec3\n"
9555   "    (parameters\n"
9556   "      (declare (in) vec3 x)\n"
9557   "      (declare (in) vec3 y))\n"
9558   "    ())\n"
9559   "  (signature bvec4\n"
9560   "    (parameters\n"
9561   "      (declare (in) vec4 x)\n"
9562   "      (declare (in) vec4 y))\n"
9563   "    ())\n"
9564   "  (signature bvec2\n"
9565   "    (parameters\n"
9566   "      (declare (in) ivec2 x)\n"
9567   "      (declare (in) ivec2 y))\n"
9568   "    ())\n"
9569   "  (signature bvec3\n"
9570   "    (parameters\n"
9571   "      (declare (in) ivec3 x)\n"
9572   "      (declare (in) ivec3 y))\n"
9573   "    ())\n"
9574   "  (signature bvec4\n"
9575   "    (parameters\n"
9576   "      (declare (in) ivec4 x)\n"
9577   "      (declare (in) ivec4 y))\n"
9578   "    ())\n"
9579   "  (signature bvec2\n"
9580   "    (parameters\n"
9581   "      (declare (in) bvec2 x)\n"
9582   "      (declare (in) bvec2 y))\n"
9583   "    ())\n"
9584   "  (signature bvec3\n"
9585   "    (parameters\n"
9586   "      (declare (in) bvec3 x)\n"
9587   "      (declare (in) bvec3 y))\n"
9588   "    ())\n"
9589   "  (signature bvec4\n"
9590   "    (parameters\n"
9591   "      (declare (in) bvec4 x)\n"
9592   "      (declare (in) bvec4 y))\n"
9593   "    ()))\n"
9594   "(function notEqual\n"
9595   "  (signature bvec2\n"
9596   "    (parameters\n"
9597   "      (declare (in) vec2 x)\n"
9598   "      (declare (in) vec2 y))\n"
9599   "    ())\n"
9600   "  (signature bvec3\n"
9601   "    (parameters\n"
9602   "      (declare (in) vec3 x)\n"
9603   "      (declare (in) vec3 y))\n"
9604   "    ())\n"
9605   "  (signature bvec4\n"
9606   "    (parameters\n"
9607   "      (declare (in) vec4 x)\n"
9608   "      (declare (in) vec4 y))\n"
9609   "    ())\n"
9610   "  (signature bvec2\n"
9611   "    (parameters\n"
9612   "      (declare (in) ivec2 x)\n"
9613   "      (declare (in) ivec2 y))\n"
9614   "    ())\n"
9615   "  (signature bvec3\n"
9616   "    (parameters\n"
9617   "      (declare (in) ivec3 x)\n"
9618   "      (declare (in) ivec3 y))\n"
9619   "    ())\n"
9620   "  (signature bvec4\n"
9621   "    (parameters\n"
9622   "      (declare (in) ivec4 x)\n"
9623   "      (declare (in) ivec4 y))\n"
9624   "    ())\n"
9625   "  (signature bvec2\n"
9626   "    (parameters\n"
9627   "      (declare (in) bvec2 x)\n"
9628   "      (declare (in) bvec2 y))\n"
9629   "    ())\n"
9630   "  (signature bvec3\n"
9631   "    (parameters\n"
9632   "      (declare (in) bvec3 x)\n"
9633   "      (declare (in) bvec3 y))\n"
9634   "    ())\n"
9635   "  (signature bvec4\n"
9636   "    (parameters\n"
9637   "      (declare (in) bvec4 x)\n"
9638   "      (declare (in) bvec4 y))\n"
9639   "    ()))\n"
9640   "(function any\n"
9641   "  (signature bool\n"
9642   "    (parameters\n"
9643   "      (declare (in) bvec2 x))\n"
9644   "    ())\n"
9645   "  (signature bool\n"
9646   "    (parameters\n"
9647   "      (declare (in) bvec3 x))\n"
9648   "    ())\n"
9649   "  (signature bool\n"
9650   "    (parameters\n"
9651   "      (declare (in) bvec4 x))\n"
9652   "    ()))\n"
9653   "(function all\n"
9654   "  (signature bool\n"
9655   "    (parameters\n"
9656   "      (declare (in) bvec2 x))\n"
9657   "    ())\n"
9658   "  (signature bool\n"
9659   "    (parameters\n"
9660   "      (declare (in) bvec3 x))\n"
9661   "    ())\n"
9662   "  (signature bool\n"
9663   "    (parameters\n"
9664   "      (declare (in) bvec4 x))\n"
9665   "    ()))\n"
9666   "(function not\n"
9667   "  (signature bvec2\n"
9668   "    (parameters\n"
9669   "      (declare (in) bvec2 x))\n"
9670   "    ())\n"
9671   "  (signature bvec3\n"
9672   "    (parameters\n"
9673   "      (declare (in) bvec3 x))\n"
9674   "    ())\n"
9675   "  (signature bvec4\n"
9676   "    (parameters\n"
9677   "      (declare (in) bvec4 x))\n"
9678   "    ()))\n"
9679   "(function texture1D\n"
9680   "  (signature vec4\n"
9681   "    (parameters\n"
9682   "      (declare (in) sampler1D sampler)\n"
9683   "      (declare (in) float coord))\n"
9684   "    ()))\n"
9685   "(function texture1DProj\n"
9686   "  (signature vec4\n"
9687   "    (parameters\n"
9688   "      (declare (in) sampler1D sampler)\n"
9689   "      (declare (in) vec2 coord))\n"
9690   "    ())\n"
9691   "  (signature vec4\n"
9692   "    (parameters\n"
9693   "      (declare (in) sampler1D sampler)\n"
9694   "      (declare (in) vec4 coord))\n"
9695   "    ()))\n"
9696   "(function texture1DLod\n"
9697   "  (signature vec4\n"
9698   "    (parameters\n"
9699   "      (declare (in) sampler1D sampler)\n"
9700   "      (declare (in) float coord)\n"
9701   "      (declare (in) float lod))\n"
9702   "    ()))\n"
9703   "(function texture1DProjLod\n"
9704   "  (signature vec4\n"
9705   "    (parameters\n"
9706   "      (declare (in) sampler1D sampler)\n"
9707   "      (declare (in) vec2 coord)\n"
9708   "      (declare (in) float lod))\n"
9709   "    ())\n"
9710   "  (signature vec4\n"
9711   "    (parameters\n"
9712   "      (declare (in) sampler1D sampler)\n"
9713   "      (declare (in) vec4 coord)\n"
9714   "      (declare (in) float lod))\n"
9715   "    ()))\n"
9716   "(function texture2D\n"
9717   "  (signature vec4\n"
9718   "    (parameters\n"
9719   "      (declare (in) sampler2D sampler)\n"
9720   "      (declare (in) vec2 coord))\n"
9721   "    ()))\n"
9722   "(function texture2DProj\n"
9723   "  (signature vec4\n"
9724   "    (parameters\n"
9725   "      (declare (in) sampler2D sampler)\n"
9726   "      (declare (in) vec3 coord))\n"
9727   "    ())\n"
9728   "  (signature vec4\n"
9729   "    (parameters\n"
9730   "      (declare (in) sampler2D sampler)\n"
9731   "      (declare (in) vec4 coord))\n"
9732   "    ()))\n"
9733   "(function texture2DLod\n"
9734   "  (signature vec4\n"
9735   "    (parameters\n"
9736   "      (declare (in) sampler2D sampler)\n"
9737   "      (declare (in) vec2 coord)\n"
9738   "      (declare (in) float lod))\n"
9739   "    ()))\n"
9740   "(function texture2DProjLod\n"
9741   "  (signature vec4\n"
9742   "    (parameters\n"
9743   "      (declare (in) sampler2D sampler)\n"
9744   "      (declare (in) vec3 coord)\n"
9745   "      (declare (in) float lod))\n"
9746   "    ())\n"
9747   "  (signature vec4\n"
9748   "    (parameters\n"
9749   "      (declare (in) sampler2D sampler)\n"
9750   "      (declare (in) vec4 coord)\n"
9751   "      (declare (in) float lod))\n"
9752   "    ()))\n"
9753   "(function texture3D\n"
9754   "  (signature vec4\n"
9755   "    (parameters\n"
9756   "      (declare (in) sampler3D sampler)\n"
9757   "      (declare (in) vec3 coord))\n"
9758   "    ()))\n"
9759   "(function texture3DProj\n"
9760   "  (signature vec4\n"
9761   "    (parameters\n"
9762   "      (declare (in) sampler3D sampler)\n"
9763   "      (declare (in) vec4 coord))\n"
9764   "    ()))\n"
9765   "(function texture3DLod\n"
9766   "  (signature vec4\n"
9767   "    (parameters\n"
9768   "      (declare (in) sampler3D sampler)\n"
9769   "      (declare (in) vec3 coord)\n"
9770   "      (declare (in) float lod))\n"
9771   "    ()))\n"
9772   "(function texture3DProjLod\n"
9773   "  (signature vec4\n"
9774   "    (parameters\n"
9775   "      (declare (in) sampler3D sampler)\n"
9776   "      (declare (in) vec4 coord)\n"
9777   "      (declare (in) float lod))\n"
9778   "    ()))\n"
9779   "(function textureCube\n"
9780   "  (signature vec4\n"
9781   "    (parameters\n"
9782   "      (declare (in) samplerCube sampler)\n"
9783   "      (declare (in) vec3 coord))\n"
9784   "    ()))\n"
9785   "(function textureCubeLod\n"
9786   "  (signature vec4\n"
9787   "    (parameters\n"
9788   "      (declare (in) samplerCube sampler)\n"
9789   "      (declare (in) vec3 coord)\n"
9790   "      (declare (in) float lod))\n"
9791   "    ()))\n"
9792   "(function shadow1D\n"
9793   "  (signature vec4\n"
9794   "    (parameters\n"
9795   "      (declare (in) sampler1DShadow sampler)\n"
9796   "      (declare (in) vec3 coord))\n"
9797   "    ()))\n"
9798   "(function shadow2D\n"
9799   "  (signature vec4\n"
9800   "    (parameters\n"
9801   "      (declare (in) sampler2DShadow sampler)\n"
9802   "      (declare (in) vec3 coord))\n"
9803   "    ()))\n"
9804   "(function shadow1DProj\n"
9805   "  (signature vec4\n"
9806   "    (parameters\n"
9807   "      (declare (in) sampler1DShadow sampler)\n"
9808   "      (declare (in) vec4 coord))\n"
9809   "    ()))\n"
9810   "(function shadow2DProj\n"
9811   "  (signature vec4\n"
9812   "    (parameters\n"
9813   "      (declare (in) sampler2DShadow sampler)\n"
9814   "      (declare (in) vec4 coord))\n"
9815   "    ()))\n"
9816   "(function shadow1DLod\n"
9817   "  (signature vec4\n"
9818   "    (parameters\n"
9819   "      (declare (in) sampler1DShadow sampler)\n"
9820   "      (declare (in) vec3 coord)\n"
9821   "      (declare (in) float lod))\n"
9822   "    ()))\n"
9823   "(function shadow2DLod\n"
9824   "  (signature vec4\n"
9825   "    (parameters\n"
9826   "      (declare (in) sampler2DShadow sampler)\n"
9827   "      (declare (in) vec3 coord)\n"
9828   "      (declare (in) float lod))\n"
9829   "    ()))\n"
9830   "(function shadow1DProjLod\n"
9831   "  (signature vec4\n"
9832   "    (parameters\n"
9833   "      (declare (in) sampler1DShadow sampler)\n"
9834   "      (declare (in) vec4 coord)\n"
9835   "      (declare (in) float lod))\n"
9836   "    ()))\n"
9837   "(function shadow2DProjLod\n"
9838   "  (signature vec4\n"
9839   "    (parameters\n"
9840   "      (declare (in) sampler2DShadow sampler)\n"
9841   "      (declare (in) vec4 coord)\n"
9842   "      (declare (in) float lod))\n"
9843   "    ()))\n"
9844   "(function noise1\n"
9845   "  (signature float\n"
9846   "    (parameters\n"
9847   "      (declare (in) float x))\n"
9848   "    ())\n"
9849   "  (signature float\n"
9850   "    (parameters\n"
9851   "      (declare (in) vec2 x))\n"
9852   "    ())\n"
9853   "  (signature float\n"
9854   "    (parameters\n"
9855   "      (declare (in) vec3 x))\n"
9856   "    ())\n"
9857   "  (signature float\n"
9858   "    (parameters\n"
9859   "      (declare (in) vec4 x))\n"
9860   "    ()))\n"
9861   "(function noise2\n"
9862   "  (signature vec2\n"
9863   "    (parameters\n"
9864   "      (declare (in) float x))\n"
9865   "    ())\n"
9866   "  (signature vec2\n"
9867   "    (parameters\n"
9868   "      (declare (in) vec2 x))\n"
9869   "    ())\n"
9870   "  (signature vec2\n"
9871   "    (parameters\n"
9872   "      (declare (in) vec3 x))\n"
9873   "    ())\n"
9874   "  (signature vec2\n"
9875   "    (parameters\n"
9876   "      (declare (in) vec4 x))\n"
9877   "    ()))\n"
9878   "(function noise3\n"
9879   "  (signature vec3\n"
9880   "    (parameters\n"
9881   "      (declare (in) float x))\n"
9882   "    ())\n"
9883   "  (signature vec3\n"
9884   "    (parameters\n"
9885   "      (declare (in) vec2 x))\n"
9886   "    ())\n"
9887   "  (signature vec3\n"
9888   "    (parameters\n"
9889   "      (declare (in) vec3 x))\n"
9890   "    ())\n"
9891   "  (signature vec3\n"
9892   "    (parameters\n"
9893   "      (declare (in) vec4 x))\n"
9894   "    ()))\n"
9895   "(function noise4\n"
9896   "  (signature vec4\n"
9897   "    (parameters\n"
9898   "      (declare (in) float x))\n"
9899   "    ())\n"
9900   "  (signature vec4\n"
9901   "    (parameters\n"
9902   "      (declare (in) vec2 x))\n"
9903   "    ())\n"
9904   "  (signature vec4\n"
9905   "    (parameters\n"
9906   "      (declare (in) vec3 x))\n"
9907   "    ())\n"
9908   "  (signature vec4\n"
9909   "    (parameters\n"
9910   "      (declare (in) vec4 x))\n"
9911   "    ())))"
9912;
9913static const char *functions_for_110_vert [] = {
9914   builtin_abs,
9915   builtin_acos,
9916   builtin_all,
9917   builtin_any,
9918   builtin_asin,
9919   builtin_atan,
9920   builtin_ceil,
9921   builtin_clamp,
9922   builtin_cos,
9923   builtin_cross,
9924   builtin_degrees,
9925   builtin_distance,
9926   builtin_dot,
9927   builtin_equal,
9928   builtin_exp,
9929   builtin_exp2,
9930   builtin_faceforward,
9931   builtin_floor,
9932   builtin_fract,
9933   builtin_ftransform,
9934   builtin_greaterThan,
9935   builtin_greaterThanEqual,
9936   builtin_inversesqrt,
9937   builtin_length,
9938   builtin_lessThan,
9939   builtin_lessThanEqual,
9940   builtin_log,
9941   builtin_log2,
9942   builtin_matrixCompMult,
9943   builtin_max,
9944   builtin_min,
9945   builtin_mix,
9946   builtin_mod,
9947   builtin_noise1,
9948   builtin_noise2,
9949   builtin_noise3,
9950   builtin_noise4,
9951   builtin_normalize,
9952   builtin_not,
9953   builtin_notEqual,
9954   builtin_pow,
9955   builtin_radians,
9956   builtin_reflect,
9957   builtin_refract,
9958   builtin_shadow1D,
9959   builtin_shadow1DLod,
9960   builtin_shadow1DProj,
9961   builtin_shadow1DProjLod,
9962   builtin_shadow2D,
9963   builtin_shadow2DLod,
9964   builtin_shadow2DProj,
9965   builtin_shadow2DProjLod,
9966   builtin_sign,
9967   builtin_sin,
9968   builtin_smoothstep,
9969   builtin_sqrt,
9970   builtin_step,
9971   builtin_tan,
9972   builtin_texture1D,
9973   builtin_texture1DLod,
9974   builtin_texture1DProj,
9975   builtin_texture1DProjLod,
9976   builtin_texture2D,
9977   builtin_texture2DLod,
9978   builtin_texture2DProj,
9979   builtin_texture2DProjLod,
9980   builtin_texture3D,
9981   builtin_texture3DLod,
9982   builtin_texture3DProj,
9983   builtin_texture3DProjLod,
9984   builtin_textureCube,
9985   builtin_textureCubeLod,
9986};
9987static const char prototypes_for_120_frag[] =
9988   "(\n"
9989   "(function radians\n"
9990   "  (signature float\n"
9991   "    (parameters\n"
9992   "      (declare (in) float degrees))\n"
9993   "    ())\n"
9994   "  (signature vec2\n"
9995   "    (parameters\n"
9996   "      (declare (in) vec2 degrees))\n"
9997   "    ())\n"
9998   "  (signature vec3\n"
9999   "    (parameters\n"
10000   "      (declare (in) vec3 degrees))\n"
10001   "    ())\n"
10002   "  (signature vec4\n"
10003   "    (parameters\n"
10004   "      (declare (in) vec4 degrees))\n"
10005   "    ()))\n"
10006   "(function degrees\n"
10007   "  (signature float\n"
10008   "    (parameters\n"
10009   "      (declare (in) float radians))\n"
10010   "    ())\n"
10011   "  (signature vec2\n"
10012   "    (parameters\n"
10013   "      (declare (in) vec2 radians))\n"
10014   "    ())\n"
10015   "  (signature vec3\n"
10016   "    (parameters\n"
10017   "      (declare (in) vec3 radians))\n"
10018   "    ())\n"
10019   "  (signature vec4\n"
10020   "    (parameters\n"
10021   "      (declare (in) vec4 radians))\n"
10022   "    ()))\n"
10023   "(function sin\n"
10024   "  (signature float\n"
10025   "    (parameters\n"
10026   "      (declare (in) float angle))\n"
10027   "    ())\n"
10028   "  (signature vec2\n"
10029   "    (parameters\n"
10030   "      (declare (in) vec2 angle))\n"
10031   "    ())\n"
10032   "  (signature vec3\n"
10033   "    (parameters\n"
10034   "      (declare (in) vec3 angle))\n"
10035   "    ())\n"
10036   "  (signature vec4\n"
10037   "    (parameters\n"
10038   "      (declare (in) vec4 angle))\n"
10039   "    ()))\n"
10040   "(function cos\n"
10041   "  (signature float\n"
10042   "    (parameters\n"
10043   "      (declare (in) float angle))\n"
10044   "    ())\n"
10045   "  (signature vec2\n"
10046   "    (parameters\n"
10047   "      (declare (in) vec2 angle))\n"
10048   "    ())\n"
10049   "  (signature vec3\n"
10050   "    (parameters\n"
10051   "      (declare (in) vec3 angle))\n"
10052   "    ())\n"
10053   "  (signature vec4\n"
10054   "    (parameters\n"
10055   "      (declare (in) vec4 angle))\n"
10056   "    ()))\n"
10057   "(function tan\n"
10058   "  (signature float\n"
10059   "    (parameters\n"
10060   "      (declare (in) float angle))\n"
10061   "    ())\n"
10062   "  (signature vec2\n"
10063   "    (parameters\n"
10064   "      (declare (in) vec2 angle))\n"
10065   "    ())\n"
10066   "  (signature vec3\n"
10067   "    (parameters\n"
10068   "      (declare (in) vec3 angle))\n"
10069   "    ())\n"
10070   "  (signature vec4\n"
10071   "    (parameters\n"
10072   "      (declare (in) vec4 angle))\n"
10073   "    ()))\n"
10074   "(function asin\n"
10075   "  (signature float\n"
10076   "    (parameters\n"
10077   "      (declare (in) float angle))\n"
10078   "    ())\n"
10079   "  (signature vec2\n"
10080   "    (parameters\n"
10081   "      (declare (in) vec2 angle))\n"
10082   "    ())\n"
10083   "  (signature vec3\n"
10084   "    (parameters\n"
10085   "      (declare (in) vec3 angle))\n"
10086   "    ())\n"
10087   "  (signature vec4\n"
10088   "    (parameters\n"
10089   "      (declare (in) vec4 angle))\n"
10090   "    ()))\n"
10091   "(function acos\n"
10092   "  (signature float\n"
10093   "    (parameters\n"
10094   "      (declare (in) float angle))\n"
10095   "    ())\n"
10096   "  (signature vec2\n"
10097   "    (parameters\n"
10098   "      (declare (in) vec2 angle))\n"
10099   "    ())\n"
10100   "  (signature vec3\n"
10101   "    (parameters\n"
10102   "      (declare (in) vec3 angle))\n"
10103   "    ())\n"
10104   "  (signature vec4\n"
10105   "    (parameters\n"
10106   "      (declare (in) vec4 angle))\n"
10107   "    ()))\n"
10108   "(function atan\n"
10109   "  (signature float\n"
10110   "    (parameters\n"
10111   "      (declare (in) float y)\n"
10112   "      (declare (in) float x))\n"
10113   "    ())\n"
10114   "  (signature vec2\n"
10115   "    (parameters\n"
10116   "      (declare (in) vec2 y)\n"
10117   "      (declare (in) vec2 x))\n"
10118   "    ())\n"
10119   "  (signature vec3\n"
10120   "    (parameters\n"
10121   "      (declare (in) vec3 y)\n"
10122   "      (declare (in) vec3 x))\n"
10123   "    ())\n"
10124   "  (signature vec4\n"
10125   "    (parameters\n"
10126   "      (declare (in) vec4 y)\n"
10127   "      (declare (in) vec4 x))\n"
10128   "    ())\n"
10129   "  (signature float\n"
10130   "    (parameters\n"
10131   "      (declare (in) float y_over_x))\n"
10132   "    ())\n"
10133   "  (signature vec2\n"
10134   "    (parameters\n"
10135   "      (declare (in) vec2 y_over_x))\n"
10136   "    ())\n"
10137   "  (signature vec3\n"
10138   "    (parameters\n"
10139   "      (declare (in) vec3 y_over_x))\n"
10140   "    ())\n"
10141   "  (signature vec4\n"
10142   "    (parameters\n"
10143   "      (declare (in) vec4 y_over_x))\n"
10144   "    ()))\n"
10145   "(function pow\n"
10146   "  (signature float\n"
10147   "    (parameters\n"
10148   "      (declare (in) float x)\n"
10149   "      (declare (in) float y))\n"
10150   "    ())\n"
10151   "  (signature vec2\n"
10152   "    (parameters\n"
10153   "      (declare (in) vec2 x)\n"
10154   "      (declare (in) vec2 y))\n"
10155   "    ())\n"
10156   "  (signature vec3\n"
10157   "    (parameters\n"
10158   "      (declare (in) vec3 x)\n"
10159   "      (declare (in) vec3 y))\n"
10160   "    ())\n"
10161   "  (signature vec4\n"
10162   "    (parameters\n"
10163   "      (declare (in) vec4 x)\n"
10164   "      (declare (in) vec4 y))\n"
10165   "    ()))\n"
10166   "(function exp\n"
10167   "  (signature float\n"
10168   "    (parameters\n"
10169   "      (declare (in) float x))\n"
10170   "    ())\n"
10171   "  (signature vec2\n"
10172   "    (parameters\n"
10173   "      (declare (in) vec2 x))\n"
10174   "    ())\n"
10175   "  (signature vec3\n"
10176   "    (parameters\n"
10177   "      (declare (in) vec3 x))\n"
10178   "    ())\n"
10179   "  (signature vec4\n"
10180   "    (parameters\n"
10181   "      (declare (in) vec4 x))\n"
10182   "    ()))\n"
10183   "(function log\n"
10184   "  (signature float\n"
10185   "    (parameters\n"
10186   "      (declare (in) float x))\n"
10187   "    ())\n"
10188   "  (signature vec2\n"
10189   "    (parameters\n"
10190   "      (declare (in) vec2 x))\n"
10191   "    ())\n"
10192   "  (signature vec3\n"
10193   "    (parameters\n"
10194   "      (declare (in) vec3 x))\n"
10195   "    ())\n"
10196   "  (signature vec4\n"
10197   "    (parameters\n"
10198   "      (declare (in) vec4 x))\n"
10199   "    ()))\n"
10200   "(function exp2\n"
10201   "  (signature float\n"
10202   "    (parameters\n"
10203   "      (declare (in) float x))\n"
10204   "    ())\n"
10205   "  (signature vec2\n"
10206   "    (parameters\n"
10207   "      (declare (in) vec2 x))\n"
10208   "    ())\n"
10209   "  (signature vec3\n"
10210   "    (parameters\n"
10211   "      (declare (in) vec3 x))\n"
10212   "    ())\n"
10213   "  (signature vec4\n"
10214   "    (parameters\n"
10215   "      (declare (in) vec4 x))\n"
10216   "    ()))\n"
10217   "(function log2\n"
10218   "  (signature float\n"
10219   "    (parameters\n"
10220   "      (declare (in) float x))\n"
10221   "    ())\n"
10222   "  (signature vec2\n"
10223   "    (parameters\n"
10224   "      (declare (in) vec2 x))\n"
10225   "    ())\n"
10226   "  (signature vec3\n"
10227   "    (parameters\n"
10228   "      (declare (in) vec3 x))\n"
10229   "    ())\n"
10230   "  (signature vec4\n"
10231   "    (parameters\n"
10232   "      (declare (in) vec4 x))\n"
10233   "    ()))\n"
10234   "(function sqrt\n"
10235   "  (signature float\n"
10236   "    (parameters\n"
10237   "      (declare (in) float x))\n"
10238   "    ())\n"
10239   "  (signature vec2\n"
10240   "    (parameters\n"
10241   "      (declare (in) vec2 x))\n"
10242   "    ())\n"
10243   "  (signature vec3\n"
10244   "    (parameters\n"
10245   "      (declare (in) vec3 x))\n"
10246   "    ())\n"
10247   "  (signature vec4\n"
10248   "    (parameters\n"
10249   "      (declare (in) vec4 x))\n"
10250   "    ()))\n"
10251   "(function inversesqrt\n"
10252   "  (signature float\n"
10253   "    (parameters\n"
10254   "      (declare (in) float x))\n"
10255   "    ())\n"
10256   "  (signature vec2\n"
10257   "    (parameters\n"
10258   "      (declare (in) vec2 x))\n"
10259   "    ())\n"
10260   "  (signature vec3\n"
10261   "    (parameters\n"
10262   "      (declare (in) vec3 x))\n"
10263   "    ())\n"
10264   "  (signature vec4\n"
10265   "    (parameters\n"
10266   "      (declare (in) vec4 x))\n"
10267   "    ()))\n"
10268   "(function abs\n"
10269   "  (signature float\n"
10270   "    (parameters\n"
10271   "      (declare (in) float x))\n"
10272   "    ())\n"
10273   "  (signature vec2\n"
10274   "    (parameters\n"
10275   "      (declare (in) vec2 x))\n"
10276   "    ())\n"
10277   "  (signature vec3\n"
10278   "    (parameters\n"
10279   "      (declare (in) vec3 x))\n"
10280   "    ())\n"
10281   "  (signature vec4\n"
10282   "    (parameters\n"
10283   "      (declare (in) vec4 x))\n"
10284   "    ()))\n"
10285   "(function sign\n"
10286   "  (signature float\n"
10287   "    (parameters\n"
10288   "      (declare (in) float x))\n"
10289   "    ())\n"
10290   "  (signature vec2\n"
10291   "    (parameters\n"
10292   "      (declare (in) vec2 x))\n"
10293   "    ())\n"
10294   "  (signature vec3\n"
10295   "    (parameters\n"
10296   "      (declare (in) vec3 x))\n"
10297   "    ())\n"
10298   "  (signature vec4\n"
10299   "    (parameters\n"
10300   "      (declare (in) vec4 x))\n"
10301   "    ()))\n"
10302   "(function floor\n"
10303   "  (signature float\n"
10304   "    (parameters\n"
10305   "      (declare (in) float x))\n"
10306   "    ())\n"
10307   "  (signature vec2\n"
10308   "    (parameters\n"
10309   "      (declare (in) vec2 x))\n"
10310   "    ())\n"
10311   "  (signature vec3\n"
10312   "    (parameters\n"
10313   "      (declare (in) vec3 x))\n"
10314   "    ())\n"
10315   "  (signature vec4\n"
10316   "    (parameters\n"
10317   "      (declare (in) vec4 x))\n"
10318   "    ()))\n"
10319   "(function ceil\n"
10320   "  (signature float\n"
10321   "    (parameters\n"
10322   "      (declare (in) float x))\n"
10323   "    ())\n"
10324   "  (signature vec2\n"
10325   "    (parameters\n"
10326   "      (declare (in) vec2 x))\n"
10327   "    ())\n"
10328   "  (signature vec3\n"
10329   "    (parameters\n"
10330   "      (declare (in) vec3 x))\n"
10331   "    ())\n"
10332   "  (signature vec4\n"
10333   "    (parameters\n"
10334   "      (declare (in) vec4 x))\n"
10335   "    ()))\n"
10336   "(function fract\n"
10337   "  (signature float\n"
10338   "    (parameters\n"
10339   "      (declare (in) float x))\n"
10340   "    ())\n"
10341   "  (signature vec2\n"
10342   "    (parameters\n"
10343   "      (declare (in) vec2 x))\n"
10344   "    ())\n"
10345   "  (signature vec3\n"
10346   "    (parameters\n"
10347   "      (declare (in) vec3 x))\n"
10348   "    ())\n"
10349   "  (signature vec4\n"
10350   "    (parameters\n"
10351   "      (declare (in) vec4 x))\n"
10352   "    ()))\n"
10353   "(function mod\n"
10354   "  (signature float\n"
10355   "    (parameters\n"
10356   "      (declare (in) float x)\n"
10357   "      (declare (in) float y))\n"
10358   "    ())\n"
10359   "  (signature vec2\n"
10360   "    (parameters\n"
10361   "      (declare (in) vec2 x)\n"
10362   "      (declare (in) float y))\n"
10363   "    ())\n"
10364   "  (signature vec3\n"
10365   "    (parameters\n"
10366   "      (declare (in) vec3 x)\n"
10367   "      (declare (in) float y))\n"
10368   "    ())\n"
10369   "  (signature vec4\n"
10370   "    (parameters\n"
10371   "      (declare (in) vec4 x)\n"
10372   "      (declare (in) float y))\n"
10373   "    ())\n"
10374   "  (signature vec2\n"
10375   "    (parameters\n"
10376   "      (declare (in) vec2 x)\n"
10377   "      (declare (in) vec2 y))\n"
10378   "    ())\n"
10379   "  (signature vec3\n"
10380   "    (parameters\n"
10381   "      (declare (in) vec3 x)\n"
10382   "      (declare (in) vec3 y))\n"
10383   "    ())\n"
10384   "  (signature vec4\n"
10385   "    (parameters\n"
10386   "      (declare (in) vec4 x)\n"
10387   "      (declare (in) vec4 y))\n"
10388   "    ()))\n"
10389   "(function min\n"
10390   "  (signature float\n"
10391   "    (parameters\n"
10392   "      (declare (in) float x)\n"
10393   "      (declare (in) float y))\n"
10394   "    ())\n"
10395   "  (signature vec2\n"
10396   "    (parameters\n"
10397   "      (declare (in) vec2 x)\n"
10398   "      (declare (in) vec2 y))\n"
10399   "    ())\n"
10400   "  (signature vec3\n"
10401   "    (parameters\n"
10402   "      (declare (in) vec3 x)\n"
10403   "      (declare (in) vec3 y))\n"
10404   "    ())\n"
10405   "  (signature vec4\n"
10406   "    (parameters\n"
10407   "      (declare (in) vec4 x)\n"
10408   "      (declare (in) vec4 y))\n"
10409   "    ())\n"
10410   "  (signature vec2\n"
10411   "    (parameters\n"
10412   "      (declare (in) vec2 x)\n"
10413   "      (declare (in) float y))\n"
10414   "    ())\n"
10415   "  (signature vec3\n"
10416   "    (parameters\n"
10417   "      (declare (in) vec3 x)\n"
10418   "      (declare (in) float y))\n"
10419   "    ())\n"
10420   "  (signature vec4\n"
10421   "    (parameters\n"
10422   "      (declare (in) vec4 x)\n"
10423   "      (declare (in) float y))\n"
10424   "    ()))\n"
10425   "(function max\n"
10426   "  (signature float\n"
10427   "    (parameters\n"
10428   "      (declare (in) float x)\n"
10429   "      (declare (in) float y))\n"
10430   "    ())\n"
10431   "  (signature vec2\n"
10432   "    (parameters\n"
10433   "      (declare (in) vec2 x)\n"
10434   "      (declare (in) vec2 y))\n"
10435   "    ())\n"
10436   "  (signature vec3\n"
10437   "    (parameters\n"
10438   "      (declare (in) vec3 x)\n"
10439   "      (declare (in) vec3 y))\n"
10440   "    ())\n"
10441   "  (signature vec4\n"
10442   "    (parameters\n"
10443   "      (declare (in) vec4 x)\n"
10444   "      (declare (in) vec4 y))\n"
10445   "    ())\n"
10446   "  (signature vec2\n"
10447   "    (parameters\n"
10448   "      (declare (in) vec2 x)\n"
10449   "      (declare (in) float y))\n"
10450   "    ())\n"
10451   "  (signature vec3\n"
10452   "    (parameters\n"
10453   "      (declare (in) vec3 x)\n"
10454   "      (declare (in) float y))\n"
10455   "    ())\n"
10456   "  (signature vec4\n"
10457   "    (parameters\n"
10458   "      (declare (in) vec4 x)\n"
10459   "      (declare (in) float y))\n"
10460   "    ()))\n"
10461   "(function clamp\n"
10462   "  (signature float\n"
10463   "    (parameters\n"
10464   "      (declare (in) float x)\n"
10465   "      (declare (in) float minVal)\n"
10466   "      (declare (in) float maxVal))\n"
10467   "    ())\n"
10468   "  (signature vec2\n"
10469   "    (parameters\n"
10470   "      (declare (in) vec2 x)\n"
10471   "      (declare (in) vec2 minVal)\n"
10472   "      (declare (in) vec2 maxVal))\n"
10473   "    ())\n"
10474   "  (signature vec3\n"
10475   "    (parameters\n"
10476   "      (declare (in) vec3 x)\n"
10477   "      (declare (in) vec3 minVal)\n"
10478   "      (declare (in) vec3 maxVal))\n"
10479   "    ())\n"
10480   "  (signature vec4\n"
10481   "    (parameters\n"
10482   "      (declare (in) vec4 x)\n"
10483   "      (declare (in) vec4 minVal)\n"
10484   "      (declare (in) vec4 maxVal))\n"
10485   "    ())\n"
10486   "  (signature vec2\n"
10487   "    (parameters\n"
10488   "      (declare (in) vec2 x)\n"
10489   "      (declare (in) float minVal)\n"
10490   "      (declare (in) float maxVal))\n"
10491   "    ())\n"
10492   "  (signature vec3\n"
10493   "    (parameters\n"
10494   "      (declare (in) vec3 x)\n"
10495   "      (declare (in) float minVal)\n"
10496   "      (declare (in) float maxVal))\n"
10497   "    ())\n"
10498   "  (signature vec4\n"
10499   "    (parameters\n"
10500   "      (declare (in) vec4 x)\n"
10501   "      (declare (in) float minVal)\n"
10502   "      (declare (in) float maxVal))\n"
10503   "    ()))\n"
10504   "(function mix\n"
10505   "  (signature float\n"
10506   "    (parameters\n"
10507   "      (declare (in) float x)\n"
10508   "      (declare (in) float y)\n"
10509   "      (declare (in) float a))\n"
10510   "    ())\n"
10511   "  (signature vec2\n"
10512   "    (parameters\n"
10513   "      (declare (in) vec2 x)\n"
10514   "      (declare (in) vec2 y)\n"
10515   "      (declare (in) vec2 a))\n"
10516   "    ())\n"
10517   "  (signature vec3\n"
10518   "    (parameters\n"
10519   "      (declare (in) vec3 x)\n"
10520   "      (declare (in) vec3 y)\n"
10521   "      (declare (in) vec3 a))\n"
10522   "    ())\n"
10523   "  (signature vec4\n"
10524   "    (parameters\n"
10525   "      (declare (in) vec4 x)\n"
10526   "      (declare (in) vec4 y)\n"
10527   "      (declare (in) vec4 a))\n"
10528   "    ())\n"
10529   "  (signature vec2\n"
10530   "    (parameters\n"
10531   "      (declare (in) vec2 x)\n"
10532   "      (declare (in) vec2 y)\n"
10533   "      (declare (in) float a))\n"
10534   "    ())\n"
10535   "  (signature vec3\n"
10536   "    (parameters\n"
10537   "      (declare (in) vec3 x)\n"
10538   "      (declare (in) vec3 y)\n"
10539   "      (declare (in) float a))\n"
10540   "    ())\n"
10541   "  (signature vec4\n"
10542   "    (parameters\n"
10543   "      (declare (in) vec4 x)\n"
10544   "      (declare (in) vec4 y)\n"
10545   "      (declare (in) float a))\n"
10546   "    ()))\n"
10547   "(function step\n"
10548   "  (signature float\n"
10549   "    (parameters\n"
10550   "      (declare (in) float edge)\n"
10551   "      (declare (in) float x))\n"
10552   "    ())\n"
10553   "  (signature vec2\n"
10554   "    (parameters\n"
10555   "      (declare (in) vec2 edge)\n"
10556   "      (declare (in) vec2 x))\n"
10557   "    ())\n"
10558   "  (signature vec3\n"
10559   "    (parameters\n"
10560   "      (declare (in) vec3 edge)\n"
10561   "      (declare (in) vec3 x))\n"
10562   "    ())\n"
10563   "  (signature vec4\n"
10564   "    (parameters\n"
10565   "      (declare (in) vec4 edge)\n"
10566   "      (declare (in) vec4 x))\n"
10567   "    ())\n"
10568   "  (signature vec2\n"
10569   "    (parameters\n"
10570   "      (declare (in) float edge)\n"
10571   "      (declare (in) vec2 x))\n"
10572   "    ())\n"
10573   "  (signature vec3\n"
10574   "    (parameters\n"
10575   "      (declare (in) float edge)\n"
10576   "      (declare (in) vec3 x))\n"
10577   "    ())\n"
10578   "  (signature vec4\n"
10579   "    (parameters\n"
10580   "      (declare (in) float edge)\n"
10581   "      (declare (in) vec4 x))\n"
10582   "    ()))\n"
10583   "(function smoothstep\n"
10584   "  (signature float\n"
10585   "    (parameters\n"
10586   "      (declare (in) float edge0)\n"
10587   "      (declare (in) float edge1)\n"
10588   "      (declare (in) float x))\n"
10589   "    ())\n"
10590   "  (signature vec2\n"
10591   "    (parameters\n"
10592   "      (declare (in) vec2 edge0)\n"
10593   "      (declare (in) vec2 edge1)\n"
10594   "      (declare (in) vec2 x))\n"
10595   "    ())\n"
10596   "  (signature vec3\n"
10597   "    (parameters\n"
10598   "      (declare (in) vec3 edge0)\n"
10599   "      (declare (in) vec3 edge1)\n"
10600   "      (declare (in) vec3 x))\n"
10601   "    ())\n"
10602   "  (signature vec4\n"
10603   "    (parameters\n"
10604   "      (declare (in) vec4 edge0)\n"
10605   "      (declare (in) vec4 edge1)\n"
10606   "      (declare (in) vec4 x))\n"
10607   "    ())\n"
10608   "  (signature vec2\n"
10609   "    (parameters\n"
10610   "      (declare (in) float edge0)\n"
10611   "      (declare (in) float edge1)\n"
10612   "      (declare (in) vec2 x))\n"
10613   "    ())\n"
10614   "  (signature vec3\n"
10615   "    (parameters\n"
10616   "      (declare (in) float edge0)\n"
10617   "      (declare (in) float edge1)\n"
10618   "      (declare (in) vec3 x))\n"
10619   "    ())\n"
10620   "  (signature vec4\n"
10621   "    (parameters\n"
10622   "      (declare (in) float edge0)\n"
10623   "      (declare (in) float edge1)\n"
10624   "      (declare (in) vec4 x))\n"
10625   "    ()))\n"
10626   "(function length\n"
10627   "  (signature float\n"
10628   "    (parameters\n"
10629   "      (declare (in) float x))\n"
10630   "    ())\n"
10631   "  (signature float\n"
10632   "    (parameters\n"
10633   "      (declare (in) vec2 x))\n"
10634   "    ())\n"
10635   "  (signature float\n"
10636   "    (parameters\n"
10637   "      (declare (in) vec3 x))\n"
10638   "    ())\n"
10639   "  (signature float\n"
10640   "    (parameters\n"
10641   "      (declare (in) vec4 x))\n"
10642   "    ()))\n"
10643   "(function distance\n"
10644   "  (signature float\n"
10645   "    (parameters\n"
10646   "      (declare (in) float p0)\n"
10647   "      (declare (in) float p1))\n"
10648   "    ())\n"
10649   "  (signature float\n"
10650   "    (parameters\n"
10651   "      (declare (in) vec2 p0)\n"
10652   "      (declare (in) vec2 p1))\n"
10653   "    ())\n"
10654   "  (signature float\n"
10655   "    (parameters\n"
10656   "      (declare (in) vec3 p0)\n"
10657   "      (declare (in) vec3 p1))\n"
10658   "    ())\n"
10659   "  (signature float\n"
10660   "    (parameters\n"
10661   "      (declare (in) vec4 p0)\n"
10662   "      (declare (in) vec4 p1))\n"
10663   "    ()))\n"
10664   "(function dot\n"
10665   "  (signature float\n"
10666   "    (parameters\n"
10667   "      (declare (in) float x)\n"
10668   "      (declare (in) float y))\n"
10669   "    ())\n"
10670   "  (signature float\n"
10671   "    (parameters\n"
10672   "      (declare (in) vec2 x)\n"
10673   "      (declare (in) vec2 y))\n"
10674   "    ())\n"
10675   "  (signature float\n"
10676   "    (parameters\n"
10677   "      (declare (in) vec3 x)\n"
10678   "      (declare (in) vec3 y))\n"
10679   "    ())\n"
10680   "  (signature float\n"
10681   "    (parameters\n"
10682   "      (declare (in) vec4 x)\n"
10683   "      (declare (in) vec4 y))\n"
10684   "    ()))\n"
10685   "(function cross\n"
10686   "  (signature vec3\n"
10687   "    (parameters\n"
10688   "      (declare (in) vec3 x)\n"
10689   "      (declare (in) vec3 y))\n"
10690   "    ()))\n"
10691   "(function normalize\n"
10692   "  (signature float\n"
10693   "    (parameters\n"
10694   "      (declare (in) float x))\n"
10695   "    ())\n"
10696   "  (signature vec2\n"
10697   "    (parameters\n"
10698   "      (declare (in) vec2 x))\n"
10699   "    ())\n"
10700   "  (signature vec3\n"
10701   "    (parameters\n"
10702   "      (declare (in) vec3 x))\n"
10703   "    ())\n"
10704   "  (signature vec4\n"
10705   "    (parameters\n"
10706   "      (declare (in) vec4 x))\n"
10707   "    ()))\n"
10708   "(function faceforward\n"
10709   "  (signature float\n"
10710   "    (parameters\n"
10711   "      (declare (in) float N)\n"
10712   "      (declare (in) float I)\n"
10713   "      (declare (in) float Nref))\n"
10714   "    ())\n"
10715   "  (signature vec2\n"
10716   "    (parameters\n"
10717   "      (declare (in) vec2 N)\n"
10718   "      (declare (in) vec2 I)\n"
10719   "      (declare (in) vec2 Nref))\n"
10720   "    ())\n"
10721   "  (signature vec3\n"
10722   "    (parameters\n"
10723   "      (declare (in) vec3 N)\n"
10724   "      (declare (in) vec3 I)\n"
10725   "      (declare (in) vec3 Nref))\n"
10726   "    ())\n"
10727   "  (signature vec4\n"
10728   "    (parameters\n"
10729   "      (declare (in) vec4 N)\n"
10730   "      (declare (in) vec4 I)\n"
10731   "      (declare (in) vec4 Nref))\n"
10732   "    ()))\n"
10733   "(function reflect\n"
10734   "  (signature float\n"
10735   "    (parameters\n"
10736   "      (declare (in) float I)\n"
10737   "      (declare (in) float N))\n"
10738   "    ())\n"
10739   "  (signature vec2\n"
10740   "    (parameters\n"
10741   "      (declare (in) vec2 I)\n"
10742   "      (declare (in) vec2 N))\n"
10743   "    ())\n"
10744   "  (signature vec3\n"
10745   "    (parameters\n"
10746   "      (declare (in) vec3 I)\n"
10747   "      (declare (in) vec3 N))\n"
10748   "    ())\n"
10749   "  (signature vec4\n"
10750   "    (parameters\n"
10751   "      (declare (in) vec4 I)\n"
10752   "      (declare (in) vec4 N))\n"
10753   "    ()))\n"
10754   "(function refract\n"
10755   "  (signature float\n"
10756   "    (parameters\n"
10757   "      (declare (in) float I)\n"
10758   "      (declare (in) float N)\n"
10759   "      (declare (in) float eta))\n"
10760   "    ())\n"
10761   "  (signature vec2\n"
10762   "    (parameters\n"
10763   "      (declare (in) vec2 I)\n"
10764   "      (declare (in) vec2 N)\n"
10765   "      (declare (in) float eta))\n"
10766   "    ())\n"
10767   "  (signature vec3\n"
10768   "    (parameters\n"
10769   "      (declare (in) vec3 I)\n"
10770   "      (declare (in) vec3 N)\n"
10771   "      (declare (in) float eta))\n"
10772   "    ())\n"
10773   "  (signature vec4\n"
10774   "    (parameters\n"
10775   "      (declare (in) vec4 I)\n"
10776   "      (declare (in) vec4 N)\n"
10777   "      (declare (in) float eta))\n"
10778   "    ()))\n"
10779   "(function matrixCompMult\n"
10780   "  (signature mat2\n"
10781   "    (parameters\n"
10782   "      (declare (in) mat2 x)\n"
10783   "      (declare (in) mat2 y))\n"
10784   "    ())\n"
10785   "  (signature mat3\n"
10786   "    (parameters\n"
10787   "      (declare (in) mat3 x)\n"
10788   "      (declare (in) mat3 y))\n"
10789   "    ())\n"
10790   "  (signature mat4\n"
10791   "    (parameters\n"
10792   "      (declare (in) mat4 x)\n"
10793   "      (declare (in) mat4 y))\n"
10794   "    ())\n"
10795   "  (signature mat2x3\n"
10796   "    (parameters\n"
10797   "      (declare (in) mat2x3 x)\n"
10798   "      (declare (in) mat2x3 y))\n"
10799   "    ())\n"
10800   "  (signature mat2x4\n"
10801   "    (parameters\n"
10802   "      (declare (in) mat2x4 x)\n"
10803   "      (declare (in) mat2x4 y))\n"
10804   "    ())\n"
10805   "  (signature mat3x2\n"
10806   "    (parameters\n"
10807   "      (declare (in) mat3x2 x)\n"
10808   "      (declare (in) mat3x2 y))\n"
10809   "    ())\n"
10810   "  (signature mat3x4\n"
10811   "    (parameters\n"
10812   "      (declare (in) mat3x4 x)\n"
10813   "      (declare (in) mat3x4 y))\n"
10814   "    ())\n"
10815   "  (signature mat4x2\n"
10816   "    (parameters\n"
10817   "      (declare (in) mat4x2 x)\n"
10818   "      (declare (in) mat4x2 y))\n"
10819   "    ())\n"
10820   "  (signature mat4x3\n"
10821   "    (parameters\n"
10822   "      (declare (in) mat4x3 x)\n"
10823   "      (declare (in) mat4x3 y))\n"
10824   "    ()))\n"
10825   "(function outerProduct\n"
10826   "  (signature mat2\n"
10827   "    (parameters\n"
10828   "      (declare (in) vec2 c)\n"
10829   "      (declare (in) vec2 r))\n"
10830   "    ())\n"
10831   "  (signature mat3\n"
10832   "    (parameters\n"
10833   "      (declare (in) vec3 c)\n"
10834   "      (declare (in) vec3 r))\n"
10835   "    ())\n"
10836   "  (signature mat4\n"
10837   "    (parameters\n"
10838   "      (declare (in) vec4 c)\n"
10839   "      (declare (in) vec4 r))\n"
10840   "    ())\n"
10841   "  (signature mat2x3\n"
10842   "    (parameters\n"
10843   "      (declare (in) vec3 c)\n"
10844   "      (declare (in) vec2 r))\n"
10845   "    ())\n"
10846   "  (signature mat3x2\n"
10847   "    (parameters\n"
10848   "      (declare (in) vec2 c)\n"
10849   "      (declare (in) vec3 r))\n"
10850   "    ())\n"
10851   "  (signature mat2x4\n"
10852   "    (parameters\n"
10853   "      (declare (in) vec4 c)\n"
10854   "      (declare (in) vec2 r))\n"
10855   "    ())\n"
10856   "  (signature mat4x2\n"
10857   "    (parameters\n"
10858   "      (declare (in) vec2 c)\n"
10859   "      (declare (in) vec4 r))\n"
10860   "    ())\n"
10861   "  (signature mat3x4\n"
10862   "    (parameters\n"
10863   "      (declare (in) vec4 c)\n"
10864   "      (declare (in) vec3 r))\n"
10865   "    ())\n"
10866   "  (signature mat4x3\n"
10867   "    (parameters\n"
10868   "      (declare (in) vec3 c)\n"
10869   "      (declare (in) vec4 r))\n"
10870   "    ()))\n"
10871   "(function transpose\n"
10872   "  (signature mat2\n"
10873   "    (parameters\n"
10874   "      (declare (in) mat2 m))\n"
10875   "    ())\n"
10876   "  (signature mat3\n"
10877   "    (parameters\n"
10878   "      (declare (in) mat3 m))\n"
10879   "    ())\n"
10880   "  (signature mat4\n"
10881   "    (parameters\n"
10882   "      (declare (in) mat4 m))\n"
10883   "    ())\n"
10884   "  (signature mat2x3\n"
10885   "    (parameters\n"
10886   "      (declare (in) mat3x2 m))\n"
10887   "    ())\n"
10888   "  (signature mat3x2\n"
10889   "    (parameters\n"
10890   "      (declare (in) mat2x3 m))\n"
10891   "    ())\n"
10892   "  (signature mat2x4\n"
10893   "    (parameters\n"
10894   "      (declare (in) mat4x2 m))\n"
10895   "    ())\n"
10896   "  (signature mat4x2\n"
10897   "    (parameters\n"
10898   "      (declare (in) mat2x4 m))\n"
10899   "    ())\n"
10900   "  (signature mat3x4\n"
10901   "    (parameters\n"
10902   "      (declare (in) mat4x3 m))\n"
10903   "    ())\n"
10904   "  (signature mat4x3\n"
10905   "    (parameters\n"
10906   "      (declare (in) mat3x4 m))\n"
10907   "    ()))\n"
10908   "(function lessThan\n"
10909   "  (signature bvec2\n"
10910   "    (parameters\n"
10911   "      (declare (in) vec2 x)\n"
10912   "      (declare (in) vec2 y))\n"
10913   "    ())\n"
10914   "  (signature bvec3\n"
10915   "    (parameters\n"
10916   "      (declare (in) vec3 x)\n"
10917   "      (declare (in) vec3 y))\n"
10918   "    ())\n"
10919   "  (signature bvec4\n"
10920   "    (parameters\n"
10921   "      (declare (in) vec4 x)\n"
10922   "      (declare (in) vec4 y))\n"
10923   "    ())\n"
10924   "  (signature bvec2\n"
10925   "    (parameters\n"
10926   "      (declare (in) ivec2 x)\n"
10927   "      (declare (in) ivec2 y))\n"
10928   "    ())\n"
10929   "  (signature bvec3\n"
10930   "    (parameters\n"
10931   "      (declare (in) ivec3 x)\n"
10932   "      (declare (in) ivec3 y))\n"
10933   "    ())\n"
10934   "  (signature bvec4\n"
10935   "    (parameters\n"
10936   "      (declare (in) ivec4 x)\n"
10937   "      (declare (in) ivec4 y))\n"
10938   "    ()))\n"
10939   "(function lessThanEqual\n"
10940   "  (signature bvec2\n"
10941   "    (parameters\n"
10942   "      (declare (in) vec2 x)\n"
10943   "      (declare (in) vec2 y))\n"
10944   "    ())\n"
10945   "  (signature bvec3\n"
10946   "    (parameters\n"
10947   "      (declare (in) vec3 x)\n"
10948   "      (declare (in) vec3 y))\n"
10949   "    ())\n"
10950   "  (signature bvec4\n"
10951   "    (parameters\n"
10952   "      (declare (in) vec4 x)\n"
10953   "      (declare (in) vec4 y))\n"
10954   "    ())\n"
10955   "  (signature bvec2\n"
10956   "    (parameters\n"
10957   "      (declare (in) ivec2 x)\n"
10958   "      (declare (in) ivec2 y))\n"
10959   "    ())\n"
10960   "  (signature bvec3\n"
10961   "    (parameters\n"
10962   "      (declare (in) ivec3 x)\n"
10963   "      (declare (in) ivec3 y))\n"
10964   "    ())\n"
10965   "  (signature bvec4\n"
10966   "    (parameters\n"
10967   "      (declare (in) ivec4 x)\n"
10968   "      (declare (in) ivec4 y))\n"
10969   "    ()))\n"
10970   "(function greaterThan\n"
10971   "  (signature bvec2\n"
10972   "    (parameters\n"
10973   "      (declare (in) vec2 x)\n"
10974   "      (declare (in) vec2 y))\n"
10975   "    ())\n"
10976   "  (signature bvec3\n"
10977   "    (parameters\n"
10978   "      (declare (in) vec3 x)\n"
10979   "      (declare (in) vec3 y))\n"
10980   "    ())\n"
10981   "  (signature bvec4\n"
10982   "    (parameters\n"
10983   "      (declare (in) vec4 x)\n"
10984   "      (declare (in) vec4 y))\n"
10985   "    ())\n"
10986   "  (signature bvec2\n"
10987   "    (parameters\n"
10988   "      (declare (in) ivec2 x)\n"
10989   "      (declare (in) ivec2 y))\n"
10990   "    ())\n"
10991   "  (signature bvec3\n"
10992   "    (parameters\n"
10993   "      (declare (in) ivec3 x)\n"
10994   "      (declare (in) ivec3 y))\n"
10995   "    ())\n"
10996   "  (signature bvec4\n"
10997   "    (parameters\n"
10998   "      (declare (in) ivec4 x)\n"
10999   "      (declare (in) ivec4 y))\n"
11000   "    ()))\n"
11001   "(function greaterThanEqual\n"
11002   "  (signature bvec2\n"
11003   "    (parameters\n"
11004   "      (declare (in) vec2 x)\n"
11005   "      (declare (in) vec2 y))\n"
11006   "    ())\n"
11007   "  (signature bvec3\n"
11008   "    (parameters\n"
11009   "      (declare (in) vec3 x)\n"
11010   "      (declare (in) vec3 y))\n"
11011   "    ())\n"
11012   "  (signature bvec4\n"
11013   "    (parameters\n"
11014   "      (declare (in) vec4 x)\n"
11015   "      (declare (in) vec4 y))\n"
11016   "    ())\n"
11017   "  (signature bvec2\n"
11018   "    (parameters\n"
11019   "      (declare (in) ivec2 x)\n"
11020   "      (declare (in) ivec2 y))\n"
11021   "    ())\n"
11022   "  (signature bvec3\n"
11023   "    (parameters\n"
11024   "      (declare (in) ivec3 x)\n"
11025   "      (declare (in) ivec3 y))\n"
11026   "    ())\n"
11027   "  (signature bvec4\n"
11028   "    (parameters\n"
11029   "      (declare (in) ivec4 x)\n"
11030   "      (declare (in) ivec4 y))\n"
11031   "    ()))\n"
11032   "(function equal\n"
11033   "  (signature bvec2\n"
11034   "    (parameters\n"
11035   "      (declare (in) vec2 x)\n"
11036   "      (declare (in) vec2 y))\n"
11037   "    ())\n"
11038   "  (signature bvec3\n"
11039   "    (parameters\n"
11040   "      (declare (in) vec3 x)\n"
11041   "      (declare (in) vec3 y))\n"
11042   "    ())\n"
11043   "  (signature bvec4\n"
11044   "    (parameters\n"
11045   "      (declare (in) vec4 x)\n"
11046   "      (declare (in) vec4 y))\n"
11047   "    ())\n"
11048   "  (signature bvec2\n"
11049   "    (parameters\n"
11050   "      (declare (in) ivec2 x)\n"
11051   "      (declare (in) ivec2 y))\n"
11052   "    ())\n"
11053   "  (signature bvec3\n"
11054   "    (parameters\n"
11055   "      (declare (in) ivec3 x)\n"
11056   "      (declare (in) ivec3 y))\n"
11057   "    ())\n"
11058   "  (signature bvec4\n"
11059   "    (parameters\n"
11060   "      (declare (in) ivec4 x)\n"
11061   "      (declare (in) ivec4 y))\n"
11062   "    ())\n"
11063   "  (signature bvec2\n"
11064   "    (parameters\n"
11065   "      (declare (in) bvec2 x)\n"
11066   "      (declare (in) bvec2 y))\n"
11067   "    ())\n"
11068   "  (signature bvec3\n"
11069   "    (parameters\n"
11070   "      (declare (in) bvec3 x)\n"
11071   "      (declare (in) bvec3 y))\n"
11072   "    ())\n"
11073   "  (signature bvec4\n"
11074   "    (parameters\n"
11075   "      (declare (in) bvec4 x)\n"
11076   "      (declare (in) bvec4 y))\n"
11077   "    ()))\n"
11078   "(function notEqual\n"
11079   "  (signature bvec2\n"
11080   "    (parameters\n"
11081   "      (declare (in) vec2 x)\n"
11082   "      (declare (in) vec2 y))\n"
11083   "    ())\n"
11084   "  (signature bvec3\n"
11085   "    (parameters\n"
11086   "      (declare (in) vec3 x)\n"
11087   "      (declare (in) vec3 y))\n"
11088   "    ())\n"
11089   "  (signature bvec4\n"
11090   "    (parameters\n"
11091   "      (declare (in) vec4 x)\n"
11092   "      (declare (in) vec4 y))\n"
11093   "    ())\n"
11094   "  (signature bvec2\n"
11095   "    (parameters\n"
11096   "      (declare (in) ivec2 x)\n"
11097   "      (declare (in) ivec2 y))\n"
11098   "    ())\n"
11099   "  (signature bvec3\n"
11100   "    (parameters\n"
11101   "      (declare (in) ivec3 x)\n"
11102   "      (declare (in) ivec3 y))\n"
11103   "    ())\n"
11104   "  (signature bvec4\n"
11105   "    (parameters\n"
11106   "      (declare (in) ivec4 x)\n"
11107   "      (declare (in) ivec4 y))\n"
11108   "    ())\n"
11109   "  (signature bvec2\n"
11110   "    (parameters\n"
11111   "      (declare (in) bvec2 x)\n"
11112   "      (declare (in) bvec2 y))\n"
11113   "    ())\n"
11114   "  (signature bvec3\n"
11115   "    (parameters\n"
11116   "      (declare (in) bvec3 x)\n"
11117   "      (declare (in) bvec3 y))\n"
11118   "    ())\n"
11119   "  (signature bvec4\n"
11120   "    (parameters\n"
11121   "      (declare (in) bvec4 x)\n"
11122   "      (declare (in) bvec4 y))\n"
11123   "    ()))\n"
11124   "(function any\n"
11125   "  (signature bool\n"
11126   "    (parameters\n"
11127   "      (declare (in) bvec2 x))\n"
11128   "    ())\n"
11129   "  (signature bool\n"
11130   "    (parameters\n"
11131   "      (declare (in) bvec3 x))\n"
11132   "    ())\n"
11133   "  (signature bool\n"
11134   "    (parameters\n"
11135   "      (declare (in) bvec4 x))\n"
11136   "    ()))\n"
11137   "(function all\n"
11138   "  (signature bool\n"
11139   "    (parameters\n"
11140   "      (declare (in) bvec2 x))\n"
11141   "    ())\n"
11142   "  (signature bool\n"
11143   "    (parameters\n"
11144   "      (declare (in) bvec3 x))\n"
11145   "    ())\n"
11146   "  (signature bool\n"
11147   "    (parameters\n"
11148   "      (declare (in) bvec4 x))\n"
11149   "    ()))\n"
11150   "(function not\n"
11151   "  (signature bvec2\n"
11152   "    (parameters\n"
11153   "      (declare (in) bvec2 x))\n"
11154   "    ())\n"
11155   "  (signature bvec3\n"
11156   "    (parameters\n"
11157   "      (declare (in) bvec3 x))\n"
11158   "    ())\n"
11159   "  (signature bvec4\n"
11160   "    (parameters\n"
11161   "      (declare (in) bvec4 x))\n"
11162   "    ()))\n"
11163   "(function texture1D\n"
11164   "  (signature vec4\n"
11165   "    (parameters\n"
11166   "      (declare (in) sampler1D sampler)\n"
11167   "      (declare (in) float coord))\n"
11168   "    ())\n"
11169   "  (signature vec4\n"
11170   "    (parameters\n"
11171   "      (declare (in) sampler1D sampler)\n"
11172   "      (declare (in) float coord)\n"
11173   "      (declare (in) float bias))\n"
11174   "    ()))\n"
11175   "(function texture1DProj\n"
11176   "  (signature vec4\n"
11177   "    (parameters\n"
11178   "      (declare (in) sampler1D sampler)\n"
11179   "      (declare (in) vec2 coord))\n"
11180   "    ())\n"
11181   "  (signature vec4\n"
11182   "    (parameters\n"
11183   "      (declare (in) sampler1D sampler)\n"
11184   "      (declare (in) vec4 coord))\n"
11185   "    ())\n"
11186   "  (signature vec4\n"
11187   "    (parameters\n"
11188   "      (declare (in) sampler1D sampler)\n"
11189   "      (declare (in) vec2 coord)\n"
11190   "      (declare (in) float bias))\n"
11191   "    ())\n"
11192   "  (signature vec4\n"
11193   "    (parameters\n"
11194   "      (declare (in) sampler1D sampler)\n"
11195   "      (declare (in) vec4 coord)\n"
11196   "      (declare (in) float bias))\n"
11197   "    ()))\n"
11198   "(function texture2D\n"
11199   "  (signature vec4\n"
11200   "    (parameters\n"
11201   "      (declare (in) sampler2D sampler)\n"
11202   "      (declare (in) vec2 coord))\n"
11203   "    ())\n"
11204   "  (signature vec4\n"
11205   "    (parameters\n"
11206   "      (declare (in) sampler2D sampler)\n"
11207   "      (declare (in) vec2 coord)\n"
11208   "      (declare (in) float bias))\n"
11209   "    ()))\n"
11210   "(function texture2DProj\n"
11211   "  (signature vec4\n"
11212   "    (parameters\n"
11213   "      (declare (in) sampler2D sampler)\n"
11214   "      (declare (in) vec3 coord))\n"
11215   "    ())\n"
11216   "  (signature vec4\n"
11217   "    (parameters\n"
11218   "      (declare (in) sampler2D sampler)\n"
11219   "      (declare (in) vec4 coord))\n"
11220   "    ())\n"
11221   "  (signature vec4\n"
11222   "    (parameters\n"
11223   "      (declare (in) sampler2D sampler)\n"
11224   "      (declare (in) vec3 coord)\n"
11225   "      (declare (in) float bias))\n"
11226   "    ())\n"
11227   "  (signature vec4\n"
11228   "    (parameters\n"
11229   "      (declare (in) sampler2D sampler)\n"
11230   "      (declare (in) vec4 coord)\n"
11231   "      (declare (in) float bias))\n"
11232   "    ()))\n"
11233   "(function texture3D\n"
11234   "  (signature vec4\n"
11235   "    (parameters\n"
11236   "      (declare (in) sampler3D sampler)\n"
11237   "      (declare (in) vec3 coord))\n"
11238   "    ())\n"
11239   "  (signature vec4\n"
11240   "    (parameters\n"
11241   "      (declare (in) sampler3D sampler)\n"
11242   "      (declare (in) vec3 coord)\n"
11243   "      (declare (in) float bias))\n"
11244   "    ()))\n"
11245   "(function texture3DProj\n"
11246   "  (signature vec4\n"
11247   "    (parameters\n"
11248   "      (declare (in) sampler3D sampler)\n"
11249   "      (declare (in) vec4 coord))\n"
11250   "    ())\n"
11251   "  (signature vec4\n"
11252   "    (parameters\n"
11253   "      (declare (in) sampler3D sampler)\n"
11254   "      (declare (in) vec4 coord)\n"
11255   "      (declare (in) float bias))\n"
11256   "    ()))\n"
11257   "(function textureCube\n"
11258   "  (signature vec4\n"
11259   "    (parameters\n"
11260   "      (declare (in) samplerCube sampler)\n"
11261   "      (declare (in) vec3 coord))\n"
11262   "    ())\n"
11263   "  (signature vec4\n"
11264   "    (parameters\n"
11265   "      (declare (in) samplerCube sampler)\n"
11266   "      (declare (in) vec3 coord)\n"
11267   "      (declare (in) float bias))\n"
11268   "    ()))\n"
11269   "(function shadow1D\n"
11270   "  (signature vec4\n"
11271   "    (parameters\n"
11272   "      (declare (in) sampler1DShadow sampler)\n"
11273   "      (declare (in) vec3 coord))\n"
11274   "    ())\n"
11275   "  (signature vec4\n"
11276   "    (parameters\n"
11277   "      (declare (in) sampler1DShadow sampler)\n"
11278   "      (declare (in) vec3 coord)\n"
11279   "      (declare (in) float bias))\n"
11280   "    ()))\n"
11281   "(function shadow2D\n"
11282   "  (signature vec4\n"
11283   "    (parameters\n"
11284   "      (declare (in) sampler2DShadow sampler)\n"
11285   "      (declare (in) vec3 coord))\n"
11286   "    ())\n"
11287   "  (signature vec4\n"
11288   "    (parameters\n"
11289   "      (declare (in) sampler2DShadow sampler)\n"
11290   "      (declare (in) vec3 coord)\n"
11291   "      (declare (in) float bias))\n"
11292   "    ()))\n"
11293   "(function shadow1DProj\n"
11294   "  (signature vec4\n"
11295   "    (parameters\n"
11296   "      (declare (in) sampler1DShadow sampler)\n"
11297   "      (declare (in) vec4 coord))\n"
11298   "    ())\n"
11299   "  (signature vec4\n"
11300   "    (parameters\n"
11301   "      (declare (in) sampler1DShadow sampler)\n"
11302   "      (declare (in) vec4 coord)\n"
11303   "      (declare (in) float bias))\n"
11304   "    ()))\n"
11305   "(function shadow2DProj\n"
11306   "  (signature vec4\n"
11307   "    (parameters\n"
11308   "      (declare (in) sampler2DShadow sampler)\n"
11309   "      (declare (in) vec4 coord))\n"
11310   "    ())\n"
11311   "  (signature vec4\n"
11312   "    (parameters\n"
11313   "      (declare (in) sampler2DShadow sampler)\n"
11314   "      (declare (in) vec4 coord)\n"
11315   "      (declare (in) float bias))\n"
11316   "    ()))\n"
11317   "(function dFdx\n"
11318   "  (signature float\n"
11319   "    (parameters\n"
11320   "      (declare (in) float p))\n"
11321   "    ())\n"
11322   "  (signature vec2\n"
11323   "    (parameters\n"
11324   "      (declare (in) vec2 p))\n"
11325   "    ())\n"
11326   "  (signature vec3\n"
11327   "    (parameters\n"
11328   "      (declare (in) vec3 p))\n"
11329   "    ())\n"
11330   "  (signature vec4\n"
11331   "    (parameters\n"
11332   "      (declare (in) vec4 p))\n"
11333   "    ()))\n"
11334   "(function dFdy\n"
11335   "  (signature float\n"
11336   "    (parameters\n"
11337   "      (declare (in) float p))\n"
11338   "    ())\n"
11339   "  (signature vec2\n"
11340   "    (parameters\n"
11341   "      (declare (in) vec2 p))\n"
11342   "    ())\n"
11343   "  (signature vec3\n"
11344   "    (parameters\n"
11345   "      (declare (in) vec3 p))\n"
11346   "    ())\n"
11347   "  (signature vec4\n"
11348   "    (parameters\n"
11349   "      (declare (in) vec4 p))\n"
11350   "    ()))\n"
11351   "(function fwidth\n"
11352   "  (signature float\n"
11353   "    (parameters\n"
11354   "      (declare (in) float p))\n"
11355   "    ())\n"
11356   "  (signature vec2\n"
11357   "    (parameters\n"
11358   "      (declare (in) vec2 p))\n"
11359   "    ())\n"
11360   "  (signature vec3\n"
11361   "    (parameters\n"
11362   "      (declare (in) vec3 p))\n"
11363   "    ())\n"
11364   "  (signature vec4\n"
11365   "    (parameters\n"
11366   "      (declare (in) vec4 p))\n"
11367   "    ()))\n"
11368   "(function noise1\n"
11369   "  (signature float\n"
11370   "    (parameters\n"
11371   "      (declare (in) float x))\n"
11372   "    ())\n"
11373   "  (signature float\n"
11374   "    (parameters\n"
11375   "      (declare (in) vec2 x))\n"
11376   "    ())\n"
11377   "  (signature float\n"
11378   "    (parameters\n"
11379   "      (declare (in) vec3 x))\n"
11380   "    ())\n"
11381   "  (signature float\n"
11382   "    (parameters\n"
11383   "      (declare (in) vec4 x))\n"
11384   "    ()))\n"
11385   "(function noise2\n"
11386   "  (signature vec2\n"
11387   "    (parameters\n"
11388   "      (declare (in) float x))\n"
11389   "    ())\n"
11390   "  (signature vec2\n"
11391   "    (parameters\n"
11392   "      (declare (in) vec2 x))\n"
11393   "    ())\n"
11394   "  (signature vec2\n"
11395   "    (parameters\n"
11396   "      (declare (in) vec3 x))\n"
11397   "    ())\n"
11398   "  (signature vec2\n"
11399   "    (parameters\n"
11400   "      (declare (in) vec4 x))\n"
11401   "    ()))\n"
11402   "(function noise3\n"
11403   "  (signature vec3\n"
11404   "    (parameters\n"
11405   "      (declare (in) float x))\n"
11406   "    ())\n"
11407   "  (signature vec3\n"
11408   "    (parameters\n"
11409   "      (declare (in) vec2 x))\n"
11410   "    ())\n"
11411   "  (signature vec3\n"
11412   "    (parameters\n"
11413   "      (declare (in) vec3 x))\n"
11414   "    ())\n"
11415   "  (signature vec3\n"
11416   "    (parameters\n"
11417   "      (declare (in) vec4 x))\n"
11418   "    ()))\n"
11419   "(function noise4\n"
11420   "  (signature vec4\n"
11421   "    (parameters\n"
11422   "      (declare (in) float x))\n"
11423   "    ())\n"
11424   "  (signature vec4\n"
11425   "    (parameters\n"
11426   "      (declare (in) vec2 x))\n"
11427   "    ())\n"
11428   "  (signature vec4\n"
11429   "    (parameters\n"
11430   "      (declare (in) vec3 x))\n"
11431   "    ())\n"
11432   "  (signature vec4\n"
11433   "    (parameters\n"
11434   "      (declare (in) vec4 x))\n"
11435   "    ())))"
11436;
11437static const char *functions_for_120_frag [] = {
11438   builtin_abs,
11439   builtin_acos,
11440   builtin_all,
11441   builtin_any,
11442   builtin_asin,
11443   builtin_atan,
11444   builtin_ceil,
11445   builtin_clamp,
11446   builtin_cos,
11447   builtin_cross,
11448   builtin_dFdx,
11449   builtin_dFdy,
11450   builtin_degrees,
11451   builtin_distance,
11452   builtin_dot,
11453   builtin_equal,
11454   builtin_exp,
11455   builtin_exp2,
11456   builtin_faceforward,
11457   builtin_floor,
11458   builtin_fract,
11459   builtin_fwidth,
11460   builtin_greaterThan,
11461   builtin_greaterThanEqual,
11462   builtin_inversesqrt,
11463   builtin_length,
11464   builtin_lessThan,
11465   builtin_lessThanEqual,
11466   builtin_log,
11467   builtin_log2,
11468   builtin_matrixCompMult,
11469   builtin_max,
11470   builtin_min,
11471   builtin_mix,
11472   builtin_mod,
11473   builtin_noise1,
11474   builtin_noise2,
11475   builtin_noise3,
11476   builtin_noise4,
11477   builtin_normalize,
11478   builtin_not,
11479   builtin_notEqual,
11480   builtin_outerProduct,
11481   builtin_pow,
11482   builtin_radians,
11483   builtin_reflect,
11484   builtin_refract,
11485   builtin_shadow1D,
11486   builtin_shadow1DProj,
11487   builtin_shadow2D,
11488   builtin_shadow2DProj,
11489   builtin_sign,
11490   builtin_sin,
11491   builtin_smoothstep,
11492   builtin_sqrt,
11493   builtin_step,
11494   builtin_tan,
11495   builtin_texture1D,
11496   builtin_texture1DProj,
11497   builtin_texture2D,
11498   builtin_texture2DProj,
11499   builtin_texture3D,
11500   builtin_texture3DProj,
11501   builtin_textureCube,
11502   builtin_transpose,
11503};
11504static const char prototypes_for_120_vert[] =
11505   "(\n"
11506   "(function radians\n"
11507   "  (signature float\n"
11508   "    (parameters\n"
11509   "      (declare (in) float degrees))\n"
11510   "    ())\n"
11511   "  (signature vec2\n"
11512   "    (parameters\n"
11513   "      (declare (in) vec2 degrees))\n"
11514   "    ())\n"
11515   "  (signature vec3\n"
11516   "    (parameters\n"
11517   "      (declare (in) vec3 degrees))\n"
11518   "    ())\n"
11519   "  (signature vec4\n"
11520   "    (parameters\n"
11521   "      (declare (in) vec4 degrees))\n"
11522   "    ()))\n"
11523   "(function degrees\n"
11524   "  (signature float\n"
11525   "    (parameters\n"
11526   "      (declare (in) float radians))\n"
11527   "    ())\n"
11528   "  (signature vec2\n"
11529   "    (parameters\n"
11530   "      (declare (in) vec2 radians))\n"
11531   "    ())\n"
11532   "  (signature vec3\n"
11533   "    (parameters\n"
11534   "      (declare (in) vec3 radians))\n"
11535   "    ())\n"
11536   "  (signature vec4\n"
11537   "    (parameters\n"
11538   "      (declare (in) vec4 radians))\n"
11539   "    ()))\n"
11540   "(function sin\n"
11541   "  (signature float\n"
11542   "    (parameters\n"
11543   "      (declare (in) float angle))\n"
11544   "    ())\n"
11545   "  (signature vec2\n"
11546   "    (parameters\n"
11547   "      (declare (in) vec2 angle))\n"
11548   "    ())\n"
11549   "  (signature vec3\n"
11550   "    (parameters\n"
11551   "      (declare (in) vec3 angle))\n"
11552   "    ())\n"
11553   "  (signature vec4\n"
11554   "    (parameters\n"
11555   "      (declare (in) vec4 angle))\n"
11556   "    ()))\n"
11557   "(function cos\n"
11558   "  (signature float\n"
11559   "    (parameters\n"
11560   "      (declare (in) float angle))\n"
11561   "    ())\n"
11562   "  (signature vec2\n"
11563   "    (parameters\n"
11564   "      (declare (in) vec2 angle))\n"
11565   "    ())\n"
11566   "  (signature vec3\n"
11567   "    (parameters\n"
11568   "      (declare (in) vec3 angle))\n"
11569   "    ())\n"
11570   "  (signature vec4\n"
11571   "    (parameters\n"
11572   "      (declare (in) vec4 angle))\n"
11573   "    ()))\n"
11574   "(function tan\n"
11575   "  (signature float\n"
11576   "    (parameters\n"
11577   "      (declare (in) float angle))\n"
11578   "    ())\n"
11579   "  (signature vec2\n"
11580   "    (parameters\n"
11581   "      (declare (in) vec2 angle))\n"
11582   "    ())\n"
11583   "  (signature vec3\n"
11584   "    (parameters\n"
11585   "      (declare (in) vec3 angle))\n"
11586   "    ())\n"
11587   "  (signature vec4\n"
11588   "    (parameters\n"
11589   "      (declare (in) vec4 angle))\n"
11590   "    ()))\n"
11591   "(function asin\n"
11592   "  (signature float\n"
11593   "    (parameters\n"
11594   "      (declare (in) float angle))\n"
11595   "    ())\n"
11596   "  (signature vec2\n"
11597   "    (parameters\n"
11598   "      (declare (in) vec2 angle))\n"
11599   "    ())\n"
11600   "  (signature vec3\n"
11601   "    (parameters\n"
11602   "      (declare (in) vec3 angle))\n"
11603   "    ())\n"
11604   "  (signature vec4\n"
11605   "    (parameters\n"
11606   "      (declare (in) vec4 angle))\n"
11607   "    ()))\n"
11608   "(function acos\n"
11609   "  (signature float\n"
11610   "    (parameters\n"
11611   "      (declare (in) float angle))\n"
11612   "    ())\n"
11613   "  (signature vec2\n"
11614   "    (parameters\n"
11615   "      (declare (in) vec2 angle))\n"
11616   "    ())\n"
11617   "  (signature vec3\n"
11618   "    (parameters\n"
11619   "      (declare (in) vec3 angle))\n"
11620   "    ())\n"
11621   "  (signature vec4\n"
11622   "    (parameters\n"
11623   "      (declare (in) vec4 angle))\n"
11624   "    ()))\n"
11625   "(function atan\n"
11626   "  (signature float\n"
11627   "    (parameters\n"
11628   "      (declare (in) float y)\n"
11629   "      (declare (in) float x))\n"
11630   "    ())\n"
11631   "  (signature vec2\n"
11632   "    (parameters\n"
11633   "      (declare (in) vec2 y)\n"
11634   "      (declare (in) vec2 x))\n"
11635   "    ())\n"
11636   "  (signature vec3\n"
11637   "    (parameters\n"
11638   "      (declare (in) vec3 y)\n"
11639   "      (declare (in) vec3 x))\n"
11640   "    ())\n"
11641   "  (signature vec4\n"
11642   "    (parameters\n"
11643   "      (declare (in) vec4 y)\n"
11644   "      (declare (in) vec4 x))\n"
11645   "    ())\n"
11646   "  (signature float\n"
11647   "    (parameters\n"
11648   "      (declare (in) float y_over_x))\n"
11649   "    ())\n"
11650   "  (signature vec2\n"
11651   "    (parameters\n"
11652   "      (declare (in) vec2 y_over_x))\n"
11653   "    ())\n"
11654   "  (signature vec3\n"
11655   "    (parameters\n"
11656   "      (declare (in) vec3 y_over_x))\n"
11657   "    ())\n"
11658   "  (signature vec4\n"
11659   "    (parameters\n"
11660   "      (declare (in) vec4 y_over_x))\n"
11661   "    ()))\n"
11662   "(function pow\n"
11663   "  (signature float\n"
11664   "    (parameters\n"
11665   "      (declare (in) float x)\n"
11666   "      (declare (in) float y))\n"
11667   "    ())\n"
11668   "  (signature vec2\n"
11669   "    (parameters\n"
11670   "      (declare (in) vec2 x)\n"
11671   "      (declare (in) vec2 y))\n"
11672   "    ())\n"
11673   "  (signature vec3\n"
11674   "    (parameters\n"
11675   "      (declare (in) vec3 x)\n"
11676   "      (declare (in) vec3 y))\n"
11677   "    ())\n"
11678   "  (signature vec4\n"
11679   "    (parameters\n"
11680   "      (declare (in) vec4 x)\n"
11681   "      (declare (in) vec4 y))\n"
11682   "    ()))\n"
11683   "(function exp\n"
11684   "  (signature float\n"
11685   "    (parameters\n"
11686   "      (declare (in) float x))\n"
11687   "    ())\n"
11688   "  (signature vec2\n"
11689   "    (parameters\n"
11690   "      (declare (in) vec2 x))\n"
11691   "    ())\n"
11692   "  (signature vec3\n"
11693   "    (parameters\n"
11694   "      (declare (in) vec3 x))\n"
11695   "    ())\n"
11696   "  (signature vec4\n"
11697   "    (parameters\n"
11698   "      (declare (in) vec4 x))\n"
11699   "    ()))\n"
11700   "(function log\n"
11701   "  (signature float\n"
11702   "    (parameters\n"
11703   "      (declare (in) float x))\n"
11704   "    ())\n"
11705   "  (signature vec2\n"
11706   "    (parameters\n"
11707   "      (declare (in) vec2 x))\n"
11708   "    ())\n"
11709   "  (signature vec3\n"
11710   "    (parameters\n"
11711   "      (declare (in) vec3 x))\n"
11712   "    ())\n"
11713   "  (signature vec4\n"
11714   "    (parameters\n"
11715   "      (declare (in) vec4 x))\n"
11716   "    ()))\n"
11717   "(function exp2\n"
11718   "  (signature float\n"
11719   "    (parameters\n"
11720   "      (declare (in) float x))\n"
11721   "    ())\n"
11722   "  (signature vec2\n"
11723   "    (parameters\n"
11724   "      (declare (in) vec2 x))\n"
11725   "    ())\n"
11726   "  (signature vec3\n"
11727   "    (parameters\n"
11728   "      (declare (in) vec3 x))\n"
11729   "    ())\n"
11730   "  (signature vec4\n"
11731   "    (parameters\n"
11732   "      (declare (in) vec4 x))\n"
11733   "    ()))\n"
11734   "(function log2\n"
11735   "  (signature float\n"
11736   "    (parameters\n"
11737   "      (declare (in) float x))\n"
11738   "    ())\n"
11739   "  (signature vec2\n"
11740   "    (parameters\n"
11741   "      (declare (in) vec2 x))\n"
11742   "    ())\n"
11743   "  (signature vec3\n"
11744   "    (parameters\n"
11745   "      (declare (in) vec3 x))\n"
11746   "    ())\n"
11747   "  (signature vec4\n"
11748   "    (parameters\n"
11749   "      (declare (in) vec4 x))\n"
11750   "    ()))\n"
11751   "(function sqrt\n"
11752   "  (signature float\n"
11753   "    (parameters\n"
11754   "      (declare (in) float x))\n"
11755   "    ())\n"
11756   "  (signature vec2\n"
11757   "    (parameters\n"
11758   "      (declare (in) vec2 x))\n"
11759   "    ())\n"
11760   "  (signature vec3\n"
11761   "    (parameters\n"
11762   "      (declare (in) vec3 x))\n"
11763   "    ())\n"
11764   "  (signature vec4\n"
11765   "    (parameters\n"
11766   "      (declare (in) vec4 x))\n"
11767   "    ()))\n"
11768   "(function inversesqrt\n"
11769   "  (signature float\n"
11770   "    (parameters\n"
11771   "      (declare (in) float x))\n"
11772   "    ())\n"
11773   "  (signature vec2\n"
11774   "    (parameters\n"
11775   "      (declare (in) vec2 x))\n"
11776   "    ())\n"
11777   "  (signature vec3\n"
11778   "    (parameters\n"
11779   "      (declare (in) vec3 x))\n"
11780   "    ())\n"
11781   "  (signature vec4\n"
11782   "    (parameters\n"
11783   "      (declare (in) vec4 x))\n"
11784   "    ()))\n"
11785   "(function abs\n"
11786   "  (signature float\n"
11787   "    (parameters\n"
11788   "      (declare (in) float x))\n"
11789   "    ())\n"
11790   "  (signature vec2\n"
11791   "    (parameters\n"
11792   "      (declare (in) vec2 x))\n"
11793   "    ())\n"
11794   "  (signature vec3\n"
11795   "    (parameters\n"
11796   "      (declare (in) vec3 x))\n"
11797   "    ())\n"
11798   "  (signature vec4\n"
11799   "    (parameters\n"
11800   "      (declare (in) vec4 x))\n"
11801   "    ()))\n"
11802   "(function sign\n"
11803   "  (signature float\n"
11804   "    (parameters\n"
11805   "      (declare (in) float x))\n"
11806   "    ())\n"
11807   "  (signature vec2\n"
11808   "    (parameters\n"
11809   "      (declare (in) vec2 x))\n"
11810   "    ())\n"
11811   "  (signature vec3\n"
11812   "    (parameters\n"
11813   "      (declare (in) vec3 x))\n"
11814   "    ())\n"
11815   "  (signature vec4\n"
11816   "    (parameters\n"
11817   "      (declare (in) vec4 x))\n"
11818   "    ()))\n"
11819   "(function floor\n"
11820   "  (signature float\n"
11821   "    (parameters\n"
11822   "      (declare (in) float x))\n"
11823   "    ())\n"
11824   "  (signature vec2\n"
11825   "    (parameters\n"
11826   "      (declare (in) vec2 x))\n"
11827   "    ())\n"
11828   "  (signature vec3\n"
11829   "    (parameters\n"
11830   "      (declare (in) vec3 x))\n"
11831   "    ())\n"
11832   "  (signature vec4\n"
11833   "    (parameters\n"
11834   "      (declare (in) vec4 x))\n"
11835   "    ()))\n"
11836   "(function ceil\n"
11837   "  (signature float\n"
11838   "    (parameters\n"
11839   "      (declare (in) float x))\n"
11840   "    ())\n"
11841   "  (signature vec2\n"
11842   "    (parameters\n"
11843   "      (declare (in) vec2 x))\n"
11844   "    ())\n"
11845   "  (signature vec3\n"
11846   "    (parameters\n"
11847   "      (declare (in) vec3 x))\n"
11848   "    ())\n"
11849   "  (signature vec4\n"
11850   "    (parameters\n"
11851   "      (declare (in) vec4 x))\n"
11852   "    ()))\n"
11853   "(function fract\n"
11854   "  (signature float\n"
11855   "    (parameters\n"
11856   "      (declare (in) float x))\n"
11857   "    ())\n"
11858   "  (signature vec2\n"
11859   "    (parameters\n"
11860   "      (declare (in) vec2 x))\n"
11861   "    ())\n"
11862   "  (signature vec3\n"
11863   "    (parameters\n"
11864   "      (declare (in) vec3 x))\n"
11865   "    ())\n"
11866   "  (signature vec4\n"
11867   "    (parameters\n"
11868   "      (declare (in) vec4 x))\n"
11869   "    ()))\n"
11870   "(function mod\n"
11871   "  (signature float\n"
11872   "    (parameters\n"
11873   "      (declare (in) float x)\n"
11874   "      (declare (in) float y))\n"
11875   "    ())\n"
11876   "  (signature vec2\n"
11877   "    (parameters\n"
11878   "      (declare (in) vec2 x)\n"
11879   "      (declare (in) float y))\n"
11880   "    ())\n"
11881   "  (signature vec3\n"
11882   "    (parameters\n"
11883   "      (declare (in) vec3 x)\n"
11884   "      (declare (in) float y))\n"
11885   "    ())\n"
11886   "  (signature vec4\n"
11887   "    (parameters\n"
11888   "      (declare (in) vec4 x)\n"
11889   "      (declare (in) float y))\n"
11890   "    ())\n"
11891   "  (signature vec2\n"
11892   "    (parameters\n"
11893   "      (declare (in) vec2 x)\n"
11894   "      (declare (in) vec2 y))\n"
11895   "    ())\n"
11896   "  (signature vec3\n"
11897   "    (parameters\n"
11898   "      (declare (in) vec3 x)\n"
11899   "      (declare (in) vec3 y))\n"
11900   "    ())\n"
11901   "  (signature vec4\n"
11902   "    (parameters\n"
11903   "      (declare (in) vec4 x)\n"
11904   "      (declare (in) vec4 y))\n"
11905   "    ()))\n"
11906   "(function min\n"
11907   "  (signature float\n"
11908   "    (parameters\n"
11909   "      (declare (in) float x)\n"
11910   "      (declare (in) float y))\n"
11911   "    ())\n"
11912   "  (signature vec2\n"
11913   "    (parameters\n"
11914   "      (declare (in) vec2 x)\n"
11915   "      (declare (in) vec2 y))\n"
11916   "    ())\n"
11917   "  (signature vec3\n"
11918   "    (parameters\n"
11919   "      (declare (in) vec3 x)\n"
11920   "      (declare (in) vec3 y))\n"
11921   "    ())\n"
11922   "  (signature vec4\n"
11923   "    (parameters\n"
11924   "      (declare (in) vec4 x)\n"
11925   "      (declare (in) vec4 y))\n"
11926   "    ())\n"
11927   "  (signature vec2\n"
11928   "    (parameters\n"
11929   "      (declare (in) vec2 x)\n"
11930   "      (declare (in) float y))\n"
11931   "    ())\n"
11932   "  (signature vec3\n"
11933   "    (parameters\n"
11934   "      (declare (in) vec3 x)\n"
11935   "      (declare (in) float y))\n"
11936   "    ())\n"
11937   "  (signature vec4\n"
11938   "    (parameters\n"
11939   "      (declare (in) vec4 x)\n"
11940   "      (declare (in) float y))\n"
11941   "    ()))\n"
11942   "(function max\n"
11943   "  (signature float\n"
11944   "    (parameters\n"
11945   "      (declare (in) float x)\n"
11946   "      (declare (in) float y))\n"
11947   "    ())\n"
11948   "  (signature vec2\n"
11949   "    (parameters\n"
11950   "      (declare (in) vec2 x)\n"
11951   "      (declare (in) vec2 y))\n"
11952   "    ())\n"
11953   "  (signature vec3\n"
11954   "    (parameters\n"
11955   "      (declare (in) vec3 x)\n"
11956   "      (declare (in) vec3 y))\n"
11957   "    ())\n"
11958   "  (signature vec4\n"
11959   "    (parameters\n"
11960   "      (declare (in) vec4 x)\n"
11961   "      (declare (in) vec4 y))\n"
11962   "    ())\n"
11963   "  (signature vec2\n"
11964   "    (parameters\n"
11965   "      (declare (in) vec2 x)\n"
11966   "      (declare (in) float y))\n"
11967   "    ())\n"
11968   "  (signature vec3\n"
11969   "    (parameters\n"
11970   "      (declare (in) vec3 x)\n"
11971   "      (declare (in) float y))\n"
11972   "    ())\n"
11973   "  (signature vec4\n"
11974   "    (parameters\n"
11975   "      (declare (in) vec4 x)\n"
11976   "      (declare (in) float y))\n"
11977   "    ()))\n"
11978   "(function clamp\n"
11979   "  (signature float\n"
11980   "    (parameters\n"
11981   "      (declare (in) float x)\n"
11982   "      (declare (in) float minVal)\n"
11983   "      (declare (in) float maxVal))\n"
11984   "    ())\n"
11985   "  (signature vec2\n"
11986   "    (parameters\n"
11987   "      (declare (in) vec2 x)\n"
11988   "      (declare (in) vec2 minVal)\n"
11989   "      (declare (in) vec2 maxVal))\n"
11990   "    ())\n"
11991   "  (signature vec3\n"
11992   "    (parameters\n"
11993   "      (declare (in) vec3 x)\n"
11994   "      (declare (in) vec3 minVal)\n"
11995   "      (declare (in) vec3 maxVal))\n"
11996   "    ())\n"
11997   "  (signature vec4\n"
11998   "    (parameters\n"
11999   "      (declare (in) vec4 x)\n"
12000   "      (declare (in) vec4 minVal)\n"
12001   "      (declare (in) vec4 maxVal))\n"
12002   "    ())\n"
12003   "  (signature vec2\n"
12004   "    (parameters\n"
12005   "      (declare (in) vec2 x)\n"
12006   "      (declare (in) float minVal)\n"
12007   "      (declare (in) float maxVal))\n"
12008   "    ())\n"
12009   "  (signature vec3\n"
12010   "    (parameters\n"
12011   "      (declare (in) vec3 x)\n"
12012   "      (declare (in) float minVal)\n"
12013   "      (declare (in) float maxVal))\n"
12014   "    ())\n"
12015   "  (signature vec4\n"
12016   "    (parameters\n"
12017   "      (declare (in) vec4 x)\n"
12018   "      (declare (in) float minVal)\n"
12019   "      (declare (in) float maxVal))\n"
12020   "    ()))\n"
12021   "(function mix\n"
12022   "  (signature float\n"
12023   "    (parameters\n"
12024   "      (declare (in) float x)\n"
12025   "      (declare (in) float y)\n"
12026   "      (declare (in) float a))\n"
12027   "    ())\n"
12028   "  (signature vec2\n"
12029   "    (parameters\n"
12030   "      (declare (in) vec2 x)\n"
12031   "      (declare (in) vec2 y)\n"
12032   "      (declare (in) vec2 a))\n"
12033   "    ())\n"
12034   "  (signature vec3\n"
12035   "    (parameters\n"
12036   "      (declare (in) vec3 x)\n"
12037   "      (declare (in) vec3 y)\n"
12038   "      (declare (in) vec3 a))\n"
12039   "    ())\n"
12040   "  (signature vec4\n"
12041   "    (parameters\n"
12042   "      (declare (in) vec4 x)\n"
12043   "      (declare (in) vec4 y)\n"
12044   "      (declare (in) vec4 a))\n"
12045   "    ())\n"
12046   "  (signature vec2\n"
12047   "    (parameters\n"
12048   "      (declare (in) vec2 x)\n"
12049   "      (declare (in) vec2 y)\n"
12050   "      (declare (in) float a))\n"
12051   "    ())\n"
12052   "  (signature vec3\n"
12053   "    (parameters\n"
12054   "      (declare (in) vec3 x)\n"
12055   "      (declare (in) vec3 y)\n"
12056   "      (declare (in) float a))\n"
12057   "    ())\n"
12058   "  (signature vec4\n"
12059   "    (parameters\n"
12060   "      (declare (in) vec4 x)\n"
12061   "      (declare (in) vec4 y)\n"
12062   "      (declare (in) float a))\n"
12063   "    ()))\n"
12064   "(function step\n"
12065   "  (signature float\n"
12066   "    (parameters\n"
12067   "      (declare (in) float edge)\n"
12068   "      (declare (in) float x))\n"
12069   "    ())\n"
12070   "  (signature vec2\n"
12071   "    (parameters\n"
12072   "      (declare (in) vec2 edge)\n"
12073   "      (declare (in) vec2 x))\n"
12074   "    ())\n"
12075   "  (signature vec3\n"
12076   "    (parameters\n"
12077   "      (declare (in) vec3 edge)\n"
12078   "      (declare (in) vec3 x))\n"
12079   "    ())\n"
12080   "  (signature vec4\n"
12081   "    (parameters\n"
12082   "      (declare (in) vec4 edge)\n"
12083   "      (declare (in) vec4 x))\n"
12084   "    ())\n"
12085   "  (signature vec2\n"
12086   "    (parameters\n"
12087   "      (declare (in) float edge)\n"
12088   "      (declare (in) vec2 x))\n"
12089   "    ())\n"
12090   "  (signature vec3\n"
12091   "    (parameters\n"
12092   "      (declare (in) float edge)\n"
12093   "      (declare (in) vec3 x))\n"
12094   "    ())\n"
12095   "  (signature vec4\n"
12096   "    (parameters\n"
12097   "      (declare (in) float edge)\n"
12098   "      (declare (in) vec4 x))\n"
12099   "    ()))\n"
12100   "(function smoothstep\n"
12101   "  (signature float\n"
12102   "    (parameters\n"
12103   "      (declare (in) float edge0)\n"
12104   "      (declare (in) float edge1)\n"
12105   "      (declare (in) float x))\n"
12106   "    ())\n"
12107   "  (signature vec2\n"
12108   "    (parameters\n"
12109   "      (declare (in) vec2 edge0)\n"
12110   "      (declare (in) vec2 edge1)\n"
12111   "      (declare (in) vec2 x))\n"
12112   "    ())\n"
12113   "  (signature vec3\n"
12114   "    (parameters\n"
12115   "      (declare (in) vec3 edge0)\n"
12116   "      (declare (in) vec3 edge1)\n"
12117   "      (declare (in) vec3 x))\n"
12118   "    ())\n"
12119   "  (signature vec4\n"
12120   "    (parameters\n"
12121   "      (declare (in) vec4 edge0)\n"
12122   "      (declare (in) vec4 edge1)\n"
12123   "      (declare (in) vec4 x))\n"
12124   "    ())\n"
12125   "  (signature vec2\n"
12126   "    (parameters\n"
12127   "      (declare (in) float edge0)\n"
12128   "      (declare (in) float edge1)\n"
12129   "      (declare (in) vec2 x))\n"
12130   "    ())\n"
12131   "  (signature vec3\n"
12132   "    (parameters\n"
12133   "      (declare (in) float edge0)\n"
12134   "      (declare (in) float edge1)\n"
12135   "      (declare (in) vec3 x))\n"
12136   "    ())\n"
12137   "  (signature vec4\n"
12138   "    (parameters\n"
12139   "      (declare (in) float edge0)\n"
12140   "      (declare (in) float edge1)\n"
12141   "      (declare (in) vec4 x))\n"
12142   "    ()))\n"
12143   "(function length\n"
12144   "  (signature float\n"
12145   "    (parameters\n"
12146   "      (declare (in) float x))\n"
12147   "    ())\n"
12148   "  (signature float\n"
12149   "    (parameters\n"
12150   "      (declare (in) vec2 x))\n"
12151   "    ())\n"
12152   "  (signature float\n"
12153   "    (parameters\n"
12154   "      (declare (in) vec3 x))\n"
12155   "    ())\n"
12156   "  (signature float\n"
12157   "    (parameters\n"
12158   "      (declare (in) vec4 x))\n"
12159   "    ()))\n"
12160   "(function distance\n"
12161   "  (signature float\n"
12162   "    (parameters\n"
12163   "      (declare (in) float p0)\n"
12164   "      (declare (in) float p1))\n"
12165   "    ())\n"
12166   "  (signature float\n"
12167   "    (parameters\n"
12168   "      (declare (in) vec2 p0)\n"
12169   "      (declare (in) vec2 p1))\n"
12170   "    ())\n"
12171   "  (signature float\n"
12172   "    (parameters\n"
12173   "      (declare (in) vec3 p0)\n"
12174   "      (declare (in) vec3 p1))\n"
12175   "    ())\n"
12176   "  (signature float\n"
12177   "    (parameters\n"
12178   "      (declare (in) vec4 p0)\n"
12179   "      (declare (in) vec4 p1))\n"
12180   "    ()))\n"
12181   "(function dot\n"
12182   "  (signature float\n"
12183   "    (parameters\n"
12184   "      (declare (in) float x)\n"
12185   "      (declare (in) float y))\n"
12186   "    ())\n"
12187   "  (signature float\n"
12188   "    (parameters\n"
12189   "      (declare (in) vec2 x)\n"
12190   "      (declare (in) vec2 y))\n"
12191   "    ())\n"
12192   "  (signature float\n"
12193   "    (parameters\n"
12194   "      (declare (in) vec3 x)\n"
12195   "      (declare (in) vec3 y))\n"
12196   "    ())\n"
12197   "  (signature float\n"
12198   "    (parameters\n"
12199   "      (declare (in) vec4 x)\n"
12200   "      (declare (in) vec4 y))\n"
12201   "    ()))\n"
12202   "(function cross\n"
12203   "  (signature vec3\n"
12204   "    (parameters\n"
12205   "      (declare (in) vec3 x)\n"
12206   "      (declare (in) vec3 y))\n"
12207   "    ()))\n"
12208   "(function normalize\n"
12209   "  (signature float\n"
12210   "    (parameters\n"
12211   "      (declare (in) float x))\n"
12212   "    ())\n"
12213   "  (signature vec2\n"
12214   "    (parameters\n"
12215   "      (declare (in) vec2 x))\n"
12216   "    ())\n"
12217   "  (signature vec3\n"
12218   "    (parameters\n"
12219   "      (declare (in) vec3 x))\n"
12220   "    ())\n"
12221   "  (signature vec4\n"
12222   "    (parameters\n"
12223   "      (declare (in) vec4 x))\n"
12224   "    ()))\n"
12225   "(function ftransform\n"
12226   "  (signature vec4\n"
12227   "    (parameters)\n"
12228   "    ()))\n"
12229   "(function faceforward\n"
12230   "  (signature float\n"
12231   "    (parameters\n"
12232   "      (declare (in) float N)\n"
12233   "      (declare (in) float I)\n"
12234   "      (declare (in) float Nref))\n"
12235   "    ())\n"
12236   "  (signature vec2\n"
12237   "    (parameters\n"
12238   "      (declare (in) vec2 N)\n"
12239   "      (declare (in) vec2 I)\n"
12240   "      (declare (in) vec2 Nref))\n"
12241   "    ())\n"
12242   "  (signature vec3\n"
12243   "    (parameters\n"
12244   "      (declare (in) vec3 N)\n"
12245   "      (declare (in) vec3 I)\n"
12246   "      (declare (in) vec3 Nref))\n"
12247   "    ())\n"
12248   "  (signature vec4\n"
12249   "    (parameters\n"
12250   "      (declare (in) vec4 N)\n"
12251   "      (declare (in) vec4 I)\n"
12252   "      (declare (in) vec4 Nref))\n"
12253   "    ()))\n"
12254   "(function reflect\n"
12255   "  (signature float\n"
12256   "    (parameters\n"
12257   "      (declare (in) float I)\n"
12258   "      (declare (in) float N))\n"
12259   "    ())\n"
12260   "  (signature vec2\n"
12261   "    (parameters\n"
12262   "      (declare (in) vec2 I)\n"
12263   "      (declare (in) vec2 N))\n"
12264   "    ())\n"
12265   "  (signature vec3\n"
12266   "    (parameters\n"
12267   "      (declare (in) vec3 I)\n"
12268   "      (declare (in) vec3 N))\n"
12269   "    ())\n"
12270   "  (signature vec4\n"
12271   "    (parameters\n"
12272   "      (declare (in) vec4 I)\n"
12273   "      (declare (in) vec4 N))\n"
12274   "    ()))\n"
12275   "(function refract\n"
12276   "  (signature float\n"
12277   "    (parameters\n"
12278   "      (declare (in) float I)\n"
12279   "      (declare (in) float N)\n"
12280   "      (declare (in) float eta))\n"
12281   "    ())\n"
12282   "  (signature vec2\n"
12283   "    (parameters\n"
12284   "      (declare (in) vec2 I)\n"
12285   "      (declare (in) vec2 N)\n"
12286   "      (declare (in) float eta))\n"
12287   "    ())\n"
12288   "  (signature vec3\n"
12289   "    (parameters\n"
12290   "      (declare (in) vec3 I)\n"
12291   "      (declare (in) vec3 N)\n"
12292   "      (declare (in) float eta))\n"
12293   "    ())\n"
12294   "  (signature vec4\n"
12295   "    (parameters\n"
12296   "      (declare (in) vec4 I)\n"
12297   "      (declare (in) vec4 N)\n"
12298   "      (declare (in) float eta))\n"
12299   "    ()))\n"
12300   "(function matrixCompMult\n"
12301   "  (signature mat2\n"
12302   "    (parameters\n"
12303   "      (declare (in) mat2 x)\n"
12304   "      (declare (in) mat2 y))\n"
12305   "    ())\n"
12306   "  (signature mat3\n"
12307   "    (parameters\n"
12308   "      (declare (in) mat3 x)\n"
12309   "      (declare (in) mat3 y))\n"
12310   "    ())\n"
12311   "  (signature mat4\n"
12312   "    (parameters\n"
12313   "      (declare (in) mat4 x)\n"
12314   "      (declare (in) mat4 y))\n"
12315   "    ())\n"
12316   "  (signature mat2x3\n"
12317   "    (parameters\n"
12318   "      (declare (in) mat2x3 x)\n"
12319   "      (declare (in) mat2x3 y))\n"
12320   "    ())\n"
12321   "  (signature mat2x4\n"
12322   "    (parameters\n"
12323   "      (declare (in) mat2x4 x)\n"
12324   "      (declare (in) mat2x4 y))\n"
12325   "    ())\n"
12326   "  (signature mat3x2\n"
12327   "    (parameters\n"
12328   "      (declare (in) mat3x2 x)\n"
12329   "      (declare (in) mat3x2 y))\n"
12330   "    ())\n"
12331   "  (signature mat3x4\n"
12332   "    (parameters\n"
12333   "      (declare (in) mat3x4 x)\n"
12334   "      (declare (in) mat3x4 y))\n"
12335   "    ())\n"
12336   "  (signature mat4x2\n"
12337   "    (parameters\n"
12338   "      (declare (in) mat4x2 x)\n"
12339   "      (declare (in) mat4x2 y))\n"
12340   "    ())\n"
12341   "  (signature mat4x3\n"
12342   "    (parameters\n"
12343   "      (declare (in) mat4x3 x)\n"
12344   "      (declare (in) mat4x3 y))\n"
12345   "    ()))\n"
12346   "(function outerProduct\n"
12347   "  (signature mat2\n"
12348   "    (parameters\n"
12349   "      (declare (in) vec2 c)\n"
12350   "      (declare (in) vec2 r))\n"
12351   "    ())\n"
12352   "  (signature mat3\n"
12353   "    (parameters\n"
12354   "      (declare (in) vec3 c)\n"
12355   "      (declare (in) vec3 r))\n"
12356   "    ())\n"
12357   "  (signature mat4\n"
12358   "    (parameters\n"
12359   "      (declare (in) vec4 c)\n"
12360   "      (declare (in) vec4 r))\n"
12361   "    ())\n"
12362   "  (signature mat2x3\n"
12363   "    (parameters\n"
12364   "      (declare (in) vec3 c)\n"
12365   "      (declare (in) vec2 r))\n"
12366   "    ())\n"
12367   "  (signature mat3x2\n"
12368   "    (parameters\n"
12369   "      (declare (in) vec2 c)\n"
12370   "      (declare (in) vec3 r))\n"
12371   "    ())\n"
12372   "  (signature mat2x4\n"
12373   "    (parameters\n"
12374   "      (declare (in) vec4 c)\n"
12375   "      (declare (in) vec2 r))\n"
12376   "    ())\n"
12377   "  (signature mat4x2\n"
12378   "    (parameters\n"
12379   "      (declare (in) vec2 c)\n"
12380   "      (declare (in) vec4 r))\n"
12381   "    ())\n"
12382   "  (signature mat3x4\n"
12383   "    (parameters\n"
12384   "      (declare (in) vec4 c)\n"
12385   "      (declare (in) vec3 r))\n"
12386   "    ())\n"
12387   "  (signature mat4x3\n"
12388   "    (parameters\n"
12389   "      (declare (in) vec3 c)\n"
12390   "      (declare (in) vec4 r))\n"
12391   "    ()))\n"
12392   "(function transpose\n"
12393   "  (signature mat2\n"
12394   "    (parameters\n"
12395   "      (declare (in) mat2 m))\n"
12396   "    ())\n"
12397   "  (signature mat3\n"
12398   "    (parameters\n"
12399   "      (declare (in) mat3 m))\n"
12400   "    ())\n"
12401   "  (signature mat4\n"
12402   "    (parameters\n"
12403   "      (declare (in) mat4 m))\n"
12404   "    ())\n"
12405   "  (signature mat2x3\n"
12406   "    (parameters\n"
12407   "      (declare (in) mat3x2 m))\n"
12408   "    ())\n"
12409   "  (signature mat3x2\n"
12410   "    (parameters\n"
12411   "      (declare (in) mat2x3 m))\n"
12412   "    ())\n"
12413   "  (signature mat2x4\n"
12414   "    (parameters\n"
12415   "      (declare (in) mat4x2 m))\n"
12416   "    ())\n"
12417   "  (signature mat4x2\n"
12418   "    (parameters\n"
12419   "      (declare (in) mat2x4 m))\n"
12420   "    ())\n"
12421   "  (signature mat3x4\n"
12422   "    (parameters\n"
12423   "      (declare (in) mat4x3 m))\n"
12424   "    ())\n"
12425   "  (signature mat4x3\n"
12426   "    (parameters\n"
12427   "      (declare (in) mat3x4 m))\n"
12428   "    ()))\n"
12429   "(function lessThan\n"
12430   "  (signature bvec2\n"
12431   "    (parameters\n"
12432   "      (declare (in) vec2 x)\n"
12433   "      (declare (in) vec2 y))\n"
12434   "    ())\n"
12435   "  (signature bvec3\n"
12436   "    (parameters\n"
12437   "      (declare (in) vec3 x)\n"
12438   "      (declare (in) vec3 y))\n"
12439   "    ())\n"
12440   "  (signature bvec4\n"
12441   "    (parameters\n"
12442   "      (declare (in) vec4 x)\n"
12443   "      (declare (in) vec4 y))\n"
12444   "    ())\n"
12445   "  (signature bvec2\n"
12446   "    (parameters\n"
12447   "      (declare (in) ivec2 x)\n"
12448   "      (declare (in) ivec2 y))\n"
12449   "    ())\n"
12450   "  (signature bvec3\n"
12451   "    (parameters\n"
12452   "      (declare (in) ivec3 x)\n"
12453   "      (declare (in) ivec3 y))\n"
12454   "    ())\n"
12455   "  (signature bvec4\n"
12456   "    (parameters\n"
12457   "      (declare (in) ivec4 x)\n"
12458   "      (declare (in) ivec4 y))\n"
12459   "    ()))\n"
12460   "(function lessThanEqual\n"
12461   "  (signature bvec2\n"
12462   "    (parameters\n"
12463   "      (declare (in) vec2 x)\n"
12464   "      (declare (in) vec2 y))\n"
12465   "    ())\n"
12466   "  (signature bvec3\n"
12467   "    (parameters\n"
12468   "      (declare (in) vec3 x)\n"
12469   "      (declare (in) vec3 y))\n"
12470   "    ())\n"
12471   "  (signature bvec4\n"
12472   "    (parameters\n"
12473   "      (declare (in) vec4 x)\n"
12474   "      (declare (in) vec4 y))\n"
12475   "    ())\n"
12476   "  (signature bvec2\n"
12477   "    (parameters\n"
12478   "      (declare (in) ivec2 x)\n"
12479   "      (declare (in) ivec2 y))\n"
12480   "    ())\n"
12481   "  (signature bvec3\n"
12482   "    (parameters\n"
12483   "      (declare (in) ivec3 x)\n"
12484   "      (declare (in) ivec3 y))\n"
12485   "    ())\n"
12486   "  (signature bvec4\n"
12487   "    (parameters\n"
12488   "      (declare (in) ivec4 x)\n"
12489   "      (declare (in) ivec4 y))\n"
12490   "    ()))\n"
12491   "(function greaterThan\n"
12492   "  (signature bvec2\n"
12493   "    (parameters\n"
12494   "      (declare (in) vec2 x)\n"
12495   "      (declare (in) vec2 y))\n"
12496   "    ())\n"
12497   "  (signature bvec3\n"
12498   "    (parameters\n"
12499   "      (declare (in) vec3 x)\n"
12500   "      (declare (in) vec3 y))\n"
12501   "    ())\n"
12502   "  (signature bvec4\n"
12503   "    (parameters\n"
12504   "      (declare (in) vec4 x)\n"
12505   "      (declare (in) vec4 y))\n"
12506   "    ())\n"
12507   "  (signature bvec2\n"
12508   "    (parameters\n"
12509   "      (declare (in) ivec2 x)\n"
12510   "      (declare (in) ivec2 y))\n"
12511   "    ())\n"
12512   "  (signature bvec3\n"
12513   "    (parameters\n"
12514   "      (declare (in) ivec3 x)\n"
12515   "      (declare (in) ivec3 y))\n"
12516   "    ())\n"
12517   "  (signature bvec4\n"
12518   "    (parameters\n"
12519   "      (declare (in) ivec4 x)\n"
12520   "      (declare (in) ivec4 y))\n"
12521   "    ()))\n"
12522   "(function greaterThanEqual\n"
12523   "  (signature bvec2\n"
12524   "    (parameters\n"
12525   "      (declare (in) vec2 x)\n"
12526   "      (declare (in) vec2 y))\n"
12527   "    ())\n"
12528   "  (signature bvec3\n"
12529   "    (parameters\n"
12530   "      (declare (in) vec3 x)\n"
12531   "      (declare (in) vec3 y))\n"
12532   "    ())\n"
12533   "  (signature bvec4\n"
12534   "    (parameters\n"
12535   "      (declare (in) vec4 x)\n"
12536   "      (declare (in) vec4 y))\n"
12537   "    ())\n"
12538   "  (signature bvec2\n"
12539   "    (parameters\n"
12540   "      (declare (in) ivec2 x)\n"
12541   "      (declare (in) ivec2 y))\n"
12542   "    ())\n"
12543   "  (signature bvec3\n"
12544   "    (parameters\n"
12545   "      (declare (in) ivec3 x)\n"
12546   "      (declare (in) ivec3 y))\n"
12547   "    ())\n"
12548   "  (signature bvec4\n"
12549   "    (parameters\n"
12550   "      (declare (in) ivec4 x)\n"
12551   "      (declare (in) ivec4 y))\n"
12552   "    ()))\n"
12553   "(function equal\n"
12554   "  (signature bvec2\n"
12555   "    (parameters\n"
12556   "      (declare (in) vec2 x)\n"
12557   "      (declare (in) vec2 y))\n"
12558   "    ())\n"
12559   "  (signature bvec3\n"
12560   "    (parameters\n"
12561   "      (declare (in) vec3 x)\n"
12562   "      (declare (in) vec3 y))\n"
12563   "    ())\n"
12564   "  (signature bvec4\n"
12565   "    (parameters\n"
12566   "      (declare (in) vec4 x)\n"
12567   "      (declare (in) vec4 y))\n"
12568   "    ())\n"
12569   "  (signature bvec2\n"
12570   "    (parameters\n"
12571   "      (declare (in) ivec2 x)\n"
12572   "      (declare (in) ivec2 y))\n"
12573   "    ())\n"
12574   "  (signature bvec3\n"
12575   "    (parameters\n"
12576   "      (declare (in) ivec3 x)\n"
12577   "      (declare (in) ivec3 y))\n"
12578   "    ())\n"
12579   "  (signature bvec4\n"
12580   "    (parameters\n"
12581   "      (declare (in) ivec4 x)\n"
12582   "      (declare (in) ivec4 y))\n"
12583   "    ())\n"
12584   "  (signature bvec2\n"
12585   "    (parameters\n"
12586   "      (declare (in) bvec2 x)\n"
12587   "      (declare (in) bvec2 y))\n"
12588   "    ())\n"
12589   "  (signature bvec3\n"
12590   "    (parameters\n"
12591   "      (declare (in) bvec3 x)\n"
12592   "      (declare (in) bvec3 y))\n"
12593   "    ())\n"
12594   "  (signature bvec4\n"
12595   "    (parameters\n"
12596   "      (declare (in) bvec4 x)\n"
12597   "      (declare (in) bvec4 y))\n"
12598   "    ()))\n"
12599   "(function notEqual\n"
12600   "  (signature bvec2\n"
12601   "    (parameters\n"
12602   "      (declare (in) vec2 x)\n"
12603   "      (declare (in) vec2 y))\n"
12604   "    ())\n"
12605   "  (signature bvec3\n"
12606   "    (parameters\n"
12607   "      (declare (in) vec3 x)\n"
12608   "      (declare (in) vec3 y))\n"
12609   "    ())\n"
12610   "  (signature bvec4\n"
12611   "    (parameters\n"
12612   "      (declare (in) vec4 x)\n"
12613   "      (declare (in) vec4 y))\n"
12614   "    ())\n"
12615   "  (signature bvec2\n"
12616   "    (parameters\n"
12617   "      (declare (in) ivec2 x)\n"
12618   "      (declare (in) ivec2 y))\n"
12619   "    ())\n"
12620   "  (signature bvec3\n"
12621   "    (parameters\n"
12622   "      (declare (in) ivec3 x)\n"
12623   "      (declare (in) ivec3 y))\n"
12624   "    ())\n"
12625   "  (signature bvec4\n"
12626   "    (parameters\n"
12627   "      (declare (in) ivec4 x)\n"
12628   "      (declare (in) ivec4 y))\n"
12629   "    ())\n"
12630   "  (signature bvec2\n"
12631   "    (parameters\n"
12632   "      (declare (in) bvec2 x)\n"
12633   "      (declare (in) bvec2 y))\n"
12634   "    ())\n"
12635   "  (signature bvec3\n"
12636   "    (parameters\n"
12637   "      (declare (in) bvec3 x)\n"
12638   "      (declare (in) bvec3 y))\n"
12639   "    ())\n"
12640   "  (signature bvec4\n"
12641   "    (parameters\n"
12642   "      (declare (in) bvec4 x)\n"
12643   "      (declare (in) bvec4 y))\n"
12644   "    ()))\n"
12645   "(function any\n"
12646   "  (signature bool\n"
12647   "    (parameters\n"
12648   "      (declare (in) bvec2 x))\n"
12649   "    ())\n"
12650   "  (signature bool\n"
12651   "    (parameters\n"
12652   "      (declare (in) bvec3 x))\n"
12653   "    ())\n"
12654   "  (signature bool\n"
12655   "    (parameters\n"
12656   "      (declare (in) bvec4 x))\n"
12657   "    ()))\n"
12658   "(function all\n"
12659   "  (signature bool\n"
12660   "    (parameters\n"
12661   "      (declare (in) bvec2 x))\n"
12662   "    ())\n"
12663   "  (signature bool\n"
12664   "    (parameters\n"
12665   "      (declare (in) bvec3 x))\n"
12666   "    ())\n"
12667   "  (signature bool\n"
12668   "    (parameters\n"
12669   "      (declare (in) bvec4 x))\n"
12670   "    ()))\n"
12671   "(function not\n"
12672   "  (signature bvec2\n"
12673   "    (parameters\n"
12674   "      (declare (in) bvec2 x))\n"
12675   "    ())\n"
12676   "  (signature bvec3\n"
12677   "    (parameters\n"
12678   "      (declare (in) bvec3 x))\n"
12679   "    ())\n"
12680   "  (signature bvec4\n"
12681   "    (parameters\n"
12682   "      (declare (in) bvec4 x))\n"
12683   "    ()))\n"
12684   "(function texture1D\n"
12685   "  (signature vec4\n"
12686   "    (parameters\n"
12687   "      (declare (in) sampler1D sampler)\n"
12688   "      (declare (in) float coord))\n"
12689   "    ()))\n"
12690   "(function texture1DProj\n"
12691   "  (signature vec4\n"
12692   "    (parameters\n"
12693   "      (declare (in) sampler1D sampler)\n"
12694   "      (declare (in) vec2 coord))\n"
12695   "    ())\n"
12696   "  (signature vec4\n"
12697   "    (parameters\n"
12698   "      (declare (in) sampler1D sampler)\n"
12699   "      (declare (in) vec4 coord))\n"
12700   "    ()))\n"
12701   "(function texture1DLod\n"
12702   "  (signature vec4\n"
12703   "    (parameters\n"
12704   "      (declare (in) sampler1D sampler)\n"
12705   "      (declare (in) float coord)\n"
12706   "      (declare (in) float lod))\n"
12707   "    ()))\n"
12708   "(function texture1DProjLod\n"
12709   "  (signature vec4\n"
12710   "    (parameters\n"
12711   "      (declare (in) sampler1D sampler)\n"
12712   "      (declare (in) vec2 coord)\n"
12713   "      (declare (in) float lod))\n"
12714   "    ())\n"
12715   "  (signature vec4\n"
12716   "    (parameters\n"
12717   "      (declare (in) sampler1D sampler)\n"
12718   "      (declare (in) vec4 coord)\n"
12719   "      (declare (in) float lod))\n"
12720   "    ()))\n"
12721   "(function texture2D\n"
12722   "  (signature vec4\n"
12723   "    (parameters\n"
12724   "      (declare (in) sampler2D sampler)\n"
12725   "      (declare (in) vec2 coord))\n"
12726   "    ()))\n"
12727   "(function texture2DProj\n"
12728   "  (signature vec4\n"
12729   "    (parameters\n"
12730   "      (declare (in) sampler2D sampler)\n"
12731   "      (declare (in) vec3 coord))\n"
12732   "    ())\n"
12733   "  (signature vec4\n"
12734   "    (parameters\n"
12735   "      (declare (in) sampler2D sampler)\n"
12736   "      (declare (in) vec4 coord))\n"
12737   "    ()))\n"
12738   "(function texture2DLod\n"
12739   "  (signature vec4\n"
12740   "    (parameters\n"
12741   "      (declare (in) sampler2D sampler)\n"
12742   "      (declare (in) vec2 coord)\n"
12743   "      (declare (in) float lod))\n"
12744   "    ()))\n"
12745   "(function texture2DProjLod\n"
12746   "  (signature vec4\n"
12747   "    (parameters\n"
12748   "      (declare (in) sampler2D sampler)\n"
12749   "      (declare (in) vec3 coord)\n"
12750   "      (declare (in) float lod))\n"
12751   "    ())\n"
12752   "  (signature vec4\n"
12753   "    (parameters\n"
12754   "      (declare (in) sampler2D sampler)\n"
12755   "      (declare (in) vec4 coord)\n"
12756   "      (declare (in) float lod))\n"
12757   "    ()))\n"
12758   "(function texture3D\n"
12759   "  (signature vec4\n"
12760   "    (parameters\n"
12761   "      (declare (in) sampler3D sampler)\n"
12762   "      (declare (in) vec3 coord))\n"
12763   "    ()))\n"
12764   "(function texture3DProj\n"
12765   "  (signature vec4\n"
12766   "    (parameters\n"
12767   "      (declare (in) sampler3D sampler)\n"
12768   "      (declare (in) vec4 coord))\n"
12769   "    ()))\n"
12770   "(function texture3DLod\n"
12771   "  (signature vec4\n"
12772   "    (parameters\n"
12773   "      (declare (in) sampler3D sampler)\n"
12774   "      (declare (in) vec3 coord)\n"
12775   "      (declare (in) float lod))\n"
12776   "    ()))\n"
12777   "(function texture3DProjLod\n"
12778   "  (signature vec4\n"
12779   "    (parameters\n"
12780   "      (declare (in) sampler3D sampler)\n"
12781   "      (declare (in) vec4 coord)\n"
12782   "      (declare (in) float lod))\n"
12783   "    ()))\n"
12784   "(function textureCube\n"
12785   "  (signature vec4\n"
12786   "    (parameters\n"
12787   "      (declare (in) samplerCube sampler)\n"
12788   "      (declare (in) vec3 coord))\n"
12789   "    ()))\n"
12790   "(function textureCubeLod\n"
12791   "  (signature vec4\n"
12792   "    (parameters\n"
12793   "      (declare (in) samplerCube sampler)\n"
12794   "      (declare (in) vec3 coord)\n"
12795   "      (declare (in) float lod))\n"
12796   "    ()))\n"
12797   "(function shadow1D\n"
12798   "  (signature vec4\n"
12799   "    (parameters\n"
12800   "      (declare (in) sampler1DShadow sampler)\n"
12801   "      (declare (in) vec3 coord))\n"
12802   "    ()))\n"
12803   "(function shadow2D\n"
12804   "  (signature vec4\n"
12805   "    (parameters\n"
12806   "      (declare (in) sampler2DShadow sampler)\n"
12807   "      (declare (in) vec3 coord))\n"
12808   "    ()))\n"
12809   "(function shadow1DProj\n"
12810   "  (signature vec4\n"
12811   "    (parameters\n"
12812   "      (declare (in) sampler1DShadow sampler)\n"
12813   "      (declare (in) vec4 coord))\n"
12814   "    ()))\n"
12815   "(function shadow2DProj\n"
12816   "  (signature vec4\n"
12817   "    (parameters\n"
12818   "      (declare (in) sampler2DShadow sampler)\n"
12819   "      (declare (in) vec4 coord))\n"
12820   "    ()))\n"
12821   "(function shadow1DLod\n"
12822   "  (signature vec4\n"
12823   "    (parameters\n"
12824   "      (declare (in) sampler1DShadow sampler)\n"
12825   "      (declare (in) vec3 coord)\n"
12826   "      (declare (in) float lod))\n"
12827   "    ()))\n"
12828   "(function shadow2DLod\n"
12829   "  (signature vec4\n"
12830   "    (parameters\n"
12831   "      (declare (in) sampler2DShadow sampler)\n"
12832   "      (declare (in) vec3 coord)\n"
12833   "      (declare (in) float lod))\n"
12834   "    ()))\n"
12835   "(function shadow1DProjLod\n"
12836   "  (signature vec4\n"
12837   "    (parameters\n"
12838   "      (declare (in) sampler1DShadow sampler)\n"
12839   "      (declare (in) vec4 coord)\n"
12840   "      (declare (in) float lod))\n"
12841   "    ()))\n"
12842   "(function shadow2DProjLod\n"
12843   "  (signature vec4\n"
12844   "    (parameters\n"
12845   "      (declare (in) sampler2DShadow sampler)\n"
12846   "      (declare (in) vec4 coord)\n"
12847   "      (declare (in) float lod))\n"
12848   "    ()))\n"
12849   "(function noise1\n"
12850   "  (signature float\n"
12851   "    (parameters\n"
12852   "      (declare (in) float x))\n"
12853   "    ())\n"
12854   "  (signature float\n"
12855   "    (parameters\n"
12856   "      (declare (in) vec2 x))\n"
12857   "    ())\n"
12858   "  (signature float\n"
12859   "    (parameters\n"
12860   "      (declare (in) vec3 x))\n"
12861   "    ())\n"
12862   "  (signature float\n"
12863   "    (parameters\n"
12864   "      (declare (in) vec4 x))\n"
12865   "    ()))\n"
12866   "(function noise2\n"
12867   "  (signature vec2\n"
12868   "    (parameters\n"
12869   "      (declare (in) float x))\n"
12870   "    ())\n"
12871   "  (signature vec2\n"
12872   "    (parameters\n"
12873   "      (declare (in) vec2 x))\n"
12874   "    ())\n"
12875   "  (signature vec2\n"
12876   "    (parameters\n"
12877   "      (declare (in) vec3 x))\n"
12878   "    ())\n"
12879   "  (signature vec2\n"
12880   "    (parameters\n"
12881   "      (declare (in) vec4 x))\n"
12882   "    ()))\n"
12883   "(function noise3\n"
12884   "  (signature vec3\n"
12885   "    (parameters\n"
12886   "      (declare (in) float x))\n"
12887   "    ())\n"
12888   "  (signature vec3\n"
12889   "    (parameters\n"
12890   "      (declare (in) vec2 x))\n"
12891   "    ())\n"
12892   "  (signature vec3\n"
12893   "    (parameters\n"
12894   "      (declare (in) vec3 x))\n"
12895   "    ())\n"
12896   "  (signature vec3\n"
12897   "    (parameters\n"
12898   "      (declare (in) vec4 x))\n"
12899   "    ()))\n"
12900   "(function noise4\n"
12901   "  (signature vec4\n"
12902   "    (parameters\n"
12903   "      (declare (in) float x))\n"
12904   "    ())\n"
12905   "  (signature vec4\n"
12906   "    (parameters\n"
12907   "      (declare (in) vec2 x))\n"
12908   "    ())\n"
12909   "  (signature vec4\n"
12910   "    (parameters\n"
12911   "      (declare (in) vec3 x))\n"
12912   "    ())\n"
12913   "  (signature vec4\n"
12914   "    (parameters\n"
12915   "      (declare (in) vec4 x))\n"
12916   "    ())))"
12917;
12918static const char *functions_for_120_vert [] = {
12919   builtin_abs,
12920   builtin_acos,
12921   builtin_all,
12922   builtin_any,
12923   builtin_asin,
12924   builtin_atan,
12925   builtin_ceil,
12926   builtin_clamp,
12927   builtin_cos,
12928   builtin_cross,
12929   builtin_degrees,
12930   builtin_distance,
12931   builtin_dot,
12932   builtin_equal,
12933   builtin_exp,
12934   builtin_exp2,
12935   builtin_faceforward,
12936   builtin_floor,
12937   builtin_fract,
12938   builtin_ftransform,
12939   builtin_greaterThan,
12940   builtin_greaterThanEqual,
12941   builtin_inversesqrt,
12942   builtin_length,
12943   builtin_lessThan,
12944   builtin_lessThanEqual,
12945   builtin_log,
12946   builtin_log2,
12947   builtin_matrixCompMult,
12948   builtin_max,
12949   builtin_min,
12950   builtin_mix,
12951   builtin_mod,
12952   builtin_noise1,
12953   builtin_noise2,
12954   builtin_noise3,
12955   builtin_noise4,
12956   builtin_normalize,
12957   builtin_not,
12958   builtin_notEqual,
12959   builtin_outerProduct,
12960   builtin_pow,
12961   builtin_radians,
12962   builtin_reflect,
12963   builtin_refract,
12964   builtin_shadow1D,
12965   builtin_shadow1DLod,
12966   builtin_shadow1DProj,
12967   builtin_shadow1DProjLod,
12968   builtin_shadow2D,
12969   builtin_shadow2DLod,
12970   builtin_shadow2DProj,
12971   builtin_shadow2DProjLod,
12972   builtin_sign,
12973   builtin_sin,
12974   builtin_smoothstep,
12975   builtin_sqrt,
12976   builtin_step,
12977   builtin_tan,
12978   builtin_texture1D,
12979   builtin_texture1DLod,
12980   builtin_texture1DProj,
12981   builtin_texture1DProjLod,
12982   builtin_texture2D,
12983   builtin_texture2DLod,
12984   builtin_texture2DProj,
12985   builtin_texture2DProjLod,
12986   builtin_texture3D,
12987   builtin_texture3DLod,
12988   builtin_texture3DProj,
12989   builtin_texture3DProjLod,
12990   builtin_textureCube,
12991   builtin_textureCubeLod,
12992   builtin_transpose,
12993};
12994static const char prototypes_for_130_frag[] =
12995{'(',
12996'(','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',')',')',' ','(',')',')',')',
12997'(','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',')',')',' ','(',')',')',')',
12998'(','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',')',')',' ','(',')',')',')',
12999'(','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',')',')',' ','(',')',')',')',
13000'(','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',')',')',' ','(',')',')',')',
13001'(','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',')',')',' ','(',')',')',')',
13002'(','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',')',')',' ','(',')',')',')',
13003'(','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',')',')',' ','(',')',')',')',
13004'(','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',')',')',' ','(',')',')',')',
13005'(','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',')',')',' ','(',')',')',')',
13006'(','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',')',')',' ','(',')',')',')',
13007'(','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',')',')',' ','(',')',')',')',
13008'(','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',')',')',' ','(',')',')',')',
13009'(','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',')',')',' ','(',')',')',')',
13010'(','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',')',')',' ','(',')',')',')',
13011'(','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',')',')',' ','(',')',')',')',
13012'(','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',')',')',' ','(',')',')',')',
13013'(','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',')',')',' ','(',')',')',')',
13014'(','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',')',')',' ','(',')',')',')',
13015'(','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',')',')',' ','(',')',')',')',
13016'(','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',')',')',' ','(',')',')',')',
13017'(','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',')',')',' ','(',')',')',')',
13018'(','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',')',')',' ','(',')',')',')',
13019'(','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',')',')',' ','(',')',')',')',
13020'(','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',')',')',' ','(',')',')',')',
13021'(','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',')',')',' ','(',')',')',')',
13022'(','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',')',')',' ','(',')',')',')',
13023'(','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',')',')',' ','(',')',')',')',
13024'(','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',')',')',' ','(',')',')',')',
13025'(','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',')',')',' ','(',')',')',')',
13026'(','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',')',')',' ','(',')',')',')',
13027'(','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',')',')',' ','(',')',')',')',
13028'(','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',')',')',' ','(',')',')',')',
13029'(','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',')',')',' ','(',')',')',')',
13030'(','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',')',')',' ','(',')',')',')',
13031'(','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',')',')',' ','(',')',')',')',
13032'(','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',')',')',' ','(',')',')',')',
13033'(','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',')',')',' ','(',')',')',')',
13034'(','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',')',')',' ','(',')',')',')',
13035'(','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',')',')',' ','(',')',')',')',
13036'(','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',')',')',' ','(',')',')',')',
13037'(','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',')',')',' ','(',')',')',')',
13038'(','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',')',')',' ','(',')',')',')',
13039'(','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',')',')',' ','(',')',')',')',
13040'(','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',')',')',' ','(',')',')',')',
13041'(','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',')',')',' ','(',')',')',')',
13042'(','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',')',')',' ','(',')',')',')',
13043'(','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',')',')',' ','(',')',')',')',
13044'(','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',')',')',' ','(',')',')',')',
13045'(','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',')',')',' ','(',')',')',')',
13046'(','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',')',')',' ','(',')',')',')',
13047'(','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',')',')',' ','(',')',')',')',
13048'(','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',')',')',' ','(',')',')',')',
13049'(','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',')',')',' ','(',')',')',')',
13050'(','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',')',')',' ','(',')',')',')',
13051'(','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',')',')',' ','(',')',')',')',
13052'(','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',')',')',' ','(',')',')',')',
13053'(','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',')',')',' ','(',')',')',')',
13054'(','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',')',')',' ','(',')',')',')',
13055'(','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',')',')',' ','(',')',')',')',
13056'(','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',')',')',' ','(',')',')',')',
13057'(','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',')',')',' ','(',')',')',')',
13058'(','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',')',')',' ','(',')',')',')',
13059'(','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',')',')',' ','(',')',')',')',
13060'(','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',')',')',' ','(',')',')',')',
13061'(','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',')',')',' ','(',')',')',')',
13062'(','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',')',')',' ','(',')',')',')',
13063'(','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',')',')',' ','(',')',')',')',
13064'(','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',')',')',' ','(',')',')',')',
13065'(','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',')',')',' ','(',')',')',')',
13066'(','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',')',')',' ','(',')',')',')',
13067'(','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',')',')',' ','(',')',')',')',
13068'(','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',')',')',' ','(',')',')',')',
13069'(','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',')',')',' ','(',')',')',')',
13070'(','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',')',')',' ','(',')',')',')',
13071'(','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',')',')',' ','(',')',')',')',
13072'(','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',')',')',' ','(',')',')',')',
13073'(','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',')',')',' ','(',')',')',')',
13074'(','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',')',')',' ','(',')',')',')',
13075'(','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',')',')',' ','(',')',')',')',
13076'(','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',')',')',' ','(',')',')',')',
13077'(','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',')',')',' ','(',')',')',')',
13078'(','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',')',')',' ','(',')',')',')',
13079'(','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',')',')',' ','(',')',')',')',
13080'(','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',')',')',' ','(',')',')',')',
13081'(','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',')',')',' ','(',')',')',')',
13082'(','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',')',')',' ','(',')',')',')',
13083'(','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',')',')',' ','(',')',')',')',
13084'(','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',')',')',' ','(',')',')',')',
13085'(','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',')',')',' ','(',')',')',')',
13086'(','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',')',')',' ','(',')',')',')',
13087'(','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',')',')',' ','(',')',')',')',
13088'(','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',')',')',' ','(',')',')',')',')'} ;
13089static const char *functions_for_130_frag [] = {
13090   builtin_abs,
13091   builtin_acos,
13092   builtin_acosh,
13093   builtin_all,
13094   builtin_any,
13095   builtin_asin,
13096   builtin_asinh,
13097   builtin_atan,
13098   builtin_atanh,
13099   builtin_ceil,
13100   builtin_clamp,
13101   builtin_cos,
13102   builtin_cosh,
13103   builtin_cross,
13104   builtin_dFdx,
13105   builtin_dFdy,
13106   builtin_degrees,
13107   builtin_distance,
13108   builtin_dot,
13109   builtin_equal,
13110   builtin_exp,
13111   builtin_exp2,
13112   builtin_faceforward,
13113   builtin_floor,
13114   builtin_fract,
13115   builtin_fwidth,
13116   builtin_greaterThan,
13117   builtin_greaterThanEqual,
13118   builtin_inversesqrt,
13119   builtin_length,
13120   builtin_lessThan,
13121   builtin_lessThanEqual,
13122   builtin_log,
13123   builtin_log2,
13124   builtin_matrixCompMult,
13125   builtin_max,
13126   builtin_min,
13127   builtin_mix,
13128   builtin_mod,
13129   builtin_modf,
13130   builtin_noise1,
13131   builtin_noise2,
13132   builtin_noise3,
13133   builtin_noise4,
13134   builtin_normalize,
13135   builtin_not,
13136   builtin_notEqual,
13137   builtin_outerProduct,
13138   builtin_pow,
13139   builtin_radians,
13140   builtin_reflect,
13141   builtin_refract,
13142   builtin_round,
13143   builtin_roundEven,
13144   builtin_shadow1D,
13145   builtin_shadow1DLod,
13146   builtin_shadow1DProj,
13147   builtin_shadow1DProjLod,
13148   builtin_shadow2D,
13149   builtin_shadow2DLod,
13150   builtin_shadow2DProj,
13151   builtin_shadow2DProjLod,
13152   builtin_sign,
13153   builtin_sin,
13154   builtin_sinh,
13155   builtin_smoothstep,
13156   builtin_sqrt,
13157   builtin_step,
13158   builtin_tan,
13159   builtin_tanh,
13160   builtin_texelFetch,
13161   builtin_texture,
13162   builtin_texture1D,
13163   builtin_texture1DLod,
13164   builtin_texture1DProj,
13165   builtin_texture1DProjLod,
13166   builtin_texture2D,
13167   builtin_texture2DLod,
13168   builtin_texture2DProj,
13169   builtin_texture2DProjLod,
13170   builtin_texture3D,
13171   builtin_texture3DLod,
13172   builtin_texture3DProj,
13173   builtin_texture3DProjLod,
13174   builtin_textureCube,
13175   builtin_textureCubeLod,
13176   builtin_textureGrad,
13177   builtin_textureLod,
13178   builtin_textureProj,
13179   builtin_textureProjGrad,
13180   builtin_textureProjLod,
13181   builtin_transpose,
13182   builtin_trunc,
13183};
13184static const char prototypes_for_130_vert[] =
13185{'(',
13186'(','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',')',')',' ','(',')',')',')',
13187'(','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',')',')',' ','(',')',')',')',
13188'(','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',')',')',' ','(',')',')',')',
13189'(','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',')',')',' ','(',')',')',')',
13190'(','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',')',')',' ','(',')',')',')',
13191'(','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',')',')',' ','(',')',')',')',
13192'(','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',')',')',' ','(',')',')',')',
13193'(','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',')',')',' ','(',')',')',')',
13194'(','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',')',')',' ','(',')',')',')',
13195'(','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',')',')',' ','(',')',')',')',
13196'(','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',')',')',' ','(',')',')',')',
13197'(','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',')',')',' ','(',')',')',')',
13198'(','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',')',')',' ','(',')',')',')',
13199'(','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',')',')',' ','(',')',')',')',
13200'(','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',')',')',' ','(',')',')',')',
13201'(','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',')',')',' ','(',')',')',')',
13202'(','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',')',')',' ','(',')',')',')',
13203'(','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',')',')',' ','(',')',')',')',
13204'(','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',')',')',' ','(',')',')',')',
13205'(','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',')',')',' ','(',')',')',')',
13206'(','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',')',')',' ','(',')',')',')',
13207'(','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',')',')',' ','(',')',')',')',
13208'(','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',')',')',' ','(',')',')',')',
13209'(','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',')',')',' ','(',')',')',')',
13210'(','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',')',')',' ','(',')',')',')',
13211'(','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',')',')',' ','(',')',')',')',
13212'(','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',')',')',' ','(',')',')',')',
13213'(','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',')',')',' ','(',')',')',')',
13214'(','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',')',')',' ','(',')',')',')',
13215'(','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',')',')',' ','(',')',')',')',
13216'(','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',')',')',' ','(',')',')',')',
13217'(','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',')',')',' ','(',')',')',')',
13218'(','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',')',')',' ','(',')',')',')',
13219'(','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',')',')',' ','(',')',')',')',
13220'(','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',')',')',' ','(',')',')',')',
13221'(','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',')',')',' ','(',')',')',')',
13222'(','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',')',')',' ','(',')',')',')',
13223'(','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',')',')',' ','(',')',')',')',
13224'(','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',')',')',' ','(',')',')',')',
13225'(','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',')',')',' ','(',')',')',')',
13226'(','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',')',')',' ','(',')',')',')',
13227'(','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',')',')',' ','(',')',')',')',
13228'(','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',')',' ','(',')',')',')',
13229'(','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',')',')',' ','(',')',')',')',
13230'(','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',')',')',' ','(',')',')',')',
13231'(','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',')',')',' ','(',')',')',')',
13232'(','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',')',')',' ','(',')',')',')',
13233'(','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',')',')',' ','(',')',')',')',
13234'(','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',')',')',' ','(',')',')',')',
13235'(','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',')',')',' ','(',')',')',')',
13236'(','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',')',')',' ','(',')',')',')',
13237'(','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',')',')',' ','(',')',')',')',
13238'(','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',')',')',' ','(',')',')',')',
13239'(','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',')',')',' ','(',')',')',')',
13240'(','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',')',')',' ','(',')',')',')',
13241'(','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',')',')',' ','(',')',')',')',
13242'(','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',')',')',' ','(',')',')',')',
13243'(','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',')',')',' ','(',')',')',')',
13244'(','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',')',')',' ','(',')',')',')',
13245'(','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',')',')',' ','(',')',')',')',
13246'(','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',')',')',' ','(',')',')',')',
13247'(','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',')',')',' ','(',')',')',')',
13248'(','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',')',')',' ','(',')',')',')',
13249'(','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',')',')',' ','(',')',')',')',
13250'(','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',')',')',' ','(',')',')',')',
13251'(','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',')',')',' ','(',')',')',')',
13252'(','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',')',')',' ','(',')',')',')',
13253'(','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',')',')',' ','(',')',')',')',
13254'(','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',')',')',' ','(',')',')',')',
13255'(','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',')',')',' ','(',')',')',')',
13256'(','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',')',')',' ','(',')',')',')',
13257'(','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',')',')',' ','(',')',')',')',
13258'(','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',')',')',' ','(',')',')',')',
13259'(','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',')',')',' ','(',')',')',')',
13260'(','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',')',')',' ','(',')',')',')',
13261'(','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',')',')',' ','(',')',')',')',
13262'(','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',')',')',' ','(',')',')',')',
13263'(','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',')',')',' ','(',')',')',')',
13264'(','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',')',')',' ','(',')',')',')',
13265'(','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',')',')',' ','(',')',')',')',
13266'(','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',')',')',' ','(',')',')',')',
13267'(','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',')',')',' ','(',')',')',')',
13268'(','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',')',')',' ','(',')',')',')',
13269'(','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',')',')',' ','(',')',')',')',
13270'(','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',')',')',' ','(',')',')',')',
13271'(','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',')',')',' ','(',')',')',')',
13272'(','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',')',')',' ','(',')',')',')',
13273'(','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',')',')',' ','(',')',')',')',
13274'(','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',')',')',' ','(',')',')',')',
13275'(','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',')',')',' ','(',')',')',')',
13276'(','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',')',')',' ','(',')',')',')',')'} ;
13277static const char *functions_for_130_vert [] = {
13278   builtin_abs,
13279   builtin_acos,
13280   builtin_acosh,
13281   builtin_all,
13282   builtin_any,
13283   builtin_asin,
13284   builtin_asinh,
13285   builtin_atan,
13286   builtin_atanh,
13287   builtin_ceil,
13288   builtin_clamp,
13289   builtin_cos,
13290   builtin_cosh,
13291   builtin_cross,
13292   builtin_degrees,
13293   builtin_distance,
13294   builtin_dot,
13295   builtin_equal,
13296   builtin_exp,
13297   builtin_exp2,
13298   builtin_faceforward,
13299   builtin_floor,
13300   builtin_fract,
13301   builtin_ftransform,
13302   builtin_greaterThan,
13303   builtin_greaterThanEqual,
13304   builtin_inversesqrt,
13305   builtin_length,
13306   builtin_lessThan,
13307   builtin_lessThanEqual,
13308   builtin_log,
13309   builtin_log2,
13310   builtin_matrixCompMult,
13311   builtin_max,
13312   builtin_min,
13313   builtin_mix,
13314   builtin_mod,
13315   builtin_modf,
13316   builtin_noise1,
13317   builtin_noise2,
13318   builtin_noise3,
13319   builtin_noise4,
13320   builtin_normalize,
13321   builtin_not,
13322   builtin_notEqual,
13323   builtin_outerProduct,
13324   builtin_pow,
13325   builtin_radians,
13326   builtin_reflect,
13327   builtin_refract,
13328   builtin_round,
13329   builtin_roundEven,
13330   builtin_shadow1D,
13331   builtin_shadow1DLod,
13332   builtin_shadow1DProj,
13333   builtin_shadow1DProjLod,
13334   builtin_shadow2D,
13335   builtin_shadow2DLod,
13336   builtin_shadow2DProj,
13337   builtin_shadow2DProjLod,
13338   builtin_sign,
13339   builtin_sin,
13340   builtin_sinh,
13341   builtin_smoothstep,
13342   builtin_sqrt,
13343   builtin_step,
13344   builtin_tan,
13345   builtin_tanh,
13346   builtin_texelFetch,
13347   builtin_texture,
13348   builtin_texture1D,
13349   builtin_texture1DLod,
13350   builtin_texture1DProj,
13351   builtin_texture1DProjLod,
13352   builtin_texture2D,
13353   builtin_texture2DLod,
13354   builtin_texture2DProj,
13355   builtin_texture2DProjLod,
13356   builtin_texture3D,
13357   builtin_texture3DLod,
13358   builtin_texture3DProj,
13359   builtin_texture3DProjLod,
13360   builtin_textureCube,
13361   builtin_textureCubeLod,
13362   builtin_textureGrad,
13363   builtin_textureLod,
13364   builtin_textureProj,
13365   builtin_textureProjGrad,
13366   builtin_textureProjLod,
13367   builtin_transpose,
13368   builtin_trunc,
13369};
13370static const char prototypes_for_ARB_texture_rectangle_frag[] =
13371   "(\n"
13372   "(function texture2DRect\n"
13373   "  (signature vec4\n"
13374   "    (parameters\n"
13375   "      (declare (in) sampler2DRect sampler)\n"
13376   "      (declare (in) vec2 coord))\n"
13377   "    ()))\n"
13378   "(function texture2DRectProj\n"
13379   "  (signature vec4\n"
13380   "    (parameters\n"
13381   "      (declare (in) sampler2DRect sampler)\n"
13382   "      (declare (in) vec3 coord))\n"
13383   "    ())\n"
13384   "  (signature vec4\n"
13385   "    (parameters\n"
13386   "      (declare (in) sampler2DRect sampler)\n"
13387   "      (declare (in) vec4 coord))\n"
13388   "    ()))\n"
13389   "(function shadow2DRect\n"
13390   "  (signature vec4\n"
13391   "    (parameters\n"
13392   "      (declare (in) sampler2DRectShadow sampler)\n"
13393   "      (declare (in) vec3 coord))\n"
13394   "    ()))\n"
13395   "(function shadow2DRectProj\n"
13396   "  (signature vec4\n"
13397   "    (parameters\n"
13398   "      (declare (in) sampler2DRectShadow sampler)\n"
13399   "      (declare (in) vec4 coord))\n"
13400   "    ())))"
13401;
13402static const char *functions_for_ARB_texture_rectangle_frag [] = {
13403   builtin_shadow2DRect,
13404   builtin_shadow2DRectProj,
13405   builtin_texture2DRect,
13406   builtin_texture2DRectProj,
13407};
13408static const char prototypes_for_ARB_texture_rectangle_vert[] =
13409   "(\n"
13410   "(function texture2DRect\n"
13411   "  (signature vec4\n"
13412   "    (parameters\n"
13413   "      (declare (in) sampler2DRect sampler)\n"
13414   "      (declare (in) vec2 coord))\n"
13415   "    ()))\n"
13416   "(function texture2DRectProj\n"
13417   "  (signature vec4\n"
13418   "    (parameters\n"
13419   "      (declare (in) sampler2DRect sampler)\n"
13420   "      (declare (in) vec3 coord))\n"
13421   "    ())\n"
13422   "  (signature vec4\n"
13423   "    (parameters\n"
13424   "      (declare (in) sampler2DRect sampler)\n"
13425   "      (declare (in) vec4 coord))\n"
13426   "    ()))\n"
13427   "(function shadow2DRect\n"
13428   "  (signature vec4\n"
13429   "    (parameters\n"
13430   "      (declare (in) sampler2DRectShadow sampler)\n"
13431   "      (declare (in) vec3 coord))\n"
13432   "    ()))\n"
13433   "(function shadow2DRectProj\n"
13434   "  (signature vec4\n"
13435   "    (parameters\n"
13436   "      (declare (in) sampler2DRectShadow sampler)\n"
13437   "      (declare (in) vec4 coord))\n"
13438   "    ())))"
13439;
13440static const char *functions_for_ARB_texture_rectangle_vert [] = {
13441   builtin_shadow2DRect,
13442   builtin_shadow2DRectProj,
13443   builtin_texture2DRect,
13444   builtin_texture2DRectProj,
13445};
13446static const char prototypes_for_EXT_texture_array_frag[] =
13447   "(\n"
13448   "(function texture1DArray\n"
13449   "  (signature vec4\n"
13450   "    (parameters\n"
13451   "      (declare (in) sampler1DArray sampler)\n"
13452   "      (declare (in) vec2 coord))\n"
13453   "    ())\n"
13454   "  (signature vec4\n"
13455   "    (parameters\n"
13456   "      (declare (in) sampler1DArray sampler)\n"
13457   "      (declare (in) vec2 coord)\n"
13458   "      (declare (in) float bias))\n"
13459   "    ()))\n"
13460   "(function texture2DArray\n"
13461   "  (signature vec4\n"
13462   "    (parameters\n"
13463   "      (declare (in) sampler2DArray sampler)\n"
13464   "      (declare (in) vec3 coord))\n"
13465   "    ())\n"
13466   "  (signature vec4\n"
13467   "    (parameters\n"
13468   "      (declare (in) sampler2DArray sampler)\n"
13469   "      (declare (in) vec3 coord)\n"
13470   "      (declare (in) float bias))\n"
13471   "    ()))\n"
13472   "(function shadow1DArray\n"
13473   "  (signature vec4\n"
13474   "    (parameters\n"
13475   "      (declare (in) sampler1DArrayShadow sampler)\n"
13476   "      (declare (in) vec3 coord))\n"
13477   "    ())\n"
13478   "  (signature vec4\n"
13479   "    (parameters\n"
13480   "      (declare (in) sampler1DArrayShadow sampler)\n"
13481   "      (declare (in) vec3 coord)\n"
13482   "      (declare (in) float bias))\n"
13483   "    ()))\n"
13484   "(function shadow2DArray\n"
13485   "  (signature vec4\n"
13486   "    (parameters\n"
13487   "      (declare (in) sampler2DArrayShadow sampler)\n"
13488   "      (declare (in) vec4 coord))\n"
13489   "    ())))"
13490;
13491static const char *functions_for_EXT_texture_array_frag [] = {
13492   builtin_shadow1DArray,
13493   builtin_shadow2DArray,
13494   builtin_texture1DArray,
13495   builtin_texture2DArray,
13496};
13497static const char prototypes_for_EXT_texture_array_vert[] =
13498   "(\n"
13499   "(function texture1DArray\n"
13500   "  (signature vec4\n"
13501   "    (parameters\n"
13502   "      (declare (in) sampler1DArray sampler)\n"
13503   "      (declare (in) vec2 coord))\n"
13504   "    ()))\n"
13505   "(function texture1DArrayLod\n"
13506   "  (signature vec4\n"
13507   "    (parameters\n"
13508   "      (declare (in) sampler1DArray sampler)\n"
13509   "      (declare (in) vec2 coord)\n"
13510   "      (declare (in) float lod))\n"
13511   "    ()))\n"
13512   "(function texture2DArray\n"
13513   "  (signature vec4\n"
13514   "    (parameters\n"
13515   "      (declare (in) sampler2DArray sampler)\n"
13516   "      (declare (in) vec3 coord))\n"
13517   "    ()))\n"
13518   "(function texture2DArrayLod\n"
13519   "  (signature vec4\n"
13520   "    (parameters\n"
13521   "      (declare (in) sampler2DArray sampler)\n"
13522   "      (declare (in) vec3 coord)\n"
13523   "      (declare (in) float lod))\n"
13524   "    ()))\n"
13525   "(function shadow1DArray\n"
13526   "  (signature vec4\n"
13527   "    (parameters\n"
13528   "      (declare (in) sampler1DArrayShadow sampler)\n"
13529   "      (declare (in) vec3 coord))\n"
13530   "    ()))\n"
13531   "(function shadow1DArrayLod\n"
13532   "  (signature vec4\n"
13533   "    (parameters\n"
13534   "      (declare (in) sampler1DArrayShadow sampler)\n"
13535   "      (declare (in) vec3 coord)\n"
13536   "      (declare (in) float lod))\n"
13537   "    ()))\n"
13538   "(function shadow2DArray\n"
13539   "  (signature vec4\n"
13540   "    (parameters\n"
13541   "      (declare (in) sampler2DArrayShadow sampler)\n"
13542   "      (declare (in) vec4 coord))\n"
13543   "    ())))"
13544;
13545static const char *functions_for_EXT_texture_array_vert [] = {
13546   builtin_shadow1DArray,
13547   builtin_shadow1DArrayLod,
13548   builtin_shadow2DArray,
13549   builtin_texture1DArray,
13550   builtin_texture1DArrayLod,
13551   builtin_texture2DArray,
13552   builtin_texture2DArrayLod,
13553};
13554static gl_shader *builtin_profiles[12];
13555
13556void *builtin_mem_ctx = NULL;
13557
13558void
13559_mesa_glsl_release_functions(void)
13560{
13561   hieralloc_free(builtin_mem_ctx);
13562   builtin_mem_ctx = NULL;
13563   memset(builtin_profiles, 0, sizeof(builtin_profiles));
13564}
13565
13566static void
13567_mesa_read_profile(struct _mesa_glsl_parse_state *state,
13568		   exec_list *instructions,
13569                   int profile_index,
13570		   const char *prototypes,
13571		   const char **functions,
13572                   int count)
13573{
13574   gl_shader *sh = builtin_profiles[profile_index];
13575
13576   if (sh == NULL) {
13577      sh = read_builtins(state, GL_VERTEX_SHADER, prototypes, functions, count);
13578      hieralloc_steal(builtin_mem_ctx, sh);
13579      builtin_profiles[profile_index] = sh;
13580   }
13581
13582   state->builtins_to_link[state->num_builtins_to_link] = sh;
13583   state->num_builtins_to_link++;
13584}
13585
13586void
13587_mesa_glsl_initialize_functions(exec_list *instructions,
13588                                struct _mesa_glsl_parse_state *state)
13589{
13590   if (builtin_mem_ctx == NULL) {
13591      builtin_mem_ctx = hieralloc_init("GLSL built-in functions");
13592      memset(&builtin_profiles, 0, sizeof(builtin_profiles));
13593   }
13594
13595   state->num_builtins_to_link = 0;
13596
13597   if (state->target == fragment_shader && state->language_version == 100) {
13598      _mesa_read_profile(state, instructions, 0,
13599                         prototypes_for_100_frag,
13600                         functions_for_100_frag,
13601                         Elements(functions_for_100_frag));
13602   }
13603
13604   if (state->target == vertex_shader && state->language_version == 100) {
13605      _mesa_read_profile(state, instructions, 1,
13606                         prototypes_for_100_vert,
13607                         functions_for_100_vert,
13608                         Elements(functions_for_100_vert));
13609   }
13610
13611   if (state->target == fragment_shader && state->language_version == 110) {
13612      _mesa_read_profile(state, instructions, 2,
13613                         prototypes_for_110_frag,
13614                         functions_for_110_frag,
13615                         Elements(functions_for_110_frag));
13616   }
13617
13618   if (state->target == vertex_shader && state->language_version == 110) {
13619      _mesa_read_profile(state, instructions, 3,
13620                         prototypes_for_110_vert,
13621                         functions_for_110_vert,
13622                         Elements(functions_for_110_vert));
13623   }
13624
13625   if (state->target == fragment_shader && state->language_version == 120) {
13626      _mesa_read_profile(state, instructions, 4,
13627                         prototypes_for_120_frag,
13628                         functions_for_120_frag,
13629                         Elements(functions_for_120_frag));
13630   }
13631
13632   if (state->target == vertex_shader && state->language_version == 120) {
13633      _mesa_read_profile(state, instructions, 5,
13634                         prototypes_for_120_vert,
13635                         functions_for_120_vert,
13636                         Elements(functions_for_120_vert));
13637   }
13638
13639   if (state->target == fragment_shader && state->language_version == 130) {
13640      _mesa_read_profile(state, instructions, 6,
13641                         prototypes_for_130_frag,
13642                         functions_for_130_frag,
13643                         Elements(functions_for_130_frag));
13644   }
13645
13646   if (state->target == vertex_shader && state->language_version == 130) {
13647      _mesa_read_profile(state, instructions, 7,
13648                         prototypes_for_130_vert,
13649                         functions_for_130_vert,
13650                         Elements(functions_for_130_vert));
13651   }
13652
13653   if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
13654      _mesa_read_profile(state, instructions, 8,
13655                         prototypes_for_ARB_texture_rectangle_frag,
13656                         functions_for_ARB_texture_rectangle_frag,
13657                         Elements(functions_for_ARB_texture_rectangle_frag));
13658   }
13659
13660   if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
13661      _mesa_read_profile(state, instructions, 9,
13662                         prototypes_for_ARB_texture_rectangle_vert,
13663                         functions_for_ARB_texture_rectangle_vert,
13664                         Elements(functions_for_ARB_texture_rectangle_vert));
13665   }
13666
13667   if (state->target == fragment_shader && state->EXT_texture_array_enable) {
13668      _mesa_read_profile(state, instructions, 10,
13669                         prototypes_for_EXT_texture_array_frag,
13670                         functions_for_EXT_texture_array_frag,
13671                         Elements(functions_for_EXT_texture_array_frag));
13672   }
13673
13674   if (state->target == vertex_shader && state->EXT_texture_array_enable) {
13675      _mesa_read_profile(state, instructions, 11,
13676                         prototypes_for_EXT_texture_array_vert,
13677                         functions_for_EXT_texture_array_vert,
13678                         Elements(functions_for_EXT_texture_array_vert));
13679   }
13680
13681}
13682