Home | History | Annotate | Download | only in glsl
      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 
     32 gl_shader *
     33 read_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 
     74 static 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 ;
     98 static 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 ;
    123 static 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 ;
    147 static 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 ;
    166 static 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 ;
    185 static 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 ;
    285 static 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 ;
    309 static 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 ;
    438 static 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 ;
    478 static 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 ;
    502 static 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 ;
    653 static 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 ;
    677 static 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 ;
    710 static 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 ;
    722 static 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 ;
    746 static 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 ;
    770 static 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 ;
    794 static 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 ;
    828 static 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 ;
    856 static 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 ;
    932 static 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 ;
    956 static 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 ;
    980 static 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 ;
   1020 static 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 ;
   1044 static 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 ;
   1069 static 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 ;
   1081 static 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 ;
   1113 static 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 ;
   1171 static 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 ;
   1229 static 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 ;
   1253 static 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 ;
   1277 static 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 ;
   1335 static 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 ;
   1393 static 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 ;
   1417 static 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 ;
   1441 static 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 ;
   1535 static 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 ;
   1665 static 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 ;
   1795 static 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 ;
   1886 static 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 ;
   1932 static 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 ;
   1976 static 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 ;
   1997 static 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 ;
   2061 static 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 ;
   2137 static 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 ;
   2237 static 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 ;
   2261 static 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 ;
   2280 static 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 ;
   2356 static 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 ;
   2451 static 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 ;
   2500 static 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 ;
   2524 static 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 ;
   2585 static 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 ;
   2690 static 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 ;
   2714 static 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 ;
   2738 static 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 ;
   2756 static 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 ;
   2774 static 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 ;
   2786 static 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 ;
   2798 static 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 ;
   2816 static 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 ;
   2828 static 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 ;
   2846 static 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 ;
   2857 static 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 ;
   2869 static 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 ;
   2887 static 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 ;
   2899 static 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 ;
   2910 static 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 ;
   2921 static 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 ;
   2966 static 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 ;
   3014 static 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 ;
   3047 static 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 ;
   3150 static 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 ;
   3174 static 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 ;
   3245 static 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 ;
   3269 static 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 ;
   3314 static 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 ;
   3424 static 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 ;
   3663 static 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 ;
   3681 static 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 ;
   3699 static 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 ;
   3711 static 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 ;
   3723 static 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 ;
   3754 static 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 ;
   3773 static 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 ;
   3791 static 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 ;
   3809 static 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 ;
   3821 static 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 ;
   3833 static 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 ;
   3864 static 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 ;
   3883 static 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 ;
   3894 static 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 ;
   3911 static 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 ;
   3929 static 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 ;
   3941 static 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 ;
   3959 static 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 ;
   3971 static 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 ;
   3989 static 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 ;
   4001 static 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 ;
   4150 static 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 ;
   4281 static 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 ;
   4481 static 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 ;
   4606 static 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 ;
   4716 static 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 ;
   4858 static 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 ;
   4882 static 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 ;
   5993 static 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 };
   6043 static 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 ;
   7157 static 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 };
   7210 static 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 ;
   8547 static 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 };
   8612 static 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 ;
   9913 static 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 };
   9987 static 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 ;
   11437 static 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 };
   11504 static 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 ;
   12918 static 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 };
   12994 static 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',')',')',' ','(',')',')',')',')'} ;
   13089 static 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 };
   13184 static 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',')',')',' ','(',')',')',')',')'} ;
   13277 static 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 };
   13370 static 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 ;
   13402 static const char *functions_for_ARB_texture_rectangle_frag [] = {
   13403    builtin_shadow2DRect,
   13404    builtin_shadow2DRectProj,
   13405    builtin_texture2DRect,
   13406    builtin_texture2DRectProj,
   13407 };
   13408 static 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 ;
   13440 static const char *functions_for_ARB_texture_rectangle_vert [] = {
   13441    builtin_shadow2DRect,
   13442    builtin_shadow2DRectProj,
   13443    builtin_texture2DRect,
   13444    builtin_texture2DRectProj,
   13445 };
   13446 static 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 ;
   13491 static const char *functions_for_EXT_texture_array_frag [] = {
   13492    builtin_shadow1DArray,
   13493    builtin_shadow2DArray,
   13494    builtin_texture1DArray,
   13495    builtin_texture2DArray,
   13496 };
   13497 static 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 ;
   13545 static 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 };
   13554 static gl_shader *builtin_profiles[12];
   13555 
   13556 void *builtin_mem_ctx = NULL;
   13557 
   13558 void
   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 
   13566 static 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 
   13586 void
   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